/* Theme: yomirc + yomirc-dark. Loaded after index.css (see main.tsx) so these override the
   base component styles; only one [data-theme] is ever active at a time. */

[data-theme^="orbit"] .sysline--alert,
[data-theme^="yomirc"] .sysline--alert { background: rgba(234,130,9,.14); color: #f5a030; border-color: #f5a030; }
[data-theme^="orbit"] .sysline--alert__icon,
[data-theme^="yomirc"] .sysline--alert__icon { color: #f5a030; }
/* mIRC themes: flat mono "-nick- text" line in classic notice magenta (readable on the paper) */
[data-theme^="yomirc"] .noticeline { font-family: var(--mono); background: transparent; border-radius: 0; border-left-width: 2px; margin: 0; padding: .05rem .6rem; }
[data-theme^="yomirc"] .noticeline__tag { border-radius: 0; box-shadow: none; font-family: var(--mono); }
[data-theme^="yomirc"] .noticeline__txt { font-family: var(--mono); }
[data-theme="yomirc"] .noticeline { border-left-color: #9c27b0; }
[data-theme="yomirc"] .noticeline__tag { background: #9c27b0 !important; }
[data-theme="yomirc"] .noticeline__txt { color: #9c27b0; }
[data-theme="yomirc-dark"] .noticeline { border-left-color: #c46fce; }
[data-theme="yomirc-dark"] .noticeline__tag { background: #b15dbd !important; }
[data-theme="yomirc-dark"] .noticeline__txt { color: #ee9ff2; }
/* No Windows-98 chrome. The colour is the mIRC 16-colour TEXT on a clean canvas;
   everything else is flat and quiet. Blue is gone entirely; the one accent is the
   classic IRC/terminal green. Bevel tokens are transparent so the old 3D vanishes. */
[data-theme="yomirc"] {
  --mirc-silver: #ececec; --mirc-face: #f7f7f5; --mirc-light: transparent;
  --mirc-shadow: #e0e0dc; --mirc-dark: transparent; --mirc-navy: #daf1e2; --mirc-navy-2: #daf1e2;
  --mirc-paper: #ffffff; --mirc-hover: #f0f4ee; --mirc-bevel-hi: transparent; --mirc-sel-ink: #0a5c2b;
  --mirc-join: #0a7a2f; --mirc-quit: #c01717;
  --mono: "Lucida Console", "Fixedsys Excelsior", Consolas, "Courier New", monospace;
  --ink: #101010; --ink-2: #101010; --muted: #7d7d7d; --faint: #9a9a9a;
  --bg: #ffffff; --bg-soft: #f2f2ee; --bg-soft-2: #e8e8e2; --bg-active: #daf1e2; --rail-bg: #f2f2ee;
  --border: #dcdcd6; --border-2: #ccccc6;
  --accent: #0a8f3c; --accent-d: #0a5c2b; --accent-soft: #daf1e2;
  --font: Tahoma, "MS Sans Serif", Geneva, Verdana, sans-serif;
  --shadow-pop: 0 6px 20px -6px rgba(0,0,0,.25);
}
[data-theme="yomirc-dark"] {
  /* pure-black chrome everywhere: no grey "face" between the panels, no grey soft
     backgrounds — only near-invisible edges/hover for structure. */
  --mirc-silver: #101014; --mirc-face: #000000; --mirc-light: transparent;
  --mirc-shadow: #141419; --mirc-dark: transparent; --mirc-navy: #113a22; --mirc-navy-2: #113a22;
  --mirc-paper: #000000; --mirc-hover: #0e0e12; --mirc-bevel-hi: transparent; --mirc-sel-ink: #b9ffcf;
  --mirc-join: #35c46a; --mirc-quit: #ff5a5a;   /* bright on black, like real mIRC colours */
  --mono: "Lucida Console", "Fixedsys Excelsior", Consolas, "Courier New", monospace;
  --ink: #d2d2d2; --ink-2: #c4c4c4; --muted: #7d7d7d; --faint: #565656;
  --bg: #000000; --bg-soft: #000000; --bg-soft-2: #000000; --bg-active: #113a22; --rail-bg: #000000;
  --border: #17171d; --border-2: #23232b;
  --accent: #35c46a; --accent-d: #57d07a; --accent-soft: rgba(53,196,106,.14);
  --font: Tahoma, "MS Sans Serif", Geneva, Verdana, sans-serif;
  --shadow-pop: 0 8px 26px -8px rgba(0,0,0,.85);
}
[data-theme^="yomirc"] body { background: var(--mirc-face); }
/* 3D bevel helpers (raised = panels/buttons, sunken = lists/inputs) */
[data-theme^="yomirc"] .rail,
[data-theme^="yomirc"] .topbar,
[data-theme^="yomirc"] .members__h {
  background: var(--mirc-face);
  box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow);
  border-color: var(--mirc-shadow);
}
[data-theme^="yomirc"] .app { background: var(--mirc-face); gap: 2px; padding: 2px; }
/* mIRC-tight nicklist: the member column hugs its content instead of a fixed 240px,
   so a short nick list doesn't leave a wide empty gap out to the right wall. Rows
   keep width:100% (fill the tight column, long nicks ellipsis-truncate); content-
   visibility must be visible here so the grid can measure real nick widths. */
/* ── mIRC layout: the "home" sidebar becomes a horizontal toolbar + switchbar
   across the TOP; chat + nicklist below, account bar at the bottom. Desktop only
   — the ≤880px flex layout keeps its own drawer. Members column still hugs its
   content (fit-content) so the nicklist stays tight. */
@media (min-width: 881px) {
[data-theme^="yomirc"] .app {
  grid-template-columns: 1fr fit-content(240px);
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas: "bar bar" "main members" "foot foot";
}
[data-theme^="yomirc"] .sidebar { grid-area: bar; }
[data-theme^="yomirc"] .main { grid-area: main; }
[data-theme^="yomirc"] .members { grid-area: members; }
[data-theme^="yomirc"] .app > .appbar { grid-area: foot; }

/* Sidebar → horizontal toolbar strip */
[data-theme^="yomirc"] .sidebar {
  flex-direction: row; align-items: center; gap: 3px; min-width: 0;
  overflow-x: auto; overflow-y: hidden; padding: 2px 3px;
  border: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow);
}
[data-theme^="yomirc"] .side-title,
[data-theme^="yomirc"] .side-search,
[data-theme^="yomirc"] .pills,
[data-theme^="yomirc"] .rooms-h,
[data-theme^="yomirc"] .room-discover { display: none; }
[data-theme^="yomirc"] .side-top { flex: none; padding: 0; gap: 3px; }
[data-theme^="yomirc"] .side-compose { border-radius: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow); }

/* Rooms → horizontal window buttons (the switchbar) */
[data-theme^="yomirc"] .rooms { flex-direction: row; align-items: center; overflow-x: auto; overflow-y: hidden; padding: 0; gap: 3px; flex: 1; min-width: 0; margin: 0; background: transparent; box-shadow: none; }
[data-theme^="yomirc"] .room { flex: 0 0 auto; width: auto; min-width: 0; max-width: 14rem; padding: .18rem .55rem; gap: .3rem; border-radius: 0; background: var(--mirc-face); box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow); }
[data-theme^="yomirc"] .room__body { flex-direction: row; align-items: center; gap: 0; }
[data-theme^="yomirc"] .room__sub { display: none; }
[data-theme^="yomirc"] .room:hover { background: var(--mirc-silver); }
[data-theme^="yomirc"] .room.is-active { background: var(--mirc-silver); box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
[data-theme^="yomirc"] .room.is-active .room__name { color: var(--accent-d); }
/* Leave/close (✕) on each switchbar window button — reserves its slot and fades in
   on hover or when the window is active, so any channel can be parted in one click. */
[data-theme^="yomirc"] .room__close { width: 16px; height: 16px; border-radius: 0; font-size: .72rem; color: var(--ink); }
[data-theme^="yomirc"] .room__close:hover { background: var(--mirc-shadow); color: #d6465f; }
} /* end @media min-width:881px — mIRC top navbar */
[data-theme^="yomirc"] .member { content-visibility: visible; }
[data-theme^="yomirc"] .member__name { min-width: 0; max-width: 240px; } /* cap the name's intrinsic width so one long nick can't force the whole column wide; it ellipsis-truncates instead */
[data-theme^="yomirc"] .sidebar { background: var(--mirc-face); border: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow); }
[data-theme^="yomirc"] .members { background: var(--mirc-face); border: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow); }
/* Monochrome the whole skin: desaturate the remaining colour emoji icons (topbar
   search/notify/manage, bottom-bar nav + away/settings, composer tools). Neutral
   button backgrounds are unaffected by grayscale — same trick the away button uses. */
[data-theme^="yomirc"] .topbar__search,
[data-theme^="yomirc"] .topbar__searchicon,
[data-theme^="yomirc"] .tab__ic,
[data-theme^="yomirc"] .appbar__act,
[data-theme^="yomirc"] .composer__emoji,
[data-theme^="yomirc"] .composer__fmtbtn,
[data-theme^="yomirc"] .composer__add { filter: grayscale(1); opacity: .8; }
/* The message-list bot glyph stays colour, matching the nicklist bot icon. */
[data-theme^="yomirc"] .topbar__search:hover,
[data-theme^="yomirc"] .tab:hover .tab__ic,
[data-theme^="yomirc"] .appbar__act:hover,
[data-theme^="yomirc"] .composer__emoji:hover,
[data-theme^="yomirc"] .composer__add:hover { opacity: 1; }

/* Flat caption bar — no Windows title-bar gradient, no blue */
[data-theme^="yomirc"] .topbar {
  padding: .45rem .7rem; gap: .5rem;
  background: var(--mirc-face); box-shadow: none; border-bottom: 1px solid var(--border);
}
[data-theme^="yomirc"] .topbar__title { color: var(--accent-d); font-weight: 800; text-shadow: none; }
/* Channel header reads as bold "#name" text like the room switcher — no # avatar box. */
[data-theme^="yomirc"] .topbar--channel .topbar__av { display: none; }
[data-theme^="yomirc"] .topbar--channel .topbar__title::before { content: "#"; margin-right: -.5rem; } /* -gap so # attaches: "#accueil" not "# accueil" */
[data-theme^="yomirc"] .topbar__topic { color: var(--ink-2); text-shadow: none; }
[data-theme^="yomirc"] .topbar__modes { color: var(--muted); text-shadow: none; }
[data-theme^="yomirc"] .topbar__topic--muted { color: rgba(255,255,255,.82); }
[data-theme^="yomirc"] .topbar__av { border-radius: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow); }
/* Left rail icons — square raised buttons */
[data-theme^="yomirc"] .rail__item,
[data-theme^="yomirc"] .rail__me {
  border-radius: 0; background: var(--mirc-face); color: var(--ink);
  box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow), inset 2px 2px 0 var(--mirc-bevel-hi), inset -2px -2px 0 var(--mirc-dark);
}
[data-theme^="yomirc"] .rail__item.is-active { background: var(--mirc-silver); box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
[data-theme^="yomirc"] .rail__item.is-active::before { display: none; }
[data-theme^="yomirc"] .rail__brand { border-radius: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-dark); }
/* Channel switcher (rooms) — sunken treebar */
[data-theme^="yomirc"] .rooms { background: var(--mirc-paper); margin: 2px; box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
[data-theme^="yomirc"] .room { border-radius: 0; padding: .25rem .4rem; gap: .4rem; }
[data-theme^="yomirc"] .room__av { border-radius: 0; width: 18px; height: 18px; background: transparent; color: var(--accent); }
/* Channels read as plain "#name" text in the switcher (like the topbar), not a
   separate # avatar icon. Queries/status keep their avatar glyph. */
[data-theme^="yomirc"] .room:has(.room__hash) .room__av { display: none; }
[data-theme^="yomirc"] .room:has(.room__hash) .room__name::before { content: "#"; }
/* Query/DM window buttons get a distinct "@nick" glyph instead of the channel #. */
[data-theme^="yomirc"] .room:not(.room--status):not(:has(.room__hash)) .room__av { display: none; }
[data-theme^="yomirc"] .room:not(.room--status):not(:has(.room__hash)) .room__name::before { content: "@"; opacity: .7; }
/* Unread activity, mIRC-style: bold accent on a window with a new message, red on
   a mention/highlight — colours the switchbar (and the mobile drawer list). */
[data-theme^="yomirc"] .room.has-unread .room__name { font-weight: 700; color: var(--accent-d); }
[data-theme^="yomirc"] .room.has-mention .room__name { font-weight: 700; color: #d6465f; }
[data-theme^="yomirc"] .room__sub { font-family: var(--mono); font-size: .72rem; color: var(--muted); }
[data-theme^="yomirc"] .room__sub--generic { display: none; } /* channels with no topic stay a tight single line */
[data-theme^="yomirc"] .room__name { font-weight: 400; color: var(--ink); }
/* Explore invitation — a flat mIRC push-button filling the empty switchbar space. */
[data-theme^="yomirc"] .room-discover { margin: auto 2px 2px; border-radius: 0; background: var(--mirc-face); color: var(--ink); border: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow); font-family: var(--mono); font-size: .8rem; }
[data-theme^="yomirc"] .room-discover:hover { background: var(--mirc-silver); color: var(--accent-d); }
[data-theme^="yomirc"] .room-discover:active { box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
[data-theme^="yomirc"] .room:hover { background: var(--mirc-hover); }
[data-theme^="yomirc"] .room.is-active { background: var(--mirc-navy); }
[data-theme^="yomirc"] .room.is-active .room__name { color: var(--mirc-sel-ink); font-weight: 400; }
[data-theme^="yomirc"] .room.is-active .room__av { color: var(--mirc-sel-ink); }
[data-theme^="yomirc"] .room.is-active::before { display: none; }
[data-theme^="yomirc"] .rooms-h { color: var(--accent-d); }
/* Status window pinned at the top of the switchbar (the real mIRC "Status") */
[data-theme^="yomirc"] .room--status { border-bottom: 1px solid var(--mirc-shadow); margin-bottom: 2px; padding-bottom: .3rem; }
[data-theme^="yomirc"] .room--status .room__name { font-weight: 700; }
[data-theme^="yomirc"] .room--status .room__av { color: #2e9b4f; font-size: .7rem; }
/* green = connected */
[data-theme="yomirc-dark"] .room--status .room__av { color: #4fd07a; }
[data-theme^="yomirc"] .room--status.is-active .room__av { color: var(--mirc-sel-ink); }
/* Chat area */
[data-theme^="yomirc"] .messages { background: var(--mirc-paper); margin: 2px 0; box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
/* One log line per message: [HH:MM] <nick> text */
[data-theme^="yomirc"] .mircline {
  position: relative; font-family: var(--mono); font-size: .9rem; line-height: 1.55;
  padding: .05rem .6rem; color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere;
  transition: background .16s ease;
}
[data-theme^="yomirc"] .mircline:hover { background: var(--mirc-hover); }
/* the quoted line, softly lit while its reply preview is hovered (fades via the transition above) */
[data-theme^="yomirc"] .mircline--replytarget,
[data-theme^="yomirc"] .mircline--replytarget:hover { background: rgba(53, 196, 106, .17); box-shadow: inset 2px 0 0 var(--accent); }
[data-theme^="yomirc"] .mircline__time { color: var(--muted); }
[data-theme^="yomirc"] .mircline__nick { font-family: var(--mono); font-weight: 700; border: 0; background: none; padding: 0; cursor: pointer; vertical-align: baseline; }
[data-theme^="yomirc"] .mircline__nick:hover { text-decoration: underline; }
[data-theme^="yomirc"] .mircline--action .mircline__txt { font-style: italic; }
[data-theme^="yomirc"] .mircline.is-redacted { opacity: .55; font-style: italic; }
[data-theme^="yomirc"] .mircline .reactions--inline { display: inline-flex; gap: .25rem; margin-left: .4rem; vertical-align: middle; }
[data-theme^="yomirc"] .mircline .msg-actions { top: 0; }
/* The reply arrow (↩) is a text glyph, not an emoji, so on the pure-black canvas it
   falls back to the UA button colour (black) and vanishes. Paint the action glyphs
   the classic terminal green so they read against the black. */
[data-theme="yomirc-dark"] .msg-actions button { color: var(--accent); }
/* dark: lift the hashed nick colours so they pop on the near-black log */
[data-theme="yomirc-dark"] .mircline__nick { filter: brightness(1.55) saturate(1.15); }
/* Server events as classic mIRC status lines: whole line tinted green (join) / red (leave) */
[data-theme^="yomirc"] .mircline--sys { color: var(--muted); }
[data-theme^="yomirc"] .mircline__star { font-weight: 700; }
/* inherits the line colour */
[data-theme^="yomirc"] .mircline__host { opacity: .72; }
/* Halloy-style reply line above a message: "   ┌── ↩ nick: snippet". Same mono +
   size as the line below, so the ┌ arm stays on the timestamp grid; the snippet is
   dimmed and a touch smaller. Clicking it jumps to (and flashes) the quoted line. */
[data-theme^="yomirc"] .mircline-reply {
  display: block; width: 100%; text-align: left; border: 0; background: none;
  font-family: var(--mono); font-size: .9rem; line-height: 1.25;
  padding: .12rem .6rem 0; margin: 0; color: var(--muted); cursor: pointer;
  white-space: pre; overflow: hidden; text-overflow: ellipsis;
  transition: color .15s ease, background .15s ease;
}
[data-theme^="yomirc"] .mircline-reply__txt { font-size: .86em; opacity: .82; transition: opacity .15s ease; }
[data-theme^="yomirc"] .mircline-reply:hover { color: var(--ink); background: var(--mirc-hover); }
[data-theme^="yomirc"] .mircline-reply:hover .mircline-reply__txt { opacity: 1; }
[data-theme="yomirc-dark"] .mircline-reply b { filter: brightness(1.55) saturate(1.15); }
/* click-to-jump lands with a gentle green pulse that eases in AND out — no hard snap */
[data-theme^="yomirc"] .mircline--flash { animation: mircFlash 1.4s cubic-bezier(.4, 0, .2, 1); }
@keyframes mircFlash {
  0% { background: transparent; }
  16% { background: rgba(53, 196, 106, .30); }
  100% { background: transparent; }
}
/* dimmer host, same hue */
[data-theme^="yomirc"] .mircline--sys-join { color: var(--mirc-join); }
[data-theme^="yomirc"] .mircline--sys-part,
[data-theme^="yomirc"] .mircline--sys-quit,
[data-theme^="yomirc"] .mircline--sys-kick,
[data-theme^="yomirc"] .mircline--sys-ban { color: var(--mirc-quit); }
[data-theme^="yomirc"] .mircline--sys-mode,
[data-theme^="yomirc"] .mircline--sys-nick,
[data-theme^="yomirc"] .mircline--sys-topic { color: var(--accent-d); }
/* ---- THE NICK LIST: flat & inline, no access-level groups (real mIRC) ---- */
[data-theme^="yomirc"] .members__list { background: var(--mirc-paper); margin: 0 2px 2px; padding: 1px; box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
[data-theme^="yomirc"] .members__h { color: var(--accent-d); padding: .35rem .6rem; }
[data-theme^="yomirc"] .mgroup { margin: 0; }
[data-theme^="yomirc"] .mgroup__h { display: none; }
[data-theme^="yomirc"] .member { border-radius: 0; padding: .05rem .4rem; gap: .25rem; }
[data-theme^="yomirc"] .member .avatar { display: none; }
[data-theme^="yomirc"] .member__name { font-family: var(--mono); font-size: .9rem; font-weight: 400; color: var(--ink); }
[data-theme^="yomirc"] .member__prefix { color: var(--accent); font-weight: 700; }
[data-theme^="yomirc"] .member:hover:not(:disabled) { background: var(--mirc-navy); }
[data-theme^="yomirc"] .member:hover:not(:disabled) .member__name,
[data-theme^="yomirc"] .member:hover:not(:disabled) .member__prefix { color: var(--mirc-sel-ink); }
/* Bot tag = just a robot icon, no "BOT" label / badge box. Right-align it (the row
   fills the tight fit-content column) so every bot's icon lines up in a neat column
   at the edge instead of floating ragged after each different-length nick. */
[data-theme^="yomirc"] .member__bot { margin-left: auto; padding: 0 0 0 .4rem; font-size: 0; background: none; box-shadow: none; }
[data-theme^="yomirc"] .member__bot::before { content: "🤖"; font-size: .8rem; line-height: 1; }
[data-theme^="yomirc"] .members__search input { border-radius: 0; background: var(--mirc-paper); color: var(--ink); box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
/* Composer — one sunken paper editbox (same surface as the message log), flat glyph
   tools inside it, and a single raised Send button. No grey box framing a black input. */
[data-theme^="yomirc"] .composer__box { border-radius: 0; background: var(--mirc-paper); box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
[data-theme^="yomirc"] .composer__rich { font-family: var(--mono); background: transparent; color: var(--ink); box-shadow: none; padding: .35rem .4rem; }
[data-theme^="yomirc"] .composer__fmtbtn,
[data-theme^="yomirc"] .composer__add,
[data-theme^="yomirc"] .composer__emoji { border-radius: 0; background: transparent; color: var(--ink); box-shadow: none; }
[data-theme^="yomirc"] .composer__send {
  border-radius: 0; background: var(--mirc-silver); color: var(--ink);
  box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow);
}
[data-theme^="yomirc"] .composer__fmtbtn.is-on { box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); background: var(--mirc-silver); }
/* Sidebar controls squared to match: sunken search field + raised filter tabs */
[data-theme^="yomirc"] .side-search { border-radius: 0; background: var(--mirc-paper); border: 0; box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
[data-theme^="yomirc"] .side-search input { background: transparent; color: var(--ink); font-family: var(--mono); }
[data-theme^="yomirc"] .pill {
  border-radius: 0; background: var(--mirc-face); color: var(--ink); border: 0;
  box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow), inset 2px 2px 0 var(--mirc-bevel-hi), inset -2px -2px 0 var(--mirc-dark);
}
[data-theme^="yomirc"] .pill:hover { background: var(--mirc-face); color: var(--ink); }
[data-theme^="yomirc"] .pill.is-on { background: var(--mirc-silver); color: var(--ink); box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); }
[data-theme^="yomirc"] .nettab__main { border-radius: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow); }
/* Retro scrollbars + selection */
[data-theme^="yomirc"] *::-webkit-scrollbar { width: 16px; height: 16px; }
[data-theme^="yomirc"] *::-webkit-scrollbar-track { background: var(--mirc-face); }
[data-theme^="yomirc"] *::-webkit-scrollbar-thumb { background: var(--mirc-silver); border-radius: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-dark); }
[data-theme^="yomirc"] ::selection { background: var(--mirc-navy); color: var(--mirc-sel-ink); }
[data-theme^="yomirc"] .member { contain-intrinsic-size: auto 20px; }

/* Status/console window: the default skin dresses it as a dark terminal pane,
   which clashes with the mIRC paper look. Re-skin it to match the rest of yomirc
   so the Status window is the same classic mIRC surface as the channels. */
[data-theme^="yomirc"] .messages--console {
  background: var(--mirc-paper);
  font-family: var(--mono);
}
[data-theme^="yomirc"] .messages--console .sysline { color: var(--ink); }
[data-theme^="yomirc"] .messages--console .sysline .who { color: var(--mirc-sel-ink); }
[data-theme^="yomirc"] .topbar--console { background: var(--mirc-face); border-bottom-color: var(--mirc-shadow); }
[data-theme^="yomirc"] .topbar--console .topbar__title { color: var(--ink); font-family: var(--mono); }
[data-theme^="yomirc"] .topbar--console .nav-toggle { background: var(--mirc-face); border-color: var(--mirc-shadow); color: var(--ink); }
[data-theme^="yomirc"] .topbar--console .term-lights { display: none; }

/* Status-window composer: the default skin makes it a dark terminal input, which
   shows as a black band in the light mIRC theme. Re-skin it to the paper look so
   it matches the (now paper) console pane above it. */
[data-theme^="yomirc"] .composer--console { background: var(--bg); border-top-color: var(--mirc-shadow); }
[data-theme^="yomirc"] .composer--console .composer__box { background: var(--mirc-paper); border-color: var(--mirc-shadow); }
[data-theme^="yomirc"] .composer--console .composer__box:focus-within { border-color: var(--mirc-sel-ink); box-shadow: none; }
[data-theme^="yomirc"] .composer--console .composer__box::before { color: var(--mirc-sel-ink); }
[data-theme^="yomirc"] .composer--console .composer__rich { color: var(--ink); caret-color: var(--mirc-sel-ink); }
[data-theme^="yomirc"] .composer--console .composer__rich.is-empty::before { color: var(--muted); }
[data-theme^="yomirc"] .composer--console .composer__send { background: var(--mirc-face); color: var(--ink); box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow); }
[data-theme^="yomirc"] .composer--console .composer__send:hover:not(:disabled) { background: var(--mirc-hover); }
