:root{--color-bg:#fafafa;--color-bg-soft:#f4f4f5;--color-surface:#fff;--color-surface-2:#f0f0f1;--color-border:#e2e5e0;--color-border-mid:#d1d5ce;--color-border-strong:#bfc4ba;--color-line:#e2e5e0;--color-text:#131426;--color-text-secondary:#4a4d48;--color-text-muted:#7a7e77;--color-text-dim:#abb0a7;--color-accent:#131426;--color-accent-bg:#1314260f;--color-accent-border:#13142624;--color-brand-accent:#131426;--color-risk:#dc4c4c;--color-risk-bg:#dc4c4c14;--color-success:#6b9e6b;--color-success-bg:#6b9e6b14;--color-warning:#e2b144;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 16px #0000000d;--shadow-lg:0 8px 32px #0000000f;--bg-gradient-brand:radial-gradient(900px 500px at 18% 18%, #1314260a, transparent 60%), var(--color-bg-soft)}[data-theme=dark]{--color-bg:#0a0a0a;--color-bg-soft:#121212;--color-surface:#1a1a1a;--color-surface-2:#222;--color-border:#2a2a2a;--color-border-mid:#3a3a3a;--color-border-strong:#4a4a4a;--color-line:#1e1e1e;--color-text:#f9faf8;--color-text-secondary:#a1a1a1;--color-text-muted:#666;--color-text-dim:#444;--color-accent:#f4f4f5;--color-accent-bg:#ffffff14;--color-accent-border:#ffffff24;--color-brand-accent:#f4f4f5;--color-risk:#f87171;--color-risk-bg:#f871711a;--color-os-rail:#141414;--color-os-rail-active:#ffffff14;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009}:root{--font-sans:var(--font-figtree), "Inter", sans-serif;--font-heading:var(--font-figtree), "Inter", sans-serif;--font-mono:"SFMono-Regular", "JetBrains Mono", "Fira Code", "Consolas", monospace;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:4rem;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.65;--tracking-tightest:-.04em;--tracking-tight:-.02em;--tracking-normal:0em;--tracking-wide:.08em;--tracking-wider:.15em;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;--sp-20:5rem;--sp-24:6rem;--sp-32:8rem;--sidebar-width:320px;--app-rail-width:56px;--topbar-height:56px;--max-content:1200px;--color-os-rail:#fff;--color-os-rail-active:#1314260f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--ease:cubic-bezier(.25, .1, .25, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.15s;--dur-base:.28s;--dur-slow:.45s;--z-base:1;--z-overlay:2000;--z-modal:3000;--z-chat:calc(var(--z-modal) + 10);--z-task-drawer:calc(var(--z-modal) + 20);--z-toast:4000}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);min-height:100vh;transition:background-color var(--dur-base) var(--ease), color var(--dur-base) var(--ease)}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit;background:0 0;border:none;outline:none}ul,ol{list-style:none}img,svg{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text)}
body.drawer-open>:not([data-drawer-portal]){filter:blur(12px)brightness(1.08);pointer-events:none;-webkit-user-select:none;user-select:none;transition:filter .3s cubic-bezier(.4,0,.2,1)}body>:not([data-drawer-portal]){transition:filter .3s cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-mid);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}::selection{background:var(--color-accent-bg);color:var(--color-accent)}:focus-visible{outline:1.5px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.bg-dot-grid{background-image:radial-gradient(circle, var(--color-line) 1px, transparent 1px);background-size:10px 10px}.hatch-band{border-top:1px dashed var(--color-border-mid);border-bottom:1px dashed var(--color-border-mid);width:100%;height:32px;overflow:hidden}.hatch-band-inner{background-image:repeating-linear-gradient(-45deg, transparent, transparent 6px, var(--color-line) 6px, var(--color-line) 7px);opacity:.6;width:100%;height:100%}.rule-dashed{border:none;border-top:1px dashed var(--color-border-mid);width:100%}.rule-solid{border:none;border-top:1px solid var(--color-border);width:100%}.rule-accent{border:none;border-top:1px solid var(--color-accent);opacity:.5;width:100%}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bg-brand-gradient{background:var(--bg-gradient-brand)}h1,h2{font-family:var(--font-sans);letter-spacing:var(--tracking-tight);font-weight:700;line-height:var(--leading-tight)}h1{font-size:4rem}h2{font-size:2.5rem}h3,h4,h5,h6,button,.label{letter-spacing:var(--tracking-tight);font-weight:500;line-height:var(--leading-snug);font-family:var(--font-sans)!important}.container{width:100%;max-width:var(--max-content);padding-inline:var(--sp-8);margin-inline:auto}.section{border-top:1px dashed var(--color-border-mid);padding-block:var(--sp-24)}.section:first-of-type{border-top:none}.frame{border:1px dashed var(--color-border-mid);border-radius:var(--radius-lg)}.label{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent);font-weight:600;display:inline-block}.label-muted{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);font-weight:600;display:inline-block}.mono{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary)}.pill{align-items:center;gap:var(--sp-1);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-2);font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;padding:.3rem .85rem;font-weight:400;display:inline-flex}.pill-accent{border-color:var(--color-accent-border);background:var(--color-accent-bg);color:var(--color-accent);font-weight:600;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-8)}.corner-mark{border-color:var(--color-border-mid);border-style:solid;border-width:0;width:8px;height:8px;position:absolute}.corner-mark.tl{border-top-width:1px;border-left-width:1px;top:-1px;left:-1px}.corner-mark.tr{border-top-width:1px;border-right-width:1px;top:-1px;right:-1px}.corner-mark.bl{border-bottom-width:1px;border-left-width:1px;bottom:-1px;left:-1px}.corner-mark.br{border-bottom-width:1px;border-right-width:1px;bottom:-1px;right:-1px}:where(input[type=text],input[type=number],input[type=email],textarea){background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);color:var(--color-text);outline:none;width:100%;padding:.4rem .6rem;transition:all .2s}:where(input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,textarea:focus){border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-bg)}:where(){color:var(--color-text-dim);opacity:.6}:where(input[type=text]:disabled,input[type=number]:disabled,input[type=email]:disabled,textarea:disabled){opacity:.5;cursor:not-allowed;background:var(--color-surface-2)}select{appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2389a088' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding:.4rem 1.8rem .4rem .6rem;transition:all .2s}select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-bg)}
