/* ============================================================
   TOKI — daytime theme
   Loaded always, scoped under [data-theme="toki"].
   Noir (chrf.css) stays the night skin. Landing locks Noir.
   Tokidoki bubblegum + 2000s Yahoo Messenger daylight.
   ============================================================ */

:root[data-theme="toki"] {
  --g: #ff3fa4;
  --g-dim: #ff3fa490;
  --ink: #fff8fc;
  --panel: #fff0f8;
  --warn: #ff5e3a;
  --font: "Trebuchet MS", "Comic Sans MS", Verdana, sans-serif;

  --toki-pink: #ff3fa4;
  --toki-purple: #7c3aed;
  --toki-teal: #14e0c4;
  --toki-yellow: #ffd23f;
  --toki-sky: #9ad8ff;
  --toki-ink: #2b0a3d;
  --toki-muted: #5c3a66;
  --toki-white: #fffdfb;
  --toki-shadow: 3px 3px 0 #ff3fa433;
}

:root[data-theme="toki"] html,
:root[data-theme="toki"] body {
  background:
    radial-gradient(1200px 420px at 12% -10%, #ffe9f8 0%, transparent 55%),
    radial-gradient(900px 380px at 110% 8%, #c8f4ff 0%, transparent 50%),
    linear-gradient(180deg, #fff7fb 0%, #ffeef8 42%, #e7f6ff 100%);
  color: var(--toki-ink);
}
:root[data-theme="toki"] body { text-shadow: none; }
:root[data-theme="toki"] a { color: var(--toki-purple); }
:root[data-theme="toki"] .scanlines::after { display: none; }

/* ---------- chrome / yahoo IM bar ---------- */
:root[data-theme="toki"] .chrome-bar {
  background: linear-gradient(180deg, #ffffff 0%, #ffe6f4 100%);
  border-bottom: 3px solid #ff3fa4;
  box-shadow: 0 3px 0 #ffd23f, 0 8px 18px #ff3fa433;
}
:root[data-theme="toki"] .chrome-mark {
  color: var(--toki-purple);
  text-shadow: 1px 1px 0 #fff, 2px 2px 0 #ffd23f;
  letter-spacing: 1px;
}
:root[data-theme="toki"] .chrome-where,
:root[data-theme="toki"] .chrome-ver { color: var(--toki-muted); }
:root[data-theme="toki"] .chrome-nav a {
  color: var(--toki-ink);
  opacity: .85;
  border: 2px solid transparent;
  border-radius: 999px;
  padding: 4px 10px;
}
:root[data-theme="toki"] .chrome-nav a:hover {
  opacity: 1;
  color: #fff;
  background: var(--toki-pink);
  border-color: #fff;
}
:root[data-theme="toki"] .session-chip {
  border: 2px solid var(--toki-pink);
  background: #fff;
  border-radius: 999px;
  color: var(--toki-ink);
}
:root[data-theme="toki"] .ghost-btn {
  background: linear-gradient(180deg, #fff, #ffe6f4);
  color: var(--toki-pink);
  border: 2px solid var(--toki-pink);
  border-radius: 10px;
  box-shadow: 2px 2px 0 #7c3aed55;
}
:root[data-theme="toki"] .ghost-btn:hover {
  background: var(--toki-pink);
  color: #fff;
}

:root[data-theme="toki"] .mode-switch {
  border: 2px solid var(--toki-purple);
  border-radius: 12px;
  background: #fff;
  box-shadow: inset 0 0 0 1px #ffd23f;
}
:root[data-theme="toki"] .mode-switch button { color: var(--toki-purple); }
:root[data-theme="toki"] .mode-switch button[aria-pressed="true"] {
  background: var(--toki-pink);
  color: #fff;
  border-radius: 8px;
}
:root[data-theme="toki"] .mode-switch__rule { background: var(--toki-pink); }
:root[data-theme="toki"] .mode-switch__hint { color: var(--toki-muted); }
:root[data-theme="toki"] .campus-verbs button {
  background: #fff;
  color: var(--toki-purple);
  border: 2px solid var(--toki-purple);
  border-radius: 8px;
}
:root[data-theme="toki"] .campus-verbs button[aria-pressed="true"],
:root[data-theme="toki"] .campus-verbs button:hover {
  background: var(--toki-purple);
  color: #fff;
}

/* ---------- same building, daytime ---------- */
:root[data-theme="toki"] .campus-stage {
  border: 3px solid #ff9ad4;
  background:
    linear-gradient(180deg, #7ec8ff 0%, #c8ecff 28%, #ffe9a8 62%, #fff4dc 100%);
  box-shadow: inset 0 0 80px #ffd23f22, 0 14px 32px #ff3fa433;
}
:root[data-theme="toki"] .campus-stage::before {
  content: "";
  position: absolute;
  top: 5%;
  right: 7%;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 32%, #fffce8 0%, #ffd23f 42%, #ff9a1a 100%);
  box-shadow: 0 0 18px #ffd23f, 0 0 48px #ffb347aa, 0 0 90px #ff9ad466;
  z-index: 1;
  pointer-events: none;
}
:root[data-theme="toki"] .campus-art {
  filter: saturate(1.28) contrast(1.08) brightness(1.48) hue-rotate(-14deg);
}
:root[data-theme="toki"] .campus-art::after {
  background:
    linear-gradient(180deg, rgba(126, 200, 255, .45) 0%, rgba(255, 233, 168, .22) 48%, rgba(255, 255, 255, .1) 100%);
  mix-blend-mode: overlay;
}
:root[data-theme="toki"] .campus-floor {
  background:
    repeating-linear-gradient(#ff3fa414 0 1px, transparent 1px 28px),
    repeating-linear-gradient(90deg, #14e0c414 0 1px, transparent 1px 28px);
  opacity: .12;
}
:root[data-theme="toki"] .geo-street,
:root[data-theme="toki"] .geo-map {
  border-color: var(--toki-pink);
}
:root[data-theme="toki"] .geo-vignette {
  box-shadow: inset 0 0 90px #ffffffcc, inset 0 0 30px #ffd23f33;
}
:root[data-theme="toki"] .geo-claim {
  background: #fff;
  color: var(--toki-ink);
  border-color: var(--toki-pink);
}

:root[data-theme="toki"] .spot { color: var(--toki-ink); }
:root[data-theme="toki"] .campus-stage .spot:hover,
:root[data-theme="toki"] .campus-stage .spot:focus-visible {
  color: var(--toki-purple);
  border-color: #ff3fa477;
  filter: drop-shadow(0 0 8px #ff3fa477);
}
:root[data-theme="toki"] .spot.obj > span:not([class]),
:root[data-theme="toki"] .spot.obj > strong,
:root[data-theme="toki"] .spot.obj > small {
  background: #fff;
  border: 2px solid var(--toki-pink);
  color: var(--toki-ink);
  text-shadow: none;
  box-shadow: 2px 2px 0 #ffd23f88;
}

/* ---------- stoop / lobby / hall daylight ---------- */
:root[data-theme="toki"] .page-wrapper,
:root[data-theme="toki"] .lobby-wrap,
:root[data-theme="toki"] .hall-wrap {
  background: transparent;
}
:root[data-theme="toki"] .stoop-header,
:root[data-theme="toki"] .header {
  color: var(--toki-purple);
  text-shadow: 1px 1px 0 #fff, 0 0 18px #ffd23f88;
  animation: none;
}
:root[data-theme="toki"] .stoop-who,
:root[data-theme="toki"] .instruction,
:root[data-theme="toki"] .lede { color: var(--toki-muted); }
:root[data-theme="toki"] .map-stoop {
  box-shadow: 0 0 40px #ffd23f55, inset 0 0 80px #ffe9a822;
}
:root[data-theme="toki"] .stoop-index button,
:root[data-theme="toki"] .home-btn,
:root[data-theme="toki"] .hole-btn,
:root[data-theme="toki"] .hall-btn {
  background: linear-gradient(180deg, #fff, #ffe6f4);
  color: var(--toki-purple);
  border: 2px solid var(--toki-pink);
  box-shadow: 3px 3px 0 #7c3aed44;
  text-shadow: none;
}
:root[data-theme="toki"] .stoop-index button:hover,
:root[data-theme="toki"] .home-btn:hover,
:root[data-theme="toki"] .hole-btn:hover,
:root[data-theme="toki"] .hall-btn:hover {
  background: var(--toki-pink);
  color: #fff;
}
:root[data-theme="toki"] .rolladew {
  border-color: var(--toki-yellow);
  color: var(--toki-ink);
  text-shadow: 0 0 8px #fff;
  box-shadow: 0 0 24px #ffd23f66;
}
:root[data-theme="toki"] .elev {
  border-color: var(--toki-teal);
  background: linear-gradient(#fff, #e7f6ff);
}
:root[data-theme="toki"] .elev a {
  color: var(--toki-purple);
  border-color: #14e0c455;
}
:root[data-theme="toki"] .elev-bank::before {
  border-color: #ff9ad4;
  background: linear-gradient(180deg, #fff9, #e7f6ffaa);
  box-shadow: inset 0 0 40px #ffd23f22;
}
:root[data-theme="toki"] .hall-map-title {
  color: var(--toki-purple);
  text-shadow: 1px 1px 0 #fff;
}
:root[data-theme="toki"] .map-hall { box-shadow: inset 0 0 60px #ffd23f22, 0 0 24px #ff9ad455; }

/* ---------- yahoo chat windows ---------- */
:root[data-theme="toki"] .station-modal { background: rgba(255, 240, 250, .72); }
:root[data-theme="toki"] .station-panel,
:root[data-theme="toki"] .rad-hud,
:root[data-theme="toki"] .rad-lineage,
:root[data-theme="toki"] .rad-folio,
:root[data-theme="toki"] .campus-line,
:root[data-theme="toki"] .exec-plaque {
  background: linear-gradient(180deg, #ffffff 0%, #fff7fb 100%);
  border: 3px solid #7c3aed;
  color: var(--toki-ink);
  box-shadow: 4px 4px 0 #ffd23f, 8px 8px 0 #ff3fa433;
  text-shadow: none;
}
:root[data-theme="toki"] .station-panel {
  border-radius: 12px;
}
:root[data-theme="toki"] .station-art {
  border-color: #ff9ad4;
  box-shadow: 0 0 12px #ffd23f44;
  filter: brightness(1.2) saturate(1.1);
}
:root[data-theme="toki"] .trade-term,
:root[data-theme="toki"] .rad-card {
  background: #fff;
  border: 2px solid #ff9ad4;
  color: var(--toki-ink);
  text-shadow: none;
  box-shadow: none;
}
:root[data-theme="toki"] .rad-card:hover,
:root[data-theme="toki"] .rad-card:focus {
  background: #ffe6f4;
  border-color: var(--toki-pink);
}
:root[data-theme="toki"] .rad-close {
  background: var(--warn);
  border-color: #fff;
  color: #fff;
  border-radius: 8px;
  box-shadow: 2px 2px 0 #7c3aed;
}

/* ---------- Roll-A-Dew daytime instrument ---------- */
:root[data-theme="toki"] .rad-hud {
  background: linear-gradient(165deg, #fff7fb 0%, #ffeef8 38%, #e7f6ff 100%) !important;
}
:root[data-theme="toki"] .rad-atmosphere {
  background:
    radial-gradient(ellipse at 72% 28%, #ffd23f33 0%, transparent 48%),
    radial-gradient(ellipse at 18% 72%, #ff3fa422 0%, transparent 45%),
    radial-gradient(ellipse at 50% 100%, #14e0c418 0%, transparent 40%),
    repeating-linear-gradient(90deg, #fff9fc 0 48px, #ffe6f4 48px 49px),
    repeating-linear-gradient(0deg, #fff9fc 0 48px, #ffe6f4 48px 49px),
    #fffdfb;
  filter: none;
  opacity: 1;
}
:root[data-theme="toki"] .rad-atmosphere::after {
  background: radial-gradient(ellipse at center, transparent 55%, #ff3fa408 100%);
}
:root[data-theme="toki"] .rad-rack {
  background: linear-gradient(#fff, #ffe6f4 55%, #ffd23f22);
  border: 3px solid var(--toki-purple);
  box-shadow: 0 6px 0 #ff3fa433, inset 0 1px 0 #fff;
  border-radius: 12px;
}
:root[data-theme="toki"] .rad-rack__brand {
  color: var(--toki-purple);
  text-shadow: 1px 1px 0 #fff, 2px 2px 0 #ffd23f;
}
:root[data-theme="toki"] .rad-rack__brand small { color: var(--toki-muted); opacity: 1; }
:root[data-theme="toki"] .rad-led { color: var(--toki-ink); opacity: 1; }
:root[data-theme="toki"] .rad-led i { background: #ffd23f88; box-shadow: inset 0 0 3px #fff; }
:root[data-theme="toki"] .rad-led.is-on i {
  background: var(--toki-teal);
  box-shadow: 0 0 10px var(--toki-teal), 0 0 2px #fff;
}
:root[data-theme="toki"] .rad-led.is-warn i { background: var(--warn); box-shadow: 0 0 10px var(--warn); }
:root[data-theme="toki"] .rad-crt {
  background: linear-gradient(#fff, #fff7fb);
  border: 3px solid var(--toki-pink);
  box-shadow: 0 10px 0 #ffd23f55, 0 16px 32px #ff3fa422, inset 0 0 0 4px #fff;
  border-radius: 16px;
}
:root[data-theme="toki"] .rad-crt__top { color: var(--toki-muted); }
:root[data-theme="toki"] .rad-preview-btn {
  background: #fff;
  color: var(--toki-purple);
  border: 2px solid var(--toki-teal);
  border-radius: 8px;
  font-weight: 700;
}
:root[data-theme="toki"] .rad-preview-btn[aria-pressed="true"],
:root[data-theme="toki"] .rad-preview-btn:hover {
  background: var(--toki-yellow);
  color: var(--toki-ink);
  border-color: var(--toki-pink);
}
:root[data-theme="toki"] .rad-crt__glass {
  background: linear-gradient(rgba(255, 63, 164, .04), transparent 28%), #fffdfb;
  border: 2px solid #ff9ad4;
  box-shadow: inset 0 0 24px #ffd23f18, 0 0 12px #14e0c422;
  color: var(--toki-ink);
}
:root[data-theme="toki"] .rad-crt__glass::after {
  background:
    repeating-linear-gradient(transparent 0 3px, rgba(255, 63, 164, .04) 3px 4px),
    radial-gradient(ellipse at center, transparent 58%, rgba(124, 58, 237, .06) 100%);
}
:root[data-theme="toki"] .rad-term { text-shadow: none; color: var(--toki-ink); }
:root[data-theme="toki"] .rad-kicker,
:root[data-theme="toki"] .sc-kicker { color: var(--toki-muted); }
:root[data-theme="toki"] .rad-nav button {
  background: #fff;
  color: var(--toki-purple);
  border: 2px solid var(--toki-purple);
  border-radius: 10px;
  font-weight: 700;
}
:root[data-theme="toki"] .rad-nav button[aria-pressed="true"],
:root[data-theme="toki"] .rad-nav button:hover {
  background: var(--toki-pink);
  color: #fff;
  border-color: #fff;
  box-shadow: 2px 2px 0 #7c3aed;
}
:root[data-theme="toki"] .rad-rolo {
  background: linear-gradient(#fff, #ffe6f4);
  border: 3px solid #ff9ad4;
  box-shadow: 0 8px 0 #ffd23f55;
  border-radius: 12px;
}
:root[data-theme="toki"] .rad-rolo__plate {
  background: #fff;
  color: var(--toki-purple);
  border: 2px solid var(--toki-teal);
  border-radius: 8px;
}
:root[data-theme="toki"] .rad-tab {
  background: linear-gradient(#fff, #ffe6f4);
  color: var(--toki-ink);
  border: 2px solid #ff9ad4;
  box-shadow: 2px 3px 0 #ffd23f66;
}
:root[data-theme="toki"] .rad-tab:hover,
:root[data-theme="toki"] .rad-tab.is-front {
  background: linear-gradient(#fff, var(--toki-yellow));
  border-color: var(--toki-pink);
}
:root[data-theme="toki"] .rad-tab--empty {
  color: var(--toki-purple);
  border-color: var(--toki-teal);
}
:root[data-theme="toki"] .rad-cab {
  background: linear-gradient(180deg, #fff7fb, #ffe6f4);
  border: 3px solid var(--toki-purple);
  box-shadow: 0 10px 0 #ff3fa433;
  border-radius: 12px;
}
:root[data-theme="toki"] .rad-cab__lid {
  background: linear-gradient(var(--toki-pink), #ff7ec0);
  color: #fff;
  border: 2px solid #fff;
  text-shadow: 1px 1px 0 #7c3aed;
  border-radius: 8px;
}
:root[data-theme="toki"] .rad-bank h4 { color: var(--toki-purple); border-color: #ff9ad4; }
:root[data-theme="toki"] .rad-draw {
  background: #fff;
  color: var(--toki-ink);
  border: 2px solid #ff9ad4;
  box-shadow: inset 0 0 0 #fff, 2px 2px 0 #ffd23f44;
  border-radius: 8px;
}
:root[data-theme="toki"] .rad-draw b { color: var(--toki-teal); text-shadow: none; }
:root[data-theme="toki"] .rad-draw:hover { border-color: var(--toki-pink); }
:root[data-theme="toki"] .rad-draw.is-open {
  background: #ffe6f4;
  border-color: var(--toki-purple);
  box-shadow: 0 0 12px #ff3fa433;
}
:root[data-theme="toki"] .rad-draw__pull {
  background: radial-gradient(circle at 30% 40%, var(--toki-yellow), #ff9ad4);
}
:root[data-theme="toki"] .rad-tube {
  background: linear-gradient(90deg, #fff, #e7f6ff);
  border: 2px solid var(--toki-teal);
  color: var(--toki-purple);
  border-radius: 10px;
}
:root[data-theme="toki"] .rad-tube__pipe {
  background: repeating-linear-gradient(#ffe6f4 0 10px, #fff 10px 12px), linear-gradient(90deg, #ff9ad4, #14e0c4);
  box-shadow: inset 2px 0 4px #fff, 0 0 8px #14e0c433;
}
:root[data-theme="toki"] .rad-tube__pipe::after {
  background: var(--toki-pink);
  box-shadow: 0 0 12px var(--toki-pink);
}
:root[data-theme="toki"] .rad-bin {
  background: #fff;
  color: var(--toki-ink);
  border: 2px solid #ff9ad4;
  border-radius: 8px;
}
:root[data-theme="toki"] .rad-bin.is-open,
:root[data-theme="toki"] .rad-bin:hover {
  background: #ffe6f4;
  border-color: var(--toki-pink);
}
:root[data-theme="toki"] .rad-bins--deck .rad-bin {
  background: #fff;
  color: var(--toki-ink);
  border-color: var(--toki-teal);
}
:root[data-theme="toki"] .rad-cab .rad-list {
  background: #fffdfb;
  border: 2px solid #ff9ad4;
  border-radius: 8px;
}
:root[data-theme="toki"] .rad-manual h2 { color: var(--toki-purple); }
:root[data-theme="toki"] .rad-manual hr { border-top-color: #ff9ad4; }
:root[data-theme="toki"] .rad-preview-backdrop { background: rgba(255, 240, 250, .82); }
:root[data-theme="toki"] .rad-note { color: var(--toki-ink); }
:root[data-theme="toki"] .rad-note.is-me { background: #ffe6f4; border-radius: 8px; padding: 4px 6px; }
:root[data-theme="toki"] .feed-side,
:root[data-theme="toki"] .feed-main,
:root[data-theme="toki"] .feed-rad {
  background: #fff;
  border: 2px solid #ff9ad4;
  border-radius: 12px;
  padding: 12px;
  color: var(--toki-ink);
  box-shadow: 3px 3px 0 #ffd23f44;
}
:root[data-theme="toki"] .feed-main .filing-row { border-color: #ff9ad4; }
:root[data-theme="toki"] .gate-tabs button {
  background: #fff;
  color: var(--toki-purple);
  border: 2px solid var(--toki-purple);
  border-radius: 999px;
}
:root[data-theme="toki"] .gate-tabs button[aria-selected="true"] {
  background: var(--toki-yellow);
  color: var(--toki-ink);
}
:root[data-theme="toki"] .gate-form button[type="submit"] {
  background: var(--toki-pink);
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 2px 2px 0 #7c3aed;
  border-radius: 10px;
}
:root[data-theme="toki"] .gate-form button[type="submit"]:hover {
  background: var(--toki-purple);
  box-shadow: 0 0 16px #ff3fa444;
}
:root[data-theme="toki"] .gate-status[data-ok="1"] { color: #0f7a4a; }
:root[data-theme="toki"] .gate-status[data-ok="0"] { color: var(--warn); }

:root[data-theme="toki"] .sc-row button {
  border-color: var(--toki-teal);
  color: var(--toki-ink);
}
:root[data-theme="toki"] .sc-row button.is-on {
  background: var(--toki-yellow);
  color: var(--toki-ink);
  border-color: var(--toki-pink);
}
:root[data-theme="toki"] .sc-hues label { color: var(--toki-ink); font-weight: 700; }
:root[data-theme="toki"] .sc-wheel { border-color: var(--toki-pink); box-shadow: 3px 3px 0 #ffd23f; }
:root[data-theme="toki"] .sc-mix strong {
  display: block;
  color: var(--toki-purple);
  font-size: .78rem;
  margin-bottom: 4px;
}

:root[data-theme="toki"] .trade-tabs button,
:root[data-theme="toki"] .trade-trader,
:root[data-theme="toki"] .filing-row {
  background: #fff;
  color: var(--toki-purple);
  border: 2px solid var(--toki-purple);
}
:root[data-theme="toki"] .trade-tabs button[aria-selected="true"],
:root[data-theme="toki"] .filing-row:hover {
  background: var(--toki-yellow);
  color: var(--toki-ink);
}
:root[data-theme="toki"] .modal-enter-btn {
  background: var(--toki-pink);
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 3px 3px 0 #7c3aed;
}

:root[data-theme="toki"] .sc-look {
  background: #fff;
  border: 2px solid var(--toki-teal);
  color: var(--toki-ink);
  border-radius: 12px;
}
:root[data-theme="toki"] .sc-look.is-on,
:root[data-theme="toki"] .sc-tabs button[aria-selected="true"] {
  background: var(--toki-yellow);
  color: var(--toki-ink);
}
:root[data-theme="toki"] .sc-tabs button {
  background: #fff;
  color: var(--toki-purple);
  border-color: var(--toki-purple);
  border-radius: 8px;
}
:root[data-theme="toki"] .sc-save {
  background: var(--toki-pink);
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 3px 3px 0 #7c3aed;
}
:root[data-theme="toki"] .sc-card {
  background:
    radial-gradient(120% 90% at 8% -12%, #ffe9f8 0%, transparent 48%),
    radial-gradient(90% 80% at 110% 120%, #c8f4ff 0%, #fff7fb 55%);
  border: 3px solid #ff3fa4;
  box-shadow: 5px 5px 0 #ffd23f, 0 16px 32px #ff3fa433;
}
:root[data-theme="toki"] .sc-card__foil {
  mix-blend-mode: multiply;
  opacity: .35;
  background: linear-gradient(115deg, transparent 28%, #fff 46%, #14e0c466 54%, transparent 70%);
}
:root[data-theme="toki"] .sc-card__mark,
:root[data-theme="toki"] .sc-card__handle {
  color: var(--toki-purple);
  text-shadow: 1px 1px 0 #fff, 2px 2px 0 #ffd23f;
}
:root[data-theme="toki"] .sc-card__meta span {
  background: #fff;
  border: 2px solid #ff9ad4;
  border-radius: 999px;
  color: var(--toki-ink);
}
:root[data-theme="toki"] .sc-card__face {
  border-color: #fff;
  box-shadow: 4px 4px 0 #7c3aed;
}

:root[data-theme="toki"] input,
:root[data-theme="toki"] select,
:root[data-theme="toki"] textarea {
  background: #fff;
  color: var(--toki-ink);
  border: 2px solid #ff9ad4;
  border-radius: 8px;
}

:root[data-theme="toki"] .fig-name { text-shadow: none; color: var(--toki-ink); }

:root[data-theme="toki"] .protocol-modal { background: rgba(255, 240, 250, .78); }
:root[data-theme="toki"] .protocol-panel,
:root[data-theme="toki"] .office-desk,
:root[data-theme="toki"] .office-lock {
  background: #fff;
  border: 3px solid #7c3aed;
  color: var(--toki-ink);
  box-shadow: 4px 4px 0 #ffd23f;
}
:root[data-theme="toki"] .office-desk__art {
  background: linear-gradient(#fff, #ffe6f4);
  border-color: var(--toki-pink);
  box-shadow: inset 0 10px 0 #ffd23f22, 0 0 12px #ff3fa444;
}
:root[data-theme="toki"] .office-desk__art::after {
  border-color: var(--toki-pink);
  background: radial-gradient(circle at 40% 40%, #ffd23f66, #fff);
}

:root[data-theme="toki"] .admin-desk {
  background: #fff;
  border: 3px solid #ff3fa4;
  box-shadow: 4px 4px 0 #ffd23f, 0 12px 28px #ff3fa422;
  color: var(--toki-ink);
}
:root[data-theme="toki"] .admin-desk h2 {
  color: var(--toki-purple);
  text-shadow: 1px 1px 0 #fff, 2px 2px 0 #ffd23f;
}
:root[data-theme="toki"] .admin-how {
  border: 2px dashed #ff9ad4;
  background: #fff7fb;
}
:root[data-theme="toki"] .admin-how summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--toki-purple);
}
:root[data-theme="toki"] .admin-tabs button {
  color: var(--toki-purple);
  border: 2px solid #ff3fa4;
  background: #fff;
  border-radius: 999px;
}
:root[data-theme="toki"] .admin-tabs button[aria-selected="true"] {
  background: var(--toki-pink);
  color: #fff;
}
:root[data-theme="toki"] .admin-counts b {
  background: #fff7fb;
  border: 2px solid #ff9ad4;
  border-radius: 12px;
}
:root[data-theme="toki"] .admin-counts b em {
  color: var(--toki-purple);
  text-shadow: none;
}
:root[data-theme="toki"] .admin-table th,
:root[data-theme="toki"] .admin-table td {
  border-bottom-color: #ff9ad466;
  color: var(--toki-ink);
}
:root[data-theme="toki"] .admin-table button {
  color: var(--toki-purple);
  border-color: #ff3fa4;
  background: #fff;
  border-radius: 8px;
}
:root[data-theme="toki"] .admin-table button:hover {
  background: var(--toki-pink);
  color: #fff;
}
:root[data-theme="toki"] .admin-ban input,
:root[data-theme="toki"] .admin-form input,
:root[data-theme="toki"] .admin-form select,
:root[data-theme="toki"] .admin-form textarea {
  background: #fff;
  color: var(--toki-ink);
  border: 2px solid #ff9ad4;
}
:root[data-theme="toki"] .admin-form {
  border: 2px dashed #ff9ad4;
  background: #fff7fb;
  border-radius: 12px;
}
:root[data-theme="toki"] .admin-form-actions button {
  color: var(--toki-purple);
  border: 2px solid #ff3fa4;
  background: #fff;
  border-radius: 10px;
}
:root[data-theme="toki"] .admin-form-actions button:hover {
  background: var(--toki-pink);
  color: #fff;
}
:root[data-theme="toki"] .admin-req {
  background: #fff7fb;
  border: 2px solid #ff9ad4;
  border-radius: 14px;
  box-shadow: 3px 3px 0 #ffd23f55;
}
:root[data-theme="toki"] .admin-req--open {
  border-color: var(--toki-pink);
  box-shadow: 3px 3px 0 var(--toki-yellow), 0 0 0 2px #fff;
}
:root[data-theme="toki"] .admin-req__scope {
  border-color: var(--toki-purple);
  color: var(--toki-purple);
  border-radius: 999px;
  background: #fff;
}
:root[data-theme="toki"] .admin-req__grant {
  background: var(--toki-teal) !important;
  border-color: var(--toki-teal) !important;
  color: #fff !important;
  border-radius: 10px;
}
:root[data-theme="toki"] .admin-req__deny {
  border-radius: 10px;
  background: #fff !important;
}
:root[data-theme="toki"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .35;
  background-image:
    radial-gradient(circle at 12% 18%, #ff3fa422 0 8px, transparent 9px),
    radial-gradient(circle at 88% 12%, #ffd23f33 0 6px, transparent 7px),
    radial-gradient(circle at 72% 78%, #14e0c422 0 7px, transparent 8px),
    radial-gradient(circle at 24% 82%, #ff3fa418 0 5px, transparent 6px);
}
:root[data-theme="toki"] .page-wrapper,
:root[data-theme="toki"] .hole,
:root[data-theme="toki"] main { position: relative; z-index: 1; }

:root[data-theme="toki"] .admin-status[data-ok="1"] { color: #0f7a4a; }
:root[data-theme="toki"] .admin-status[data-ok="0"] { color: var(--warn); }

html[data-mode="feed"] .protocol-modal {
  position: relative;
  inset: auto;
  background: transparent;
  padding: 0;
  z-index: 1;
  align-items: stretch;
  justify-content: stretch;
}
html[data-mode="feed"] .protocol-modal.is-open { display: flex; }
html[data-mode="feed"] .protocol-panel {
  width: 100%;
  max-height: none;
  box-shadow: 4px 4px 0 #ffd23f;
}
html[data-mode="feed"] .protocol-close { display: none; }
html[data-mode="feed"] body.scanlines::after { display: none; }

/* ---------- theme toggle ---------- */
.theme-toggle {
  background: linear-gradient(180deg, #fff, #ffe6f4);
  border: 2px solid var(--g, #00ff66);
  border-radius: 999px;
  min-width: 86px;
  height: 30px;
  position: relative;
  cursor: pointer;
  padding: 0 10px 0 28px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
  letter-spacing: .4px;
  font-weight: 700;
  color: inherit;
}
.theme-toggle__knob {
  position: absolute;
  top: 3px;
  left: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--g, #00ff66);
  color: #111;
  transition: left .2s ease, background .2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1;
}
.theme-toggle__name { pointer-events: none; }
:root[data-theme="toki"] .theme-toggle {
  border-color: var(--toki-pink);
  color: var(--toki-purple);
}
:root[data-theme="toki"] .theme-toggle__knob {
  left: calc(100% - 24px);
  background: var(--toki-yellow);
  color: #7c3aed;
}
:root[data-theme="noir"] .theme-toggle__knob { left: 4px; }

@media (prefers-reduced-motion: reduce) {
  .theme-toggle__knob { transition: none; }
}
