:root{--bg-0:#0b0f0c;--bg-0e:#0d120e;--bg-1:#11160f;--bg-2:#191f16;--line:#262e22;--line-2:#333d2e;--ink:#eaefe3;--ink-2:#a3ad9a;--ink-3:#6b7563;--grid:rgba(233,239,227,.05);--lime:#8fe01e;--lime-press:#7cc613;--up:#8fe01e;--down:#e23b2e;--link:#a6e84d;--link-hover:#c4f07a;--focus:#8fe01e;--on-lime:#0b0f0c;--sh-1:0 1px 0 rgba(0,0,0,.4);--sh-2:0 18px 44px -20px rgba(0,0,0,.75);--scrim:rgba(4,7,5,.62);--bg:var(--bg-0);--bg-deep:var(--bg-0e);--surface:var(--bg-1);--surface-2:var(--bg-2);--surface-3:var(--bg-1);--surface-hover:var(--bg-2);--surface-press:var(--bg-2);--card:var(--bg-1);--card-surface:var(--bg-1);--border:var(--line);--border-soft:var(--line);--border-strong:var(--line-2);--border-accent:var(--line-2);--text:var(--ink);--text-dim:var(--ink-2);--text-faint:var(--ink-3);--money:var(--up);--money-hover:var(--lime-press);--money-press:var(--lime-press);--money-tint:rgba(143,224,30,.14);--down-tint:rgba(226,59,46,.14);--down-border:#4a2b26;--warn:#e5a52e;--accent:var(--lime);--accent-bright:var(--lime);--accent-contrast:var(--on-lime);--success:var(--up);--danger:var(--down);--on-ink:var(--on-lime);--preview-sheet:#0e140e;--preview-empty-bg:#0e140e;--preview-grid:var(--grid);--shadow-1:var(--sh-1);--shadow-2:var(--sh-2);--shadow-3:var(--sh-2);--shadow-overlay:var(--sh-2);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:64px;--s11:96px;--r1:2px;--r2:4px;--r3:6px;--radius:4px;--radius-panel:6px;--radius-lg:6px;--ease-settle:cubic-bezier(.2,.8,.2,1);--ease-std:cubic-bezier(.4,0,.2,1);--ease:cubic-bezier(.2,.8,.2,1);--t-fast:.14s;--t-panel:.18s;--t-modal:.2s;--font-display:"Big Shoulders Display",system-ui,sans-serif;--font-body:"Hanken Grotesk",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--font-pixel:"IBM Plex Mono",ui-monospace,monospace;--maxw:1200px;--nav-h:56px;--bar-h:44px}:root[data-theme=light]{--bg-0:#edefe9;--bg-0e:#eef1ea;--bg-1:#f6f8f2;--bg-2:#fff;--line:#d5dace;--line-2:#c3c9ba;--ink:#0e130f;--ink-2:#545e50;--ink-3:#8b9385;--grid:rgba(14,19,15,.05);--up:#3f8f14;--down:#d0341f;--link:#33600f;--link-hover:#244a0a;--focus:#4c9a12;--money-tint:rgba(63,143,20,.12);--down-tint:rgba(208,52,31,.1);--down-border:#e2c3bd;--preview-sheet:#fbfcf8;--preview-empty-bg:#fbfcf8;--sh-1:0 1px 2px rgba(14,19,15,.06);--sh-2:0 18px 44px -20px rgba(14,19,15,.28);--scrim:rgba(14,19,15,.4)}*{box-sizing:border-box}body,html{margin:0;padding:0;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:var(--bg-0)}body{min-width:320px}::-moz-selection{background:#8fe01e40}::selection{background:#8fe01e40}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover)}button,input,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--font-display);font-weight:800;letter-spacing:-.015em;line-height:.95}h1{font-size:clamp(38px,5vw,56px)}h2{font-size:26px}h2,h3{font-weight:700}h3{font-size:20px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim{color:var(--ink-2)}.faint{color:var(--ink-3)}.accent-text{color:var(--lime)}.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.cell{display:inline-block;flex:0 0 auto;width:10px;height:10px;border-radius:var(--r1);box-shadow:inset 0 0 0 1px #0000002e}.shell{width:100%;max-width:var(--maxw);margin:0 auto;padding-right:var(--s5);padding-left:var(--s5)}.card,.card-surface{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r3)}.card{padding:var(--s5)}.divider{height:1px;margin:0;background:var(--line);border:0}.btn,.btn-ghost{display:inline-flex;height:40px;align-items:center;justify-content:center;gap:var(--s2);padding:0 var(--s4);color:var(--ink);font-family:var(--font-body);font-size:14px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;background:transparent;border:1px solid var(--line-2);border-radius:var(--r2);transition:border-color var(--t-fast) var(--ease-std),background var(--t-fast) var(--ease-std),color var(--t-fast) var(--ease-std)}.btn-ghost:hover,.btn:hover{border-color:var(--ink-3);background:var(--bg-1)}.btn-ghost:active,.btn:active{background:var(--bg-2)}.btn-ghost:disabled,.btn:disabled{color:var(--ink-3);border-color:var(--line);cursor:default;background:transparent}.btn-ghost{border-color:transparent;color:var(--ink-2)}.btn-ghost:hover{border-color:transparent;color:var(--ink);background:var(--bg-2)}.btn-money,.btn-paper,.btn-primary{display:inline-flex;height:40px;align-items:center;justify-content:center;gap:var(--s2);padding:0 var(--s5);font-family:var(--font-body);font-size:14px;font-weight:600;line-height:1;white-space:nowrap;color:var(--on-lime);background:var(--lime);border:1px solid var(--lime);border-radius:var(--r2);cursor:pointer;transition:background var(--t-fast) var(--ease-std),transform var(--t-fast) var(--ease-settle)}.btn-money:hover,.btn-paper:hover,.btn-primary:hover{background:var(--lime-press);border-color:var(--lime-press);transform:translateY(-1px)}.btn-money:active,.btn-paper:active,.btn-primary:active{transform:translateY(0)}.btn-money:disabled,.btn-paper:disabled,.btn-primary:disabled{color:var(--ink-3);background:var(--bg-2);border-color:var(--line);cursor:default;transform:none}.btn-sell{display:inline-flex;height:40px;align-items:center;justify-content:center;gap:var(--s2);padding:0 var(--s5);font-size:14px;font-weight:600;line-height:1;color:var(--down);background:transparent;border:1px solid var(--down-border);border-radius:var(--r2);cursor:pointer;transition:border-color var(--t-fast) var(--ease-std),background var(--t-fast) var(--ease-std)}.btn-sell:hover{border-color:var(--down);background:var(--down-tint)}.btn-sell:disabled{color:var(--ink-3);border-color:var(--line);background:var(--bg-2);cursor:default}.btn-sm{height:32px;padding:0 var(--s3);font-size:13px}.btn-ghost:focus-visible,.btn-money:focus-visible,.btn-paper:focus-visible,.btn-primary:focus-visible,.btn-sell:focus-visible,.btn:focus-visible,.input:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.input{width:100%;height:42px;padding:0 var(--s3);color:var(--ink);font-family:var(--font-body);font-size:15px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r2);outline:none;transition:border-color var(--t-fast) var(--ease-std)}.input::-moz-placeholder{color:var(--ink-3)}.input::placeholder{color:var(--ink-3)}.input:focus{border-color:var(--lime)}.input:disabled{color:var(--ink-3);background:var(--bg-1)}.input-invalid,.input-invalid:focus{border-color:var(--down)}.field-amount{display:flex;align-items:center;gap:var(--s2);height:42px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r2);padding:0 var(--s2) 0 var(--s3);transition:border-color var(--t-fast) var(--ease-std)}.field-amount:focus-within{border-color:var(--lime)}.field-amount input{flex:1;min-width:0;font-family:var(--font-mono);font-size:16px;font-variant-numeric:tabular-nums;color:var(--ink);background:transparent;border:none;padding:0;outline:none}.field-amount .unit{font-family:var(--font-mono);font-size:13px;color:var(--ink-3)}.field-amount .max{height:28px;font-size:12px;font-weight:600;color:var(--ink);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r1);padding:0 10px;cursor:pointer;transition:border-color var(--t-fast) var(--ease-std)}.field-amount .max:hover{border-color:var(--line-2)}label{display:block;margin-bottom:var(--s2);color:var(--ink-2);font-size:13px;font-weight:600}.hint{margin-top:6px;font-size:12.5px;line-height:1.5;color:var(--ink-3)}.hint-error{color:var(--down)}.tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;color:var(--ink-2);font-family:var(--font-mono);font-size:11px;line-height:1;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r1)}.settle{position:relative;display:inline-block;font-variant-numeric:tabular-nums}.settle-bar{position:absolute;left:0;right:0;bottom:-3px;height:2px;transform-origin:left;opacity:0;pointer-events:none}.skel{border-radius:var(--r2);background:var(--bg-2);animation:pixl-skel 1.4s ease-in-out infinite}@keyframes pixl-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pixl-skel{0%,to{opacity:.45}50%{opacity:.9}}@keyframes pixl-toast{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes pixl-fade{0%{opacity:0}to{opacity:1}}@keyframes pixl-blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes pixl-settle-ul{0%{transform:scaleX(0);opacity:1}55%{transform:scaleX(1);opacity:1}to{transform:scaleX(1);opacity:0}}@keyframes spin{to{transform:rotate(1turn)}}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:0}::view-transition-new(root){z-index:1}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-root{min-height:100vh}
