:root{--bg: #04120c;--card: #0a1e14;--card-hi: #10301f;--panel: #0f2c1d;--panel-hi: #164027;--field: #071a11;--border: rgba(220, 250, 232, .09);--border-strong: rgba(220, 250, 232, .18);--edge-light: rgba(232, 200, 138, .14);--text: #eaf5ee;--text-dim: #93b9a5;--accent: #34d399;--accent-bright: #6ee7b7;--accent-ink: #05231a;--gold: #e8c88a;--gold-dim: #b0894e;--lime: #a3e635;--rose: #fb7185;--radius: 18px;--radius-sm: 11px;--shadow: 0 28px 64px -26px rgba(0, 0, 0, .82), 0 3px 12px -8px rgba(0, 0, 0, .65);--ring: 0 0 0 3px rgba(52, 211, 153, .35);--font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;font-family:var(--font);color:var(--text);background:var(--bg);background-image:radial-gradient(130% 70% at 50% -12%,rgba(52,211,153,.16),transparent 62%),radial-gradient(90% 60% at 8% 108%,rgba(232,200,138,.07),transparent 60%),radial-gradient(120% 120% at 50% 50%,transparent 55%,rgba(0,0,0,.5));background-attachment:fixed;-webkit-font-smoothing:antialiased;line-height:1.5}#root{min-height:100dvh;display:flex;justify-content:center;align-items:flex-start;padding:clamp(1rem,4vw,2.75rem) 1rem}.app{width:100%;max-width:30rem;display:flex;flex-direction:column;gap:1rem}.app-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:0 .35rem}.brand{font-family:var(--mono);font-weight:700;font-size:1rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text);text-decoration:none;padding-left:1rem;position:relative}.brand:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) rotate(45deg);width:.5rem;height:.5rem;border-radius:1px;background:linear-gradient(135deg,var(--gold),var(--gold-dim));box-shadow:0 0 10px #e8c88a80}.brand:hover{color:var(--accent-bright)}.brand-tag{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.app>main,.app>form{width:100%;display:flex;flex-direction:column;gap:1.25rem;padding:clamp(1.25rem,5vw,2rem);background:linear-gradient(168deg,var(--card-hi),var(--card) 62%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow),inset 0 1px 0 0 var(--edge-light);animation:rise .35s ease both}main>section,main>form,.add-expense-slot>form{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem;background:linear-gradient(168deg,var(--panel-hi),var(--panel) 70%);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:inset 0 1px 0 0 var(--edge-light)}.add-expense-open{align-self:stretch;width:100%;background:linear-gradient(180deg,var(--accent-bright),var(--accent));border-color:var(--accent);color:var(--accent-ink);font-family:var(--mono);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 1rem;box-shadow:0 10px 26px -12px var(--accent),inset 0 1px #ffffff47}.add-expense-open:before{content:"+ ";color:var(--accent-ink);opacity:.85}.add-expense-open:hover:not(:disabled){background:linear-gradient(180deg,var(--accent-bright),var(--accent-bright));border-color:var(--accent-bright);color:var(--accent-ink);box-shadow:0 12px 30px -10px var(--accent),inset 0 1px #ffffff59}h1,h2{margin:0;font-family:var(--mono);font-weight:700;letter-spacing:.04em;text-transform:uppercase}h1{font-size:1.5rem;line-height:1.15;color:var(--text)}.app>main>h1:before,.trip-header>h1:before{content:"";display:inline-block;width:.58rem;height:.58rem;margin-right:.6rem;transform:rotate(45deg);border-radius:1px;background:linear-gradient(135deg,var(--gold),var(--gold-dim));box-shadow:0 0 12px #e8c88a8c;vertical-align:.06em;animation:pulse 2.8s ease-in-out infinite}h2{font-size:.8rem;letter-spacing:.12em;color:var(--text-dim)}label{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}label:has(input[type=radio]),label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:.55rem;text-transform:none;letter-spacing:normal;font-size:.95rem;color:var(--text)}input,select{width:100%;font:inherit;font-size:1rem;color:var(--text);background:var(--field);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.6rem .7rem;transition:border-color .15s ease,box-shadow .15s ease}input[type=radio],input[type=checkbox]{width:auto;accent-color:var(--accent)}input:focus-visible,select:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}::placeholder{color:var(--text-dim);opacity:.7}fieldset{margin:0;padding:.85rem 1rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.65rem}.member-row{display:flex;gap:.5rem;align-items:stretch}.member-row input{flex:1}.row-remove{flex:none;padding:0 .8rem;font-size:.8rem;color:var(--text-dim)}.row-remove:hover{border-color:var(--rose);color:var(--rose)}legend{padding:0 .4rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}button{font:inherit;font-weight:600;color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .9rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .05s ease}button:hover{border-color:var(--accent);color:var(--accent-bright)}button:active{transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:var(--ring)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button[type=submit]{align-self:stretch;background:linear-gradient(180deg,var(--accent-bright),var(--accent));border-color:var(--accent);color:var(--accent-ink);font-family:var(--mono);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.75rem 1rem;box-shadow:inset 0 1px #ffffff47}button[type=submit]:hover:not(:disabled){background:linear-gradient(180deg,var(--accent-bright),var(--accent-bright));border-color:var(--accent-bright);color:var(--accent-ink);box-shadow:0 0 24px -4px var(--accent),inset 0 1px #ffffff59}ul{list-style:none;margin:0;padding:0}ul[aria-label]{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}ul[aria-label]>li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;padding:.65rem .85rem;font-size:.95rem}ul[aria-label]>li+li{border-top:1px solid var(--border)}ul[aria-label]>li{transition:background .12s ease}ul[aria-label]>li:hover{background:#dcfae808}ul[aria-label]:empty{display:none}ul[aria-label]>li span:last-child,ul[aria-label=Transfers]>li{font-variant-numeric:tabular-nums}ul[aria-label=Expenses]>li{justify-content:space-between}.row-edit,.row-delete{padding:.3rem .6rem;font-size:.8rem;color:var(--text-dim)}.row-edit,ul[aria-label=Expenses] .row-delete{margin-left:auto}ul[aria-label=Expenses] .row-edit~.row-delete{margin-left:0}.row-edit:hover{border-color:var(--accent);color:var(--accent-bright)}.row-delete:hover{border-color:var(--rose);color:var(--rose)}.form-actions{display:flex;gap:.6rem;align-items:stretch}.form-actions button[type=submit]{flex:1}.form-actions .ghost{flex:none;align-self:stretch}.add-member button[type=submit]{background:transparent;color:var(--accent)}.add-member button[type=submit]:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);box-shadow:none}.lede{margin-top:-.4rem;font-size:.9rem;color:var(--text-dim)}.trip-list>li.trip{padding:0;gap:0;flex-wrap:nowrap;align-items:stretch}.trip-open{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem;padding:.85rem .95rem;text-decoration:none;color:var(--text);transition:background .12s ease}.trip-open:hover{background:#34d39914}.trip-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}.trip-title{font-family:var(--mono);font-weight:700;letter-spacing:.04em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-currency{flex:none;font-family:var(--mono);font-size:.75rem;color:var(--text-dim)}.trip-position{font-size:.9rem}.trip-position--owed{color:var(--lime)}.trip-position--owe{color:var(--rose)}.trip-position--square{color:var(--text-dim)}.trip-status{display:flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.78rem;color:var(--text-dim)}.trip-status:before{content:"●";color:var(--accent);font-size:.7em}.trip-status[data-status=settled]:before{content:"✓";color:var(--lime);font-size:.9em}.trip-status[data-status=unavailable]:before{content:"!";color:var(--rose);font-weight:700}.trip-status[data-status=loading]:before{content:"…";color:var(--text-dim)}.trip-forget{flex:none;align-self:stretch;border:none;border-left:1px solid var(--border);border-radius:0;padding:0 .9rem;font-size:.72rem;color:var(--text-dim)}.trip-forget:hover{color:var(--rose);background:#fb718514}@media (hover: hover){.trip-forget{opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.trip:hover .trip-forget,.trip-forget:focus-visible{opacity:1}}.cta-link{align-self:stretch;text-align:center;text-decoration:none;font-family:var(--mono);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:.75rem 1rem;transition:background .15s ease,color .15s ease}.cta-link:hover{background:var(--accent);color:var(--accent-ink)}.balance{border-left:3px solid transparent}.balance--owed{border-left-color:var(--lime)}.balance--owes{border-left-color:var(--rose)}.balance--settled{border-left-color:var(--border-strong);color:var(--text-dim)}section[aria-label="Who are you?"] ul{display:flex;flex-wrap:wrap;gap:.5rem}section[aria-label="Who are you?"] button{border-color:var(--accent);color:var(--accent-bright)}section[aria-label="Who are you?"] button:hover{background:#34d3991f}section[aria-label=Share]{align-items:flex-start;gap:.9rem}section[aria-label=Share] svg{padding:.5rem;background:#fff;border-radius:var(--radius-sm)}p{margin:0}p[data-testid]{font-family:var(--mono);font-size:.85rem;color:var(--text-dim)}p[role=alert]{padding:.6rem .8rem;font-size:.9rem;color:#fecdd3;background:#fb71851f;border:1px solid rgba(251,113,133,.4);border-radius:var(--radius-sm)}.empty{padding:1.25rem 1rem;text-align:center;font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.trip-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.trip-header>h1{min-width:0;overflow-wrap:anywhere}.trip-menu{position:relative;flex:none}.menu-toggle{font-size:1.4rem;line-height:1;padding:.15rem .6rem;color:var(--text-dim)}.menu-toggle:hover{color:var(--accent-bright);border-color:var(--accent)}.menu-panel{position:absolute;right:0;top:calc(100% + .4rem);z-index:20;width:min(21rem,82vw);display:flex;flex-direction:column;gap:.9rem;padding:1rem;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.menu-item{display:flex;flex-direction:column;gap:.5rem}.menu-item+.menu-item{border-top:1px solid var(--border);padding-top:.85rem}.menu-item h3{margin:0;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.identity{font-size:.9rem;color:var(--text-dim)}.menu-panel button[type=submit]{background:transparent;color:var(--accent)}.menu-panel button[type=submit]:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);box-shadow:none}ul[aria-label=Expenses]>li.expense{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;padding:.85rem .95rem}.expense-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}.expense-desc{font-weight:600;overflow-wrap:anywhere}.expense-total{flex:none;font-family:var(--mono);font-variant-numeric:tabular-nums}.expense-payer{font-size:.78rem;color:var(--text-dim)}.expense-breakdown{display:flex;flex-direction:column;gap:.25rem;padding:.4rem 0 .4rem .7rem;border-left:2px solid var(--gold-dim)}.expense-breakdown>li{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.expense-actions{display:flex;gap:.5rem;justify-content:flex-end}.hero{display:flex;flex-direction:column;gap:.55rem}.hero>h1{font-family:var(--font);font-size:clamp(1.55rem,6vw,2.05rem);font-weight:750;line-height:1.08;letter-spacing:-.015em;text-transform:none;color:var(--text)}.hero-sub{font-size:.95rem;line-height:1.5;color:var(--text-dim)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
