:root{--bg:#f7f7f5;--card:#ffffff;--text:#17181a;--muted:#6b6f76;--line:#e3e3df;--accent:#c2410c;--accent-text:#ffffff;--ok:#15803d;--bad:#b91c1c;--on:#fff3ea}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.wrap{max-width:1100px;margin:0 auto;padding:24px 16px 96px}h1{font-size:1.7rem;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:1.15rem;margin:0 0 10px}.sub{margin:0 0 20px}.muted,.sub{color:var(--muted)}.notice{padding:16px;background:var(--card);border:1px solid var(--line);border-radius:10px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:20px;gap:20px;align-items:start}.card,.panel,.picker{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}.panel{position:-webkit-sticky;position:sticky;top:16px}.filters,.lockline{margin-bottom:12px}.filters{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:8px;gap:8px}.filters .check,.filters input[type=search]{grid-column:1/-1}.filters .check{display:flex;gap:8px;align-items:center;font-size:.92rem;color:var(--muted)}button,input,select{font:inherit}input:not([type=checkbox]),select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.teams{list-style:none;margin:0;padding:0;max-height:70vh;overflow-y:auto;border-top:1px solid var(--line)}.teams li{display:grid;grid-template-columns:1fr 56px 44px 76px;grid-gap:8px;gap:8px;align-items:center;padding:8px 6px;border-bottom:1px solid var(--line)}.teams .proj{grid-column:1/-1;margin-top:-4px;font-size:.82rem;color:var(--muted)}.teams li.on{background:var(--on)}.teams .tname{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.empty{color:var(--muted);padding:12px 6px}button{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button.primary{width:100%;margin-top:10px;padding:11px;background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button.secondary{width:100%;margin-top:8px;padding:10px}button.link{border:none;background:none;color:var(--muted);text-decoration:underline;padding:0 2px}.meter{height:10px;border-radius:999px;background:var(--line);overflow:hidden}.fill{height:100%;background:var(--accent);transition:width .15s}.budgetline{margin:8px 0 10px}.picklist{list-style:none;margin:0 0 14px;padding:0}.picklist li{display:grid;grid-template-columns:1fr auto auto;grid-gap:10px;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);align-items:center}.done .picklist li{grid-template-columns:1fr auto 48px}.total{font-weight:600}label{display:block;margin-top:10px;font-size:.92rem;color:var(--muted)}label input{margin-top:4px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.error{color:var(--bad);margin:10px 0 0}.hint{color:var(--muted);font-size:.9rem;margin:8px 0 0}.confirm p{margin:0 0 8px}.rules{margin-top:24px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.rules summary{cursor:pointer;font-weight:600}.rules table{width:100%;border-collapse:collapse;margin-top:10px}.rules td{padding:6px 0;border-bottom:1px solid var(--line);vertical-align:top}.rules td:last-child{text-align:right;white-space:nowrap;padding-left:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fine{color:var(--muted);font-size:.9rem}.summarybar{display:none}.done{max-width:560px;margin:0 auto}@media (max-width:820px){.layout{grid-template-columns:1fr}.panel{position:static}.teams{max-height:60vh}.summarybar{display:block;position:fixed;left:0;right:0;bottom:0;padding:14px 16px;background:var(--accent);color:var(--accent-text);font-weight:600;text-align:center;text-decoration:none;z-index:10}}.navbar{max-width:1100px;margin:0 auto;padding:14px 16px 0;display:flex;justify-content:flex-end;gap:18px}.navbar a{color:var(--muted);text-decoration:none;font-weight:500}.navbar a:hover{color:var(--text);text-decoration:underline}.wrap{padding-top:12px}.prose{max-width:720px}.prose h2{margin:28px 0 8px;font-size:1.25rem}.prose p,.prose ul{margin:0 0 12px}.prose ul{padding-left:22px}.prose table{width:100%;border-collapse:collapse;margin:8px 0 12px}.prose td{padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top}.prose td:last-child{text-align:right;white-space:nowrap;padding-left:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prose a{color:var(--accent)}.editlink{margin:12px 0 16px;padding:12px;border:1px solid var(--accent);border-radius:10px;background:var(--on)}.editlink input{margin:8px 0 0;font-size:.85rem}.sitefoot{max-width:1100px;margin:0 auto;padding:0 16px 28px;text-align:center;font-size:.72rem;color:var(--muted)}.sitefoot a{color:inherit}.standings{list-style:none;margin:0 0 12px;padding:0;max-width:720px;background:var(--card);border:1px solid var(--line);border-radius:12px}.standings>li{border-bottom:1px solid var(--line)}.standings>li:last-child{border-bottom:none}.standings summary{display:grid;grid-template-columns:32px 1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.standings summary::-webkit-details-marker{display:none}.standings summary:after{content:"";display:none}.standings .rank{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.standings .sname{font-weight:600}.standings .spts{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.standings details[open] summary{border-bottom:1px solid var(--line)}.steams{list-style:none;margin:0;padding:4px 16px 10px 56px}.steams li{display:grid;grid-template-columns:1fr 60px 40px;grid-gap:8px;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.steams li:last-child{border-bottom:none}.viewlink{display:block;text-align:center;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--text);text-decoration:none;font-weight:600}.scoring{margin-top:8px}.scoretable{width:100%;border-collapse:collapse;margin:0}.scoretable td{padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top}.scoretable td:last-child{text-align:right;white-space:nowrap;padding-left:12px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scoregrid{margin:14px 0 4px}.scoregrid h3{margin:0 0 6px;font-size:.95rem}.scoregrid h3 .muted{font-weight:400;font-size:.85rem}.cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));grid-gap:8px;gap:8px}.cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border:1px solid var(--line);border-radius:10px;background:var(--bg);text-align:center}.cell .cl{font-size:.78rem;color:var(--muted)}.cell .cv{font-size:1.15rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:820px){.teams{max-height:none;overflow:visible}.filters{position:-webkit-sticky;position:sticky;top:0;z-index:5;grid-template-columns:1fr 1fr;gap:6px;margin:0 -16px;padding:8px 16px;background:var(--card);border-bottom:1px solid var(--line)}.filters .check{font-size:.85rem}}.cells[data-n="4"]{grid-template-columns:repeat(4,1fr)}.cells[data-n="2"]{grid-template-columns:repeat(2,1fr)}.cells[data-n="6"]{grid-template-columns:repeat(6,1fr)}@media (max-width:520px){.cells[data-n="4"]{grid-template-columns:repeat(2,1fr)}.cells[data-n="6"]{grid-template-columns:repeat(3,1fr)}}.teams button.btn-add:not(:disabled){background:#ecfdf3;border-color:#86efac;color:#166534;font-weight:600}.teams button.btn-add:not(:disabled):hover{background:#dcfce7}.teams button.btn-remove{background:#fef2f2;border-color:#fca5a5;color:#b91c1c;font-weight:600}.teams button.btn-remove:hover{background:#fee2e2}.picklist button.link{color:var(--bad)}.checks{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 18px}.checks .check{margin-top:0}.top .note{margin:-14px 0 18px}