@font-face{font-family:Marcellus;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a2830ad50e93808-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Marcellus;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5924d7180a413da6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Marcellus Fallback;src:local("Times New Roman");ascent-override:86.59%;descent-override:24.87%;line-gap-override:0.00%;size-adjust:112.50%}.__className_0ccb75{font-family:Marcellus,Marcellus Fallback;font-weight:400;font-style:normal}.__variable_0ccb75{--font-marcellus:"Marcellus","Marcellus Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_fcc734{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_fcc734{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_43f867{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_43f867{--font-plex-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}:root{--ground:#0b0e1a;--panel:#141a2e;--line:#232c48;--bone:#ede4d3;--dim:#7d84a0;--vermilion:#c43a22;--marigold:#e8a020;--peacock:#22a196;--fam-water:#10203c;--fam-royal:#2a1420;--fam-fire:#241511;--fam-forest:#14201a;--fam-circ:#161b2c;--fam-boh:#10131f}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:var(--ground);color:var(--bone);font-family:var(--font-plex-sans),system-ui,sans-serif;overflow:hidden}#root,.shell{height:100vh;display:flex;flex-direction:column}header.koa{display:flex;justify-content:space-between;align-items:flex-end;padding:14px 22px 10px;border-bottom:1px solid var(--line)}header.koa h1{font-family:var(--font-marcellus),serif;font-weight:400;font-size:26px;letter-spacing:.14em}header.koa h1 em{color:var(--vermilion);font-style:normal}.sub{font-family:var(--font-plex-mono),monospace;font-size:10.5px;letter-spacing:.16em;color:var(--dim);margin-top:3px}.clockwrap{display:flex;align-items:center;gap:14px}#phase{font-family:var(--font-plex-mono),monospace;font-size:10.5px;letter-spacing:.14em;color:var(--peacock)}#phase.finale{color:var(--vermilion);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.45}}#clock{font-size:26px;color:var(--marigold);min-width:96px;text-align:right}#clock,button.koa{font-family:var(--font-plex-mono),monospace}button.koa{background:var(--panel);color:var(--bone);border:1px solid var(--line);font-size:11px;letter-spacing:.1em;padding:7px 12px;cursor:pointer}button.koa.on,button.koa:hover{border-color:var(--marigold)}button.koa.on{color:var(--marigold)}main.koa{flex:1 1;display:flex;min-height:0}.plans{gap:6px;padding:10px 14px;min-width:0}.planbox,.plans{flex:1 1;display:flex;flex-direction:column}.planbox{min-height:0}.planlabel{font-family:var(--font-plex-mono),monospace;font-size:10px;letter-spacing:.18em;color:var(--dim);padding:2px 4px}.planbox svg{flex:1 1;width:100%;min-height:0}.scene3d{flex:1 1;min-width:0;position:relative;display:flex;-moz-user-select:none;user-select:none;-webkit-user-select:none}.scene3d-canvas{flex:1 1;min-width:0;min-height:0}.scene3d-canvas canvas{display:block;cursor:-webkit-grab;cursor:grab}.scene3d-canvas canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.scene3d-hint{position:absolute;left:14px;bottom:12px;pointer-events:none;font-family:var(--font-plex-mono),monospace;font-size:10px;line-height:1.5;letter-spacing:.08em;color:var(--dim);text-shadow:0 1px 3px #000}.room{stroke:var(--line);stroke-width:.35;transition:filter .3s}.room.hot{filter:brightness(2.1);stroke:var(--vermilion);stroke-width:.6}.rlabel{font-family:var(--font-plex-mono),monospace;font-size:2.1px;fill:var(--dim);pointer-events:none;letter-spacing:.06em}.rlabel.big{font-family:var(--font-marcellus),serif;font-size:2.9px;fill:var(--bone);opacity:.8}.stair{fill:none;stroke:var(--marigold);stroke-width:.35;stroke-dasharray:1 .7}.voidline{fill:none;stroke:var(--dim);stroke-width:.3;stroke-dasharray:.6 .9}.dot{cursor:pointer}.dot circle{stroke:rgba(0,0,0,.55);stroke-width:.25}.dot text{font-family:var(--font-plex-mono),monospace;font-size:1.6px;fill:#0b0e1a;text-anchor:middle;dominant-baseline:central;font-weight:600;pointer-events:none}.dot.off circle{fill-opacity:.35;stroke-dasharray:.5 .4;stroke:currentColor}.trail{fill:none;stroke-width:.5;opacity:.8;stroke-dasharray:1.2 .8}.walktrail{stroke-width:.55;opacity:.55;stroke-linecap:round}.meet,.walktrail{fill:none;pointer-events:none}.meet{stroke:var(--bone);stroke-width:.5;opacity:0}.rail{width:290px;flex-shrink:0;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.railhead{font-family:var(--font-plex-mono),monospace;font-size:11px;letter-spacing:.18em;color:var(--dim);padding:12px 16px 6px}.legend{overflow-y:auto;padding:0 10px 10px;flex:1 1}.faction{font-family:var(--font-marcellus),serif;font-size:13px;letter-spacing:.12em;color:var(--marigold);margin:12px 6px 4px;border-bottom:1px solid var(--line);padding-bottom:3px}.chip{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:2px;cursor:pointer;font-size:12.5px;color:var(--bone)}.chip.sel,.chip:hover{background:var(--panel)}.chip.sel{outline:1px solid var(--marigold)}.chip .sw{width:10px;height:10px;border-radius:50%;flex-shrink:0}.chip .loc{margin-left:auto;font-family:var(--font-plex-mono),monospace;font-size:10px;color:var(--dim)}.detail{border-top:1px solid var(--line);padding:12px 16px;max-height:42%;overflow-y:auto}.detail h3{font-family:var(--font-marcellus),serif;font-weight:400;font-size:18px;letter-spacing:.08em}.detail .now{font-size:11px;color:var(--peacock);margin:4px 0 8px}.detail .now,.trow{font-family:var(--font-plex-mono),monospace}.trow{display:flex;gap:10px;font-size:10.5px;color:var(--dim);padding:2px 4px;border-left:2px solid transparent}.trow.cur{color:var(--bone);border-left-color:var(--marigold);background:var(--panel)}.trow .t{min-width:52px;color:var(--dim)}.trow .off{color:var(--dim);font-style:italic}footer.koa{border-top:1px solid var(--line);padding:10px 22px 16px}.cuestrip{position:relative;height:54px;margin-top:6px}.cuestrip input[type=range]{position:absolute;inset:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;z-index:5}.cuestrip input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:3px;height:54px;background:var(--marigold)}.cuestrip input[type=range]::-moz-range-thumb{width:3px;height:54px;background:var(--marigold);border:none;border-radius:0}.track-bg{left:0;right:0;background:var(--panel);border:1px solid var(--line)}.finseg,.track-bg{position:absolute;top:20px;height:14px}.finseg{background:rgba(196,58,34,.28)}.flag{position:absolute;top:0;transform:translateX(-50%);font-family:var(--font-plex-mono),monospace;font-size:8.5px;color:var(--dim);letter-spacing:.02em;pointer-events:none;white-space:nowrap}.flag:after{content:"";position:absolute;left:50%;top:12px;width:1px;height:10px;background:var(--dim)}.flag.major{color:var(--vermilion)}.chunkmark{position:absolute;top:38px;transform:translateX(-50%);font-family:var(--font-plex-mono),monospace;font-size:9px;color:var(--dim)}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tip{position:fixed;pointer-events:none;background:var(--panel);border:1px solid var(--marigold);padding:8px 10px;font-size:12px;z-index:50;max-width:260px}.tip b{font-family:var(--font-marcellus),serif;letter-spacing:.06em;font-weight:400;font-size:13.5px}.tip .occ{font-family:var(--font-plex-mono),monospace;font-size:10.5px;color:var(--dim);margin-top:4px}@media (max-width:980px){main.koa{flex-direction:column}.rail{width:100%;border-left:none;border-top:1px solid var(--line);max-height:300px}#clock{font-size:22px}}@media (prefers-reduced-motion:reduce){#phase.finale{animation:none}.room{transition:none}}