/* 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"] {
  --mirc-silver: #16161a; --mirc-face: #0c0c0f; --mirc-light: transparent;
  --mirc-shadow: #23232a; --mirc-dark: transparent; --mirc-navy: #113a22; --mirc-navy-2: #113a22;
  --mirc-paper: #000000; --mirc-hover: #121212; --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: #0c0c0f; --bg-soft-2: #16161a; --bg-active: #113a22; --rail-bg: #090909;
  --border: #262630; --border-2: #33333c;
  --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; }
[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); }
/* 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: 700; text-shadow: none; }
[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); }
[data-theme^="yomirc"] .room__hash { font-size: 1rem; }
[data-theme^="yomirc"] .room__sub { display: none; }
[data-theme^="yomirc"] .room__name { font-weight: 400; color: var(--ink); }
[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;
}
[data-theme^="yomirc"] .mircline:hover { background: var(--mirc-hover); }
[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; }
/* 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; }
/* 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); }
[data-theme^="yomirc"] .member__bot { background: var(--mirc-silver); color: var(--ink); border-radius: 0; box-shadow: inset 1px 1px 0 var(--mirc-light), inset -1px -1px 0 var(--mirc-shadow); }
[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 — sunken input + raised toolbar buttons */
[data-theme^="yomirc"] .composer__box { 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"] .composer__rich { font-family: var(--mono); background: var(--mirc-paper); color: var(--ink); box-shadow: inset 1px 1px 0 var(--mirc-shadow), inset -1px -1px 0 var(--mirc-light); padding: .35rem .4rem; }
[data-theme^="yomirc"] .composer__fmtbtn,
[data-theme^="yomirc"] .composer__add,
[data-theme^="yomirc"] .composer__emoji,
[data-theme^="yomirc"] .composer__send {
  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"] .composer__send { background: var(--mirc-silver); }
[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; }
