:root{--bg: #0c0f0e;--panel: #141816;--panel-2: #1a1f1c;--line: #2a322d;--text: #c8d0c9;--text-dim: #8a948c;--accent: #4be3c3;--pos: #8fb35c;--pos-dim: #3a4a2a;--pos-bg: #171c13;--neg: #c96a5f;--neg-dim: #4a2a26;--neg-bg: #1d1413;--gold: #d9b45f;--font-head: "Bahnschrift", "DIN Alternate", "Franklin Gothic Medium", "Arial Narrow", sans-serif;--font-body: "Segoe UI", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.45;background-image:radial-gradient(ellipse 80% 50% at 50% -10%,#16241f 0%,transparent 60%)}.wrap{max-width:1400px;margin:0 auto;padding:0 16px 80px}header{text-align:center;padding:36px 0 8px}.season-tag{font-family:var(--font-head);letter-spacing:.5em;color:var(--accent);font-size:13px;text-transform:uppercase}h1{font-family:var(--font-head);font-size:clamp(32px,6vw,56px);letter-spacing:.08em;text-transform:uppercase;margin:4px 0 2px}h1 .kord{background:#e8ece9;color:#0c0f0e;padding:0 12px}h1 .breach{color:#e8ece9;border:2px solid #e8ece9;padding:0 12px;margin-left:6px}.subtitle{color:var(--text-dim);font-size:13px;letter-spacing:.2em;text-transform:uppercase}.balance-bar{position:sticky;top:0;z-index:50;background:#0c0f0eeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);margin:24px -16px 28px;padding:10px 16px}.balance-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.bal-stat{text-align:center}.bal-stat .lbl{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim)}.bal-stat .val{font-family:var(--font-head);font-size:24px;font-weight:700;display:inline-block}@keyframes val-pop{40%{transform:scale(1.25)}}.bal-stat .val.pop{animation:val-pop .28s ease}.bal-stat .val.pos{color:var(--pos)}.bal-stat .val.neg{color:var(--neg)}#balanceVal{font-size:32px;min-width:70px}#balanceVal.ok{color:var(--pos)}#balanceVal.owe{color:var(--neg)}#balanceVal.spare{color:var(--gold)}.bal-status{font-family:var(--font-head);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border:1px solid var(--line);min-width:240px;text-align:center}.bal-status.ok{border-color:var(--pos);color:var(--pos);box-shadow:0 0 12px #8fb35c40}.bal-status.owe{border-color:var(--neg);color:var(--neg)}.bal-status.spare{border-color:var(--gold);color:var(--gold)}.bal-actions{display:flex;gap:8px}.btn{font-family:var(--font-head);font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:var(--panel-2);color:var(--text);border:1px solid var(--line);padding:8px 14px;cursor:pointer}.btn:hover{border-color:var(--accent);color:var(--accent)}.section-head{font-family:var(--font-head);text-align:center;font-size:20px;letter-spacing:.35em;text-transform:uppercase;padding:8px 0;margin:36px 0 16px}.section-head.global{background:linear-gradient(90deg,transparent,#232a26 20%,#232a26 80%,transparent)}.section-head.positive{background:linear-gradient(90deg,transparent,var(--pos-dim) 20%,var(--pos-dim) 80%,transparent);color:#cfe0ad}.section-head.negative{background:linear-gradient(90deg,transparent,var(--neg-dim) 20%,var(--neg-dim) 80%,transparent);color:#e6b3ab}.section-note{text-align:center;color:var(--text-dim);font-size:12px;margin:-10px 0 16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}.perk{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);padding:12px 14px;position:relative;-webkit-user-select:none;user-select:none}.perk.selectable{cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s}.perk input{position:absolute;opacity:0;pointer-events:none}.perk:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.grid.positive .perk{background:var(--pos-bg)}.grid.negative .perk{background:var(--neg-bg)}.grid.positive .perk.selectable:hover{border-color:#5a6e3e}.grid.negative .perk.selectable:hover{border-color:#6e433c}.grid.positive .perk:has(input:checked){border-color:var(--pos);box-shadow:inset 0 0 24px #8fb35c1f,0 0 10px #8fb35c26;background:#1c2414}.grid.negative .perk:has(input:checked){border-color:var(--neg);box-shadow:inset 0 0 24px #c96a5f1f,0 0 10px #c96a5f26;background:#291715}.perk .check{position:absolute;top:6px;right:8px;font-size:14px;opacity:0;transition:opacity .12s}.grid.positive .perk .check{color:var(--pos)}.grid.negative .perk .check{color:var(--neg)}.perk:has(input:checked) .check{opacity:1}.perk .icon{flex:0 0 56px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.perk .icon img{width:44px;height:44px;opacity:.82}.perk:has(input:checked) .icon img{opacity:1}.perk .body{flex:1;min-width:0}.perk .name{font-family:var(--font-head);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#dfe5e0;margin-bottom:3px;display:flex;align-items:baseline;gap:8px}.perk .pts{font-size:12px;font-weight:700;padding:0 6px;border:1px solid var(--line);border-radius:2px}.grid.positive .pts{color:var(--pos);border-color:var(--pos-dim)}.grid.negative .pts{color:var(--neg);border-color:var(--neg-dim)}.perk ul{list-style:none}.perk li{color:var(--text-dim);font-size:12.5px;padding-left:12px;position:relative}.perk li:before{content:"•";position:absolute;left:0}.grid.global .perk{opacity:.95}.grid.global .tag{position:absolute;top:6px;right:8px;font-size:9px;letter-spacing:.12em;color:var(--text-dim);border:1px solid var(--line);padding:1px 6px;text-transform:uppercase}.overview details{background:var(--panel);border:1px solid var(--line)}.overview summary{font-family:var(--font-head);font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none}.overview summary::-webkit-details-marker{display:none}.overview summary:after{content:"▾";color:var(--text-dim);transition:transform .15s}.overview details[open] summary:after{transform:rotate(180deg)}.ov-badge{font-size:11px;letter-spacing:.05em;color:var(--text-dim);border:1px solid var(--line);padding:1px 8px;margin-left:auto}.ov-body{border-top:1px solid var(--line)}.ov-group-title{font-family:var(--font-head);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);padding:10px 14px 4px;display:flex;justify-content:space-between;align-items:baseline}.ov-group-title.pos{color:var(--pos)}.ov-group-title.neg{color:var(--neg)}.ov-group-title .sum{font-size:12px}.ov-list{list-style:none}.ov-item{display:flex;align-items:flex-start;gap:10px;padding:6px 10px 6px 14px;border-top:1px solid rgba(255,255,255,.04)}.ov-item .ov-icon{flex:0 0 22px;width:22px;height:22px;margin-top:1px}.ov-item .ov-icon img{width:22px;height:22px;opacity:.82}.ov-item .ov-effects{flex:1;min-width:0;font-size:11.5px;color:var(--text);line-height:1.35}.ov-item .ov-effects div+div{margin-top:2px}.ov-item .ov-pts{font-size:12px;font-weight:700}.ov-item.pos .ov-pts{color:var(--pos)}.ov-item.neg .ov-pts{color:var(--neg)}.ov-item.global .ov-effects{color:var(--text-dim)}.ov-remove{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:13px;line-height:1;padding:4px 6px}.ov-remove:hover{color:var(--neg)}.ov-empty{padding:6px 14px;font-size:12px;color:var(--text-dim);font-style:italic;border-top:1px solid rgba(255,255,255,.04)}.ov-total{font-family:var(--font-head);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;margin-top:6px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.ov-total .val.ok{color:var(--pos)}.ov-total .val.owe{color:var(--neg)}.ov-total .val.spare{color:var(--gold)}.overview{margin-bottom:8px}@media(min-width:1200px){.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.layout main{order:1;min-width:0}.overview{order:2;position:sticky;top:calc(var(--bar-h, 64px) + 14px);margin:36px 0 0;max-height:calc(100vh - var(--bar-h, 64px) - 28px);overflow-y:auto;scrollbar-width:thin}.overview summary{pointer-events:none}.overview summary:after{display:none}}footer{text-align:center;color:var(--text-dim);font-size:11.5px;margin-top:48px}footer .disclaimer{font-style:italic}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(80px);background:var(--panel-2);border:1px solid var(--accent);color:var(--accent);padding:10px 20px;font-family:var(--font-head);font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:transform .25s;z-index:100}#toast.show{transform:translate(-50%) translateY(0)}
