*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{--bg: #0f172a;--bg-soft: #111c33;--card: #f8fafc;--card-soft: #eef2f7;--ink: #0f172a;--ink-soft: #475569;--ink-mute: #94a3b8;--mint: #34d399;--mint-soft: rgba(52, 211, 153, .18);--mint-glow: rgba(52, 211, 153, .42);--coral: #fb7185;--coral-soft: rgba(251, 113, 133, .16);--divider: rgba(148, 163, 184, .18);--divider-strong: rgba(148, 163, 184, .3);--shadow-card: 0 10px 30px rgba(2, 6, 23, .45);--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--num-font: "Inter", system-ui, sans-serif;font-family:var(--font);font-feature-settings:"cv11","ss01","tnum";font-variant-numeric:tabular-nums;color-scheme:dark}html,body{background:var(--bg);color:var(--card);min-height:100dvh}body{font-weight:500;letter-spacing:-.01em;-webkit-tap-highlight-color:transparent}#app{max-width:560px;margin-inline:auto;padding:1.5rem 1.25rem 6rem}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input[type=number],input[type=text]{font-family:inherit;font-variant-numeric:tabular-nums}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@keyframes splitbill-pulse{0%{box-shadow:0 0 0 0 var(--mint-glow)}70%{box-shadow:0 0 0 14px #34d39900}to{box-shadow:0 0 #34d39900}}@keyframes splitbill-glow{0%,to{box-shadow:0 0 0 0 var(--mint-glow),0 0 0 1px var(--mint)}50%{box-shadow:0 0 16px 2px var(--mint-glow),0 0 0 1px var(--mint)}}@keyframes splitbill-tap{0%{transform:scale(1)}40%{transform:scale(.94)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.shell{display:flex;flex-direction:column;gap:1.25rem}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.25rem .25rem .5rem}.brand{display:inline-flex;align-items:center;gap:.6rem}.brand__mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:#34d3991f;border:1px solid rgba(52,211,153,.28)}.brand__name{font-size:1.1rem;font-weight:600;letter-spacing:-.015em;color:var(--card)}.topbar__btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:999px;background:#f8fafc0f;color:var(--card);font-size:.85rem;font-weight:500;border:1px solid var(--divider);transition:background-color .18s ease,border-color .18s ease}.topbar__btn:hover{background:#f8fafc1a;border-color:var(--divider-strong)}.card{background:var(--card);color:var(--ink);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:1rem}.card--totals{background:linear-gradient(180deg,#fff,#f1f5f9)}.row{display:flex;gap:.75rem;flex-wrap:wrap}.row.between{justify-content:space-between;align-items:center;flex-wrap:nowrap}.row.two>*{flex:1 1 calc(50% - .5rem);min-width:0}.divider{height:1px;width:100%;background:#0f172a14;margin:.1rem 0}.field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.field__label{font-size:.78rem;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}.field__control{display:flex;align-items:center;gap:.25rem;padding:.7rem .85rem;background:#fff;border-radius:var(--radius-md);border:1.5px solid rgba(15,23,42,.08);transition:border-color .18s ease,box-shadow .18s ease}.field__control:focus-within{border-color:var(--mint);box-shadow:0 0 0 4px #34d3991f}.field__control input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--ink);font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums}.field__prefix,.field__suffix{color:var(--ink-mute);font-size:1.1rem;font-weight:500}.field__hint{font-size:.78rem;color:var(--ink-mute)}.seg{display:inline-flex;padding:4px;border-radius:12px;background:#0f172a0f;gap:2px}.seg--sm{font-size:.85rem}.seg--full{width:100%}.seg--full .seg__btn{flex:1}.seg__btn{padding:.5rem .95rem;border-radius:9px;color:var(--ink-soft);font-size:.88rem;font-weight:600;transition:background-color .18s ease,color .18s ease,transform .18s ease}.seg__btn.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0f172a0f,0 4px 12px #0f172a0f}.seg__btn.is-coral{color:#c2410c;background:var(--coral-soft);box-shadow:0 0 0 1px #fb718566}.presets{display:flex;gap:.5rem;flex-wrap:wrap}.preset{flex:1 1 calc(25% - .4rem);min-width:64px;padding:.8rem .5rem;border-radius:var(--radius-md);background:#0f172a0a;color:var(--ink);font-size:1rem;font-weight:600;border:1.5px solid transparent;transition:background-color .18s ease,border-color .18s ease,transform .18s ease,color .18s ease}.preset:hover{background:#0f172a12}.preset.is-active{background:var(--mint-soft);color:#047857;border-color:var(--mint)}.stepper{display:inline-flex;align-items:center;gap:.4rem;background:#0f172a0a;padding:4px;border-radius:12px}.stepper__btn{width:34px;height:34px;border-radius:9px;background:#fff;color:var(--ink);font-size:1.1rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0f172a0f;transition:background-color .18s ease,color .18s ease,transform .18s ease}.stepper__btn:disabled{opacity:.4;cursor:not-allowed}.stepper__value{width:3ch;border:none;outline:none;background:transparent;text-align:center;font-size:1.1rem;font-weight:600;color:var(--ink)}.people-block,.tip-block,.custom-block,.rounding{display:flex;flex-direction:column;gap:.75rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;flex-direction:column;align-items:flex-start;padding:.55rem .85rem;border-radius:12px;background:#0f172a0d;color:var(--ink-soft);border:1.5px solid transparent;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;min-width:96px}.chip:hover{background:#0f172a14}.chip__name{font-size:.78rem;font-weight:600;letter-spacing:.02em}.chip__pct{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.chip.is-selected{background:var(--mint-soft);border-color:var(--mint);color:#065f46;animation:splitbill-glow 2.4s ease-in-out infinite}.chip.is-selected .chip__pct{color:#047857}.share-editor{display:flex;flex-direction:column;gap:.5rem;padding:.85rem;background:#0f172a0a;border-radius:var(--radius-md)}.share-editor__row{display:flex;align-items:center;gap:.85rem}.share-editor__row input[type=range]{flex:1;appearance:none;height:6px;border-radius:999px;background:linear-gradient(to right,var(--mint) 0%,var(--mint) var(--pct, 0%),rgba(15,23,42,.12) var(--pct, 0%),rgba(15,23,42,.12) 100%)}.share-editor__row input[type=range]::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border-radius:999px;background:#fff;border:2px solid var(--mint);box-shadow:0 1px 4px #0f172a2e;cursor:pointer}.share-editor__row input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:999px;background:#fff;border:2px solid var(--mint);cursor:pointer}.share-editor__value{min-width:4ch;text-align:right;font-size:1rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.share-editor__foot{font-size:.85rem}.shares-sum{font-size:.85rem;color:var(--ink-soft);font-weight:500}.shares-sum.is-warn{color:#be3a47}.totals-head{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding-top:.25rem}.totals-head__label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.totals-head__amount{display:flex;align-items:baseline}.big-number{font-size:clamp(2.4rem,9vw,3.4rem);font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1}.totals-head__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .55rem;font-size:.84rem;color:var(--ink-soft)}.totals-head__meta strong{color:var(--ink);font-weight:600;margin-left:.2rem}.dot{color:var(--ink-mute)}.breakdown{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.breakdown__row{padding:.7rem .85rem;border-radius:var(--radius-md);background:#0f172a09;border:1.5px solid transparent;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.breakdown__row.is-selected{background:var(--mint-soft);border-color:#34d3998c;box-shadow:0 0 0 4px #34d3991a}.breakdown__head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.breakdown__name{font-size:.92rem;font-weight:600;color:var(--ink)}.breakdown__total{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-.015em}.breakdown__detail{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin-top:.25rem;font-size:.8rem;color:var(--ink-soft)}.breakdown__detail strong{color:var(--ink);font-weight:600;margin-left:.2rem}.rounding-note{padding:.6rem .85rem;border-radius:var(--radius-md);background:var(--coral-soft);color:#b1404f;font-size:.85rem}.actions{display:flex;gap:.6rem;flex-wrap:wrap}.primary-btn,.ghost-btn{flex:1;min-width:120px;padding:.85rem 1rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.primary-btn{background:var(--mint);color:#053527}.primary-btn:hover{background:#2bbf86}.primary-btn:disabled,.ghost-btn:disabled{opacity:.55;cursor:not-allowed}.primary-btn.is-confirmed{animation:splitbill-pulse 1.2s ease-out;background:#2bbf86}.ghost-btn{background:#0f172a0f;color:var(--ink)}.ghost-btn:hover{background:#0f172a1a}.ghost-btn.is-confirmed{background:var(--mint-soft);color:#047857}.icon-btn{width:36px;height:36px;border-radius:999px;font-size:1.4rem;color:var(--ink-soft);background:#0f172a0d;display:inline-flex;align-items:center;justify-content:center;line-height:1}.tap{-webkit-tap-highlight-color:transparent}.tap:active{animation:splitbill-tap .18s ease-out}.history-scrim{position:fixed;inset:0;background:#02061780;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:40}.history-scrim.is-open{opacity:1;pointer-events:auto}.history-drawer{position:fixed;top:0;right:0;height:100dvh;width:min(360px,88vw);background:var(--bg);border-left:1px solid var(--divider);color:var(--card);padding:1.25rem 1rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;transform:translate(100%);transition:transform .25s ease;z-index:50;box-shadow:-10px 0 30px #02061766}.history-drawer.is-open{transform:translate(0)}.history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.history-head h2{font-size:1.05rem;font-weight:600}.history-head .muted{font-size:.82rem;color:var(--ink-mute);margin-top:.1rem}.history-head .icon-btn{background:#f8fafc0f;color:var(--card)}.history-empty{font-size:.9rem;color:var(--ink-mute);padding:1rem 0}.kbd{display:inline-block;padding:0 .4rem;border-radius:6px;background:#f8fafc14;font-size:.82rem;font-weight:600;border:1px solid var(--divider)}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;overflow-y:auto}.history-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem .85rem;border-radius:var(--radius-md);background:#f8fafc0d;border:1px solid var(--divider);color:var(--card);text-align:left}.history-row:hover{background:#f8fafc14;border-color:var(--divider-strong)}.history-row__main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.history-row__label{font-size:.92rem;font-weight:600}.history-row__meta{font-size:.78rem;color:var(--ink-mute)}.history-row__total{font-size:.95rem;font-weight:700;color:var(--mint);font-variant-numeric:tabular-nums}.history-foot{margin-top:auto}.history-foot .ghost-btn{background:#f8fafc0f;color:var(--card);width:100%}.history-foot .ghost-btn:hover{background:#f8fafc1a}.muted{color:var(--ink-mute)}@media(max-width:480px){.card{padding:1rem}.row.two>*{flex-basis:100%}}
