.map{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--map-outside);--s:1;--map-sea-border:color-mix(in oklab, var(--map-coast) 62%, var(--map-sea));position:relative;overflow:hidden}.map-loading{background:var(--map-outside)}.map-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.map-interactive .prov,.map-interactive .unit{cursor:pointer}.map[data-dragging] .prov,.map[data-dragging] .unit{cursor:grabbing}.pin{transform:scale(var(--s))}.sea-bg{fill:var(--map-sea)}.prov{stroke:var(--map-border);stroke-width:.7px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.prov.land{fill:var(--map-land)}.prov.sea{fill:var(--map-sea);stroke:none}.prov-hit{fill:#0000;stroke:none}.impassable{fill:var(--map-impassable);stroke:var(--map-border);stroke-width:.6px;vector-effect:non-scaling-stroke;pointer-events:none}.lake{fill:var(--map-sea);stroke:var(--map-coast);stroke-width:.6px;vector-effect:non-scaling-stroke;pointer-events:none}.coastline{fill:none;stroke:var(--map-coast);stroke-width:1.1px;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none}.sea-lines{fill:none;stroke:var(--map-sea-border);stroke-width:1.1px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.crossings{pointer-events:none}.canal-bank,.canal-water{fill:none;stroke-linecap:butt;stroke-linejoin:round}.canal-bank{stroke:var(--map-coast);stroke-width:4.4px}.canal-water{stroke:color-mix(in oklab, var(--map-sea) 80%, var(--map-coast));stroke-width:2.8px}.bridge-deck{fill:var(--map-land)}.bridge-rail{fill:none;stroke:var(--map-label);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map[data-zoom=far] .bridge-rail{stroke-width:1.2px}.hl-dim{fill:var(--paper);opacity:.42;pointer-events:none}.hl-target{fill:var(--accent-text);fill-opacity:.2;stroke:var(--accent-text);stroke-width:1.4px;vector-effect:non-scaling-stroke;animation:1.6s ease-in-out infinite hl-pulse}.hl-secondary{fill:var(--accent-text);fill-opacity:.1;stroke:var(--accent-text);stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.hl-selected{fill:none;stroke:var(--ink-2);stroke-width:1.4px;vector-effect:non-scaling-stroke;pointer-events:none}@keyframes hl-pulse{50%{fill-opacity:.32}}@media (prefers-reduced-motion:reduce){.hl-target{animation:none}}.sc-ring{fill:var(--paper);stroke:var(--ink);stroke-width:1.2px}.sc-dot{fill:var(--ink)}.centers>g,.labels{pointer-events:none}.lbl text{font:600 9px/1 var(--font-ui);text-anchor:middle;fill:var(--map-label);letter-spacing:.06em;paint-order:stroke;stroke:var(--map-land);stroke-width:2.5px;stroke-linejoin:round}.lbl.sea text{fill:var(--map-sea-label);stroke:var(--map-sea);letter-spacing:.04em;font-style:italic}.lbl .lbl-long{letter-spacing:0;font-weight:500;display:none}.map[data-zoom=near] .lbl .lbl-long{display:inline}.map[data-zoom=near] .lbl .lbl-short{display:none}.lbl.coast-tag text{fill:var(--map-sea-label);stroke:var(--map-sea);letter-spacing:.08em;font-size:7px;font-style:italic;font-weight:600}.map[data-zoom=near] .lbl.coast-tag .lbl-long{letter-spacing:.02em}.map[data-zoom=far] .labels{display:none}.unit-hit{fill:#0000}.lbl-hidden{display:none}.unit-shadow{fill:#140f0a47}.unit-body{stroke:#fff;stroke-width:1.6px}.unit .ico-hole{fill:currentColor}.unit-halo{fill:none;stroke:var(--ink);stroke-width:2.4px;animation:1.2s ease-in-out infinite halo}@keyframes halo{50%{stroke-opacity:.35}}.unit.ghost .unit-body{stroke-width:2px;stroke-dasharray:3 2}.unit.ghost .unit-shadow{display:none}.unit.dislodged .unit-body{stroke:var(--danger);stroke-width:2.6px}.orders{pointer-events:none}.arrow-casing{fill:none;stroke:var(--map-casing);stroke-width:calc(6.5px * var(--s));stroke-linecap:round}.arrow-line{fill:none;stroke-width:calc(3.2px * var(--s));stroke-linecap:round}.arrow-line.dashed{stroke-dasharray:calc(6px * var(--s)) calc(4px * var(--s))}.ord.support .arrow-line{stroke-dasharray:calc(5px * var(--s)) calc(4px * var(--s));stroke-width:calc(2.4px * var(--s))}.ord.convoy .arrow-line{stroke-dasharray:calc(1px * var(--s)) calc(4px * var(--s));stroke-width:calc(3px * var(--s))}.arrow-head,.arrow-dot{stroke:var(--map-casing-solid);stroke-width:1.2px}.hold-ring{fill:none;stroke-width:3px}.ord.failed{opacity:.55}.ord.failed .arrow-line{stroke-dasharray:calc(4px * var(--s)) calc(3px * var(--s))}.fail-x,.x-mark{stroke:var(--danger);stroke-width:2.6px;stroke-linecap:round;fill:none}.ord.failed .fail-x{opacity:1}.orders-later{animation:.35s .75s both fade-in}@keyframes fade-in{0%{opacity:0}}.map-zoom{border:1px solid var(--rule);background:var(--line-2);box-shadow:var(--shadow-1);border-radius:0;flex-direction:column;gap:1px;display:flex;position:absolute;top:10px;right:10px}.map-zoom button{background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;border:0;border-radius:0;place-items:center;font-size:18px;display:grid}.map-zoom button:hover{background:var(--paper-2)}@media (pointer:coarse){.map-zoom .zoom-step{display:none}}.map-zoom button:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}@font-face{font-family:Merriweather;src:url(/fonts/merriweather-latin.woff2)format("woff2");font-weight:300 900;font-display:swap}:root{--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Merriweather", Georgia, "Times New Roman", serif;--font-mincho:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, "Noto Serif JP", "Noto Serif CJK JP", "Source Han Serif JP", serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--header-h:56px;--tabbar-h:56px;--p-england:#2b438c;--p-england-tint:#bcc4e2;--p-france:#33a6e0;--p-france-tint:#bfe4f8;--p-germany:#5d5148;--p-germany-tint:#c3b6aa;--p-italy:#3f8f52;--p-italy-tint:#cbe3d0;--p-austria:#c4473b;--p-austria-tint:#efcdc8;--p-russia:#b0508e;--p-russia-tint:#eccbe0;--p-turkey:#d4a12a;--p-turkey-tint:#f3e3bb;--p-england-text:#2b438c;--p-france-text:#2490c8;--p-germany-text:#5d5148;--p-italy-text:#3f8f52;--p-austria-text:#c4473b;--p-russia-text:#a3437f;--p-turkey-text:#d4a12a}:root,.menu{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#161412;--ink-2:#4b4542;--ink-3:#6b645d;--paper:#f3eee4;--paper-2:#ebe4d7;--surface:#faf7f0;--raised:#fffdf8;--field:#fffdf8;--line:#ddd5c8;--line-2:#cbc1b1;--rule:#161412;--field-line:#8c8378;--night:#000;--accent:#b8291f;--accent-deep:#8f1d15;--accent-text:#b8291f;--badge:#b8291f;--accent-soft:#fbeae6;--mark-red:#d63a30;--ok:#276b43;--ok-text:#276b43;--ok-soft:#e2efe5;--warn:#8f5300;--danger:#b8291f;--mine:#161412;--mine-ink:#f4f1ec;--mine-time:#a9a29a;--toast:#000;--toast-line:#333;--backdrop:#00000073;--hatch:#16141312;--shadow-1:0 1px 2px #1614131a;--shadow-2:0 2px 4px #16141314, 0 10px 28px #16141329;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .27 0 0 0 0 .2 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--map-land:#f2ede3;--map-outside:#e4ded4;--map-sea:#cfdfe8;--map-border:#bdb2a0;--map-coast:#7b8f9b;--map-impassable:#ddd7cc;--map-label:#6d6458;--map-sea-label:#5f7f92;--map-casing:#ffffffd9;--map-casing-solid:#fff}:root[data-theme=dark],[data-theme=dark] .menu{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f1ebe2;--ink-2:#cbc2b6;--ink-3:#9d958a;--paper:#171412;--paper-2:#26211d;--surface:#1e1a17;--raised:#29241f;--field:#131110;--line:#2e2925;--line-2:#3d3631;--rule:#4f4740;--field-line:#6f675e;--accent:#c43a2f;--accent-deep:#a92e24;--accent-text:#ec7266;--accent-soft:#e04a3f29;--ok:#2d7a4c;--ok-text:#74c491;--ok-soft:#74c49124;--warn:#e0a54a;--danger:#ec7266;--mine:#4a1d18;--mine-ink:#f4ece6;--mine-time:#c7a39c;--toast:#2b2621;--toast-line:#4a423b;--backdrop:#0000009e;--hatch:#f1ebe20d;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 4px #0000004d, 0 10px 28px #00000080;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .9 0 0 0 0 .82 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--map-land:#2b2622;--map-outside:#1a1715;--map-sea:#1a262d;--map-border:#4a423b;--map-coast:#5d7380;--map-impassable:#211d1a;--map-label:#a99f92;--map-sea-label:#7d9aab;--map-casing:#100d0bcc;--map-casing-solid:#100d0b}:root[data-theme=dark]{--p-england-tint:color-mix(in oklab, var(--p-england) 45%, var(--map-land));--p-france-tint:color-mix(in oklab, var(--p-france) 38%, var(--map-land));--p-germany-tint:color-mix(in oklab, #9a8a7c 52%, var(--map-land));--p-italy-tint:color-mix(in oklab, var(--p-italy) 42%, var(--map-land));--p-austria-tint:color-mix(in oklab, var(--p-austria) 36%, var(--map-land));--p-russia-tint:color-mix(in oklab, var(--p-russia) 42%, var(--map-land));--p-turkey-tint:color-mix(in oklab, var(--p-turkey) 36%, var(--map-land));--p-england-text:#8ea0e0;--p-france-text:#7cc3e8;--p-germany-text:#b8a899;--p-italy-text:#6fc285;--p-austria-text:#ef7f73;--p-russia-text:#e08cc4;--p-turkey-text:#e5bb55}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f4f1ec;--ink-2:#cfc8bf;--ink-3:#a9a29a;--paper:#000;--paper-2:#1c1a18;--surface:#000;--line:#2a2a2a;--line-2:#3a3632;--rule:#4a4540;--field-line:#6b645d;--accent:#e04a3f;--accent-deep:#ec675d;--accent-text:#e04a3f;background:var(--night);color:var(--ink)}*,:before,:after{box-sizing:border-box}html{background:var(--night)}html,body{height:100%;margin:0}body{font:15px/1.45 var(--font-ui);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;overscroll-behavior:none}#root{height:100%}@supports ((-moz-appearance:none)){*{scrollbar-width:thin;scrollbar-color:var(--field-line) transparent}}::-webkit-scrollbar{background:0 0;width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--field-line);background-clip:padding-box;border:3px solid #0000;border-radius:0}::-webkit-scrollbar-thumb:hover{background-color:var(--ink-3)}::-webkit-scrollbar-thumb:active{background-color:var(--ink-3)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:700}h1{font:700 22px/1.25 var(--font-display)}h2{font:700 18px/1.3 var(--font-display);letter-spacing:-.015em}h3{font:600 14px/1.35 var(--font-ui);letter-spacing:0;color:var(--ink-2)}p{margin:0}a{color:var(--accent-text);text-decoration:none}a:hover{text-underline-offset:.2em;text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-3)}.small{font-size:13px}.tnum{font-variant-numeric:tabular-nums}.grow{flex:1;min-width:0}.row{align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kanji{font-family:var(--font-mincho);font-weight:400}.btn{border:1px solid var(--rule);min-height:44px;color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--paper-2)}.btn:active{background:var(--line)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:inset 0 0 0 2px var(--accent), inset 0 0 0 3px #ffffff80}.btn-primary:hover,.btn-primary:active{background:var(--accent-deep);border-color:var(--accent-deep);box-shadow:inset 0 0 0 2px var(--accent-deep), inset 0 0 0 3px #ffffff80}.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-dark:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn-dark:active{background:var(--accent-deep);border-color:var(--accent-deep)}.btn-ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn-ok:hover,.btn-ok:active{background:#1d5434;border-color:#1d5434}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--paper-2)}.btn-sm{min-height:36px;padding:0 14px;font-size:14px}.btn-block{width:100%}.btn:disabled:hover{background:0 0}.btn-primary:disabled:hover{background:var(--accent)}.btn-dark:disabled:hover{background:var(--ink);border-color:var(--ink)}.icon-btn{cursor:pointer;width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:0;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--paper-2)}.chip{border:1px solid var(--rule);background:var(--surface);min-height:36px;color:var(--ink);cursor:pointer;border-radius:0;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip:hover{background:var(--paper-2)}.chip[aria-pressed=true]:hover{background:var(--ink)}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--ink-2);font-size:13px;font-weight:600}.input{border:1px solid var(--field-line);background:var(--field);border-radius:0;width:100%;min-height:46px;padding:10px 14px;font-size:16px}.input:focus{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);outline:none}.input:focus-visible{outline:none}.input[aria-invalid=true]{border-color:var(--danger)}textarea.input{resize:none;line-height:1.4}.card{background:var(--surface);border:1px solid var(--line-2);border-radius:0}.card-pad{padding:16px}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--line)}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.pbadge{vertical-align:middle;border-radius:50%;flex:none;width:32px;height:32px;display:inline-block;position:relative;overflow:hidden}.pbadge>svg{display:block}.pbadge:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 var(--ring,2px) var(--pc,color-mix(in srgb, var(--ink) 22%, transparent));pointer-events:none;position:absolute;inset:0}.pavatar{background:var(--paper-2);color:var(--ink-2);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid;overflow:hidden}.pavatar img{object-fit:cover;width:100%;height:100%;display:block}:where(.pavatar.ringed){position:relative}.pavatar.ringed:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 var(--ring) var(--pc);pointer-events:none;position:absolute;inset:0}.badge{background:var(--badge);color:#fff;font-variant-numeric:tabular-nums;border-radius:0;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:700;display:inline-grid}.toast{left:50%;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 16px);background:var(--toast);color:#f4f1ec;border:1px solid var(--toast-line);box-shadow:inset 3px 0 0 #f4f1ec, var(--shadow-2);z-index:100;pointer-events:none;border-radius:0;max-width:calc(100vw - 32px);padding:12px 18px;font-size:14px;animation:.2s ease-out toast-in;position:fixed;transform:translate(-50%)}.toast.error{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent), inset 0 0 0 3px #ffffff80, var(--shadow-2)}.toast.update{pointer-events:auto;white-space:nowrap;align-items:center;gap:14px;padding:8px 8px 8px 18px;display:flex}.toast-action{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:6px 12px;font-weight:700}.toast-action:hover{background:#ffffff1f}.toast-action:focus-visible{outline-offset:2px;outline:2px solid}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.dialog:focus{outline:none}.dialog-backdrop{background:var(--backdrop);z-index:80;place-items:end center;animation:.15s fade;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-top:3px solid var(--ink);width:100%;max-width:480px;padding:20px 20px calc(20px + var(--safe-bottom));box-shadow:var(--shadow-2);border-radius:0;max-height:88dvh;animation:.2s ease-out rise;overflow:auto}@media (width>=600px){.dialog-backdrop{place-items:center}.dialog{border:1px solid var(--ink);border-top-width:3px;padding-bottom:20px}}.dialog h2{margin-bottom:6px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.empty{text-align:center;color:var(--ink-3);padding:40px 24px}.empty h2{color:var(--ink);margin-bottom:10px}.empty p{max-width:36ch;margin-inline:auto}.empty .btn{margin-top:20px}.spinner{border:2.5px solid var(--line-2);border-top-color:var(--ink);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-fill{place-items:center;height:100%;display:grid}.shell{flex-direction:column;height:100dvh;display:flex}.main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.main>*{flex:1;min-height:0}.topbar{display:none}.tabbar{background:var(--surface);border-top:1px solid var(--rule);padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);height:calc(var(--tabbar-h) + var(--safe-bottom));z-index:20;flex:none;display:flex}.tab{color:var(--ink-3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;font-size:11px;font-weight:600;display:flex;position:relative;text-decoration:none!important}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page]:before{content:"";background:var(--accent);width:32px;height:3px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.tab-icon{display:grid;position:relative}.tab-badge{border:2px solid var(--surface);box-sizing:content-box;min-width:18px;height:18px;font-size:11px;position:absolute;top:-5px;left:15px}.shell:has(.messages-screen.has-channel) .tabbar{display:none}.shell:has(.messages-screen.has-channel) .composer{padding-bottom:calc(10px + var(--safe-bottom))}.screen-header{min-height:calc(var(--header-h) + var(--safe-top));padding:var(--safe-top) calc(8px + var(--safe-right)) 0 calc(12px + var(--safe-left));background:var(--surface);border-bottom:1px solid var(--rule);z-index:10;flex:none;align-items:center;gap:4px;display:flex;position:relative}@media (width<=899px){.screen-header{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f4f1ec;--ink-2:#cfc8bf;--ink-3:#a9a29a;--paper:#000;--paper-2:#1c1a18;--surface:#000;--line:#2a2a2a;--line-2:#3a3632;--rule:#4a4540;--accent:#e04a3f;--accent-deep:#ec675d;--accent-text:#e04a3f;background:var(--night);color:var(--ink);border-bottom-color:var(--night)}}.screen-header:has(>a.icon-btn:first-child){padding-left:calc(4px + var(--safe-left))}.screen-header-main{flex:1;min-width:0}.screen-title{font:700 20px/1.2 var(--font-display)}.screen-header-user{display:block}.brand{color:var(--ink);flex:none;align-items:center;gap:10px;display:flex;text-decoration:none!important}.brand img{width:32px;height:32px;display:block}.brand-name{font:700 17px/1 var(--font-display);letter-spacing:-.005em}.usermenu{position:relative}.menu{background:var(--surface);box-shadow:var(--shadow-2);border:1px solid var(--rule);z-index:50;width:296px;min-width:248px;max-width:calc(100vw - 16px);color:var(--ink);border-radius:0;padding:4px 0;animation:.12s fade;position:absolute;top:calc(100% + 6px);right:0}.menu-head{border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:12px;margin-bottom:4px;padding:12px 14px;display:flex}.menu-who{flex-direction:column;min-width:0;display:flex}.menu-item{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:0;padding:12px 14px;font-size:15px;display:block}.menu-item:hover{background:var(--paper-2);text-decoration:none}.menu-theme{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;padding:8px 14px 10px;display:flex}.menu-theme>span{color:var(--ink-2);font-size:13px;font-weight:600}.menu-theme .seg-item{min-height:30px;padding:0 10px;font-size:13px}.menu-toggle{border:0;border-bottom:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:14px;margin-bottom:4px;padding:10px 14px 12px;font-size:15px;display:flex}.menu-toggle:hover{background:var(--paper-2)}.menu-toggle:focus-visible{outline-offset:-2px}.menu-toggle-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.menu-toggle-hint{color:var(--ink-3);font-size:12px;line-height:1.35}.switch{border:1.5px solid var(--field-line);background:var(--field);flex:none;width:38px;height:22px;transition:background-color .15s,border-color .15s;position:relative}.switch:after{content:"";background:var(--field-line);width:13px;height:13px;transition:transform .15s,background-color .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--ink);border-color:var(--ink)}.switch.on:after{background:var(--paper);transform:translate(16px)}.seg{border:1px solid var(--rule);background:0 0;border-radius:0;flex:none;gap:0;padding:0;display:inline-flex}.seg-item{min-height:34px;color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex;text-decoration:none!important}.seg-item+.seg-item{box-shadow:inset 1px 0 0 var(--line-2)}.seg-item:hover{background:var(--paper-2);color:var(--ink)}.seg-item[aria-pressed=true],.seg-item[aria-checked=true]{background:var(--ink);color:var(--paper);box-shadow:none}.seg-item[aria-pressed=true]+.seg-item,.seg-item[aria-checked=true]+.seg-item{box-shadow:none}.seg-scroll{scrollbar-width:none;align-self:flex-start;max-width:100%;display:flex;overflow-x:auto}.seg-scroll .seg-item{flex:none}@media (width>=900px){.shell{grid-template-rows:auto 1fr;display:grid}.tabbar{display:none!important}.topbar{height:calc(64px + var(--safe-top));padding:var(--safe-top) 20px 0 24px;z-index:30;align-items:center;gap:28px;display:flex;position:relative}.topnav{flex:1;align-self:stretch;gap:2px;display:flex}.topnav-item{color:var(--ink-3);align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex;position:relative;text-decoration:none!important}.topnav-item:hover,.topnav-item[aria-current=page]{color:var(--ink)}.topnav-item[aria-current=page]:after{content:"";background:var(--accent);height:3px;position:absolute;bottom:0;left:14px;right:14px}.topnav-item:focus-visible{outline-offset:-4px}.screen-header{background:var(--paper);min-height:60px;padding-top:0}.screen-header-user,.screen-header .seg,.admin .screen-header .seg,.history-screen .screen-header .seg{display:none}.hide-desktop{display:none!important}}@media (width<=899px){.hide-phone{display:none!important}}@media (width<=380px){.hide-phone-sm{display:none!important}}.board-screen,.history-screen{flex-direction:column;min-height:0;display:flex}.board-body{flex:1;min-height:0;position:relative}.board-map{position:absolute;inset:0}.phase-head{flex-direction:column;min-width:0;display:flex}.phase-title{font:700 17px/1.2 var(--font-display);white-space:nowrap;align-items:center;gap:8px;display:flex}.phase-type{font:600 13px/1 var(--font-ui);color:var(--ink-3);padding-top:2px}.phase-sub{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.countdown{font-weight:600}.phase-chip{color:var(--ink-2);white-space:nowrap;border-radius:0;flex-direction:column;align-items:flex-end;padding:4px 8px;font-size:12px;line-height:1.2;display:inline-flex;text-decoration:none!important}.phase-chip:hover{background:var(--paper-2)}.phase-chip-name{color:var(--ink);font-size:13px;font-weight:700}.topbar .phase-chip{flex-direction:row;align-items:baseline;gap:8px;padding:8px 10px}.countdown.urgent{color:var(--accent-text)}.countdown.paused{color:var(--warn)}.dark .countdown.paused,.screen-header .countdown.paused{color:#e0a54a}.countdown-at{color:var(--ink-3);font-weight:400}.ready-summary{border:1px solid var(--rule);height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:0;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:700;display:inline-flex}.ready-summary:hover{background:var(--paper-2)}.ready-dots{gap:3px;display:inline-flex}.rdot{border:1.5px solid var(--c);background:0 0;border-radius:50%;width:7px;height:7px}.rdot.on{background:var(--c)}@media (width<=380px){.ready-dots{display:none}}.coach{z-index:4;background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow-1);border-radius:0;align-items:center;gap:10px;max-width:520px;padding:10px 10px 10px 12px;font-size:14px;animation:.25s ease-out rise;display:flex;position:absolute;top:10px;left:10px;right:56px}.sheet{z-index:5;background:var(--surface);border-top:1px solid var(--rule);max-height:72%;padding:0 calc(14px + var(--safe-right)) 10px calc(14px + var(--safe-left));border-radius:0;flex-direction:column;transition:max-height .25s;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px 14px #1614131a}.sheet-handle{cursor:pointer;background:0 0;border:0;flex:none;width:100%;height:18px;display:block;position:relative}.sheet-handle:after{content:"";background:var(--field-line);border-radius:0;width:36px;height:3px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.sheet-head{align-items:center;gap:12px;padding-bottom:6px;display:flex}.sheet-static{padding-top:14px}.sheet-title{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:1px;min-width:0;padding:0;display:flex}.sheet-title-main{font:700 16px/1.3 var(--font-display);align-items:center;gap:8px;display:flex}.saving{border:2px solid var(--line-2);border-top-color:var(--ink-3);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}.sheet-body{overscroll-behavior:contain;min-height:0;margin:0 -14px;padding:4px 14px 8px;display:none;overflow-y:auto}.sheet.open .sheet-body{display:block}.ready-btn{min-width:128px}.unsaved{background:var(--accent-soft);border-left:3px solid var(--danger);align-items:center;gap:12px;margin:0 0 10px;padding:10px 10px 10px 12px;animation:.2s ease-out rise;display:flex}.unsaved strong{color:var(--danger);font-size:15px;display:block}.unsaved-sub{color:var(--ink-2);font-size:13px;display:block}.unsaved .btn{flex:none}.action-bar{padding-bottom:4px}.action-top{align-items:flex-start;gap:8px;display:flex}.action-title{font:700 16px/1.3 var(--font-display)}.action-prompt{color:var(--ink-2);font-size:14px}.action-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip-quiet{color:var(--ink-3);background:0 0;border-color:#0000}.order-list>li{align-items:center;display:flex}.order-row{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;padding:10px 0;display:flex}.order-row>.grow{flex-direction:column;display:flex}.order-unit{font-size:15px;font-weight:600}.order-desc{color:var(--ink-2);font-size:14px}.order-desc.none{color:var(--ink-3);font-style:italic}.order-by{text-align:right;flex:none;max-width:40%}.order-clear{color:var(--ink-3);width:44px;height:44px}.unit-chip{flex:none}.unit-chip-empty{border:1.5px dashed var(--line-2);border-radius:50%;width:32px;height:32px;display:inline-block}.type-order{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.type-order summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:8px;padding:8px 0;font-size:14px;font-weight:600;list-style:none;display:flex}.type-order summary::-webkit-details-marker{display:none}.type-order form{margin-top:4px}.type-order .input{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.form-error{color:var(--danger);margin-top:6px;font-size:14px}.results-banner{z-index:3;background:var(--surface);max-width:520px;color:var(--ink);border:1px solid var(--rule);box-shadow:inset 3px 0 0 var(--accent), var(--shadow-1);border-radius:0;align-items:center;gap:10px;padding:6px 4px 6px 12px;font-size:14px;animation:.25s ease-out rise;display:flex;position:absolute;top:10px;left:10px;right:56px}.results-banner>svg{color:var(--accent-text);flex:none}.coach~.results-banner{display:none}.ready-list{margin-top:14px}.ready-list li{padding:10px 0}.status-pill{font:700 12px/1.2 var(--font-display);color:var(--ink-2);white-space:nowrap;background:0 0;border:1px solid;border-radius:0;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.status-pill.ok{background:var(--ok);border-color:var(--ok);color:#fff}.status-pill.mid{color:var(--warn)}.status-pill.off{color:var(--ink-3);border-color:var(--line-2)}@media (width>=900px){.board-body{grid-template-columns:1fr 400px;display:grid}.board-map{position:relative;inset:auto}.sheet{box-shadow:none;border-top:0;border-left:1px solid var(--rule);border-radius:0;min-height:0;max-height:none;padding:16px 20px;position:relative}.sheet-handle{display:none}.sheet .sheet-body{flex:1;margin:0 -20px;padding:8px 20px;display:block}.sheet-title{cursor:default}}.replay-controls{align-items:center;gap:2px;padding-bottom:6px;display:flex}.replay-controls .play{background:var(--ink);color:var(--paper);width:44px;height:44px;margin:0 4px}.replay-controls .play:hover{background:var(--accent);color:#fff}.replay-controls .icon-btn:disabled{opacity:.3}.timeline{scrollbar-width:none;scroll-snap-type:x proximity;flex:1;gap:4px;min-width:0;padding:4px 2px;display:flex;overflow-x:auto}.timeline::-webkit-scrollbar{display:none}.tl-step{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);cursor:pointer;font-variant-numeric:tabular-nums;scroll-snap-align:center;border-radius:0;flex:none;padding:5px 8px;font-size:12px;font-weight:700}.tl-step.tl-retreat,.tl-step.tl-adjustment{color:var(--ink-3);font-weight:600}.tl-step:hover{border-color:var(--ink)}.tl-step[aria-current=step]{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.history-sheet .sheet-body{max-height:46dvh}.results{flex-direction:column;gap:10px;padding-top:6px;display:flex}.results-power{--pc:var(--ink-3);background:color-mix(in srgb, var(--pc) 7%, var(--surface));border-left:3px solid var(--pc);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:8px 12px 2px}.results-power h3{color:color-mix(in srgb, var(--pc) 55%, var(--ink));margin-bottom:2px;font-size:12px;font-weight:700}.results-power .list>li+li{border-top-color:color-mix(in srgb, var(--pc) 12%, var(--line))}.result{align-items:flex-start;gap:10px;padding:7px 0;font-size:14px;display:flex}.result-mark{border-radius:0;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;display:grid}.result.ok .result-mark{background:var(--ok-soft);color:var(--ok-text)}.result.bad .result-mark{background:var(--accent-soft);color:var(--danger)}.result .grow{flex-direction:column;display:flex}.result-reason{color:var(--ink-3);font-size:13px}.result.defaulted .result-order{color:var(--ink-3)}.result-reason.danger{color:var(--danger);font-weight:600}.present{--foot:60px;--pu:clamp(14px, 1.75vh, 24px);--side-min:max(360px, calc(26 * var(--pu)));background:var(--paper);--below:var(--foot);grid-template-columns:min(calc((100dvh - var(--below)) * 1.0262), calc(100vw - max(var(--side-min), var(--side-need,0px)))) minmax(0, 1fr);grid-template-rows:auto auto minmax(0, 1fr) var(--foot);grid-template-areas:"map head""map strip""map side""foot side";height:100dvh;display:grid;overflow:hidden}.present.strip-below{--below:calc(var(--foot) + 6.2 * var(--pu));grid-template-rows:auto minmax(0, 1fr) auto var(--foot);grid-template-areas:"map head""map side""strip side""foot side"}.present.strip-below .center-strip{border-left:0;border-top:1px solid var(--rule);padding-top:.8em}.present.strip-below .center-strip ol{grid-template-columns:repeat(7,minmax(0,1fr))}.present.strip-below .cs-name span{display:none}.present-map{grid-area:map;min-height:0;position:relative}.present-map .lbl text{font-size:10px}.present-map[data-zoom=far] .labels{display:inline}.present-head{font-size:var(--pu);background:var(--surface);border-left:1px solid var(--rule);box-shadow:inset 0 -3px 0 var(--mark-red);grid-area:head;align-items:center;gap:.9em;padding:.9em 1em .8em 1.1em;display:flex}.present-head img{flex:none;width:3.2em;height:3.2em}.present-head .grow{min-width:0}.present-kicker{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:.85em;font-weight:600;overflow:hidden}.present-title{font:700 2.6em/1.1 var(--font-display);white-space:nowrap}.present-title span{font:600 .45em/1 var(--font-ui);color:var(--ink-3);vertical-align:middle;margin-left:.3em}.present-close{color:var(--ink-3);align-self:flex-start}.present-side{border-left:1px solid var(--rule);background:var(--surface);min-width:0;min-height:0;font-size:max(14px, calc(var(--pu) * var(--fit,1)));flex-direction:column;grid-area:side;padding:1em 1.1em;display:flex;overflow:hidden}.present-side.overfull{overflow:auto}.present-side.overfull .results{flex:none;overflow:visible}.present-measure{visibility:hidden;pointer-events:none}.present-note{color:var(--ink-3);font-size:.95em}.center-strip{min-width:0;font-size:var(--pu);background:var(--surface);border-left:1px solid var(--rule);grid-area:strip;padding:1em 1.1em 0;container-type:inline-size}.center-strip h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;gap:1em;margin-bottom:.5em;font-size:.75em;font-weight:700;display:flex}.center-strip h3 .muted{letter-spacing:.04em;font-weight:600}.center-strip ol{border-top:1px solid var(--line-2);border-left:1px solid var(--line-2);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@container (width<=560px){.center-strip ol{grid-template-columns:repeat(4,minmax(0,1fr))}}.center-strip li{border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:color-mix(in srgb, var(--pc) 5%, var(--surface));grid-template-columns:auto minmax(0,1fr);grid-template-areas:"badge n""name name""bar bar";align-items:center;gap:.3em .45em;padding:.55em .6em .5em;display:grid;position:relative}.center-strip .pbadge{grid-area:badge}.cs-count{flex-wrap:wrap;grid-area:n;align-items:flex-start;gap:.15em .3em;min-width:0;display:flex}.cs-n{font:700 1.9em/1 var(--font-display)}.cs-d{font-variant-numeric:tabular-nums;padding:.1em .35em;font-size:.75em;font-weight:700;line-height:1.2}.cs-d.up{background:var(--ok-soft);color:var(--ok-text)}.cs-d.down{background:var(--accent-soft);color:var(--danger)}.cs-name{white-space:nowrap;text-overflow:ellipsis;grid-area:name;font-size:.8em;font-weight:600;line-height:1.25;overflow:hidden}.cs-name span{color:var(--ink-3);font-size:.9em;font-weight:400;display:block}.cs-bar{background:var(--paper-2);grid-area:bar;height:4px;overflow:hidden}.cs-bar>span{background:var(--pc);height:100%;display:block}.present-side .results{columns:3 15em;column-fill:balance;flex:1;column-gap:1em;min-height:0;padding-top:0;display:block;overflow:hidden}.present-side .results-power{break-inside:avoid;margin-bottom:.6em;padding:.4em .7em .15em}.present-side .results-power h3{align-items:center;gap:.45em;margin-bottom:.2em;font-size:.85em;display:flex}.present-side .result{gap:.45em;padding:.14em 0;font-size:1em;line-height:1.28}.present-side .result-mark{width:1.2em;height:1.2em;margin-top:.05em}.present-side .result-mark svg{width:.85em;height:.85em}.present-side .result .grow{display:block}.present-side .result-order b{font-weight:700}.result-tag{letter-spacing:.03em;text-transform:uppercase;vertical-align:.1em;white-space:nowrap;background:var(--paper-2);color:var(--ink-2);margin-left:.4em;padding:.1em .4em;font-size:.75em;font-weight:700;line-height:1.25;display:inline-block}.result-tag.danger{background:var(--accent-soft);color:var(--danger)}.result-to{color:var(--ink-3);text-decoration-thickness:.09em}.present-side .results .list>li+li{border-top:0}.present-side .results .list>li{border-bottom:1px solid color-mix(in srgb, var(--pc) 12%, var(--line))}.present-side .results .list>li:last-child{border-bottom:0}.present-foot{border-top:1px solid var(--rule);background:var(--surface);grid-area:foot;align-items:center;gap:20px;min-width:0;padding:0 20px;display:flex}.present-foot .replay-controls{flex:1;min-width:0;padding-bottom:0}.present-foot .tl-step{padding:7px 11px;font-size:14px}.present-keys{color:var(--ink-3);white-space:nowrap;flex:none;font-size:13px}.present-keys kbd{font:600 12px/1 var(--font-ui);color:var(--ink-2);border:1px solid var(--line-2);background:var(--paper);margin:0 4px 0 10px;padding:3px 6px}.present-keys kbd+kbd{margin-left:0}@media (width<=1599px){.present-keys{display:none}}@media (width<=899px),(aspect-ratio<=5/4){.present{--pu:13px;grid-template:"head""map"minmax(0,1fr)"strip""side""foot"/minmax(0,1fr)}.present-head{border-left:0;padding:10px 8px 10px 16px}.present-title{font-size:2em}.present-side{border-left:0;border-top:1px solid var(--rule);max-height:40dvh;padding:12px 16px;overflow:auto}.present-side .results{columns:auto;overflow:visible}.present-measure{display:none}.present-foot{padding:4px 12px}.present .center-strip{border:0;border-top:1px solid var(--rule);padding:8px 16px 0}.center-strip h3{display:none}.center-strip ol{grid-template-columns:repeat(7,minmax(0,1fr))}.center-strip li{grid-template-areas:"badge n";justify-content:center;gap:4px;padding:6px 2px}.cs-n{font-size:1.35em}.cs-d{padding:0 .25em;font-size:.65em}.cs-name,.cs-bar{display:none}}@media (width>=900px) and (aspect-ratio<=5/4){.present{--pu:clamp(13px, 1.6vw, 20px)}.present-side{max-height:none}.present-map{height:min(97.4469vw,60dvh)}}.sc-bar{background:var(--paper-2);border-radius:0;flex:none;width:80px;height:6px;overflow:hidden}.sc-bar>span{border-radius:0;height:100%;display:block}.sc-bar.wide{width:100%;margin-top:6px}.messages-screen{min-height:0;display:flex}.channels{background:var(--surface);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.channel-list{flex:1;padding-bottom:88px;overflow-y:auto}.channel-row{color:var(--ink);align-items:center;gap:12px;padding:12px 16px;display:flex;text-decoration:none!important}.channel-row:hover{background:var(--paper)}.channel-row[aria-current=page]{background:var(--paper-2);box-shadow:inset 3px 0 0 var(--accent)}.channel-row>.grow{flex-direction:column;gap:2px;display:flex;overflow:hidden}.channel-section .list>li{border-top:1px solid var(--line)}.channel-section .list>li:first-child{border-top:0}.section-pinned{border-bottom:1px solid var(--rule)}.list-section{font:700 11px/1.2 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:18px 16px 6px;display:flex}.section-unread{letter-spacing:.04em;color:var(--accent-text);font-variant-numeric:tabular-nums}.list-hint{color:var(--ink-3);margin:0;padding:20px 16px;font-size:14px}.channel-title{font-size:15px;font-weight:700}.channel-preview{color:var(--ink-3);font-size:14px}.channel-preview.unread{color:var(--ink);font-weight:600}.channel-draft{color:var(--accent);font-weight:600}.channel-removed{font-style:italic}.avatar{border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.avatar-public{background:var(--ink);color:var(--paper)}.avatar-multi{display:block;position:relative}.avatar-multi>*{box-shadow:0 0 0 2px var(--surface);position:absolute}.avatar-multi.n2>:first-child{top:0;left:0}.avatar-multi.n2>:nth-child(2){bottom:0;right:0}.avatar-multi.n3>:first-child{top:0;left:22%}.avatar-multi.n3>:nth-child(2){bottom:0;left:0}.avatar-multi.n3>:nth-child(3){bottom:0;right:0}.conv .avatar-multi>*{box-shadow:0 0 0 2px var(--paper)}.fab{right:calc(16px + var(--safe-right));background:var(--ink);height:48px;color:var(--paper);box-shadow:var(--shadow-2);cursor:pointer;border:0;border-radius:0;align-items:center;gap:8px;padding:0 20px;font-weight:700;display:inline-flex;position:absolute;bottom:16px}.fab:hover{background:var(--accent);color:#fff}.channels .screen-header .new-chat-btn{display:none}.conv{background:var(--paper);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.conv-empty,.messages-screen.has-channel .channels,.messages-screen:not(.has-channel) .conv{display:none}.conv-head{min-width:0;max-width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:4px 10px 4px 6px;display:flex}.conv-head:hover{background:var(--paper-2)}.conv-head .avatar-multi>*{box-shadow:0 0 0 2px var(--surface)}.conv-head-text{flex-direction:column;min-width:0;display:flex}.conv-title{font:700 16px/1.3 var(--font-display)}.conv-sub{color:var(--ink-3);font-size:13px}.conv-start{flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.conv-start h2{margin:4px 0 0}.conv-start .readers-note{text-align:left;max-width:340px}.conv-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;padding:12px 12px 8px;display:flex;overflow-y:auto}.conv-scroll>.center-fill,.conv-scroll>.empty{flex:1}.older{align-self:center;margin-bottom:8px}.msgs{flex-direction:column;gap:2px;margin-top:auto;display:flex}.day-sep{align-items:center;gap:12px;margin:16px 0 8px;display:flex}.day-sep:before,.day-sep:after{content:"";background:var(--line-2);flex:1;height:1px}.day-sep span{color:var(--ink-3);font-size:12px;font-weight:600}.msg{flex-direction:column;align-items:flex-start;max-width:82%;margin-top:8px;display:flex}.msg.grouped{margin-top:0}.msg.mine{align-self:flex-end;align-items:flex-end}.msg-author{align-items:center;gap:6px;margin:0 0 4px 2px;font-size:12px;font-weight:700;display:flex}.msg-author .muted{font-weight:500}.msg-name{color:var(--ink-2)}.msg-name[style]{color:color-mix(in srgb, var(--pc) 55%, var(--ink))}.bubble{background:var(--surface);border:1px solid var(--line-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0;padding:8px 12px;font-size:15px;line-height:1.4;position:relative}.msg.mine .bubble{background:var(--mine);color:var(--mine-ink);border-color:var(--mine)}.bubble-time{color:var(--ink-3);float:right;margin-top:5px;margin-left:8px;font-size:11px}.msg.mine .bubble-time{color:var(--mine-time)}.bubble-removed,.msg.mine .bubble-removed{border:1px dashed var(--line-2);color:var(--ink-3);background:0 0;font-style:italic}.msg.mine .bubble-removed .bubble-time{color:var(--ink-3)}.msg.hidden:not(:has(.bubble-removed)) .bubble{border-style:dashed;border-color:var(--field-line);background:var(--paper-2);color:var(--ink-3)}.msg.mine.hidden:not(:has(.bubble-removed)) .bubble .bubble-time{color:var(--ink-3)}.hidden-tag{width:fit-content;font:700 11px/1.3 var(--font-ui);letter-spacing:.02em;color:var(--warn);align-items:center;gap:4px;margin-bottom:3px;font-style:normal;display:flex}.msg-line{align-items:center;gap:6px;max-width:100%;display:flex}.msg.mine .msg-line{flex-direction:row-reverse}.msg-line>.bubble{min-width:0}.msg-action{border:1px solid var(--line-2);background:var(--surface);min-height:32px;color:var(--ink-2);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.msg-action:hover{background:var(--paper-2);color:var(--ink);border-color:var(--rule)}@media (hover:hover){.msg-action{opacity:0;transition:opacity .12s}.msg:hover .msg-action,.msg:focus-within .msg-action,.msg.selected .msg-action{opacity:1}}@media (hover:none){.msg:has(.msg-action) .bubble{cursor:pointer}.msg-action{min-height:44px}.msg:not(.selected) .msg-action:not(:focus){clip:rect(0 0 0 0);border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.msg.selected .bubble{box-shadow:0 0 0 2px var(--accent-text)}}.hide-quote{border-left:3px solid var(--line-2);background:var(--paper);color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:30dvh;margin:12px 0;padding:10px 12px;overflow:auto}.composer{padding:10px calc(12px + var(--safe-right)) 10px calc(12px + var(--safe-left));background:var(--surface);border-top:1px solid var(--rule);align-items:flex-end;gap:8px;display:flex}.conv-readonly .readers-note{margin:2px 0}.composer-input{border-radius:0;min-height:44px;max-height:140px;padding:11px 14px}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:0;flex:none;place-items:center;width:44px;height:44px;display:grid}.send-btn:hover{background:var(--accent-deep)}.send-btn:disabled{background:var(--line-2);color:var(--ink-3);cursor:default}.pick-list{margin:0 0 6px}.pick-row{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:9px 2px;display:flex}.pick-row:hover:not(:disabled){background:var(--paper)}.pick-row:disabled{cursor:default}.pick-row:disabled .pick-text strong{color:var(--ink-2)}.pick-row:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.pick-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.pick-head{font:700 11px/1.2 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:12px 0 2px}.check{border:1.5px solid var(--field-line);color:#0000;border-radius:0;flex:none;place-items:center;width:24px;height:24px;display:grid}.check.on{background:var(--accent);border-color:var(--accent);color:#fff}.check.on.implied{background:var(--paper-2);border-color:var(--line-2);color:var(--ink-3)}.dialog.new-chat{flex-direction:column;height:88dvh;padding-bottom:0;display:flex;overflow:hidden}.new-chat h2{margin-bottom:12px}.to-field{border:1px solid var(--field-line);background:var(--field);cursor:text;flex-wrap:wrap;flex:none;align-items:center;gap:6px;min-height:46px;padding:6px 8px;display:flex}.to-field:focus-within{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.to-label{color:var(--ink-3);padding:0 4px 0 2px;font-weight:600}.to-chip{background:var(--paper-2);border:1px solid var(--line-2);align-items:center;gap:6px;max-width:100%;height:30px;padding:0 2px 0 5px;font-size:14px;font-weight:600;display:inline-flex}.to-chip-team{border-color:var(--rule)}.to-chip-x{width:26px;height:26px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.to-chip-x:hover{color:var(--ink);background:var(--line)}.to-input{min-width:120px;height:30px;color:var(--ink);background:0 0;border:0;flex:1;padding:0 4px;font-size:16px}.to-input:focus{outline:none}.readers-live{flex:none}.readers-note{color:var(--ink-2);align-items:flex-start;gap:8px;margin:10px 0 4px;font-size:13px;line-height:1.4;display:flex}.readers-note svg{color:var(--ink-3);flex:none;margin-top:1px}.pick-scroll{border-top:1px solid var(--line);overscroll-behavior:contain;flex:1;min-height:0;margin:4px -20px 0;padding:0 20px;overflow-y:auto}.new-chat-foot{padding:12px 20px calc(16px + var(--safe-bottom));border-top:1px solid var(--rule);background:var(--surface);flex-direction:column;flex:none;gap:10px;margin:0 -20px;display:flex}.name-field>span{font-size:13px}.exists-note{margin:0}.members-head{align-items:center;gap:12px;margin:4px 0 12px;display:flex}.members-sub{font-weight:600}.rename{align-items:flex-end;gap:8px;margin-bottom:4px;display:flex}.rename .btn{min-height:46px}.named-by{margin:4px 0 0}.member-groups{flex-direction:column;gap:14px;margin-top:14px;display:flex}.member-group-head{border-bottom:2px solid var(--pc,var(--rule));font:700 14px/1.3 var(--font-ui);color:var(--ink);align-items:center;gap:8px;margin:0;padding:6px 0;display:flex}.member-group-head .small{font-weight:500}.member-row{align-items:center;gap:10px;padding:7px 0;font-size:15px;display:flex}.member-group.team .list{background:color-mix(in oklab, var(--pc) 9%, var(--surface))}.member-group.team .member-row{padding-inline:10px}.member-group.team .member-row+.member-row{border-top:1px solid color-mix(in oklab, var(--pc) 16%, var(--surface))}@media (width>=900px){.messages-screen{grid-template-columns:360px 1fr;display:grid}.messages-screen .channels,.messages-screen .conv{display:flex!important}.channels{border-right:1px solid var(--rule)}.conv-empty{justify-content:center;align-items:center;display:flex!important}.conv .screen-header a.icon-btn,.fab{display:none}.channels .screen-header .new-chat-btn{display:inline-grid}.channel-list{padding-bottom:0}}@media (width>=600px){.dialog.new-chat{max-width:520px;height:min(700px,86dvh)}.new-chat-foot{padding-bottom:18px}}.howto{line-height:1.55}.howto p,.howto li{color:var(--ink-2)}.howto p+p,.howto p+ul,.howto ul+p{margin-top:10px}.howto ul{margin:8px 0 0;padding-left:20px}.howto li+li{margin-top:4px}.howto-lede{font:400 16px/1.6 var(--font-display);padding:4px 0 0;color:var(--ink)!important}.howto section{border-top:1px solid var(--line-2);margin-top:24px;padding-top:20px}.howto section:first-of-type{border-top:0;margin-top:12px;padding-top:0}.howto h2{font:700 20px/1.3 var(--font-display);color:var(--ink);margin-bottom:10px}.next-deadline{background:var(--surface);border:1px solid var(--rule);box-shadow:inset 4px 0 0 var(--accent);flex-direction:column;gap:2px;margin:4px 0 16px;padding:12px 16px;display:flex}.next-deadline strong{font:700 18px/1.3 var(--font-display);color:var(--ink)}.next-deadline span{color:var(--ink-2);font-size:14px}.next-deadline .next-label{color:var(--accent-text);font-size:13px;font-weight:700}.next-deadline.done{box-shadow:none}.turn-cal{margin:0}.turn-cal table{border-collapse:collapse;table-layout:fixed;background:var(--surface);outline:1px solid var(--rule);outline-offset:-1px;width:100%}.turn-cal .cal-title{font:700 15px/1.3 var(--font-display);color:var(--ink);margin-bottom:8px}.turn-cal th{font:600 12px/1 var(--font-ui);color:var(--ink-3);border-bottom:1px solid var(--rule);padding:8px 0}.cal-day{vertical-align:top;border:1px solid var(--line);height:64px;padding:5px 4px 6px;font-size:12px;position:relative;overflow:hidden}.cal-date{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;display:block}.cal-turn{color:var(--ink);margin-top:3px;line-height:1.2;display:block}.cal-season{font-weight:700;display:block}.cal-year{font-variant-numeric:tabular-nums;display:block}.cal-time{color:var(--ink-3);display:block}.cal-end{color:var(--accent-text);font-weight:700}.cal-day.has-turn .cal-date{color:var(--ink)}.cal-day.past{background:var(--paper-2)}.cal-day.cal-rest{background:repeating-linear-gradient(135deg, transparent 0 6px, var(--hatch) 6px 7px), var(--paper-2)}.cal-note{color:var(--ink-2);-webkit-hyphens:manual;hyphens:manual;margin-top:3px;font-weight:600;line-height:1.2;display:block}.cal-holiday{color:var(--accent-text)}.cal-day.past .cal-date,.cal-turn.done{color:var(--ink-3);opacity:.8}.cal-day.today{box-shadow:inset 0 0 0 2px var(--ink)}.cal-today{color:var(--ink);font-size:11px;font-weight:700;display:block}.cal-day.next{background:var(--accent)}.cal-day.next .cal-date,.cal-day.next .cal-turn,.cal-day.next.today .cal-today{color:#fff}.turn-cal figcaption{margin-top:8px}@media (width>=600px){.cal-day{height:76px;padding:6px 8px;font-size:13px}.cal-season,.cal-year{display:inline}.cal-today{position:absolute;top:6px;right:6px}}@media (width<=360px){.cal-day{padding:4px 2px;font-size:11px}}.year-steps{border-top:1px solid var(--rule);border-left:1px solid var(--rule);counter-reset:step;margin:4px 0 12px;padding:0;list-style:none;display:grid}.year-steps li{counter-increment:step;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--surface);grid-template-columns:28px 1fr;column-gap:8px;padding:10px 12px;display:grid;margin:0!important}.year-steps li:before{content:counter(step);font:700 18px/1.2 var(--font-display);color:var(--accent-text);grid-row:span 2}.year-steps strong{color:var(--ink)}.year-steps span{color:var(--ink-2);font-size:14px}.year-steps li.optional{background:0 0}.year-steps li.optional strong{color:var(--ink-2);font-weight:600}@media (width>=760px){.year-steps{grid-template-columns:repeat(5,1fr)}.year-steps li{grid-template-columns:1fr}.year-steps li:before{grid-row:auto}}.howto-credits h2{font-size:16px}@media (width>=900px){.page>.screen-header{padding-inline:max(16px,50% - 364px)}.page.admin>.screen-header{padding-inline:max(16px,50% - 584px)}}.page{flex-direction:column;min-height:0;display:flex}.page-body{padding:16px calc(16px + var(--safe-right)) 32px calc(16px + var(--safe-left));flex:1;width:100%;max-width:760px;margin:0 auto;overflow-y:auto}.page-body.wide{max-width:1200px}.pad{padding:32px}.prose h2{font:700 20px/1.3 var(--font-display);margin-bottom:10px}.prose h2:after{content:"";background:var(--accent);width:48px;height:3px;margin-top:10px;display:block}.prose h3{margin:20px 0 6px}.prose p,.prose li{color:var(--ink-2)}.prose ul{margin:0;padding-left:20px}.standings-sub,.standings-tabs{margin-bottom:12px}.standing-name{flex-wrap:wrap;align-items:center;column-gap:8px;font-weight:700;display:flex}.awards{align-items:center;gap:6px;display:inline-flex}.trophy{color:#c8961a;display:inline-flex}.medal{font-variant-numeric:lining-nums tabular-nums;color:#1a1408;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1.5px #0000002e}.medal-1{background:#e3b52b}.medal-2{background:#c4c7cc}.medal-3{background:#c98a52}.standings-key{flex-wrap:wrap;align-items:center;gap:4px;margin-top:12px;display:flex}.standings-key .small-medal{width:16px;height:16px;font-size:9px}.standings-key .trophy{vertical-align:-2px}.standings{background:var(--line-2);border:1px solid var(--rule);flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.standing{background:var(--surface);border-radius:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.standing.mine{background:var(--raised);box-shadow:inset 4px 0 0 var(--accent)}.standing-rank{text-align:center;width:22px;color:var(--ink-3);font-weight:700}.standing-main{flex-direction:column;display:flex}.standing-n{flex-direction:column;align-items:flex-end;min-width:40px;display:flex}.standing-n strong{font:700 24px/1 var(--font-display)}.delta{margin-top:2px;font-size:12px;font-weight:700}.delta.up{color:var(--ok-text)}.delta.down{color:var(--danger)}.admin .page-body{flex-direction:column;gap:16px;display:flex}.status-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.status-phase{font:700 20px/1.3 var(--font-display);margin:2px 0}.status-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.admin-team{padding:14px 16px}.admin-team-head{margin-bottom:8px}.admin-orders li{flex-direction:column;padding:7px 0;font-size:14px;display:flex}.admin-member{gap:8px}.admin-orders li>.muted{padding-left:32px}.team-captain{margin:4px 0 10px}.wrap{flex-wrap:wrap;align-items:flex-end}.align-end{align-self:flex-end;margin-bottom:4px}.schedule-list li{gap:10px;padding:6px 0}.schedule-list .input{max-width:240px;min-height:40px;padding:6px 10px}.sched-n{text-align:right;width:24px}.check-row{cursor:pointer;gap:10px}.check-row input{width:20px;height:20px;accent-color:var(--accent)}.sticky-actions{z-index:2;background:var(--paper);border-top:1px solid var(--line-2);justify-content:flex-end;margin-bottom:-32px;padding:12px 0 44px;position:sticky;bottom:-32px}.file-btn{align-self:flex-start;position:relative}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.import-result{background:var(--ok-soft);border-left:3px solid var(--ok);color:var(--ok-text);border-radius:0;padding:12px 14px}.import-result ul{color:var(--warn);margin:6px 0 0;padding-left:18px}.error-list{background:var(--accent-soft);color:var(--danger);border-left:3px solid var(--danger);border-radius:0;padding:12px 14px;font-size:14px}.error-list ul{color:var(--ink);margin:6px 0 0;padding-left:18px}.error-list ul.warn{color:var(--warn)}.position-edit{grid-template-columns:1fr;gap:12px;display:grid}.position-preview{min-height:320px;position:relative;overflow:hidden}.position-map{position:absolute;inset:0}@media (width>=900px){.position-edit{grid-template-columns:minmax(340px,1fr) 1.3fr}.position-preview{min-height:520px}}.players-head{border-bottom:1px solid var(--line)}.player-row{align-items:center;gap:12px;padding:10px 16px;display:flex}.player-text{flex-direction:column;line-height:1.35;display:flex}.player-meta{color:var(--ink-2)}.code-wait{place-items:center;min-height:120px;display:grid}.signin-code{text-align:center;background:var(--paper);border:1px solid var(--line-2);font:700 44px/1 var(--font-ui);letter-spacing:.12em;color:var(--ink);-webkit-user-select:all;user-select:all;margin:14px 0 6px;padding:18px 12px}.code-valid{color:var(--ink-2);margin:10px 0 6px}.mail-summary{align-items:flex-start;gap:12px;display:flex}.mail-counts{color:var(--ink-2);flex-wrap:wrap;gap:4px 18px;margin-top:6px;font-size:14px;display:flex}.mail-counts strong{color:var(--ink);font-size:16px}.mail-count-mid strong{color:var(--warn)}.mail-count-bad,.mail-count-bad strong{color:var(--danger)}.mail-at{margin-top:6px}.mail-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.mail-head p{margin-top:2px}.mail-empty{color:var(--ink-3);padding:14px 16px;font-size:14px}.mail-row{flex-direction:column;gap:3px;padding:12px 16px;display:flex}.mail-top{align-items:baseline;gap:12px;display:flex}.mail-to{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px}.mail-when{flex:none}.mail-subject{color:var(--ink-2);font-size:14px}.mail-meta{align-items:center;gap:10px;margin-top:3px;display:flex}.mail-error{color:var(--ink-2);overflow-wrap:anywhere;margin-top:2px}.mail-error.bad{color:var(--danger)}.mail-error-label{color:var(--ink-3)}.mail-error code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.status-pill.bad{color:var(--danger)}.mail-count-info strong{color:var(--ink-2)}.sent-head{flex-direction:column;align-items:stretch}.sent-search{min-height:44px}.sent-list.stale{opacity:.6;transition:opacity .15s}.sent-toggle{text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;gap:3px;width:100%;padding:12px 16px;display:flex}@media (hover:hover){.sent-toggle:hover{background:var(--paper-2)}}.sent-toggle:focus-visible{outline-offset:-2px}.sent-toggle .mail-subject{overflow-wrap:anywhere}.sent-chevron{color:var(--ink-3);flex:none;align-self:center;transition:transform .15s;display:inline-flex}.sent-row.open .sent-chevron{transform:rotate(90deg)}.sent-body{padding:0 16px 14px}.sent-text{background:var(--paper);border-left:3px solid var(--line-2);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);max-width:80ch;margin-top:6px;padding:12px 14px;font-size:14px;line-height:1.5}.sent-more{border-top:1px solid var(--line);justify-content:center;padding:8px 16px 12px;display:flex}@media (width>=700px){.sent-head{flex-direction:row;align-items:center}.sent-head>div{flex:1}.sent-search{flex:none;width:300px}}@media (prefers-reduced-motion:reduce){.sent-chevron,.sent-list.stale{transition:none}}.log-list li{align-items:center;gap:12px;padding:10px 16px;display:flex}.log-type{background:var(--paper-2);border-radius:0;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.signin{min-height:100dvh;padding:0 0 calc(24px + var(--safe-bottom));background-color:var(--paper);background-image:var(--grain);flex-direction:column;align-items:center;display:flex}.signin-head{min-height:calc(64px + var(--safe-top));padding:var(--safe-top) calc(20px + var(--safe-right)) 0 calc(20px + var(--safe-left));align-self:stretch;align-items:center;display:flex}.signin-card{background:var(--surface);border:1px solid var(--rule);width:calc(100% - 32px);max-width:440px;box-shadow:inset 0 4px 0 var(--accent);margin:auto 0;padding:28px 22px 24px;position:relative}@media (height>=700px){.signin-card{margin-top:max(24px,8vh);margin-bottom:auto}}.signin-top{align-items:center;gap:12px;margin-bottom:18px;display:flex}.signin-kanji{color:var(--ink);font-size:30px;line-height:1}.signin-kicker{font:700 17px/1.3 var(--font-display);color:var(--ink)}.signin-title{font:700 clamp(24px, 6.5vw, 30px)/1.2 var(--font-display);letter-spacing:-.015em;text-wrap:balance}.stroke{width:9rem;height:.75rem;color:var(--accent);margin:14px 0 0;display:block}.signin-dates{color:var(--ink-2);font-variant-numeric:lining-nums;margin:12px 0 24px;font-weight:600}.signin-form{text-align:left}.signin-note{color:var(--ink-2)}.code-input{font:600 26px/1 var(--font-ui);letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.code-input::placeholder{color:var(--line-2)}[data-meaning]{cursor:help;position:relative}.brand-mark{display:inline-flex}[data-meaning]:after{content:attr(data-meaning);z-index:10;color:#f4f1ec;font:500 13px/1.2 var(--font-ui);white-space:nowrap;pointer-events:none;opacity:0;background:#111;border:1px solid #333;padding:6px 10px;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px)}[data-meaning]:hover:after,[data-meaning]:focus-visible:after{opacity:1;transform:none}.center-row{justify-content:center}.ink{color:var(--ink)}@media (pointer:coarse){.ready-summary,.phase-chip,.seg-item,.tl-step,.btn-sm{position:relative}.ready-summary:after,.phase-chip:after,.seg-item:after,.tl-step:after,.btn-sm:after{content:"";height:max(44px,100%);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.timeline{margin-block:-8px;padding-block:12px}.seg-scroll .seg-item{min-height:44px}}
