:root{--bg: #f6f7f8;--surface: #fff;--text: #1a2024;--muted: #5d6b73;--line: #dde3e7;--accent: #0f766e;--accent-ink: #fff;--bonus: #1d4ed8;--penalty: #b91c1c;--ok: #15803d;--warn: #b45309;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #11161a;--surface: #1a2127;--text: #e7edf1;--muted: #93a1aa;--line: #2b353c;--accent: #2dd4bf;--accent-ink: #052e2b;--bonus: #7aa2ff;--penalty: #f87171;--ok: #4ade80;--warn: #fbbf24}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.25rem;margin:0 0 .15rem}h2{font-size:1.05rem;margin:0;display:flex;justify-content:space-between}h3{font-size:.85rem;margin:.9rem 0 .25rem;text-transform:uppercase;letter-spacing:.03em}a{color:var(--accent)}code{background:var(--line);padding:0 .25em;border-radius:4px;word-break:break-all}.page{max-width:720px;margin:0 auto;padding:16px 16px 96px}.page.narrow{max-width:420px;padding-top:12vh}.page.wide{max-width:1100px;padding-bottom:32px}.muted{color:var(--muted)}.small{font-size:.85rem}.strong{font-weight:700}.error{color:var(--penalty)}.grow{flex:1;min-width:0}.topbar{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.topbar.sticky{position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 0;margin:0 0 8px;border-bottom:1px solid var(--line);align-items:center}.topbar p{margin:0}.back{text-decoration:none;padding:8px 4px;white-space:nowrap}.total{text-align:right}.total strong{display:block;font-size:1.6rem;line-height:1}.input{width:100%;padding:12px;font-size:1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);margin-bottom:10px}.btn{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:1rem;text-decoration:none;cursor:pointer;text-align:center}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn.block{display:block;width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.badge{padding:4px 10px;border-radius:999px;font-size:.8rem;white-space:nowrap;border:1px solid var(--line)}.badge.open{color:var(--ok);border-color:var(--ok)}.badge.closed{color:var(--penalty);border-color:var(--penalty)}.badge.draft{color:var(--warn);border-color:var(--warn)}.notice{background:var(--surface);border-left:4px solid var(--warn);padding:10px 12px;border-radius:6px}.list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.list .row{display:flex;gap:12px;align-items:center;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit}.time{color:var(--muted);font-variant-numeric:tabular-nums;min-width:3.2em}.state{font-size:.85rem;color:var(--muted);white-space:nowrap}.state.ok{color:var(--ok);font-weight:600}.state.wip{color:var(--warn)}.group{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}.group h2 .sub{font-variant-numeric:tabular-nums}.kind.bonus h3{color:var(--bonus)}.kind.penalty h3{color:var(--penalty)}.kind h3 .muted{text-transform:none;letter-spacing:0}.crit{padding:10px 0;border-top:1px solid var(--line)}.crit .label{margin:0 0 8px;font-size:.95rem}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-width:52px;min-height:44px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:1rem;font-variant-numeric:tabular-nums;cursor:pointer}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.chip.bonus.on{background:var(--bonus);border-color:var(--bonus);color:#fff}.chip.penalty.on{background:var(--penalty);border-color:var(--penalty);color:#fff}.chip:disabled{opacity:.55;cursor:not-allowed}.footer{position:fixed;left:0;right:0;bottom:0;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.save{font-size:.85rem;color:var(--muted)}.save.saved{color:var(--ok)}.save.error{color:var(--penalty)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:12px}.seg-btn{padding:8px 14px;background:var(--surface);color:var(--text);border:0;border-right:1px solid var(--line);cursor:pointer;font-size:.95rem}.seg-btn:last-child{border-right:0}.seg-btn.on{color:#fff}.seg-btn.on.open{background:var(--ok)}.seg-btn.on.draft{background:var(--warn)}.seg-btn.on.closed{background:var(--penalty)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px}.tabs button{padding:10px 14px;border:0;background:none;color:var(--muted);cursor:pointer;font-size:1rem;border-bottom:3px solid transparent}.tabs button.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.check{display:flex;gap:8px;align-items:center}.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}.table{width:100%;border-collapse:collapse;font-size:.95rem}.table th,.table td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.table td:nth-child(3){white-space:normal}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:var(--bg)}.table.inner td{border-bottom:0;padding:5px 10px}.detail>td{background:var(--bg)}.judge{display:flex;gap:12px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap}.linkbox{display:block;margin-top:4px;overflow-wrap:anywhere}.actions{display:flex;gap:8px}.sheetpage{height:100vh;display:flex;flex-direction:column;padding:10px 14px 0;gap:8px}.sheethead{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.sheetstat{display:flex;gap:14px;align-items:center}.infobar{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 12px;min-height:40px;display:flex;gap:14px;align-items:center;font-size:.92rem}.negtxt{color:var(--penalty)}.sheetpage .notice,.sheetpage .error{margin:0}.sheetwrap{flex:1;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-bottom:10px}.sheet{border-collapse:separate;border-spacing:0;font-size:.9rem}.sheet th,.sheet td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;background:var(--surface)}.sheet thead th{position:sticky;z-index:3;text-align:center}.h-groups th{top:0;height:30px;padding:0 8px;font-size:.85rem}.h-labels th{top:30px;height:190px;vertical-align:bottom}.h-max th{top:220px;height:26px;font-weight:600;font-size:.85rem}.sheet th[rowSpan="3"]{top:0;z-index:4}.grp.g1{background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.grp.g2{background:color-mix(in srgb,var(--bonus) 22%,var(--surface))}.grp.g3{background:color-mix(in srgb,var(--warn) 22%,var(--surface))}.lab{width:46px;min-width:46px;max-width:46px}.vlabel{writing-mode:vertical-rl;transform:rotate(180deg);height:186px;width:44px;overflow:hidden;font-size:.72rem;line-height:1.15;font-weight:500;padding:3px 2px;margin:0 auto;text-align:left}.lab.penalty .vlabel,.mx.penalty,.lab.team_penalty .vlabel,.mx.team_penalty{color:var(--penalty)}.lab.bonus .vlabel,.mx.bonus{color:var(--bonus)}.sheet .sticky{position:sticky;z-index:2;background:var(--surface)}.sheet thead .sticky{z-index:5}.c-time{left:0;width:54px;min-width:54px;padding:0 6px!important;color:var(--muted);font-variant-numeric:tabular-nums}.c-name{left:54px;width:190px;min-width:190px;max-width:190px;padding:0 8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;box-shadow:2px 0 0 var(--line)}.cc{width:46px;min-width:46px}.cell{width:46px;height:34px;border:0;background:transparent;color:var(--text);text-align:center;font:inherit;font-variant-numeric:tabular-nums;padding:0}.cell:focus{outline:2px solid var(--accent);outline-offset:-2px;background:color-mix(in srgb,var(--accent) 12%,transparent)}.cell.neg{color:var(--penalty);font-weight:600}.cell.bonus{color:var(--bonus)}.cell.bad{background:color-mix(in srgb,var(--penalty) 25%,transparent);outline:2px solid var(--penalty);outline-offset:-2px}.cell:disabled{cursor:not-allowed}.sumg{width:46px;min-width:46px;text-align:center;font-weight:700;background:var(--bg)!important;font-variant-numeric:tabular-nums}.sumcol{width:60px;min-width:60px;text-align:center;background:var(--bg)!important;font-variant-numeric:tabular-nums}.actcol{min-width:120px;padding:0 8px!important;white-space:nowrap}.btn.small{padding:4px 10px;font-size:.85rem}tr.locked td.cc{background:color-mix(in srgb,var(--ok) 8%,var(--surface))}tbody tr:hover td.c-name,tbody tr:hover td.c-time{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.chev-col{width:32px;padding-right:0!important}.chev{display:inline-block;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s ease,border-color .15s;vertical-align:middle}.chev.open{transform:rotate(45deg);border-color:var(--accent)}tr.clickable:hover .chev{border-color:var(--accent)}.rank{font-weight:700;font-variant-numeric:tabular-nums}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end;margin:8px 0 18px}.step{display:flex;flex-direction:column;justify-content:flex-end;text-align:center}.step .who{padding:10px 8px;min-height:96px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.step.empty .who{opacity:.5}.pname{font-weight:700;font-size:1.05rem}.pscore{font-size:1.7rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.pscore span{font-size:.8rem;font-weight:500;color:var(--muted)}.psub{font-size:.8rem;color:var(--muted)}.ties{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--warn)}.podium .block{border-radius:10px 10px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;font-size:2rem;font-weight:800;color:#fff}.p1 .block{height:130px}.p2 .block{height:96px}.p3 .block{height:72px}.podium .block.gold{background:linear-gradient(#e6b422,#b88a0a)}.podium .block.silver{background:linear-gradient(#aab4bf,#7b8794)}.podium .block.bronze{background:linear-gradient(#cd8b53,#9a5d2b)}.medal{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--bg);border:1px solid var(--line)}.medal.gold{background:#e6b422;color:#fff;border-color:#e6b422}.medal.silver{background:#8d98a5;color:#fff;border-color:#8d98a5}.medal.bronze{background:#b87333;color:#fff;border-color:#b87333}tr.top.gold td{background:color-mix(in srgb,#e6b422 14%,var(--surface))}tr.top.silver td{background:color-mix(in srgb,#8d98a5 14%,var(--surface))}tr.top.bronze td{background:color-mix(in srgb,#b87333 14%,var(--surface))}.barcol{min-width:140px}.bar{height:8px;background:var(--line);border-radius:999px;overflow:hidden;min-width:100px}.bar .fill{height:100%;background:var(--accent);border-radius:999px}.bar .fill.bad{background:var(--penalty)}.bar .fill.warn{background:var(--warn)}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:14px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.kv{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.kv.small{font-size:.95rem;font-weight:600}.ksub{margin-top:4px}.statcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:14px}.statcard h3{margin:0 0 8px;text-transform:none;letter-spacing:0;font-size:1rem}.statcard .tablewrap{border:0}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 900px){.twocol{grid-template-columns:1fr}.podium{gap:6px}}.critlist{list-style:none;margin:0;padding:0;display:grid;gap:8px}.critlist li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:.85rem}.critlist .cl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.critlist .cv{color:var(--muted);font-variant-numeric:tabular-nums}.critlist .bar{grid-column:1 / -1}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--accent)}.dot.g2{background:var(--bonus)}.dot.g3{background:var(--warn)}.tag{font-size:.8rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.tag.bad{color:var(--penalty);border-color:var(--penalty)}.tag.good{color:var(--ok);border-color:var(--ok)}.postxt{color:var(--ok)}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--accent)}.input.inline{width:auto;margin:0 0 0 6px;padding:6px 8px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:center;justify-content:center}.dialog{width:min(520px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 12px 40px #0006}.confirmtext{margin:0 0 4px;white-space:pre-line;line-height:1.45}.dialogbtns{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.trim-tag{display:inline-block;font-size:.75rem;padding:1px 8px;border-radius:999px;border:1px solid currentColor;margin-left:6px;white-space:nowrap}.trim-tag.high{color:var(--penalty)}.trim-tag.low{color:var(--bonus)}.trim-chip{padding:0 6px;border-radius:4px}.trim-chip.high{background:color-mix(in srgb,var(--penalty) 22%,transparent);color:var(--penalty)}.trim-chip.low{background:color-mix(in srgb,var(--bonus) 22%,transparent);color:var(--bonus)}.table.inner tr.trim-high td{background:color-mix(in srgb,var(--penalty) 18%,var(--bg))}.table.inner tr.trim-low td{background:color-mix(in srgb,var(--bonus) 18%,var(--bg))}.sheet tr.trim-high td,.sheet tr.trim-high td.cc{background:color-mix(in srgb,var(--penalty) 18%,var(--surface))!important}.sheet tr.trim-low td,.sheet tr.trim-low td.cc{background:color-mix(in srgb,var(--bonus) 20%,var(--surface))!important}.sheet tr.trim-high td.sumg,.sheet tr.trim-high td.sumcol{background:color-mix(in srgb,var(--penalty) 28%,var(--bg))!important}.sheet tr.trim-low td.sumg,.sheet tr.trim-low td.sumcol{background:color-mix(in srgb,var(--bonus) 30%,var(--bg))!important}.trimnote{border-left-color:var(--bonus)}.warntxt{color:var(--warn)}.lowtxt{color:var(--bonus);font-weight:600}.printhead{display:none}.toolbar.noprint{justify-content:space-between}@media print{@page{size:A4 portrait;margin:12mm}:root{--bg: #fff;--surface: #fff;--text: #000;--muted: #444;--line: #bbb;--accent: #0f766e;--penalty: #b91c1c}body{background:#fff;color:#000}.print-ranking{max-width:none;padding:0}.print-ranking>:not(.rankprint){display:none!important}.print-ranking .noprint{display:none!important}.printhead{display:block;margin-bottom:10px}.printhead h1{font-size:18pt;margin:0}.printhead p{margin:2px 0 0;color:#444;font-size:10pt}.rankprint *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.rankprint .tablewrap{overflow:visible}.rankprint .table{font-size:9.5pt}.rankprint .table tr,.rankprint .podium{break-inside:avoid}}.btn.copied{border-color:var(--ok);color:var(--ok);font-weight:600}.copiedmsg{color:var(--ok);word-break:break-all;margin-top:4px}.statusinfo{margin:0 0 10px}.statusinfo .badge{font-size:.9rem;font-weight:600;margin-left:4px}.whoami{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;line-height:1.2;margin-right:6px;text-align:right}.whoami .whoname{font-weight:600}.topbar .actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}.sheetpage{--ch: 34px;--cw: 46px}.sheetpage.dens-compact{--ch: 26px;--cw: 40px;font-size:.86rem}.sheetpage.dens-large{--ch: 46px;--cw: 58px;font-size:1.02rem}.sheetpage .lab,.sheetpage .cc,.sheetpage .sumg{width:var(--cw);min-width:var(--cw);max-width:var(--cw)}.sheetpage .cell{width:var(--cw);height:var(--ch)}.sheetpage .vlabel{width:calc(var(--cw) - 4px)}.sheetpage.dens-large .cell{font-size:1.1rem}.sheetpage.hc{--text: #fff;--surface: #000;--bg: #0c0c0c;--line: #8d99a3;--muted: #cbd5dc;--accent: #5eead4;--bonus: #93b4ff;--penalty: #ff8a8a;--ok: #6ee7a0;--warn: #ffd166;background:var(--bg);color:var(--text)}@media (prefers-color-scheme: light){.sheetpage.hc{--text: #000;--surface: #fff;--bg: #f1f1f1;--line: #444;--muted: #222;--accent: #00574f;--bonus: #0b2f9f;--penalty: #9b0000;--ok: #0a5c25;--warn: #7a4a00}}.sheetpage.hc .cell{font-weight:600}.sheetpage.hc .sheet th,.sheetpage.hc .sheet td{border-color:var(--line)}.toolbar2{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tgroup{display:inline-flex;gap:4px;align-items:center}.tlabel{color:var(--muted);font-size:.85rem;margin-right:2px}.chipbtn{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:.85rem}.chipbtn.on{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--text);border-color:var(--accent)}.tselect{display:inline-flex;gap:6px;align-items:center;font-size:.85rem;color:var(--muted)}.tselect select{padding:3px 6px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:6px}.sortchip{font-size:.85rem;color:var(--warn);display:inline-flex;gap:8px;align-items:center}.notice.offline{border-left-color:var(--penalty)}.sheetmain{flex:1;min-height:0;display:flex;gap:10px;margin-bottom:10px}.sheetmain .sheetwrap{margin-bottom:0;min-width:0}.rankpanel{width:250px;flex:none;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.rankpanel h3{margin:0 0 2px;text-transform:none;letter-spacing:0;font-size:1rem}.rankpanel ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.rankpanel li{display:grid;grid-template-columns:24px 1fr auto;gap:2px 8px;align-items:center;cursor:pointer;font-size:.85rem;padding:4px;border-radius:6px}.rankpanel li:hover{background:var(--bg)}.rankpanel li.untouched{opacity:.5}.rankpanel .bar{grid-column:1 / -1;height:5px;min-width:0}.rk{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;background:var(--bg);border:1px solid var(--line)}.rk.m1{background:#e6b422;color:#fff;border-color:#e6b422}.rk.m2{background:#8d98a5;color:#fff;border-color:#8d98a5}.rk.m3{background:#b87333;color:#fff;border-color:#b87333}.rn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv{font-variant-numeric:tabular-nums;font-weight:700}.sheet th.sortable,.sheet th.toggle{cursor:pointer}.sheet th.sortable:hover,.sheet th.toggle:hover{filter:brightness(1.25)}.sheet th.colactive{background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.sheet tr.active td:not(.sumg):not(.sumcol):not(.avg){background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.sheet td.colactive{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.sheet tr.active td.colactive{background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.cell.hi{background:color-mix(in srgb,var(--ok) 24%,transparent);font-weight:700}.cell.lo{background:color-mix(in srgb,var(--penalty) 20%,transparent)}.cell.st-saving{box-shadow:inset 0 -3px 0 var(--warn)}.cell.st-error{box-shadow:inset 0 0 0 2px var(--penalty);background:color-mix(in srgb,var(--penalty) 18%,transparent)}.sheet .sticky-r{position:sticky;z-index:3;background:var(--bg)!important}.sheet thead .sticky-r{z-index:6}.sheet .r-act{right:0;width:196px;min-width:196px;max-width:196px}.sheet .r-rank{right:196px;width:62px;min-width:62px}.sheet .r-total{right:258px;width:62px;min-width:62px;box-shadow:-2px 0 0 var(--line)}.acts{display:flex;gap:4px;align-items:center}.notebadge{font-size:.75rem;display:block;margin-top:2px}.sheet tfoot td{position:sticky;bottom:0;z-index:2;background:var(--bg)!important;font-weight:600;font-size:.8rem;text-align:center;border-top:2px solid var(--line);height:30px;font-variant-numeric:tabular-nums}.sheet tfoot td.sticky{z-index:5;text-align:left;padding:0 8px}.sheet tfoot td.avg.penalty,.sheet tfoot td.avg.team_penalty{color:var(--penalty)}.sheet tfoot td.avg.bonus{color:var(--bonus)}.sheet tfoot td.sticky-r{z-index:5}.popmenu{position:fixed;z-index:50;width:250px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #00000059;padding:4px;display:grid}.popmenu button{text-align:left;padding:9px 10px;background:none;border:0;color:var(--text);cursor:pointer;border-radius:6px;font:inherit}.popmenu button:hover:not(:disabled){background:var(--bg)}.popmenu button:disabled{opacity:.4;cursor:not-allowed}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0000008c;display:flex;align-items:center;justify-content:center}.dialog{width:min(520px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.dialog h3{margin:0 0 4px;text-transform:none;letter-spacing:0;font-size:1.05rem}.dialog textarea{width:100%;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;resize:vertical}.dialogbtns{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}@media (max-width: 1100px){.rankpanel{display:none}}@media print{@page{size:A3 landscape;margin:8mm}body{background:#fff;color:#000}.sheetpage{height:auto;padding:0;display:block;color:#000}.toolbar2,.infobar,.notice,.rankpanel,.popmenu,.modal,.acts,.notebadge,.sheetstat,.r-act{display:none!important}.sheetmain{display:block}.sheetwrap{overflow:visible;border:0}.sheet th,.sheet td,.sheet tfoot td{position:static!important;background:#fff!important;color:#000!important;border-color:#999!important}.sheet .sticky-r{right:auto!important;box-shadow:none}.sheet{font-size:8pt}.cell{border:0;height:18px;color:#000!important;background:transparent!important;box-shadow:none!important}.vlabel{height:150px;font-size:6.5pt}.h-labels th{height:160px}}.sheet .c-time{width:92px;min-width:92px;max-width:92px;font-size:.8rem}.sheet .c-name{left:92px}.acts{white-space:nowrap}.sheet td.notable{cursor:pointer}.sheet td.notable:hover{color:var(--accent);text-decoration:underline dotted}.sheet td.hasnote{color:var(--accent)}.sheet td.c-name.teamname{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;padding-top:4px!important;padding-bottom:4px!important}.sheet td.c-name .member{font-weight:600}.teamtag{display:inline-block;font-size:.65rem;letter-spacing:.06em;padding:0 6px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);margin-bottom:2px}.sheet td.cc.na{background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--muted) 14%,transparent) 6px 7px),var(--surface)}.sheet td.cc.na .cell{cursor:not-allowed;opacity:.35}.rankkind{margin:12px 0 2px;font-size:.8rem;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.infobar{height:58px;min-height:58px;overflow:hidden}.infobar>span{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.backlink{display:inline-block;font-size:.85rem;text-decoration:none;margin-bottom:4px}.eventcard{display:flex;gap:14px;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit}.eventcard:hover{border-color:var(--accent)}.eventcard strong{font-size:1.05rem}.newevent{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;margin-bottom:6px}.newevent .input{margin:0}@media (max-width: 900px){.newevent{grid-template-columns:1fr}}.inlineform{display:flex;gap:8px;align-items:center;margin-top:10px}.inlineform .input{margin:0;flex:1}.dictlist{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px;max-height:360px;overflow:auto}.dictlist li{display:flex;gap:10px;align-items:center;padding:3px 4px;border-bottom:1px solid var(--line)}.dictname{flex:1;min-width:0;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font:inherit}.dictname:hover,.dictname:focus{border-color:var(--line);background:var(--bg);outline:none}.pickbox{display:grid;gap:6px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px;margin:6px 0 10px;background:var(--bg)}.statcard h4{margin:14px 0 0;font-size:.9rem;color:var(--muted)}.matrix th,.matrix td{padding:5px 10px}.matrix td.num{text-align:center}.matrix input[type=checkbox]{width:18px;height:18px;cursor:pointer}.matrix tfoot td{border-top:2px solid var(--line)}.pwwrap{position:relative}.pwwrap .input{padding-right:46px}.pweye{position:absolute;right:4px;top:4px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:8px;color:var(--muted);cursor:pointer}.pweye:hover,.pweye:focus-visible{color:var(--accent);background:var(--bg);outline:none}.pweye[aria-pressed=true]{color:var(--accent)}.schedbar{display:flex;gap:10px;align-items:center;padding:8px 12px;margin-bottom:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;position:sticky;top:0;z-index:8}.schedbar.dirty{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn) inset}.sinput{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-variant-numeric:tabular-nums}.sinput:focus{outline:2px solid var(--accent);outline-offset:-1px}.sinput.bad{border-color:var(--penalty);background:color-mix(in srgb,var(--penalty) 20%,var(--bg))}.w50{width:56px}.w70{width:76px}.w90{width:92px}.w110{width:130px}.plans td,.sched td{vertical-align:middle}.nowrap{white-space:nowrap}.daychips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px}.chipbtn.warn{color:var(--warn);border-color:var(--warn)}.bulkbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;margin-bottom:10px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid var(--accent);border-radius:10px}.sched tr.picked td{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.sched tr.changed td:nth-child(4),.sched tr.changed td:nth-child(5){box-shadow:inset 3px 0 0 var(--warn)}.fill{margin-left:4px;font-size:1rem;text-decoration:none}.pastebox summary{cursor:pointer;font-weight:600}.pastebox textarea{margin:8px 0}.critlayout{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}@media (max-width: 1000px){.critlayout{grid-template-columns:1fr}}.setlist{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px}.setbtn{width:100%;display:flex;gap:8px;align-items:center;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);cursor:pointer;font:inherit}.setbtn.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.setheader{display:flex;gap:8px;align-items:center;margin-bottom:6px}.setname{font-size:1.1rem;font-weight:700;border-color:var(--line)}.critedit td{vertical-align:top}.critedit .labelcell{min-width:340px}.labelarea{width:100%;resize:vertical;line-height:1.3}.critedit tr.k-bonus td:first-child{box-shadow:inset 3px 0 0 var(--bonus)}.critedit tr.k-penalty td:first-child,.critedit tr.k-team_penalty td:first-child{box-shadow:inset 3px 0 0 var(--penalty)}.critedit tr.k-base td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.teamtag{display:inline-block;font-size:.65rem;letter-spacing:.06em;padding:0 6px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);vertical-align:middle}.dictlist li.teamli{flex-wrap:wrap}.teamedit{flex-basis:100%;margin:6px 0;padding:8px;background:var(--bg);border:1px solid var(--line);border-radius:8px}.critedit tr.k-team td:first-child{box-shadow:inset 3px 0 #a855f7}.titlerow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.titlerow h1{margin:0}.titleinput{margin:0;min-width:320px;font-size:1.1rem;font-weight:700}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid transparent;border-radius:8px;color:var(--muted);cursor:pointer}.iconbtn:hover,.iconbtn:focus-visible{color:var(--accent);border-color:var(--line);background:var(--bg);outline:none}.modal.top{z-index:50;align-items:flex-start;padding:4vh 12px;overflow:auto}.dialog.wide{width:min(1100px,96vw);max-height:92vh;overflow:auto}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.dialoghead h3{margin:0}.metaform{display:grid;gap:14px;max-width:640px}.metaform label{display:grid;gap:4px;font-weight:600;font-size:.9rem}.metaform .input{margin:0;font-weight:400}.eventdesc{margin:2px 0 0;max-width:720px;white-space:pre-line}.critview td{vertical-align:top}.critview .kindcell{width:110px}.kindtag{display:inline-block;font-size:.72rem;padding:1px 8px;border-radius:999px;border:1px solid var(--accent);color:var(--accent)}.kindtag.bonus{color:var(--bonus);border-color:var(--bonus)}.kindtag.penalty{color:var(--penalty);border-color:var(--penalty)}.kindtag.team_penalty{color:#d946ef;border-color:var(--penalty)}.kindtag.team{color:#a855f7;border-color:#a855f7}.usercheck{display:grid;gap:6px;margin:8px 0}fieldset.plain{border:0;padding:0;margin:0;min-width:0}.userlist li{align-items:flex-start}.useredit{display:grid;gap:8px;width:100%}.critview{table-layout:fixed}.critview td{white-space:normal;overflow-wrap:anywhere}.critview .kindcell{width:110px;white-space:nowrap}.critview td.num{width:64px;white-space:nowrap}.badge.inactive{margin-left:8px;font-size:.72rem}.metaform label.check,.useredit label.check{display:flex;align-items:center;gap:10px;font-weight:500;font-size:.95rem;cursor:pointer;width:fit-content}.metaform label.check input,.useredit label.check input{width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer;flex:none}.useredit .untilfield{display:grid;gap:4px;font-weight:600;font-size:.9rem}.useredit .untilfield .input{margin:0;font-weight:400;max-width:220px}
