:root{--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--shadow-1:0 4px 16px rgba(3,10,28,0.08);--shadow-2:0 10px 30px rgba(3,10,28,0.22);--glass-bg:rgba(255,255,255,0.55);--glass-bg-dark:rgba(18,21,34,0.55);--glass-blur:14px;--focus-outline:3px solid var(--accent)}:root[data-theme=light]{--brand-blue:#4169E1;--brand-pink:#DB2777;--brand-green:#059669;--brand-yellow:#D97706;--bg-0:#ffffff;--bg-1:#f8fafc;--bg-2:#f1f5f9;--text-1:#0f172a;--text-2:#64748b;--border-1:#e2e8f0;--app-bg:#f8fafc;--surface:var(--bg-0);--panel:var(--bg-0);--panel-glass:rgba(255,255,255,0.8);--accent:var(--brand-blue);--accent-2:var(--brand-pink);--success:var(--brand-green);--warn:var(--brand-yellow);--danger:#dc2626;--radius:10px;--shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--ring:0 0 0 3px rgba(37,99,235,0.2);--canvas-paper:#ffffff}:root[data-theme=dark]{--brand-blue:#4169E1;--brand-pink:#ec4899;--brand-green:#10b981;--brand-yellow:#f59e0b;--bg-0:#18181b;--bg-1:#27272a;--bg-2:#3f3f46;--text-1:#fafafa;--text-2:#a1a1aa;--border-1:#27272a;--app-bg:#18181b;--surface:var(--bg-1);--panel:var(--bg-1);--panel-glass:rgba(24,24,27,0.8);--accent:var(--brand-blue);--accent-2:var(--brand-pink);--success:var(--brand-green);--warn:var(--brand-yellow);--danger:#ef4444;--radius:10px;--shadow:0 4px 6px -1px rgb(0 0 0/0.3),0 2px 4px -2px rgb(0 0 0/0.3);--ring:0 0 0 3px rgba(59,130,246,0.2);--canvas-paper:#ffffff}.app-bg{background:var(--app-bg)}.surface{background:var(--surface);color:var(--text-1)}.panel{background:var(--panel);border:1px solid var(--border-1);border-radius:var(--radius);box-shadow:var(--shadow)}.panel--glass{background:var(--panel-glass);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid color-mix(in oklab,var(--border-1) 70%,transparent);border-radius:var(--radius)}.text-1{color:var(--text-1)}.text-2{color:var(--text-2)}.link{color:var(--accent)}.muted{color:var(--text-2)}.btn{--btn-bg:color-mix(in oklab,var(--accent) 94%,#ffffff 0%);--btn-fg:white;background:var(--btn-bg);color:var(--btn-fg);border-radius:var(--radius-sm);padding:10px 14px;border:0;box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .2s ease,filter .2s ease;cursor:pointer}.btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 35%,transparent)}.btn--ghost{background:transparent;color:var(--text-1);border:1px solid var(--border-1)}.btn--ghost:hover{background:color-mix(in oklab,var(--surface) 95%,var(--accent) 5%)}.input,.select,.textarea{background:var(--surface);color:var(--text-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);padding:10px 12px;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:color-mix(in oklab,var(--accent) 40%,var(--border-1));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 24%,transparent)}.input::placeholder,.textarea::placeholder{color:var(--text-2);opacity:.6}.tab{background:var(--surface);color:var(--text-2);border:1px solid var(--border-1);border-radius:999px;padding:6px 12px;transition:all .15s ease;cursor:pointer}.tab:hover{border-color:color-mix(in oklab,var(--accent) 30%,var(--border-1))}.tab--active{color:var(--text-1);border-color:color-mix(in oklab,var(--accent) 45%,var(--border-1));background:color-mix(in oklab,var(--accent) 8%,var(--surface))}.focusable:focus-visible{outline:var(--focus-outline);outline-offset:2px;border-radius:inherit}.card{background:var(--surface);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:16px}.divider{border:0;border-top:1px solid var(--border-1);margin:16px 0}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-xs);font-size:12px;font-weight:500;background:color-mix(in oklab,var(--accent) 12%,var(--surface));color:var(--accent)}.badge--success{background:color-mix(in oklab,var(--success) 12%,var(--surface));color:var(--success)}.badge--warn{background:color-mix(in oklab,var(--warn) 12%,var(--surface));color:var(--warn)}.badge--danger{background:color-mix(in oklab,var(--danger) 12%,var(--surface));color:var(--danger)}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-1);border-radius:var(--radius-xs)}.custom-scrollbar::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--accent) 30%,var(--bg-2));border-radius:var(--radius-xs);transition:background .2s ease}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab,var(--accent) 50%,var(--bg-2))}.block-scroll{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.25) transparent}.block-scroll::-webkit-scrollbar{width:6px;height:6px}.block-scroll::-webkit-scrollbar-track{background:transparent}.block-scroll::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.22);border-radius:999px;transition:background-color .2s ease}.block-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.38)}:root[data-theme=dark] .block-scroll{scrollbar-color:rgba(255,255,255,.28) transparent}:root[data-theme=dark] .block-scroll::-webkit-scrollbar-track{background:transparent}:root[data-theme=dark] .block-scroll::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.26);border-radius:999px;transition:background-color .2s ease}:root[data-theme=dark] .block-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.45)}:root[data-theme=dark] .block-scroll::-webkit-scrollbar{width:6px;height:6px}