:root,html[data-theme=dark]{--bg: #0C0D0F;--bg-sidebar: #0F1013;--surface: #121316;--surface-2: #15161A;--surface-3: #1B1D21;--surface-4: #1E2024;--border: #1E2024;--border-2: #24262B;--border-3: #2A2C31;--border-4: #3A3D44;--text: #F2F1EC;--text-soft: #C6C8CC;--text-muted: #9DA0A8;--text-dim: #8A8D94;--text-faint: #7A7D84;--text-ghost: #4E5158;--text-label: #4A4D55;--accent: #C8F542;--accent-hover: #D9FF66;--accent-fg: #0C0D0F;--accent-dim-bg: #1B1F14;--pr-bg: #1E2416;--c-push: #C8F542;--c-pull: #5AD7E8;--c-legs: #F5A94A;--c-upper: #B48CF5;--c-lower: #F57A9E;--c-fullbody: #F5D76E;--c-recovery: #7FE0B8;--c-rest: #3A3D44;--app-bg-overlay: linear-gradient(rgba(12, 13, 15, .55), rgba(12, 13, 15, .8));--app-bg-overlay-mobile: linear-gradient(rgba(12, 13, 15, .45), rgba(12, 13, 15, .75));--modal-backdrop: rgba(12, 13, 15, .75);--font-ui: "Archivo", sans-serif;--font-mono: "IBM Plex Mono", monospace;color-scheme:dark;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-full: 999px;--fs-h1: clamp(32px, 6vw, 42px);--fs-h2: 22px;--fs-h3: 17px;--fs-body: 15px;--fs-sm: 13px;--fs-xs: 11px;--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--elev-1: 0 1px 2px rgb(0 0 0 / .4);--elev-2: 0 4px 16px rgb(0 0 0 / .45);--elev-3: 0 12px 32px rgb(0 0 0 / .5);--tap-min: 44px;--danger: #E5484D;--danger-hover: #F2555A;--danger-dim-bg: #2A1517;--warning: #FB923C;--warning-hover: #FDBA74;--warning-dim-bg: #7C2D1244}:root{--accent-glow-soft: color-mix(in srgb, var(--accent) 30%, transparent);--accent-glow-strong: color-mix(in srgb, var(--accent) 65%, transparent)}html[data-theme=light]{color-scheme:light;--bg: #F8F9FA;--bg-sidebar: #FFFFFF;--surface: #FFFFFF;--surface-2: #FFFFFF;--surface-3: #F1F3F5;--surface-4: #E9ECEF;--border: #E2E8F0;--border-2: #CBD5E1;--border-3: #94A3B8;--border-4: #64748B;--text: #0F172A;--text-soft: #1E293B;--text-muted: #334155;--text-dim: #475569;--text-faint: #475569;--text-ghost: #64748B;--text-label: #475569;--accent: #54890B;--accent-hover: #457208;--accent-fg: #FFFFFF;--accent-dim-bg: #F0FDF4;--pr-bg: #ECFDF5;--c-push: #3F7A00;--c-pull: #0284C7;--c-legs: #D97706;--c-upper: #7C3AED;--c-lower: #DB2777;--c-fullbody: #CA8A04;--c-recovery: #0D9488;--c-rest: #475569;--app-bg-overlay: linear-gradient(rgba(248, 249, 250, .92), rgba(248, 249, 250, .98));--app-bg-overlay-mobile: linear-gradient(rgba(248, 249, 250, .88), rgba(248, 249, 250, .96));--modal-backdrop: rgba(15, 23, 42, .4);--elev-1: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--elev-2: 0 4px 16px rgba(15, 23, 42, .08);--elev-3: 0 12px 32px rgba(15, 23, 42, .12);--danger: #E5484D;--danger-hover: #DC2626;--danger-dim-bg: #FEF2F2;--warning: #B45309;--warning-hover: #92400E;--warning-dim-bg: #FFFBEB}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);touch-action:manipulation}input:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-3);border-radius:5px}::-webkit-scrollbar-track{background:transparent}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;font-size:22px;line-height:1}@keyframes slide-to-left{to{transform:translate(-30px);opacity:0}}@keyframes slide-from-right{0%{transform:translate(30px);opacity:0}}@keyframes slide-to-right{to{transform:translate(30px);opacity:0}}@keyframes slide-from-left{0%{transform:translate(-30px);opacity:0}}::view-transition-old(root){animation:var(--dur-base) cubic-bezier(.4,0,.2,1) both fade-out}::view-transition-new(root){animation:var(--dur-base) cubic-bezier(.4,0,.2,1) both fade-in}html:active-view-transition-type(forward)::view-transition-old(root){animation-name:slide-to-left}html:active-view-transition-type(forward)::view-transition-new(root){animation-name:slide-from-right}html:active-view-transition-type(backward)::view-transition-old(root){animation-name:slide-to-right}html:active-view-transition-type(backward)::view-transition-new(root){animation-name:slide-from-left}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}}
