:root,body.theme-midnight{--bg-1: #0a1030;--bg-2: #1b0f45;--bg-glow: rgba(88, 101, 242, .35);--panel: rgba(22, 30, 66, .62);--panel-strong: rgba(28, 38, 82, .86);--panel-border: rgba(140, 160, 255, .22);--text: #eef1ff;--text-dim: #a9b2d9;--accent: #5b7cff;--accent-2: #9b5bff;--accent-text: #ffffff;--good: #3ddc84;--warn: #ffb547;--chip: rgba(255, 255, 255, .08);--chip-border: rgba(255, 255, 255, .14);--focus: #7fe3ff}body.theme-daylight{--bg-1: #e9eefb;--bg-2: #d9e2ff;--bg-glow: rgba(91, 124, 255, .25);--panel: rgba(255, 255, 255, .72);--panel-strong: rgba(255, 255, 255, .94);--panel-border: rgba(60, 80, 160, .18);--text: #18204a;--text-dim: #56608c;--accent: #3d5cf5;--accent-2: #7a3df5;--accent-text: #ffffff;--good: #14924a;--warn: #b86b00;--chip: rgba(24, 32, 74, .06);--chip-border: rgba(24, 32, 74, .14);--focus: #0077cc}body.theme-neon{--bg-1: #05040d;--bg-2: #160a24;--bg-glow: rgba(255, 0, 170, .28);--panel: rgba(16, 10, 30, .7);--panel-strong: rgba(24, 14, 44, .9);--panel-border: rgba(0, 255, 213, .3);--text: #f4f0ff;--text-dim: #b6a8d8;--accent: #ff2bd6;--accent-2: #00e5c7;--accent-text: #ffffff;--good: #00f59b;--warn: #ffd23f;--chip: rgba(0, 255, 213, .07);--chip-border: rgba(0, 255, 213, .22);--focus: #00e5c7}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;color:var(--text);background:radial-gradient(ellipse at 30% 40%,var(--bg-glow),transparent 60%),linear-gradient(135deg,var(--bg-1),var(--bg-2));-webkit-font-smoothing:antialiased}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}h1,h2,h3{margin:0;letter-spacing:.01em}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 40px #00000040}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;border-radius:12px;border:1px solid var(--chip-border);background:var(--chip);color:var(--text);font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .12s ease,background .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){background:color-mix(in srgb,var(--chip) 60%,var(--accent) 25%);border-color:color-mix(in srgb,var(--chip-border) 50%,var(--accent) 50%)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-color:transparent;color:var(--accent-text)}.btn.wide{width:100%;justify-content:space-between}.btn.icon{padding:.55rem}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}input[type=text]{font:inherit;color:var(--text);background:var(--chip);border:1px solid var(--chip-border);border-radius:12px;padding:.6rem .8rem;min-width:0}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.9em;height:1.9em;padding:0 .45em;border-radius:7px;border:1px solid var(--chip-border);border-bottom-width:3px;background:var(--chip);font-weight:700;font-size:.85em}.label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.segmented{display:flex;border:1px solid var(--chip-border);border-radius:12px;overflow:hidden}.segmented button{flex:1;padding:.5rem .4rem;border:none;background:transparent;color:var(--text-dim);font:inherit;font-size:.85rem;cursor:pointer}.segmented button+button{border-left:1px solid var(--chip-border)}.segmented button.active{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:var(--accent-text);font-weight:600}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#0508198c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;padding:1rem}.toast{position:fixed;left:50%;bottom:2rem;transform:translate(-50%);padding:.7rem 1.2rem;border-radius:12px;background:var(--panel-strong);border:1px solid var(--panel-border);z-index:60;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
