:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#18243c;background:#f3f5fa;font-synthesis:none;--blue:#254cdd;--line:#e4e8f1;--muted:#657086}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,a,input,select,summary,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #254cdd}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue)}[hidden]{display:none!important}.top{max-width:1344px;margin:auto;padding:26px 44px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-weight:800;font-size:28px;color:#162547;letter-spacing:-1px;display:flex;align-items:center;gap:9px}.brandmark{display:inline-flex;background:var(--blue);color:white;border-radius:11px;width:35px;height:35px;align-items:center;justify-content:center;font-size:28px}.branddot{color:var(--blue);margin-left:-9px}.topnote{font-size:14px;color:var(--muted)}.free{border:1px solid #d9dfea;border-radius:24px;padding:9px 14px;font-size:13px;white-space:nowrap}main{max-width:1344px;padding:28px 44px 0;margin:auto}.intro{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:36px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;margin:0 0 14px;display:block}.intro .eyebrow{color:var(--blue)}h1{font-size:clamp(32px,4.2vw,58px);line-height:1.09;letter-spacing:-2px;margin:0;font-weight:750}h1 span{color:var(--blue)}.intro-note{color:var(--muted);line-height:1.6;font-size:16px;margin:0 0 3px}.examplebar{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#e8edff;border:1px solid #d7dfff;color:#304e98;padding:14px 20px;border-radius:12px;font-size:14px;margin-bottom:20px}.linkbutton{border:0;background:none;padding:5px 0;color:var(--blue);font-size:14px;font-weight:650;text-align:left}.examplebar .linkbutton{white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.editor{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.triphead{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:26px 28px;border-bottom:1px solid var(--line)}.triphead>div{min-width:0;flex:1}.triphead .eyebrow{color:var(--muted);font-size:11px;margin-bottom:7px}.triphead input{padding:3px 0;border:0;background:white;border-radius:0;font-weight:650;font-size:23px;letter-spacing:-.6px;width:100%;height:auto}.subtle{border:0;background:transparent;color:var(--muted);font-size:14px;padding:8px 0}.people-section,.expenses-section{padding:26px 28px}.people-section{border-bottom:1px solid var(--line)}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}h2{font-size:20px;letter-spacing:-.5px;margin:0}.step{font-size:12px;color:var(--blue);font-weight:600;letter-spacing:0;margin-right:12px}.meta{font-size:12px;color:var(--muted)}.people{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.person{display:flex;align-items:center;background:#f0f3f9;border-radius:9px;gap:8px;padding:5px 9px 5px 5px}.avatar{width:27px;height:27px;border-radius:7px;background:#dce4ff;color:#2545ac;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.person:nth-child(3n+2) .avatar{background:#f4e1cf;color:#93532d}.person:nth-child(3n+3) .avatar{background:#d8eadf;color:#34734e}.person-name{font-size:14px;max-width:220px;overflow-wrap:anywhere}.remove{background:none;border:0;color:#677289;font-size:18px;line-height:1;padding:5px;min-width:28px;min-height:28px}.person-form{display:flex;gap:9px;max-width:400px}input,select,textarea{width:100%;border:1px solid #dce1ec;border-radius:9px;padding:11px 12px;color:#18243c;background:white;font-size:16px;min-width:0}input::placeholder{color:#939aaa}.small-button{border:1px solid #d9e1f5;background:#f4f6fd;border-radius:9px;padding:9px 14px;color:#254cc4;font-size:14px;white-space:nowrap}.expense-list{display:flex;flex-direction:column;gap:0}.expense{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line)}.expense:first-child{border:0;padding-top:0}.expense-info{min-width:0}.expense-label{font-size:16px;font-weight:650;overflow-wrap:anywhere}.expense-detail{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.45;overflow-wrap:anywhere}.expense-right{text-align:right;flex-shrink:0}.expense-amount{font-size:17px;font-weight:700;white-space:nowrap}.expense-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.expense-buttons button{font-size:12px;padding:4px 0;min-height:28px}.expense-form{background:#f6f8fc;border:1px solid #e6ebf3;border-radius:13px;padding:20px;margin-top:8px}.expense-form h3{font-size:16px;margin:0 0 16px;font-weight:650}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}.field label,legend{font-size:14px;color:#556176;margin-bottom:7px;display:block}fieldset{padding:0;border:0;margin:18px 0 20px;min-width:0}.members{display:flex;gap:8px;flex-wrap:wrap}.member{display:flex;gap:7px;align-items:center;border:1px solid #dce2ee;border-radius:7px;padding:8px 10px;background:white;font-size:14px;cursor:pointer;overflow-wrap:anywhere;max-width:100%}.member:has(input:checked){border-color:#b5c6fd;background:#eaf0ff;color:#254ab3}.member input{width:16px;height:16px;margin:0;accent-color:var(--blue);flex-shrink:0}.primary{background:var(--blue);color:#fff;border:0;padding:12px 18px;border-radius:9px;font-size:15px;font-weight:600}.primary:hover{background:#1e3eb6}.form-actions{display:flex;gap:18px;align-items:center}.summary{position:sticky;top:22px;background:#daf18d;border-radius:20px;padding:27px 25px;color:#223415}.summary-top{display:flex;justify-content:space-between;align-items:center}.summary-top .eyebrow{font-size:11px;letter-spacing:1.5px;margin:0}.summary-icon{font-size:30px}.summary h2{font-size:39px;line-height:1.03;letter-spacing:-1.6px;margin:15px 0 27px;font-weight:750}.total-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-top:1px solid #adc773;border-bottom:1px dashed #a6c468;font-size:14px}.total-row strong{font-size:21px;white-space:nowrap}.transfers{padding:10px 0 22px}.transfer{padding:17px 0;border-bottom:1px solid #c1d982}.transfer:last-child{border-bottom:0}.transfer-route{display:flex;align-items:center;gap:9px;font-size:15px;line-height:1.5;overflow-wrap:anywhere;flex-wrap:wrap}.transfer-route span{opacity:.6}.transfer strong{font-size:29px;font-weight:750;display:block;margin-top:5px;letter-spacing:-.7px}.summary-actions{display:flex;gap:9px;flex-direction:column}.dark-button,.outline-button{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:9px;padding:13px 16px;font-size:15px;font-weight:600}.dark-button{background:#253619;color:#fff}.dark-button:hover{background:#344b25}.outline-button{background:transparent;border:1px solid #a2bd6c;color:inherit;justify-content:center}.summary-note{font-size:12px;line-height:1.6;color:#4f623a;margin:14px 0 20px}details{border-top:1px solid #b6ce80;padding-top:16px;font-size:14px;line-height:1.6}summary{cursor:pointer;font-weight:600}details p{margin:10px 0;color:#455b30}.empty{font-size:14px;line-height:1.65;color:var(--muted);padding:8px 0 16px}.summary .empty{color:#4a6032;padding-top:20px;font-size:15px}.error{color:#ad2940;font-size:14px;line-height:1.5}.notice{border:1px solid #bfcdec;background:white;border-radius:10px;padding:14px 20px;font-size:14px;margin-bottom:16px;line-height:1.5}footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 0 34px;color:var(--muted)}footer p{font-size:12px;line-height:1.6;margin:0}.footer-brand{font-weight:750;font-size:18px;color:#6a7690}dialog{border:1px solid var(--line);border-radius:18px;max-width:480px;width:calc(100% - 32px);padding:26px;color:#18243c}dialog::backdrop{background:#15264b70}dialog p{font-size:16px;line-height:1.6;color:var(--muted)}dialog textarea{margin-bottom:15px;font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){.topnote{display:none}.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.top{padding:22px 24px}main{padding:22px 24px 0}.intro-note{font-size:14px}.triphead,.people-section,.expenses-section{padding:22px}.summary{padding:23px 20px}.summary h2{font-size:35px}}@media(max-width:760px){.top{padding:20px}.brand{font-size:25px}.brandmark{width:30px;height:30px;font-size:25px}.free{font-size:11px;padding:7px 9px}main{padding:16px 16px 0}.intro{display:block;margin-bottom:24px}.intro .eyebrow{font-size:10px;letter-spacing:1.4px}h1{font-size:38px;letter-spacing:-1.5px}.intro-note{margin-top:16px;font-size:15px}.intro-note br{display:none}.examplebar{display:block;padding:14px 16px;line-height:1.55}.examplebar .linkbutton{margin-top:8px}.workspace{display:flex;flex-direction:column;gap:18px}.editor,.summary{width:100%}.summary{position:static;padding:25px}.triphead,.people-section,.expenses-section{padding:20px}.triphead{gap:10px}.triphead input{font-size:20px}.triphead .subtle{max-width:none;white-space:nowrap;font-size:12px}.summary h2 br{display:none}.summary h2{font-size:34px}.transfers{display:flex;flex-direction:column}.transfer{display:flex;justify-content:space-between;align-items:center;gap:18px}.transfer strong{font-size:24px;white-space:nowrap}.expense-form{padding:16px}.expense-label{font-size:15px}.expense-amount{font-size:16px}footer{flex-wrap:wrap;padding:24px 4px;gap:16px}footer p{order:3;width:100%}.fields{gap:12px}.person-form{max-width:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,opacity .15s}}
/* Telegram webview: native controls and device safe areas. */
.telegram-app{padding-top:var(--tg-content-safe-area-inset-top,0px);padding-bottom:calc(var(--tg-content-safe-area-inset-bottom,0px) + 80px)}
.telegram-app .top{padding-top:16px;padding-bottom:12px}.telegram-app .topnote,.telegram-app .intro-note{display:none}.telegram-app .intro{margin-bottom:22px}.telegram-app h1{font-size:clamp(30px,5vw,44px)}
[data-theme=dark]{background:#111827;color:#e5eaf5;--line:#334155;--muted:#b0bbcf}
[data-theme=dark] .brand{color:#edf2ff}[data-theme=dark] .editor,[data-theme=dark] .triphead input,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] dialog{background:#172033;color:#edf2ff}
[data-theme=dark] .person,[data-theme=dark] .expense-form{background:#202d43;border-color:#3b4962}
[data-theme=dark] .member{background:#172033;color:#edf2ff;border-color:#475569}[data-theme=dark] .member:has(input:checked){background:#293f6c;border-color:#668ae0}
[data-theme=dark] .field label,[data-theme=dark] legend{color:#bbc7db}[data-theme=dark] .notice{background:#253149;color:#edf2ff}[data-theme=dark] .examplebar{background:#243454;color:#d5e1ff;border-color:#3e567e}
[data-theme=dark] .intro .eyebrow,[data-theme=dark] h1 span,[data-theme=dark] .linkbutton,[data-theme=dark] .step{color:#91adff}[data-theme=dark] .error{color:#ffabb7}

.room-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;padding:18px 22px;border:1px solid #dce3f0;border-radius:14px;background:#fff}.room-bar strong{font-size:14px;display:block}.room-bar span{display:block;font-size:12px;color:#657086;margin-top:5px}.room-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.analytics-choice{flex-basis:100%;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.analytics-choice span{font-size:12px;color:#657086}.brandmark{object-fit:contain}html[data-theme="dark"] .room-bar{background:#172033;border-color:#334155}html[data-theme="dark"] .room-bar span{color:#a8b4cb}@media(max-width:700px){.room-bar{align-items:flex-start;flex-direction:column;padding:16px}.room-actions{width:100%}.room-actions .small-button{flex:1}}

.person-form textarea{resize:vertical;min-height:43px;max-height:150px}.history-row{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:10px 0}.history-open{border:0;background:transparent;flex:1;min-width:0;text-align:left;color:inherit;padding:8px 0}.history-open strong{display:block;overflow-wrap:anywhere}.history-open span{display:block;color:var(--muted);font-size:13px;margin-top:5px}#history-list{max-height:55vh;overflow-y:auto;margin:16px 0}@media(max-width:760px){.triphead .subtle{max-width:none;white-space:nowrap;font-size:12px}.room-actions .subtle{min-height:28px}}

footer{flex-wrap:wrap}

#image-dialog{max-height:90vh;overflow:auto}#result-preview{display:block;width:100%;height:auto;border-radius:10px;margin:16px 0}.image-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.image-actions a{text-decoration:none}

@media(max-width:760px){.top{gap:12px}.free{white-space:normal;max-width:122px;text-align:center;line-height:1.35;flex-shrink:0}.brand{font-size:23px;gap:7px}}

.theme-control{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.theme-control select{width:112px;padding:8px 10px;font-size:14px}.top{flex-wrap:wrap}.audit-panel{margin-top:24px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:20px;scroll-margin-top:20px}.audit-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.check-badge{font-size:13px;color:#326444;background:#e8f4ed;padding:8px 12px;border-radius:20px}.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 16px}.comparison-grid>div{padding:18px;background:#f3f5fa;border:1px solid var(--line);border-radius:12px}.comparison-grid strong{display:block;font-size:38px;line-height:1.2;margin-bottom:10px}.comparison-grid span{font-size:14px;line-height:1.5;display:block}.comparison-grid .comparison-final{background:#e9efff;border-color:#b8c9fb;color:#254ab3}.audit-muted{font-size:13px;line-height:1.65;color:var(--muted)}.person-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 24px}.balance-card{border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.balance-card h3{margin:0 0 14px;font-size:17px;overflow-wrap:anywhere}.balance-line{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0}.balance-line strong{white-space:nowrap}.balance-line:last-of-type{border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.balance-count{font-size:12px;color:var(--muted);margin-bottom:0}.purchase-card{padding:16px 0;border-bottom:1px solid var(--line)}.purchase-card h3{font-size:16px;margin:0;overflow-wrap:anywhere}.purchase-card p,.purchase-card li{font-size:14px;line-height:1.6}.purchase-card ul{padding-left:20px}.explanation-link{color:inherit;display:block;margin-top:12px;text-underline-offset:3px}.audit-panel details{border-color:var(--line)}
[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}[data-theme=dark] .audit-panel{background:#172033}[data-theme=dark] .comparison-grid>div{background:#202d43}[data-theme=dark] .comparison-grid .comparison-final{background:#263e66;color:#d5e4ff;border-color:#526e9b}[data-theme=dark] .check-badge{background:#203c31;color:#b5e4c6}[data-theme=dark] .summary{background:#253628;color:#e7efda}[data-theme=dark] .summary-note,[data-theme=dark] .summary .empty,[data-theme=dark] .summary details p{color:#bfd0b1}[data-theme=dark] .summary .total-row,[data-theme=dark] .summary .transfer,[data-theme=dark] .summary details{border-color:#4b6041}[data-theme=dark] .summary .outline-button{border-color:#789564}[data-theme=dark] .summary .dark-button{background:#daf18d;color:#223415}[data-theme=dark] .small-button{background:#253754;color:#c5d6ff;border-color:#48608c}[data-theme=dark] .free{border-color:#425069}
@media(max-width:1000px){.person-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.top .free{display:none}.theme-control label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.theme-control{margin-left:auto}.audit-panel{padding:20px}.comparison-grid{gap:8px}.comparison-grid>div{padding:12px 9px}.comparison-grid strong{font-size:29px}.comparison-grid span{font-size:12px}.person-breakdown{grid-template-columns:1fr}.audit-heading h2{font-size:21px}.balance-line{font-size:14px}}@media(max-width:380px){.comparison-grid{grid-template-columns:1fr}.comparison-grid>div{display:flex;gap:18px;align-items:center}.comparison-grid strong{margin:0;min-width:40px}}

/* Keep the shared-room fragment intact: navigation uses buttons, not hash links. */
.explanation-link{font:inherit;background:none;border:0;padding:0;text-align:left;text-decoration:underline;cursor:pointer}
.quick-nav{display:none}
.total-row,.balance-line{flex-wrap:wrap}
.expense-amount,.transfer strong,.total-row strong,.balance-line strong{font-variant-numeric:tabular-nums}
dialog{max-height:90dvh;overflow:auto}
[data-theme=dark] .audit-panel details p{color:var(--muted)}
[data-theme=dark] :focus-visible{outline-color:#91adff}
@media(max-width:760px){
 .intro .eyebrow{display:none}.intro h1{font-size:32px}.intro-note{font-size:14px;margin-top:12px}
 .personal-calculation .intro{margin-bottom:16px}.personal-calculation .intro h1{font-size:25px}.personal-calculation .intro h1 br{display:none}.personal-calculation .intro-note{display:none}
 .quick-nav{display:flex;gap:8px;position:sticky;top:calc(var(--tg-content-safe-area-inset-top,0px) + 8px);z-index:5;padding:8px;margin:0 0 16px;border:1px solid var(--line);border-radius:12px;background:#f3f5fa;box-shadow:0 3px 12px #18243c12}
 .quick-nav button{min-height:44px}.quick-nav #quick-summary{flex:1;white-space:normal}.quick-nav span{margin:0 4px;font-variant-numeric:tabular-nums}
 [data-theme=dark] .quick-nav{background:#111827}
 #expense-form,#summary-panel,#calculation-details{scroll-margin-top:calc(var(--tg-content-safe-area-inset-top,0px) + 85px)}
 .remove{min-width:36px;min-height:36px}.expense-buttons button,.room-actions .subtle,.linkbutton,.triphead .subtle{min-height:44px}
 .expense{flex-wrap:wrap}.expense-info{flex:1 1 130px}.expense-right{max-width:100%}.expense-amount{white-space:normal;overflow-wrap:anywhere}
 .transfer{flex-wrap:wrap;gap:5px}.transfer-route{flex:1 1 130px}.transfer strong{white-space:normal;overflow-wrap:anywhere;font-size:clamp(20px,6vw,26px);max-width:100%}
 .total-row strong{font-size:clamp(17px,5.3vw,21px);white-space:normal;overflow-wrap:anywhere}
 .triphead{flex-wrap:wrap}.triphead>div{flex-basis:180px}.person{max-width:100%}.person-name{max-width:calc(100vw - 180px)}
}
