:root{--ground:#F1F4F5;--ground-2:#E8EDEF;--surface:#FFFFFF;--surface-2:#F2F5F6;--surface-3:#E6ECEE;--tint:rgba(13,96,104,.045);--ink:#16202A;--ink-2:#56687A;--ink-3:#8A99A6;--rule:#E1E7EB;--rule-2:#CBD5DC;--accent:#0D6068;--accent-2:#0A4A50;--accent-ink:#0D6068;--on-accent:#FFFFFF;--accent-soft:#E0EFEF;--accent-line:#A8D2D4;--ok:#17654A;--ok-soft:#DFF0E7;--ok-line:#A9D6BF;--warn:#8A5B06;--warn-soft:#FBEFD9;--warn-line:#E4C489;--bad:#A02D21;--bad-soft:#FAE5E2;--bad-line:#E7B0A8;--phase-regular:#0876AE;--phase-regular-soft:#DDF2FC;--phase-regular-line:#69BDE3;--phase-pt:#9B2F87;--phase-pt-soft:#F8E2F3;--phase-pt-line:#DD8BCB;--shadow-1:0 1px 1px rgba(22,32,42,.035),0 2px 6px rgba(22,32,42,.05);--shadow-2:0 1px 2px rgba(22,32,42,.05),0 10px 28px rgba(22,32,42,.09);--hairline:inset 0 1px 0 rgba(255,255,255,.7);--r-sm:6px;--r-md:9px;--r-lg:13px;--r-xl:18px}@media (prefers-color-scheme:dark){:root{--ground:#0A0F14;--ground-2:#0E151C;--surface:#141C24;--surface-2:#1A232C;--surface-3:#222D37;--tint:rgba(79,182,188,.06);--ink:#E4EDF4;--ink-2:#98A9B8;--ink-3:#6B7C8B;--rule:#222D38;--rule-2:#33404D;--accent:#4FB6BC;--accent-2:#6FCBD0;--accent-ink:#7FC9CE;--on-accent:#08131A;--accent-soft:#0E2B2E;--accent-line:#1E4C50;--ok:#62BF95;--ok-soft:#10281E;--ok-line:#1E4635;--warn:#D9A657;--warn-soft:#2A2113;--warn-line:#4A3A1B;--bad:#E08379;--bad-soft:#2C1815;--bad-line:#4C2621;--phase-regular:#58C8FB;--phase-regular-soft:#102E3D;--phase-regular-line:#28799A;--phase-pt:#F078D4;--phase-pt-soft:#351A31;--phase-pt-line:#85396F;--shadow-1:0 1px 1px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.34);--shadow-2:0 1px 2px rgba(0,0,0,.34),0 10px 30px rgba(0,0,0,.42);--hairline:inset 0 1px 0 rgba(255,255,255,.045)}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:radial-gradient(1200px 420px at 50% -140px,var(--tint),transparent 70%),linear-gradient(var(--ground),var(--ground-2) 620px);background-attachment:fixed;color:var(--ink);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv05" 1}.mono,.tabular{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(10px);backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--rule)}.topbar-inner{max-width:1280px;margin:0 auto;padding:8px 22px;display:flex;align-items:center;gap:12px 20px;min-height:54px;flex-wrap:wrap}.season-chip,.topbar-inner>a,.topbar-inner>form{flex:none;white-space:nowrap}.brand{display:flex;align-items:center;gap:9px}.brand,.brand:hover{text-decoration:none}.brand-mark{width:25px;height:25px;border-radius:7px;background:linear-gradient(150deg,var(--accent),var(--accent-2));color:var(--on-accent);font-family:var(--font-mono),monospace;font-size:9.5px;font-weight:600;letter-spacing:.02em;display:grid;place-items:center;box-shadow:0 1px 2px rgba(13,96,104,.35)}.brand-name{font-weight:650;letter-spacing:-.017em;font-size:14.5px;color:var(--ink)}.topbar nav{display:flex;gap:2px}.topbar nav a{padding:5px 11px;border-radius:var(--r-sm);font-size:13px;font-weight:500;color:var(--ink-2);transition:background .13s ease,color .13s ease}.topbar nav a:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.topbar nav a.on{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.spacer{flex:1 1}.season-chip{font-family:var(--font-mono),monospace;font-size:11px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--rule);padding:3px 9px;border-radius:999px}.wrap{max-width:1280px;margin:0 auto;padding:0 22px 72px}h1{font-size:25px;font-weight:650;letter-spacing:-.03em;margin:0 0 3px;color:var(--ink);line-height:1.15}.page-head{padding:26px 0 0;margin-bottom:4px}.page-head .meta{display:flex;flex-wrap:wrap;gap:0 18px;align-items:center;color:var(--ink-2);font-size:12.5px;margin-top:5px}.page-head .meta b{font-family:var(--font-mono),monospace;font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-head .meta span{display:inline-flex;gap:5px;align-items:baseline;position:relative}.page-head .meta span+span:before{content:"";position:absolute;left:-10px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--rule-2);transform:translateY(-50%)}h2{font-size:12px;font-weight:600;letter-spacing:.085em;text-transform:uppercase;color:var(--ink-3);margin:30px 0 9px;display:flex;align-items:center;gap:9px}h2:after{content:"";flex:1 1;height:1px;background:var(--rule)}.sub{color:var(--ink-2);margin:0 0 4px;font-size:13px;max-width:76ch}.tabs{display:flex;gap:3px;margin:16px 0 0;border-bottom:1px solid var(--rule)}.tabs a{position:relative;padding:8px 15px 9px;font-size:13px;font-weight:550;color:var(--ink-2);border-radius:var(--r-sm) var(--r-sm) 0 0;transition:color .13s ease,background .13s ease}.tabs a:hover{color:var(--ink);background:var(--surface-2);text-decoration:none}.tabs a.on{color:var(--accent-ink)}.tabs a.on:after{content:"";position:absolute;left:9px;right:9px;bottom:-1px;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.stats{display:flex;flex-wrap:wrap;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);margin-top:16px;box-shadow:var(--shadow-1),var(--hairline);overflow:hidden}.stat{position:relative;flex:1 1 190px;padding:13px 16px 0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;transition:background .15s ease}.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--accent);opacity:0;transition:opacity .15s ease}.stat:hover{background:var(--surface-2)}.stat:hover:before{opacity:.55}.stat .n{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:23px;font-weight:600;line-height:1.08;letter-spacing:-.03em;color:var(--ink)}.stat .n.ok{color:var(--ok)}.stat .n.bad{color:var(--bad)}.stat .n.warn{color:var(--warn)}.stat .l{font-size:11px;font-weight:500;color:var(--ink-3);letter-spacing:.045em;text-transform:uppercase;margin-top:4px}.stat .d{margin:10px -16px 0;padding:8px 16px 9px;background:var(--surface-2);border-top:1px solid var(--rule);color:var(--ink-2);overflow-x:auto;flex:1 1}.stat .d::-webkit-scrollbar{height:0}.stat .d-empty{display:inline-block;height:12px}.tex .katex{font-size:12.5px}.stat .d .katex{font-size:11.5px;color:var(--ink-2)}.legend{font-size:12.5px;color:var(--ink-2);margin-top:11px;line-height:1.85;max-width:92ch}.legend .katex{font-size:12px;color:var(--ink)}.months{display:grid;grid-template-columns:repeat(auto-fit,minmax(346px,1fr));grid-gap:12px;gap:12px;margin-top:14px}.month{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1),var(--hairline);transition:box-shadow .18s ease,transform .18s ease}.month:hover{box-shadow:var(--shadow-2),var(--hairline)}.month h3{position:relative;margin:0;padding:9px 14px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);background:var(--surface-2);border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.month h3 .cnt{font-family:var(--font-mono),monospace;letter-spacing:0;color:var(--ink-3);font-weight:500}.month h3 .fill{position:absolute;left:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:0 2px 2px 0}.wk{display:grid;grid-template-columns:46px 56px 1fr;grid-gap:10px;gap:10px;align-items:start;padding:7px 14px;border-bottom:1px solid var(--rule);transition:background .12s ease}.month .wk:last-child{border-bottom:none}.wk:hover{background:var(--surface-2)}.wk .dt{font-family:var(--font-mono),monospace;font-size:12px;color:var(--ink-2);padding-top:2px;letter-spacing:-.02em}.wk.short .dt{color:var(--warn);font-weight:600}.wk.short .dt:after{content:"*"}.wk .cap{display:flex;align-items:center;padding-top:4px}.wk .who{display:flex;flex-wrap:wrap;gap:4px}.nm{display:inline-flex;align-items:baseline;gap:4px;background:linear-gradient(var(--surface),var(--accent-soft));color:var(--accent-ink);border:1px solid var(--accent-line);border-radius:var(--r-sm);padding:1.5px 7px;font-size:12px;font-weight:550;white-space:nowrap;box-shadow:0 1px 1px rgba(22,32,42,.04);transition:transform .12s ease,box-shadow .12s ease}.nm:hover{transform:translateY(-1px);box-shadow:0 2px 5px rgba(22,32,42,.09)}.nm b{font-family:var(--font-mono),monospace;font-size:10px;font-weight:600;opacity:.6;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.nm.first{border-color:var(--accent)}.nm.first b{opacity:.95}.hold{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line);border-radius:var(--r-sm);padding:1px 6px;white-space:nowrap}.free,.hold{font-size:12px}.free{color:var(--ink-3);padding-top:1px}.wk{position:relative}.wk.full,.wk.over{background:color-mix(in srgb,var(--ok-soft) 45%,transparent)}.wk.over{background:color-mix(in srgb,var(--bad-soft) 50%,transparent)}.wk.full:before,.wk.over:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ok)}.wk.over:before{background:var(--bad)}.wk.full:hover{background:var(--ok-soft)}.bar{display:inline-flex;gap:3px}.bar i{width:9px;height:9px;border-radius:2px;background:var(--surface-3);border:1px solid var(--rule-2);display:block}.bar i.f{background:var(--accent);border-color:var(--accent)}.bar i.h{background:var(--warn);border-color:var(--warn)}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-1),var(--hairline);overflow:hidden;margin-top:12px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{font-size:10.5px;font-weight:600;letter-spacing:.085em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:9px 14px;background:var(--surface-2);white-space:nowrap}td,thead th{border-bottom:1px solid var(--rule)}td{padding:8px 14px;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--surface-2)}tbody tr.here,tbody tr.here:hover{background:var(--accent-soft)}td.num{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td .who-name{font-weight:550}.pill{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.055em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid transparent}.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-line)}.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-line)}.pill.mute{background:var(--surface-2);color:var(--ink-3);border-color:var(--rule)}.btn,button{font:inherit;font-size:12.5px;font-weight:550;padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .13s ease,border-color .13s ease,color .13s ease,box-shadow .13s ease}button:hover{border-color:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-1)}button:active{transform:translateY(.5px)}button.primary{background:linear-gradient(var(--accent),var(--accent-2));box-shadow:0 1px 2px rgba(13,96,104,.3),inset 0 1px 0 rgba(255,255,255,.14)}button.primary,button.primary:hover{border-color:var(--accent-2);color:var(--on-accent)}button.primary:hover{background:var(--accent-2)}button:disabled,button:disabled:hover{background:var(--surface-2);color:var(--ink-3);border-color:var(--rule);cursor:not-allowed;box-shadow:none;transform:none;font-weight:500;font-size:11.5px}input,select{font:inherit;font-size:12.5px;padding:5px 9px;border:1px solid var(--rule-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);transition:border-color .13s ease}textarea{font:inherit}input[type=checkbox]{width:auto;padding:0;accent-color:var(--accent)}input:hover,select:hover{border-color:var(--rule-2)}input:focus,select:focus{border-color:var(--accent)}form.inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.err,.note{border-radius:var(--r-md);padding:11px 14px;font-size:12.8px;margin:14px 0;border:1px solid;line-height:1.55}.note{background:var(--warn-soft);border-color:var(--warn-line)}.err,.note{color:var(--ink)}.err{background:var(--bad-soft);border-color:var(--bad-line)}.err strong,.note strong{font-weight:650}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.view-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--r-sm);padding:2px;flex:none}.view-toggle a{padding:3px 12px;border-radius:3px;font-size:12px;font-weight:550;color:var(--ink-2);transition:background .13s ease,color .13s ease}.view-toggle a:hover{color:var(--ink);text-decoration:none}.view-toggle a.on{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-1);font-weight:600}.season-list td{vertical-align:top;padding-top:7px;padding-bottom:7px}.season-list tr.month-rule td{background:var(--surface-2);color:var(--ink-3);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-bottom:1px solid var(--rule)}.season-list tr.month-rule:hover td{background:var(--surface-2)}.season-list tr.full{background:color-mix(in srgb,var(--ok-soft) 50%,transparent)}.season-list tr.over{background:color-mix(in srgb,var(--bad-soft) 55%,transparent)}.season-list td.short-wk{color:var(--warn);font-weight:600}.season-list .who{display:flex;flex-wrap:wrap;gap:4px}.pick-order{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:12px 16px 10px;margin-top:14px}.po-head,.po-row{display:grid;grid-template-columns:108px 1fr;align-items:center;grid-gap:12px;gap:12px}.po-head{height:20px;margin-bottom:4px}.po-axis{position:relative;height:20px;border-bottom:1px solid var(--rule)}.po-axis .lab{position:absolute;bottom:3px;transform:translateX(-50%);font-family:var(--font-mono),monospace;font-size:9.5px;color:var(--ink-3)}.po-axis .lab:first-of-type{transform:none}.po-axis .lab:last-of-type{transform:translateX(-100%)}.po-progress{position:absolute!important;left:0;bottom:-1px;height:2px;background:var(--accent);border-radius:1px;transform:none!important}.po-row{height:21px;border-radius:var(--r-sm);transition:background .12s ease}.po-row:hover{background:var(--surface-2)}.po-row.on{background:var(--accent-soft)}.po-name{display:flex;align-items:baseline;justify-content:space-between;gap:6px;overflow:hidden;padding-left:4px}.po-who{font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.po-owed{font-family:var(--font-mono),monospace;font-size:10px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.po-track{position:relative;height:21px}.po-track:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--rule);transform:translateY(-50%)}.po-tick{position:absolute;z-index:1;top:3px;width:6px;height:15px;border:2px solid var(--phase-regular);border-radius:2px;background:var(--surface);opacity:.9;transform:translateX(-50%)}.po-tick.phase-part-time{width:7px;border-color:var(--phase-pt);border-radius:5px;background:var(--surface)}.po-tick.done{background:var(--phase-regular);opacity:1}.po-tick.phase-part-time.done{background:var(--phase-pt)}.po-tick.next{height:19px;top:1px;opacity:1;box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 62%,transparent)}.po-mean{top:1px;bottom:1px;background:var(--ink-3);opacity:.34}.po-mean,.po-now{position:absolute;width:1px;transform:translateX(-50%)}.po-now{top:0;bottom:0;background:var(--warn);opacity:.5;pointer-events:none}.po-row.on .po-now{opacity:.85;width:1.5px}.po-axis .po-now-head{position:absolute;bottom:0;width:0;height:0;padding:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid var(--warn);transform:translateX(-50%)}.po-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:9px;padding-top:8px;border-top:1px solid var(--rule);font-size:11px;color:var(--ink-2)}.po-foot span{display:inline-flex;align-items:center;gap:5px}.po-foot .k{width:3px;height:11px;border-radius:1.5px;background:var(--rule-2);display:inline-block}.po-foot .k.phase-regular{width:6px;background:var(--phase-regular)}.po-foot .k.phase-part-time{width:7px;border-radius:4px;background:var(--phase-pt)}.po-foot .k.state-taken{width:5px;background:var(--ink-2)}.po-foot .k.state-upcoming{width:5px;background:var(--surface);border:1px solid var(--ink-3)}.po-foot .k.next{background:var(--warn)}.po-foot .k.mean{background:var(--ink-3);opacity:.5;width:1px}.po-foot .k.now{background:var(--warn);width:1px}.po-seed code{font-size:10.5px;background:var(--surface-2);padding:1px 5px;border-radius:3px}.po-compare{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule)}.po-compare h4{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);display:flex;justify-content:space-between;align-items:baseline;gap:12px}.po-key{letter-spacing:0;text-transform:none;font-weight:500;color:var(--ink-2);font-size:11px}.po-key .snake{color:var(--bad)}.po-key .prop{color:var(--accent-ink)}.po-track.dumb:before{background:var(--rule)}.po-half{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--rule-2);border-left:1px dashed var(--rule-2);opacity:.8}.po-link{height:2px;transform:translateY(-50%);background:linear-gradient(90deg,var(--bad),var(--accent));opacity:.45;border-radius:1px}.po-dot,.po-link{position:absolute;top:50%}.po-dot{width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);border:1.5px solid var(--surface)}.po-dot.snake{background:var(--bad)}.po-dot.prop{background:var(--accent)}@media (max-width:560px){.po-head,.po-row{grid-template-columns:84px 1fr;gap:8px}}.seat-move{display:grid;grid-gap:6px;gap:6px;min-width:240px}.seat-move fieldset{display:grid;grid-template-columns:1fr auto;grid-gap:6px;gap:6px}.seat-move input[name=reason]{grid-column:1/-1;width:100%}.seat-move [role=status]:empty{display:none}.seat-move select{flex:1 1 auto;min-width:0;max-width:168px;text-overflow:ellipsis}.seat-move button{flex:none}.roster-table td:last-child{white-space:nowrap;width:1%}.roster-table td.num,.roster-table th{white-space:nowrap}.pick-list td{padding-top:6px;padding-bottom:6px}.pick-list .pick-n{color:var(--ink-3);width:1%}.pick-list tr.done .pick-n,.pick-list tr.done .who-name{color:var(--ink-2)}.pick-list tr.done td.calc{opacity:.62}.pick-list td.calc{font-family:var(--font-mono),monospace;font-size:11.5px;color:var(--ink-2);white-space:nowrap}.pick-list td.calc b{color:var(--ink);font-weight:600}.pick-list td.tie{white-space:nowrap}.pick-list .none{color:var(--rule-2)}.pick-list tr.here{box-shadow:inset 2px 0 0 var(--warn)}.pick-list tr.here .who-name{font-weight:650}.po-phase-head{height:22px;margin-bottom:2px}.po-phase-band{display:flex;gap:3px;height:20px}.po-phase{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;border-radius:var(--r-sm) var(--r-sm) 0 0;white-space:nowrap;overflow:hidden}.po-phase.regular{background:var(--phase-regular-soft);color:var(--phase-regular);border:1px solid var(--phase-regular-line);border-bottom:none;box-shadow:inset 0 2px 0 var(--phase-regular)}.po-phase.pt{background:var(--phase-pt-soft);color:var(--phase-pt);border:1px solid var(--phase-pt-line);border-bottom:none;box-shadow:inset 0 2px 0 var(--phase-pt)}.po-phase-zone{position:absolute;top:0;bottom:0;right:0;background:color-mix(in srgb,var(--phase-pt-soft) 72%,transparent);border-left:2px solid var(--phase-pt-line);pointer-events:none}.po-row:hover .po-phase-zone{background:color-mix(in srgb,var(--phase-pt-soft) 78%,transparent)}.pick-list tr.phase-regular td:first-child{box-shadow:inset 4px 0 0 var(--phase-regular)}.pick-list tr.phase-part-time td:first-child{box-shadow:inset 4px 0 0 var(--phase-pt)}.pick-list tr.phase-part-time{background:color-mix(in srgb,var(--phase-pt-soft) 46%,transparent)}.pick-list tr.phase-part-time:hover{background:color-mix(in srgb,var(--phase-pt-soft) 72%,var(--surface-2))}.pill.phase-regular{color:var(--phase-regular);background:var(--phase-regular-soft);border-color:var(--phase-regular-line)}.pill.phase-part-time{color:var(--phase-pt);background:var(--phase-pt-soft);border-color:var(--phase-pt-line)}.admin-jump{position:-webkit-sticky;position:sticky;top:66px;z-index:5;display:flex;gap:4px;flex-wrap:wrap;width:max-content;max-width:100%;margin:2px 0 26px;padding:4px;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--rule);border-radius:var(--r-md);box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-jump:before{content:"Jump to";font-size:10.5px;font-weight:600;letter-spacing:.085em;text-transform:uppercase;color:var(--ink-3);padding:5px 4px 5px 8px;align-self:center}.admin-jump a{padding:5px 10px;border-radius:var(--r-sm);color:var(--ink-2);font-size:11.5px;font-weight:600}.admin-jump a:hover{background:var(--surface-2);color:var(--accent-ink);text-decoration:none}.admin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));grid-gap:8px;gap:8px;margin:12px 0 16px}.admin-metrics>div{display:grid;align-content:center;min-height:76px;padding:12px 14px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.admin-metrics strong{overflow:hidden;color:var(--ink);font-family:var(--font-mono),monospace;font-size:20px;font-weight:600;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.admin-metrics span{margin-top:5px;color:var(--ink-3);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.admin-card{margin:12px 0;padding:16px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.admin-card>:first-child{margin-top:0}.admin-card>:last-child{margin-bottom:0}.admin-card>summary,.admin-table details>summary{cursor:pointer;color:var(--ink);font-weight:600}.admin-card>summary{list-style-position:outside;margin-left:16px}.admin-card[open]>summary{margin-bottom:14px}.admin-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-form,.admin-form>fieldset{display:grid;grid-gap:14px;gap:14px}.admin-form-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));grid-gap:12px;gap:12px}.admin-field{display:grid;align-content:start;grid-gap:4px;gap:4px;min-width:0}.admin-field>span{color:var(--ink-2);font-size:11px;font-weight:650;letter-spacing:.025em}.admin-field input,.admin-field select{width:100%;min-width:0}.admin-field small{color:var(--ink-3);font-size:10.5px;line-height:1.35}.member-fields{padding-top:12px;border-top:1px solid var(--rule)}.admin-table td,.admin-table th{white-space:nowrap}.admin-table td:first-child{white-space:normal;min-width:140px}.admin-table small{color:var(--ink-3)}.admin-table details{position:relative}.admin-table details>summary{color:var(--accent-ink);font-size:12px}.admin-drawer{position:absolute;right:0;z-index:4;width:min(680px,calc(100vw - 48px));margin-top:7px;padding:18px;white-space:normal;background:var(--surface);border:1px solid var(--rule-2);border-radius:var(--r-lg);box-shadow:var(--shadow-2)}.admin-drawer h3{margin:18px 0 9px}.admin-drawer h3:first-child{margin-top:0}.admin-drawer .admin-form-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.compact-action,.compact-action>fieldset,.row-action,.row-action>fieldset{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-action [role=status],.row-action [role=status]{flex-basis:100%}.compact-action [role=status]:empty,.row-action [role=status]:empty{display:none}.row-action input{min-width:220px}.danger-zone{margin-top:16px;padding:14px;background:var(--bad-soft);border:1px solid var(--bad-line);border-radius:var(--r-md)}.danger-zone h3{color:var(--bad)}.danger-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.danger-card,button.danger{border-color:var(--bad-line)}button.danger{color:var(--bad)}button.danger:hover{color:#fff;background:var(--bad);border-color:var(--bad)}.ok-callout{margin:14px 0;padding:11px 14px;color:var(--ok);background:var(--ok-soft);border:1px solid var(--ok-line);border-radius:var(--r-md)}tfoot th{border-top:1px solid var(--rule-2);background:var(--surface-2)}@media (max-width:980px){.admin-metrics{grid-template-columns:repeat(3,1fr)}.admin-form-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media (max-width:680px){.admin-jump{position:static;width:100%}.admin-drawer .admin-form-grid,.admin-form-grid,.admin-metrics,.admin-two-col{grid-template-columns:1fr}.danger-card{align-items:flex-start;flex-direction:column}.admin-drawer{position:fixed;inset:72px 12px 12px;width:auto;overflow:auto}.row-action input{min-width:150px;flex:1 1}}.short-name{font-family:var(--font-mono),monospace;font-size:10.5px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--rule);padding:1px 6px;border-radius:999px;white-space:nowrap}.short-name,td .who-name+.pill{margin-left:7px}.auth-page{min-height:calc(100vh - 96px);display:grid;place-content:center;justify-items:center;grid-gap:18px;gap:18px;padding:40px 0 64px}body:has(.auth-page){background:radial-gradient(1100px 620px at 50% -8%,var(--tint),transparent 70%),var(--ground)}.auth-card{width:min(408px,100%);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-xl);box-shadow:var(--shadow-2);padding:36px 34px 30px}.auth-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(150deg,var(--accent),var(--accent-2));color:var(--on-accent);font-family:var(--font-mono),monospace;font-size:15px;font-weight:600;letter-spacing:.02em;display:grid;place-items:center;box-shadow:0 2px 8px rgba(13,96,104,.32);margin-bottom:20px}.auth-title{font-size:21px;font-weight:650;letter-spacing:-.028em;margin:0 0 7px;color:var(--ink);line-height:1.2}.auth-lede{font-size:13.4px;line-height:1.58;color:var(--ink-2);margin:0 0 6px;max-width:46ch}.auth-lede strong{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.auth-form{display:grid;grid-gap:16px;gap:16px}.field{display:grid;grid-gap:7px;gap:7px}.field-label{font-size:10.5px;font-weight:600;letter-spacing:.085em;text-transform:uppercase;color:var(--ink-3)}.auth-form input[type=email]{width:100%;font-size:14.5px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--rule-2)}.auth-form input[type=email]::placeholder{color:var(--ink-3)}.auth-form input[type=email]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.auth-submit{width:100%;font-size:14px;font-weight:600;padding:11px 14px;border-radius:var(--r-md)}.code-boxes{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:8px;gap:8px}.code-box{width:100%;height:52px;padding:0;text-align:center;font-family:var(--font-mono),monospace;font-size:21px;font-weight:600;border-radius:var(--r-md);border:1px solid var(--rule-2);background:var(--surface-2);color:var(--ink);transition:border-color .13s ease,box-shadow .13s ease,background .13s ease;-moz-appearance:textfield}.code-box::-webkit-inner-spin-button,.code-box::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.code-box:not(:placeholder-shown),.code-box:valid:not(:empty){background:var(--surface)}.code-box:focus{outline:none;background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.code-box:disabled{opacity:.55}.auth-status{font-size:12.6px;line-height:1.55;color:var(--ink-2);margin:0;min-height:1.2em}.auth-status .err{display:block;background:var(--bad-soft);border:1px solid var(--bad-line);color:var(--ink);border-radius:var(--r-md);padding:9px 12px;font-size:12.6px}.auth-alt{display:flex;gap:9px;align-items:center;font-size:12.4px;color:var(--ink-3)}.linkish{font:inherit;font-size:inherit;padding:0;border:0;background:none;color:var(--accent-ink);font-weight:550;cursor:pointer;white-space:nowrap}.linkish:hover{text-decoration:underline;box-shadow:none;border-color:transparent}.auth-dev{margin:4px 0 0;font-size:12px;background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--r-md);padding:9px 12px}.auth-dev,.note-inline{color:var(--ink-2)}.auth-foot{font-size:12.2px;color:var(--ink-3);margin:0;max-width:408px;text-align:center;line-height:1.55}@media (max-width:460px){.auth-card{padding:28px 22px 24px;border-radius:var(--r-lg)}.code-boxes{gap:6px}.code-box{height:48px;font-size:19px}}.pill.count{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;text-transform:none;font-size:11.5px;padding:2px 8px;min-width:46px;text-align:center}.season-list td.wk-action{width:1%;white-space:nowrap;text-align:right}.season-list td.wk-action form{justify-content:flex-end}.season-list td.wk-action [role=alert]:empty,.season-list td.wk-action [role=status]:empty{display:none}.allowance-cell{line-height:1.35}.allowance-weeks{font-weight:600;font-size:13.5px}.allowance-cell .pill{margin-left:5px;vertical-align:1px}.allowance-detail{display:block;font-size:11px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:1px}.seat-change>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:2px 0}.seat-change>summary::-webkit-details-marker{display:none}.seat-change>summary:hover .seat-edit{color:var(--accent-ink);border-color:var(--accent-line)}.seat-edit{font-size:10.5px;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--rule);border-radius:999px;padding:1px 7px;transition:color .13s ease,border-color .13s ease}.seat-change[open]>summary{margin-bottom:7px}.seat-change[open]>summary .seat-edit{color:var(--accent-ink);border-color:var(--accent-line)}.seat-change:focus-visible,.seat-change>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}