:root{--paper:#f3f1ec;--surface:#faf9f6;--sunk:#e9e6df;--ink:#1b1a17;--ink-2:#5e5a52;--ink-3:#8d887e;--rule:#1b1a171a;--rule-strong:#1b1a1738;--accent:#d2461e;--accent-ink:#faf9f6;--ok:#3d6b4f;--warn:#9a6a12;--shadow:0 1px 0 #1b1a170a, 0 12px 32px -18px #3c301e47;--r:2px;--f-sans:"Archivo", ui-sans-serif, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, monospace;--t-xs:.64rem;--t-s:.8rem;--t-b:1rem;--t-m:1.25rem;--t-l:1.563rem;--t-xl:1.953rem;--t-2xl:3.052rem;--t-3xl:4.768rem;--ease:cubic-bezier(.23, 1, .32, 1)}@media (prefers-color-scheme:dark){:root{--paper:#141412;--surface:#1c1b18;--sunk:#252420;--ink:#f1eee7;--ink-2:#c9c4ba;--ink-3:#a39e94;--rule:#ece9e224;--rule-strong:#ece9e252;--accent:#e8633a;--accent-ink:#141412;--ok:#7fae8f;--warn:#d9a94a;--shadow:0 12px 32px -18px #0009}}*{box-sizing:border-box;margin:0}body{background:var(--paper);color:var(--ink);font:400 var(--t-b)/1.5 var(--f-sans);min-height:100vh;font-stretch:96%}.num,.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums lining-nums slashed-zero}.lbl{font:500 var(--t-xs)/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}h1,h2,h3{text-wrap:balance;letter-spacing:-.018em;font-weight:600;line-height:1.1}p{text-wrap:pretty}a{color:inherit}i.ph-light{vertical-align:-.12em;font-size:1.05em}.wrap{max-width:1120px;margin:0 auto;padding:0 16px}@media (width>=768px){.wrap{padding:0 48px}}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.brand svg{flex:none}.net{font:500 var(--t-xs) var(--f-mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}.btn{font:500 var(--t-s)/1 var(--f-sans);border-radius:var(--r);border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:transform .12s var(--ease), opacity .15s var(--ease);justify-content:center;align-items:center;gap:8px;padding:14px 20px;display:inline-flex}.btn:hover{opacity:.88}.btn:active{transform:scale(.97)}.btn:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn.ghost{color:var(--ink);border-color:var(--rule-strong);background:0 0}.btn.wide{width:100%}.btn .spin{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:6px;display:grid}.field input{font:400 var(--t-b) var(--f-sans);background:var(--surface);color:var(--ink);border:1px solid var(--rule-strong);border-radius:var(--r);width:100%;padding:12px 14px}.field input.num{font-family:var(--f-mono)}.field small{color:var(--ink-3);font-size:var(--t-xs)}.badge{font:500 var(--t-xs)/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule-strong);border-radius:var(--r);color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.badge.ok{color:var(--ok);border-color:currentColor}.badge.warn{color:var(--warn);border-color:currentColor}.badge.accent{color:var(--accent);border-color:currentColor}.receipt{background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--r);box-shadow:var(--shadow);grid-template-columns:1fr 56px;display:grid;position:relative}.receipt .body{gap:18px;min-width:0;padding:24px;display:grid}.receipt .stub{border-left:1px dashed var(--rule-strong);background:var(--surface);transition:transform .26s var(--ease), opacity .26s var(--ease);justify-content:center;align-items:center;padding:20px 0;display:flex}.receipt .stub span{writing-mode:vertical-rl;font:500 var(--t-xs) var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);white-space:nowrap;transform:rotate(180deg)}.receipt:before,.receipt:after{content:"";background:var(--paper);border:1px solid var(--rule-strong);z-index:1;width:16px;height:8px;position:absolute;right:48px}.receipt:before{border-top:0;border-radius:0 0 8px 8px;top:-1px}.receipt:after{border-bottom:0;border-radius:8px 8px 0 0;bottom:-1px}.receipt.torn .stub{transform:translate(14px,6px)rotate(3deg)}.rc-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rc-top p+p{font-size:var(--t-m);margin-top:4px}.rc-amt{font:400 var(--t-2xl)/1 var(--f-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums slashed-zero;overflow-wrap:anywhere}.rc-amt small{font-size:var(--t-s);color:var(--ink-3);letter-spacing:0;margin-left:6px}.bar{gap:2px;height:8px;display:flex}.bar i{transform-origin:0;height:100%;animation:grow .42s var(--ease) both;display:block}.bar .n{background:var(--ink);flex:92}.bar .f{background:var(--ink-3);flex:0;animation-delay:50ms}.bar .s{background:var(--accent);flex:8;animation-delay:70ms}@keyframes grow{0%{transform:scaleX(0)}}.legend{font-size:var(--t-s);grid-template-columns:1fr auto;gap:10px 16px;display:grid}.legend dt{color:var(--ink-2);align-items:center;gap:8px;display:flex}.legend dd{font-family:var(--f-mono);font-variant-numeric:tabular-nums;text-align:right}.sq{width:8px;height:8px;display:inline-block}.rc-foot{font-size:var(--t-xs);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.rc-foot a{font-family:var(--f-mono)}.sk{background:var(--sunk);border-radius:var(--r);animation:1.2s ease-in-out infinite pulse;color:#0000!important}@keyframes pulse{50%{opacity:.55}}.rise{animation:rise .25s var(--ease) both;animation-delay:calc(var(--i,0) * 60ms)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.error{color:var(--accent);font-size:var(--t-s)}.hidden{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.field input::placeholder{color:var(--ink-3);opacity:.7}@media (prefers-color-scheme:dark){.field input::placeholder{opacity:.85}.field input,.field select{background:var(--sunk)}}
