.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}.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}.map[data-zoom=far] .crossings{display:none}.canal-bank,.canal-water{fill:none;stroke-linecap:butt;stroke-linejoin:round}.canal-bank{stroke:var(--map-coast);stroke-width:2px}.canal-water{stroke:color-mix(in oklab, var(--map-sea) 80%, var(--map-coast));stroke-width:1.1px}.bridge-deck{fill:var(--map-land)}.bridge-rail{fill:none;stroke:var(--map-label);stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.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;--radius:0;--radius-sm:0;--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:#3f5aa6;--p-england-tint:#c9d1ea;--p-france:#4fa3d1;--p-france-tint:#cfe6f3;--p-germany:#5d5148;--p-germany-tint:#d6d0ca;--p-italy:#3f8f52;--p-italy-tint:#cbe3d0;--p-austria:#c4473b;--p-austria-tint:#efcdc8;--p-russia:#8463b0;--p-russia-tint:#ddd2ec;--p-turkey:#d4a12a;--p-turkey-tint:#f3e3bb;--p-england-text:#3f5aa6;--p-france-text:#4fa3d1;--p-germany-text:#5d5148;--p-italy-text:#3f8f52;--p-austria-text:#c4473b;--p-russia-text:#8463b0;--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;--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-sea-line:#a3b9c6;--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-sea-line:#2f4350;--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 40%, 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:#8fa5e6;--p-france-text:#7cc3e8;--p-germany-text:#b8a899;--p-italy-text:#6fc285;--p-austria-text:#ef7f73;--p-russia-text:#b79de0;--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-danger{color:var(--danger)}.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}.badge{background:var(--accent);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;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)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.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:not(.small):before{content:"盟";content:"盟" / "";border:1px solid var(--rule);width:56px;height:56px;color:var(--accent-text);font:400 28px/1 var(--font-mincho);place-items:center;margin:0 auto 18px;display:grid}.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;min-width:248px;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}.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-full{margin:12px 0;display:flex}.seg-full .seg-item{flex:1}.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}.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{background:var(--paper);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.present-head{border-bottom:3px solid var(--mark-red);align-items:center;gap:20px;padding:16px 28px;display:flex}.present-head img{flex:none;width:64px;height:64px}.present-kicker{color:var(--ink-3);font-size:14px;font-weight:600}.present-title{font:700 clamp(26px, 3vw, 44px)/1.15 var(--font-display)}.present-title span{font:600 .5em/1 var(--font-ui);color:var(--ink-3);vertical-align:middle;margin-left:8px}.present-body{min-height:0;display:flex;container-type:size}.present-map{flex:none;width:min(102.62cqh + 64px,64cqw);position:relative}.present-map .lbl text{font-size:10px}.present-map[data-zoom=far] .labels{display:inline}.present-side{border-left:1px solid var(--rule);background:var(--surface);min-width:0;font-size:calc(16px * var(--fit,1));flex-direction:column;flex:1;gap:1.25em;padding:18px 24px;display:flex;overflow:hidden}.present-side.overfull,.present-side.overfull .results{overflow:auto}.present-side h3{margin-bottom:.5em;font-size:.875em}.present-foot{border-top:1px solid var(--rule);background:var(--surface);padding:8px 20px}.present-foot .tl-step{padding:7px 11px;font-size:14px}@media (height<=820px){.present-head{gap:16px;padding:10px 24px}.present-head img{width:48px;height:48px}.present-title{font-size:28px}.present-kicker{font-size:12px}.present-foot{padding:4px 20px}}.present-side .center-table{flex:none}.present-side .center-table .list{border-top:1px solid var(--line-2);border-left:1px solid var(--line-2);grid-template-columns:repeat(auto-fill,minmax(9.5em,1fr));display:grid}.present-side .center-table .list>li{border:0;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"badge name n""bar bar bar";align-items:center;gap:.25em .5em;padding:.5em .625em;font-size:1em;display:grid}.present-side .center-table .pbadge{grid-area:badge}.present-side .center-table .grow{white-space:nowrap;text-overflow:ellipsis;flex-direction:column;grid-area:name;font-size:.9375em;font-weight:600;line-height:1.2;display:flex;overflow:hidden}.present-side .center-table .grow .small{font-size:.8em;font-weight:400}.present-side .center-table .sc-bar{grid-area:bar;width:100%;height:4px}.present-side .center-table .sc-n{width:auto;font:700 1.5em/1 var(--font-display);grid-area:n}.present-side .results{columns:13em;column-fill:auto;flex:1;column-gap:2em;min-height:0;padding-top:0;display:block;overflow:hidden}.present-side .results-power{margin-bottom:.75em;padding:.4em .7em .1em}.present-side .results-power h3{break-after:avoid;margin-bottom:.15em}.present-side .result{break-inside:avoid;gap:.6em;padding:.3em 0;font-size:.875em}.present-side .result-reason{font-size:.875em}.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}.center-table h3{margin-bottom:6px}.center-table li{padding:8px 0;font-size:16px}.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}.sc-n{text-align:right;width:28px;font-size:18px}@media (width<=899px){.present-body{flex-direction:column;container-type:normal}.present-map{flex:1;width:auto;min-height:0}.present-side{border-left:0;border-top:1px solid var(--rule);flex:none;max-height:40dvh;overflow:auto}.present-side .results{columns:auto;overflow:visible}.present-head{gap:12px;padding:10px 16px}.present-head img{width:40px;height:40px}.present-head .grow{min-width:0}.present-kicker{font-size:12px}.present-title{font-size:26px}}.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-row+.channel-row,.channel-list>*+*{border-top:1px solid var(--line)}.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}.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 .pbadge{box-shadow:0 0 0 2px var(--surface);position:absolute}.avatar-multi.n2 .pbadge:first-child{top:0;left:0}.avatar-multi.n2 .pbadge:nth-child(2){bottom:0;right:0}.avatar-multi.n3 .pbadge:first-child{top:0;left:9px}.avatar-multi.n3 .pbadge:nth-child(2){bottom:0;left:0}.avatar-multi.n3 .pbadge:nth-child(3){bottom:0;right:0}.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 .icon-btn[aria-label=New\ conversation]{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{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-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}.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)}.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}.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{max-height:50dvh;margin:4px 0 14px;overflow-y:auto}.pick-row{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:10px 2px;display:flex}.pick-row input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.pick-row:has(input:focus-visible){outline:2px solid var(--accent-text);border-radius:0}.check{border:1.5px solid var(--field-line);color:#0000;border-radius:0;place-items:center;width:24px;height:24px;display:grid}.check.on{background:var(--accent);border-color:var(--accent);color:#fff}.people{margin-top:10px}.center-text{text-align:center;margin-top:8px}@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 .icon-btn[aria-label=New\ conversation]{display:inline-grid}.channel-list{padding-bottom:0}}.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;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-name{font-weight:700}.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{background:linear-gradient(transparent, var(--paper) 30%);justify-content:flex-end;padding:12px 0;position:sticky;bottom:0}.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}}.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}.sent-icon{border:1px solid var(--rule);width:56px;height:56px;color:var(--accent-text);border-radius:0;place-items:center;margin:0 auto;display:grid}.center-row{justify-content:center}.ink{color:var(--ink)}
