:root{--bg: #FBFAF5;--bg-2: #F3F1E9;--panel: #FFFFFF;--panel-2: #F5F3EB;--line: #E6E2D6;--line-2: #D6D1C2;--tx: #1D1C15;--tx-2: #56544A;--tx-3: #8A897B;--yellow: #FED301;--yellow-deep: #9A7F00;--teal: #00A79A;--teal-deep: #0B6158;--teal-bg: #E1F2F0;--pos: #3E8E2E;--pos-bg: #EBF4E1;--neg: #C8412F;--neg-bg: #FBEAE6;--warn: #9A7F00;--warn-bg: #FFF4CE;--radius: 12px;--radius-sm: 8px;--font-display: "Space Grotesk", sans-serif;--font-body: "Manrope", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--tx);font-family:var(--font-body);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:.15;pointer-events:none;z-index:0}#root{position:relative;z-index:1}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}input,select{font-family:var(--font-body);font-size:14px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px}::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.btn-primary{background:var(--yellow);color:#1a1600;font-weight:700;padding:10px 18px;border-radius:var(--radius-sm);transition:transform .08s ease,filter .15s ease}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:var(--panel-2);border:1px solid var(--line-2);color:var(--tx);padding:9px 14px;border-radius:var(--radius-sm);font-weight:500;transition:border-color .15s ease}.btn-ghost:hover{border-color:var(--tx-3)}
