*{box-sizing:border-box}html,body{min-height:100%;margin:0}:root{--ink-surface:#0e0d0b;--ink-panel:#161410;--ink-deep:#080706;--ink-raised:#1f1b14;--ink-text:#e8dfc8;--ink-muted:#9a8e72;--ink-faint:#6b6253;--gold:#c9a050;--gold-hover:#d5ae5e;--gold-soft:#3a2f18;--gold-glow:#c9a0501f;--coral:#e0614a;--coral-soft:#3a1a14;--verdigris:#5b9e80;--verdigris-soft:#1a3026;--danger:#c42b25;--danger-soft:#2e0a08;--groove-hi:#e8dfc80f;--groove-lo:#00000080;--focus:#c9a050;--font-serif:Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, "Times New Roman", serif;--radius:0px}body{font-family:var(--font-serif);background:var(--ink-surface);color:var(--ink-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:repeating-linear-gradient(90deg,#0000 0 2px,#e8dfc804 2px 3px);font-size:.9375rem;line-height:1.5}h1,h2,h3,h4{font-weight:700;font-family:var(--font-serif);margin:0}button{cursor:pointer;background:0 0;border:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.35}input,select,textarea{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.app{min-height:100vh}.app-header{z-index:100;background:var(--ink-panel);border-bottom:1px solid var(--groove-lo);box-shadow:inset 0 1px 0 var(--groove-hi);position:sticky;top:0}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;max-width:1120px;margin:0 auto;padding:.75rem 1.25rem;display:flex}.header-left{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.app-title{color:var(--gold);letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.header-meta{color:var(--ink-muted);font-size:.75rem;font-weight:400}.header-right{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.header-total{flex-direction:column;align-items:flex-end;gap:.0625rem;display:flex}.header-total-label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);font-size:.625rem;font-weight:700}.header-total-value{color:var(--gold);font-size:1.5rem;font-weight:700;line-height:1.1}.app-grid{grid-template-columns:1fr;gap:1.25rem;max-width:1120px;margin:0 auto;padding:1.25rem;display:grid}@media (min-width:768px){.app-grid{grid-template-columns:360px 1fr;align-items:start}}.col-left,.col-right{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.app-footer{text-align:center;max-width:1120px;margin:0 auto;padding:.5rem 1.25rem 2rem}.keyboard-hint{color:var(--ink-faint);margin:0;font-size:.75rem}kbd{font-family:var(--font-serif);background:var(--ink-raised);border:1px solid var(--groove-lo);color:var(--ink-muted);border-bottom-width:2px;border-radius:0;padding:.05em .35em;font-size:.7rem}.panel{background:var(--ink-panel);border:1px solid var(--groove-lo);border-top-color:var(--groove-hi);border-left-color:var(--groove-hi);box-shadow:inset 0 0 0 1px var(--groove-lo), inset 1px 1px 0 var(--groove-hi);border-radius:var(--radius);padding:1.125rem}.panel-title{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);border-bottom:1px dashed var(--ink-faint);margin:0 0 .875rem;padding-bottom:.5rem;font-size:.6875rem;font-weight:700}.form-inline{gap:.5rem;margin-top:.75rem;display:flex}.form-inline .input{flex:1;min-width:0}.people-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.person-row{border:1px solid var(--groove-lo);border-top-color:var(--groove-hi);border-left-color:var(--groove-hi);border-radius:var(--radius);background:var(--ink-raised);align-items:center;gap:.625rem;padding:.5rem .625rem;transition:background .15s,border-color .15s;display:flex}.person-row:hover{background:var(--gold-soft);border-color:var(--gold)}.person-info{flex-wrap:wrap;flex:1;align-items:center;gap:.625rem;min-width:0;display:flex}.person-name{color:var(--ink-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.person-stats{color:var(--ink-muted);font-size:.8125rem}.person-net{font-size:.8125rem;font-weight:700}.person-net.net-pos{color:var(--verdigris)}.person-net.net-neg{color:var(--coral)}.person-net.net-zero{color:var(--ink-faint)}.form{flex-direction:column;gap:.75rem;display:flex}.form-row{flex-direction:column;gap:.25rem;display:flex}.form-row-2{grid-template-columns:1fr 1fr;gap:.625rem;display:grid}.form-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-size:.6875rem;font-weight:600}.input,.select{border:1px solid var(--groove-lo);border-top-color:var(--groove-hi);border-left-color:var(--groove-hi);border-radius:var(--radius);background:var(--ink-deep);width:100%;color:var(--ink-text);min-height:40px;padding:.5rem .625rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--ink-faint)}.input:focus,.select:focus{border-color:var(--gold);outline:2px solid var(--gold);outline-offset:-1px;box-shadow:0 0 0 1px var(--gold-glow)}.input-amount{font-variant-numeric:tabular-nums;color:var(--gold);font-weight:600}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239A8E72' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-position:right .625rem center;background-repeat:no-repeat;padding-right:1.75rem}.select option{background:var(--ink-panel);color:var(--ink-text)}.split-header{justify-content:space-between;align-items:baseline;display:flex}.link-btn{color:var(--gold);cursor:pointer;background:0 0;border:none;min-height:auto;padding:0;font-size:.8125rem;font-weight:600;text-decoration:none;transition:opacity .15s,color .15s}.link-btn:hover:not(:disabled){opacity:.75;color:var(--gold-hover)}.link-btn:disabled{opacity:.35;cursor:not-allowed}.link-btn-danger{color:var(--coral)}.link-btn-danger:hover:not(:disabled){color:#e87058}.link-btn-settle{color:var(--verdigris)}.link-btn-settle:hover:not(:disabled){color:#6baf90}.checkbox-group{flex-direction:column;gap:.375rem;display:flex}.checkbox-row{border:1px solid var(--groove-lo);border-top-color:var(--groove-hi);border-left-color:var(--groove-hi);border-radius:var(--radius);background:var(--ink-deep);cursor:pointer;align-items:center;gap:.5rem;min-height:40px;padding:.375rem .625rem;transition:border-color .15s,background .15s;display:flex}.checkbox-row:hover{border-color:var(--ink-muted)}.checkbox-row.checked{border-color:var(--gold);background:var(--gold-soft)}.checkbox-row input{width:18px;height:18px;accent-color:var(--gold);cursor:pointer;flex-shrink:0}.checkbox-name{color:var(--ink-text);flex:1;font-weight:500}.checkbox-share{color:var(--gold);font-size:.8125rem;font-weight:600}.share-preview{color:var(--gold);background:var(--gold-soft);border:1px solid var(--gold);border-radius:var(--radius);margin:0;padding:.5rem .625rem;font-size:.8125rem;font-weight:600}.empty-note{color:var(--ink-muted);margin:0;padding:.5rem 0;font-size:.875rem;line-height:1.5}.btn{border-radius:var(--radius);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;justify-content:center;align-items:center;gap:.375rem;min-height:40px;padding:.5rem 1rem;font-size:.875rem;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-sm{min-height:36px;padding:.375rem .75rem;font-size:.8125rem}.btn-primary{background:var(--gold);color:var(--ink-surface);border:1px solid var(--gold)}.btn-primary:hover:not(:disabled){background:var(--gold-hover);border-color:var(--gold-hover)}.btn-danger{background:var(--danger);color:var(--ink-text);border:1px solid var(--danger)}.btn-danger:hover:not(:disabled){background:#d63630;border-color:#d63630}.btn-ghost{border:1px solid var(--groove-lo);border-top-color:var(--groove-hi);color:var(--ink-text);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--ink-raised);border-color:var(--ink-muted)}.btn-block{width:100%;margin-top:.25rem}.btn-reset{color:var(--coral);border:1px solid var(--groove-lo);background:0 0}.btn-reset:hover:not(:disabled){background:var(--danger-soft);border-color:var(--coral);color:#e87058}.btn-remove{border:1px solid var(--groove-lo);width:28px;height:28px;color:var(--ink-faint);background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;line-height:1;transition:background .15s,color .15s,border-color .15s;display:flex}.btn-remove:hover:not(:disabled){background:var(--danger-soft);border-color:var(--coral);color:var(--coral)}.reset-confirm-inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.reset-banner{background:var(--danger-soft);border-bottom:1px solid var(--danger);color:var(--coral);text-align:center;max-width:1120px;margin:0 auto;padding:.5rem 1.25rem;font-size:.8125rem;font-weight:600}.balance-grid{flex-wrap:wrap;gap:.625rem;display:flex}.balance-card{border:1px solid var(--groove-lo);border-top-color:var(--groove-hi);border-left-color:var(--groove-hi);border-radius:var(--radius);background:var(--ink-raised);flex:100px;justify-content:space-between;align-items:center;gap:.625rem;min-width:90px;padding:.625rem .75rem;display:flex}.balance-card.pos{border-color:var(--verdigris);background:var(--verdigris-soft)}.balance-card.neg{border-color:var(--coral);background:var(--coral-soft)}.balance-card.zero{opacity:.6}.balance-info{flex-direction:column;gap:.0625rem;min-width:0;display:flex}.balance-name{color:var(--ink-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.balance-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9375rem;font-weight:700}.balance-card.pos .balance-amount{color:var(--verdigris)}.balance-card.neg .balance-amount{color:var(--coral)}.balance-card.zero .balance-amount{color:var(--ink-muted)}.balance-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.625rem;font-weight:600}.balance-card.pos .balance-label{color:var(--verdigris)}.balance-card.neg .balance-label{color:var(--coral)}.ledger{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.ledger-row{border:1px solid var(--groove-lo);border-top-color:var(--groove-hi);border-left-color:var(--groove-hi);border-radius:var(--radius);background:var(--ink-raised);justify-content:space-between;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;transition:background .15s,border-color .15s;display:flex}.ledger-row:hover{background:var(--gold-soft);border-color:var(--ink-muted)}.ledger-main{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.ledger-desc{color:var(--ink-text);font-size:.9375rem;font-weight:600}.ledger-meta{color:var(--ink-muted);font-size:.75rem}.ledger-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.ledger-amount{font-variant-numeric:tabular-nums;color:var(--gold);white-space:nowrap;font-size:1rem;font-weight:700}.settlement-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.settlement-row{border:1px solid var(--groove-lo);border-top-color:var(--groove-hi);border-left-color:var(--groove-hi);border-radius:var(--radius);background:var(--ink-raised);align-items:center;gap:.5rem;padding:.5rem .625rem;transition:background .15s,border-color .15s;display:flex}.settlement-row:hover{background:var(--gold-soft)}.settlement-row.settled{opacity:.65;background:var(--verdigris-soft);border-color:var(--verdigris)}.settlement-row.settled .settlement-arrow{text-decoration:line-through}.settlement-arrow{color:var(--ink-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;font-weight:500;overflow:hidden}.settlement-amount{font-variant-numeric:tabular-nums;color:var(--gold);white-space:nowrap;font-size:.875rem;font-weight:700}.settled-check{color:var(--verdigris);flex-shrink:0;font-size:.875rem;font-weight:700}.all-settled-msg{color:var(--verdigris);padding:.5rem 0;font-size:.9375rem;font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:767px){.app-grid{padding:.75rem}.panel{padding:.875rem}.header-content{padding:.625rem .75rem}}@media (max-width:480px){.form-row-2{grid-template-columns:1fr}.ledger-row{flex-direction:column;gap:.375rem}.ledger-right{justify-content:space-between;width:100%}.balance-card{flex:100%}.header-total-value{font-size:1.25rem}.person-stats{font-size:.75rem}}
