
:root{
  color-scheme: light;
  --bg:#f6f9fe;
  --sidebar:#ffffff;
  --text:#102039;
  --muted:#52657f;
  --accent:#087ea4;
  --accent2:#1769c2;
  --accent3:#6757d9;
  --ok:#0a8f62;
  --warn:#a86600;
  --status:#087ea4;
  --line:rgba(23,105,194,.20);
  --line2:rgba(103,87,217,.18);
  --shadow:0 24px 70px rgba(37,65,103,.16);
  --dc-page-bg:linear-gradient(145deg,#ffffff 0%,#f4f8ff 55%,#eef3fb 100%);
  --dc-panel:linear-gradient(160deg,rgba(255,255,255,.94),rgba(244,248,255,.96));
  --dc-panel-flat:rgba(255,255,255,.78);
  --dc-soft:rgba(232,241,253,.82);
  --dc-star:rgba(23,105,194,.25);
  --dc-footer:#60738e;
  --dc-link:#294d79;
  --dc-robot-shell:#e9f2ff;
  --dc-robot-screen:#f8fbff;
  --dc-robot-body:#edf3ff;
  --dc-robot-sign:#ffffff;
  --dc-shadow:rgba(37,65,103,.20);
  --dc-radius-scale:1;
  --dc-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#040914;--sidebar:#071226;--text:#f4f8ff;--muted:#9fb1ca;
  --accent:#4fd6f7;--accent2:#39a8f7;--accent3:#7867ff;--ok:#45e6a8;--warn:#ffc857;--status:#4fd6f7;
  --line:rgba(94,160,230,.30);--line2:rgba(120,103,255,.24);--shadow:0 30px 80px rgba(0,0,0,.42);
  --dc-page-bg:linear-gradient(145deg,#071126 0%,#030714 58%,#02040b 100%);
  --dc-panel:linear-gradient(160deg,rgba(9,29,61,.86),rgba(4,13,30,.90));--dc-panel-flat:rgba(7,20,43,.46);
  --dc-soft:rgba(8,24,51,.62);--dc-star:rgba(255,255,255,.45);--dc-footer:#7186a4;--dc-link:#9fb7d4;
  --dc-robot-shell:#0a1b35;--dc-robot-screen:#071a34;--dc-robot-body:#0b1830;--dc-robot-sign:#061226;--dc-shadow:rgba(0,0,0,.38);
}
html[data-accent="violet"]{--accent:#6d4cff;--accent2:#7b3ff2;--accent3:#bb3fe7;--line:rgba(109,76,255,.28);--line2:rgba(187,63,231,.22)}
html[data-accent="green"]{--accent:#087f5b;--accent2:#0b8f71;--accent3:#2f9e44;--line:rgba(8,127,91,.26);--line2:rgba(47,158,68,.22)}
html[data-accent="amber"]{--accent:#a85d00;--accent2:#c56a00;--accent3:#d9480f;--line:rgba(168,93,0,.28);--line2:rgba(217,72,15,.22)}
html[data-theme="dark"][data-accent="violet"]{--accent:#a795ff;--accent2:#9d7cff;--accent3:#d77cff}
html[data-theme="dark"][data-accent="green"]{--accent:#54e6b0;--accent2:#42d4a2;--accent3:#7dde78}
html[data-theme="dark"][data-accent="amber"]{--accent:#ffd166;--accent2:#ffb84d;--accent3:#ff8c61}
html[data-radius="compact"]{--dc-radius-scale:.62}html[data-radius="soft"]{--dc-radius-scale:1.35}
html[data-font="humanist"]{--dc-font:"Trebuchet MS",Aptos,system-ui,sans-serif}html[data-font="mono"]{--dc-font:ui-monospace,"SFMono-Regular",Consolas,monospace}
html,body{background:var(--bg)!important;color:var(--text)!important;font-family:var(--dc-font)!important}
body{background:radial-gradient(circle at 78% 12%,color-mix(in srgb,var(--accent3) 14%,transparent),transparent 30rem),radial-gradient(circle at 15% 50%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 34rem),radial-gradient(circle at 55% 110%,color-mix(in srgb,var(--accent2) 9%,transparent),transparent 40rem),var(--dc-page-bg)!important}
body:before{opacity:.35!important;background-image:radial-gradient(circle at 10% 20%,var(--dc-star) 0 1px,transparent 1.6px),radial-gradient(circle at 70% 15%,color-mix(in srgb,var(--accent) 55%,transparent) 0 1px,transparent 1.8px),radial-gradient(circle at 35% 80%,var(--dc-star) 0 1px,transparent 1.5px),radial-gradient(circle at 92% 70%,color-mix(in srgb,var(--accent3) 55%,transparent) 0 1px,transparent 1.7px)!important}
.card{background:var(--dc-panel)!important;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.35)!important}
.detail{background:var(--dc-panel-flat)!important;color:var(--muted)!important}.btn{background:var(--dc-soft)!important;color:var(--text)!important}
.btn.primary{background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 22%,white),color-mix(in srgb,var(--accent3) 18%,white))!important;color:var(--text)!important}
html[data-theme="dark"] .btn.primary{background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 52%,transparent),color-mix(in srgb,var(--accent3) 50%,transparent))!important}
.card p,footer{color:var(--dc-footer)!important}footer a{color:var(--dc-link)!important}.robot{filter:drop-shadow(0 20px 24px var(--dc-shadow))!important}
.robot [fill="#0a1b35"]{fill:var(--dc-robot-shell)!important}.robot [fill="#071a34"]{fill:var(--dc-robot-screen)!important}.robot [fill="#0b1830"]{fill:var(--dc-robot-body)!important}.robot [fill="#061226"]{fill:var(--dc-robot-sign)!important}.robot [fill="rgba(0,0,0,.24)"]{fill:color-mix(in srgb,var(--text) 14%,transparent)!important}.scan{opacity:.015!important}
.card,.tile,.error,.btn,.detail{border-radius:calc(1px * var(--dc-radius-scale) * var(--dc-original-radius, 13))!important}

/* Accessibility modes */
html[data-contrast="high"]{--text:#000;--muted:#1f2937;--bg:#fff;--sidebar:#fff;--line:#000;--line2:#000;--dc-page-bg:#fff;--dc-panel:#fff;--dc-panel-flat:#fff;--dc-soft:#fff;--dc-footer:#111;--dc-link:#000;--shadow:none;--dc-shadow:transparent;--dc-star:transparent}
html[data-theme="dark"][data-contrast="high"]{--text:#fff;--muted:#f3f4f6;--bg:#000;--sidebar:#000;--line:#fff;--line2:#fff;--dc-page-bg:#000;--dc-panel:#000;--dc-panel-flat:#000;--dc-soft:#000;--dc-footer:#fff;--dc-link:#fff;--shadow:none;--dc-shadow:transparent;--dc-star:transparent}
html[data-contrast="high"] body{background:var(--dc-page-bg)!important}html[data-contrast="high"] body:before,html[data-contrast="high"] .orbit,html[data-contrast="high"] .scan{display:none!important}
html[data-contrast="high"] .card,html[data-contrast="high"] .tile,html[data-contrast="high"] .error,html[data-contrast="high"] .btn,html[data-contrast="high"] .detail{border:2px solid var(--text)!important;box-shadow:none!important}
html[data-contrast="high"] a,html[data-contrast="high"] button{text-decoration-thickness:2px;text-underline-offset:3px}
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* Settings launcher and panel */
.dc-settings-toggle{position:fixed;z-index:1001;right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:10px 13px;background:color-mix(in srgb,var(--sidebar) 92%,transparent);color:var(--text);font:700 .8rem/1 var(--dc-font);box-shadow:0 8px 26px color-mix(in srgb,var(--text) 10%,transparent);backdrop-filter:blur(15px);cursor:pointer}
.dc-settings-toggle:hover{border-color:var(--accent)}.dc-settings-toggle svg{width:17px;height:17px}.dc-settings-toggle:focus-visible,.dc-settings-panel button:focus-visible,.dc-settings-panel select:focus-visible,.dc-settings-panel input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.dc-settings-backdrop{position:fixed;z-index:1002;inset:0;background:rgba(0,0,0,.36);backdrop-filter:blur(3px)}
.dc-settings-panel{position:fixed;z-index:1003;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:min(390px,calc(100vw - 28px));max-height:calc(100svh - 28px);overflow:auto;border:1px solid var(--line);border-radius:22px;padding:20px;background:var(--sidebar);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.28);font-family:var(--dc-font)}
.dc-settings-panel[hidden],.dc-settings-backdrop[hidden]{display:none}.dc-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.dc-settings-head h2{margin:0;font-size:1.28rem}.dc-settings-head p{margin:5px 0 0;color:var(--muted);font-size:.88rem;line-height:1.45}.dc-icon-button{border:1px solid var(--line);border-radius:12px;background:var(--dc-soft);color:var(--text);width:38px;height:38px;display:grid;place-items:center;cursor:pointer;font-size:1.2rem}.dc-field{display:grid;gap:7px;margin:15px 0}.dc-field label,.dc-field legend{font-weight:750;font-size:.86rem}.dc-field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--dc-panel-flat);color:var(--text);font:inherit}.dc-switch{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid var(--line)}.dc-switch:first-of-type{border-top:0}.dc-switch span{display:grid;gap:3px}.dc-switch strong{font-size:.9rem}.dc-switch small{color:var(--muted);line-height:1.35}.dc-switch input{width:44px;height:24px;accent-color:var(--accent)}.dc-settings-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.dc-settings-actions button{border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:var(--dc-soft);color:var(--text);font:700 .84rem var(--dc-font);cursor:pointer}.dc-settings-status{margin-top:11px;min-height:1.2em;color:var(--muted);font-size:.8rem}
@media(max-width:600px){.dc-settings-toggle{top:auto;bottom:max(14px,env(safe-area-inset-bottom));padding:11px}.dc-settings-toggle span{display:none}.dc-settings-panel{top:auto;bottom:max(14px,env(safe-area-inset-bottom));max-height:calc(100svh - 28px)}}

/* RC5 — Dewey personality and pose system */
.robot-interactive{
  --dewey-look-x:0deg;
  --dewey-look-y:0deg;
  cursor:pointer;
  transform-box:fill-box;
  transform-origin:50% 78%;
  transition:filter .25s ease;
}
.robot-interactive:hover{filter:drop-shadow(0 24px 32px rgba(0,0,0,.58)) drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 28%,transparent))}
.robot-interactive:focus-visible{outline:3px solid var(--accent);outline-offset:8px;border-radius:28px}
.robot-interactive .eye-dot{transform-box:fill-box;transform-origin:center;translate:calc(var(--dewey-look-x) * .65) calc(var(--dewey-look-y) * -.65)}
.robot-interactive .brow,.robot-interactive .mouth,.robot-interactive .antenna-light{transform-box:fill-box;transform-origin:center}
.robot-pose-wave{animation:dewey-float 5.4s ease-in-out infinite}
.robot-pose-wave .wave-arm{animation:dewey-wave 2.7s ease-in-out infinite}
.robot-pose-curious{animation:dewey-curious 4.8s ease-in-out infinite}
.robot-pose-curious .brow{transform:translateY(-2px) rotate(-4deg)}
.robot-pose-curious .mouth{transform:scaleX(.72) translateY(2px)}
.robot-pose-curious .wave-arm{animation:dewey-point 4.8s ease-in-out infinite}
.robot-pose-proud{animation:dewey-proud 4.6s ease-in-out infinite}
.robot-pose-proud .brow{transform:translateY(-3px) rotate(3deg)}
.robot-pose-proud .mouth{transform:scaleX(1.22) translateY(-1px)}
.robot-pose-proud .robot-sign{animation:dewey-sign-proud 4.6s ease-in-out infinite}
.robot-pose-thinking{animation:dewey-think 5.2s ease-in-out infinite}
.robot-pose-thinking .wave-arm{animation:dewey-chin 5.2s ease-in-out infinite}
.robot-pose-thinking .brow{transform:translateY(-1px) rotate(-7deg)}
.robot-pose-thinking .mouth{transform:scaleX(.55) translate(-5px,2px)}
@keyframes dewey-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-.5deg)}}
@keyframes dewey-wave{0%,48%,100%{transform:rotate(0)}10%{transform:rotate(-12deg)}20%{transform:rotate(10deg)}30%{transform:rotate(-8deg)}40%{transform:rotate(6deg)}}
@keyframes dewey-curious{0%,100%{transform:translateY(0) rotate(0)}45%,65%{transform:translateY(-6px) rotate(3deg)}}
@keyframes dewey-point{0%,100%{transform:rotate(0)}45%,65%{transform:rotate(-14deg) translate(-2px,-4px)}}
@keyframes dewey-proud{0%,100%{transform:translateY(0) scale(1)}45%,65%{transform:translateY(-5px) scale(1.025)}}
@keyframes dewey-sign-proud{0%,100%{transform:rotate(0)}45%,65%{transform:rotate(-4deg) translateY(-3px)}}
@keyframes dewey-think{0%,100%{transform:translateY(0) rotate(0)}40%,70%{transform:translateY(-5px) rotate(-2.2deg)}}
@keyframes dewey-chin{0%,100%{transform:rotate(0)}40%,70%{transform:rotate(19deg) translate(-8px,-8px)}}
html[data-motion="reduced"] .robot-interactive,
html[data-motion="reduced"] .robot-interactive *{animation:none!important;transition:none!important;translate:none!important}
@media (prefers-reduced-motion:reduce){.robot-interactive,.robot-interactive *{animation:none!important;transition:none!important;translate:none!important}}
