:root{--paper:#f4efe4;--paper-hi:#fbf8f0;--desk:#e4dccb;--ink:#1f1b16;--ink-faded:#8b8475;--rule:#d3c9b6;--stamp:#d6482b;--ledger:#2e6b4f;--chip-fill:.14;--shadow:0 18px 40px -18px #1f1b1673, 0 4px 10px -6px #1f1b164d;--grain:.035;--bg-color:var(--desk);--bg-card:var(--paper);--text-main:var(--ink);--text-muted:var(--ink-faded);--text-color:var(--ink);--accent-color:var(--stamp);--accent-hover:#b93c22;--success-color:var(--ledger);--border-color:var(--rule);--danger-color:#dc2626;--mono:ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media (prefers-color-scheme:dark){:root{--paper:#16130f;--paper-hi:#1e1a15;--desk:#0c0a08;--ink:#ece6d8;--ink-faded:#a59d8e;--rule:#322c24;--stamp:#ff5c3c;--ledger:#5fb489;--chip-fill:.2;--shadow:0 20px 50px -18px #000000b3, 0 4px 12px -6px #0009;--grain:.05;--accent-hover:#ff7a5f;--danger-color:#f87171}}:root[data-theme=light]{--paper:#f4efe4;--paper-hi:#fbf8f0;--desk:#e4dccb;--ink:#1f1b16;--ink-faded:#8b8475;--rule:#d3c9b6;--stamp:#d6482b;--ledger:#2e6b4f;--chip-fill:.14;--shadow:0 18px 40px -18px #1f1b1673, 0 4px 10px -6px #1f1b164d;--grain:.035;--accent-hover:#b93c22;--danger-color:#dc2626}:root[data-theme=dark]{--paper:#16130f;--paper-hi:#1e1a15;--desk:#0c0a08;--ink:#ece6d8;--ink-faded:#a59d8e;--rule:#322c24;--stamp:#ff5c3c;--ledger:#5fb489;--chip-fill:.2;--shadow:0 20px 50px -18px #000000b3, 0 4px 12px -6px #0009;--grain:.05;--accent-hover:#ff7a5f;--danger-color:#f87171}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--desk);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .3s,color .3s}.app-container{flex-direction:column;gap:1.5rem;max-width:480px;min-height:100vh;margin:0 auto;padding:2rem 1rem 4rem;display:flex}h1,h2,h3{letter-spacing:-.02em;font-weight:600}.glass-card{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:12px;padding:1.5rem;transition:background-color .3s,border-color .3s}.receipt{background:var(--paper);color:var(--ink);box-shadow:var(--shadow);border:0;border-radius:6px 6px 0 0;padding:1.6rem 1.4rem 2.2rem;position:relative;-webkit-mask:radial-gradient(circle at 9px 100%,#0000 0 7px,#000 8px) 0 100%/18px 13px repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 12px) no-repeat;mask:radial-gradient(circle at 9px 100%,#0000 0 7px,#000 8px) 0 100%/18px 13px repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 12px) no-repeat}.receipt:before{content:"";pointer-events:none;opacity:var(--grain);background-image:radial-gradient(var(--ink) .5px, transparent .5px);background-size:3px 3px;position:absolute;inset:0}.receipt-head{text-align:center;margin-bottom:1rem}.receipt-head .store{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;font-size:1rem;font-weight:700}.receipt-head .meta{font-family:var(--mono);color:var(--ink-faded);letter-spacing:.02em;margin-top:.35rem;font-size:.72rem}.rule-dashed{border:0;border-top:1.5px dashed var(--rule);margin:1rem 0}.rule-double{border:0;border-top:3px double var(--ink);opacity:.8;margin:1rem 0}.item{padding:.55rem 0}.item-line{font-family:var(--mono);align-items:baseline;gap:.5rem;display:flex}.item-name{flex:1;font-size:.92rem}.item-qty{color:var(--ink-faded)}.item-price{font-variant-numeric:tabular-nums;align-items:baseline;font-weight:700;display:inline-flex}.item-price .cur{color:var(--ink-faded);margin-right:.1ch;font-size:.82em;font-weight:400}.chips{flex-wrap:wrap;gap:.3rem;margin-top:.45rem;display:flex}.chip{font-family:var(--mono);border:1px solid var(--rule);cursor:pointer;letter-spacing:.01em;color:var(--ink-faded);background:0 0;border-radius:4px;padding:.12rem .5rem;font-size:.68rem;font-weight:600;transition:all .15s}.chip.active{color:var(--ink);border-color:var(--ink)}.totals{font-family:var(--mono)}.t-row{color:var(--ink-faded);justify-content:space-between;padding:.28rem 0;font-size:.88rem;display:flex}.t-row .v{color:var(--ink);font-variant-numeric:tabular-nums}.t-row.grand{color:var(--ink);font-size:1rem;font-weight:700}.owes{position:relative}.owes-title{font-family:var(--mono);text-align:center;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faded);margin-bottom:.6rem;font-size:.72rem}.owe-row{font-family:var(--mono);justify-content:space-between;align-items:center;padding:.4rem 0;display:flex}.owe-row .who{align-items:center;gap:.5rem;font-weight:600;display:flex}.owe-row .swatch{border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem}.owe-row .amt{color:var(--ledger);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.stamp{font-family:var(--mono);color:var(--stamp);border:2.5px solid var(--stamp);letter-spacing:.12em;opacity:.9;text-transform:uppercase;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--stamp) 30%, transparent);border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;position:absolute;top:-1.1rem;right:-.2rem;transform:rotate(-8deg)}button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;outline:none}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.btn-primary{background-color:var(--ink);color:var(--paper);border-radius:10px;justify-content:center;align-items:center;width:100%;padding:.8rem 1.5rem;font-weight:600;transition:filter .2s,transform .1s;display:inline-flex}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-share{background-color:var(--stamp);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:100%;padding:.8rem 1.5rem;font-weight:600;transition:background-color .2s,transform .1s;display:inline-flex}.btn-share:hover{background-color:var(--accent-hover)}.btn-share:active{transform:scale(.98)}.btn-secondary,.btn-ghost{color:var(--ink);border:1px solid var(--rule);background-color:#0000;border-radius:10px;padding:.8rem 1rem;font-weight:600;transition:border-color .2s,background-color .2s}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--ink)}input[type=text],input[type=number]{border:1px solid var(--rule);color:var(--ink);background:0 0;border-radius:8px;width:100%;padding:.5rem .75rem;font-family:inherit}input[type=text]:focus,input[type=number]:focus{border-color:var(--stamp);outline:none}.header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{text-align:left;flex-direction:column;gap:.1rem;display:flex}.wordmark{font-family:var(--mono);letter-spacing:-.02em;color:var(--ink);align-items:baseline;gap:.4rem;font-size:1.5rem;font-weight:700;display:flex}.wordmark .cursor{background:var(--stamp);width:.5ch;height:1em;animation:1.2s step-end infinite blink;display:inline-block;transform:translateY(.1em)}@keyframes blink{50%{opacity:0}}.tagline{color:var(--ink-faded);letter-spacing:.03em;font-size:.72rem}.theme-toggle{background:var(--paper);border:1px solid var(--rule);cursor:pointer;color:var(--ink-faded);border-radius:999px;flex-shrink:0;align-items:center;gap:.35rem;padding:.25rem .3rem;line-height:1;display:inline-flex}.theme-toggle .dot{border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;font-size:.8rem;transition:background-color .2s,color .2s;display:grid}.theme-toggle .dot.on{background:var(--stamp);color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--rule);border-top-color:var(--stamp);border-radius:50%;width:20px;height:20px;margin-right:.5rem;animation:1s linear infinite spin;display:inline-block}.switch-container{justify-content:center;align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.switch-label{color:var(--ink-faded);cursor:pointer;font-size:.9rem;transition:color .2s}.switch-label.active{color:var(--ink);font-weight:500}.switch{width:48px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--rule);border:1px solid var(--rule);border-radius:24px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:var(--paper-hi);border-radius:50%;width:16px;height:16px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--stamp);border-color:var(--stamp)}input:checked+.slider:before{transform:translate(24px)}.ad-banner-wrapper{border:1px solid var(--rule);background:var(--paper-hi);border-radius:8px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}@media (width<=600px){.ad-banner-wrapper{min-height:50px;margin:1rem 0}}@media (width>=601px){.ad-banner-wrapper{min-height:90px;margin:1.5rem 0}}.ad-banner-wrapper:before{content:"Ad";color:var(--ink-faded);opacity:.6;text-transform:uppercase;letter-spacing:.05em;z-index:1;pointer-events:none;font-size:.625rem;position:absolute;top:4px;right:8px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spinner{animation:2s linear infinite spin}.wordmark .cursor{opacity:1}}
