@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cd79e1ff94fa521b-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/89362aa296165c6d-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e11f95d95ac59fa4-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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/00f4982f357db61e-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/62a3c74fa0e47362-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8201559e247ad180-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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2173e4bb28c315da-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c6f81e539d11fc99-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/25ab8995c98996d7-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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9ddf1512dbee9c99-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8247d8d2a376ae43-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e270c9fc4fe96f5a-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:Be Vietnam Pro Fallback;src:local("Arial");ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.00%;size-adjust:110.36%}.__className_021202{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}:root{--rail:#14375f;--rail-ink:#f7fafc;--rail-deep:#0f2c4c;--paper:#f7fafb;--sheet:#f7f4ec;--stone:#d7e2e8;--ink:#1a2330;--muted:#3e4c5c;--line:#b7c6d1;--live:#b43324;--live-deep:#8e291d;--good:#1d6b45;--shadow:0 16px 36px rgba(20,40,60,0.18)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--stone);color:var(--ink);font-family:var(--font),"Be Vietnam Pro",sans-serif;font-size:1rem;line-height:1.45}::selection{background:var(--rail);color:var(--rail-ink)}:focus-visible{outline:2px solid var(--live);outline-offset:3px}button,input,select,textarea{font:inherit;caret-color:var(--live)}button{cursor:pointer}a{color:inherit}*{scrollbar-width:thin;scrollbar-color:var(--rail) var(--stone)}.app{display:grid;grid-template-columns:240px 1fr}.app,.rail{height:100vh}.rail{background:var(--rail);color:var(--rail-ink);padding:1.4rem 1rem 1.5rem;display:flex;flex-direction:column;gap:1.4rem;overflow:auto}.brand{font-weight:700;font-size:1.35rem;letter-spacing:-.03em;line-height:1.1;text-decoration:none}.brand span{display:block;font-weight:500;font-size:.92rem;color:#d7e4f2;margin-top:.2rem}.nav{display:flex;flex-direction:column;gap:.2rem}.nav a{color:var(--rail-ink);text-decoration:none;padding:.55rem}.nav a[aria-current=page]{background:var(--paper);color:var(--rail)}.clock{margin-top:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.clock strong{display:block;font-size:1.35rem;font-weight:600;letter-spacing:-.03em}.clock small{display:block;color:#d7e4f2;margin-top:.35rem}.account{display:flex;flex-direction:column;gap:.45rem}.account button,.text-button{background:transparent;color:var(--rail-ink);border:1px solid #8eafd4;padding:.45rem .55rem;text-align:left}.stage{height:100vh;position:relative;background:var(--stone);overflow:auto}.stage>.map-fill.maplibregl-map{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;font-family:inherit}.panel{position:absolute;z-index:2;top:1rem;left:1rem;max-height:calc(100% - 2rem);width:min(26rem,calc(100% - 2rem));overflow:auto;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);padding:1.25rem 1.2rem 1.5rem}.gate-copy h1,.page h1,.panel h1,.sheet h1{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.03em;font-weight:600;margin:0 0 .8rem}p{margin:0 0 .8rem}.muted{color:var(--muted)}.route-row{padding:.9rem 0;border-top:1px solid var(--line)}.route-row h2{font-size:1.15rem;margin:0 0 .25rem}.route-row.selected{background:#e7eef5;margin:0 -1.2rem;padding-left:1.2rem;padding-right:1.2rem}.row-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}.button,button.solid{display:inline-block;background:var(--rail);color:var(--rail-ink);border:0;text-decoration:none;padding:.7rem .9rem}.button:hover,button.solid:hover{background:var(--rail-deep)}button.live{background:var(--live);color:white;border:0;padding:.7rem .9rem}button.live:hover{background:var(--live-deep)}a.ghost,button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);padding:.65rem .8rem;text-decoration:none}button:disabled{background:#8aa0b3;color:var(--rail-ink);cursor:not-allowed}.alert{background:#f8e8e4;color:#6d2418}.alert,.notice{padding:.75rem .85rem;margin:0 0 .8rem}.notice{background:#e5f0ea;color:#144b31}label{display:block;font-weight:600;margin:.8rem 0 .3rem}input,select{width:100%;background:white;color:var(--ink);border:1px solid #8ea3b3;border-radius:2px;padding:.7rem .75rem}input[type=checkbox]{width:auto;margin-right:.45rem}input[type=color]{width:4.5rem;height:2.5rem;padding:.2rem}.place-list{list-style:none;padding:0;margin:.4rem 0 0}.place-list li{padding:.45rem 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}.page{padding:1.4rem}.studio{display:grid;grid-template-columns:minmax(16rem,22rem) 1fr;grid-gap:1rem;gap:1rem;align-items:start}.figure-stage{min-height:28rem;background:#c5d5df;position:relative}.figure-stage canvas{width:100%;height:100%;display:block}.sheet{max-width:40rem;margin:0 auto;background:var(--sheet);padding:1.6rem 1.4rem 2.2rem;box-shadow:var(--shadow)}.stamps{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0}.stamp{width:7.2rem;height:7.2rem;border:2px solid var(--live);color:var(--live);border-radius:50%;display:grid;place-items:center;text-align:center;padding:.6rem;font-weight:600;font-size:.82rem;line-height:1.2;transform:rotate(-8deg)}table{width:100%;border-collapse:collapse;background:var(--paper)}td,th{text-align:left;padding:.55rem .45rem;border-bottom:1px solid var(--line);vertical-align:top;font-size:.92rem}th{font-weight:600}.gate{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.gate-copy{background:var(--rail);color:var(--rail-ink);padding:clamp(1.5rem,4vw,4rem);display:flex;flex-direction:column;justify-content:space-between}.coords{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.03em;font-size:clamp(2.2rem,5vw,4.4rem);line-height:.95;margin:0}.gate-form{padding:clamp(1.5rem,4vw,4rem);display:flex;align-items:center}.gate-form form{width:min(28rem,100%)}.stack{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}.explore{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto}.explore-view{position:relative;min-height:0;background:#c5d5df}.explore-view canvas{width:100%;height:100%;display:block}.scene-note{position:absolute;left:.8rem;bottom:.8rem;margin:0;max-width:28rem;background:rgba(247,250,251,.92);padding:.45rem .6rem}.dock{background:var(--rail);color:var(--rail-ink);padding:.8rem 1rem 1rem;display:grid;grid-gap:.7rem;gap:.7rem}.dock-top{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-end}.dock strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.4rem;letter-spacing:-.03em}.controls,.modes{display:flex;flex-wrap:wrap;gap:.45rem}.dock button.ghost{color:var(--rail-ink);border-color:#8eafd4}.dock button[aria-pressed=true]{background:var(--paper);color:var(--rail)}.missions{position:absolute;top:.8rem;right:.8rem;width:min(16rem,42vw);background:rgba(247,250,251,.94);padding:.7rem .75rem;max-height:50%;overflow:auto}.missions ol{margin:.3rem 0 0;padding-left:1.1rem}.missions li.done{color:var(--good)}.stick{width:4.5rem;height:4.5rem;border:2px solid var(--rail-ink);border-radius:50%;background:transparent;color:var(--rail-ink);touch-action:none;display:grid;place-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.2rem}.meter{height:.35rem;background:#8eafd4}.meter span{display:block;height:100%;background:#f4c7c0;width:0;transition:width .4s ease-out}@media (prefers-reduced-motion:reduce){.meter span{transition:none}.stamp{transform:none}}@media (max-width:860px){.app{display:block;padding-bottom:3.4rem}.app,.rail{height:auto}.rail{min-height:0;display:grid;grid-template-columns:1fr auto;grid-gap:.35rem .8rem;gap:.35rem .8rem;align-items:center;padding:.7rem .8rem .45rem}.brand span,.clock small{display:none}.clock{margin:0}.clock strong{font-size:1rem}.account,.nav{flex-direction:row}.nav{position:fixed;z-index:6;left:0;right:0;bottom:0;overflow-x:auto;background:var(--rail);padding:.15rem .3rem}.nav a{white-space:nowrap}.stage{height:calc(100vh - 7.2rem);min-height:0}.panel{top:auto;bottom:3.6rem;left:.5rem;right:.5rem;width:auto;max-height:42%}.gate,.studio{grid-template-columns:1fr}.missions{position:static;width:auto;max-height:none}.explore{position:relative;min-height:calc(100vh - 7.2rem)}}.game-root{position:fixed;inset:0;overflow:hidden;background:#9ec8e4;color:var(--ink)}.game-caption{position:absolute;z-index:2;left:1rem;bottom:1rem;margin:0;max-width:min(24rem,calc(100% - 7rem));color:#f7fafc;text-shadow:0 1px 10px rgba(12,28,40,.65);pointer-events:none}.game-caption strong{display:block;font-size:1.45rem;letter-spacing:-.03em}.game-caption span{display:block;margin-top:.15rem;font-size:.78rem}.game-menu-toggle{top:.75rem;right:.75rem;border:0;background:rgba(16,28,40,.38);padding:.4rem .75rem}.game-fps,.game-menu-toggle{position:absolute;z-index:4;color:#f7fafc}.game-fps{top:.85rem;right:6.2rem;margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 6px rgba(12,28,40,.65)}.game-chrome{display:none}.game-chrome.is-open{display:block}.game-mount{position:absolute;inset:0}.game-mount canvas{touch-action:none}.game-disclaimer{position:absolute;z-index:2;top:.55rem;left:50%;transform:translateX(-50%);width:min(36rem,calc(100% - 24rem));margin:0;padding:.35rem .7rem;background:rgba(247,244,236,.94);font-size:.86rem;text-align:center;pointer-events:none}.game-alert{position:absolute;z-index:4;top:3.4rem;left:1rem;width:min(28rem,calc(100% - 2rem))}.game-mini{left:.75rem;width:9rem;height:10.6rem;border:2px solid var(--rail);background:#6d8b5e}.game-mini,.game-quest{position:absolute;z-index:2;top:3.5rem}.game-quest{right:.75rem;width:min(18rem,calc(100% - 13rem));max-height:calc(100% - 8rem);overflow:auto;padding:.75rem .85rem;background:rgba(247,250,251,.94)}.game-quest h1{margin:.1rem 0 .35rem;font-size:1.25rem}.game-quest p{margin:.3rem 0}.game-quest ol{list-style:none;margin:.4rem 0;padding:0}.game-quest li{display:flex;justify-content:space-between;gap:.45rem;font-size:.88rem;padding:.12rem 0}.game-quest li span{white-space:nowrap}.game-quest em{font-style:normal;color:var(--muted)}.game-kicker{margin:0;color:var(--muted);font-size:.85rem}.game-clock{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.game-prompt{left:1rem;bottom:5.2rem;border:0;background:rgba(20,55,95,.88);color:var(--rail-ink);padding:.45rem .75rem}.game-bar,.game-prompt{position:absolute;z-index:3}.game-bar{left:.75rem;right:.75rem;bottom:2.1rem;display:flex;flex-wrap:wrap;gap:.35rem}.game-bar a,.game-bar button{background:rgba(20,55,95,.94);color:var(--rail-ink);border:0;text-decoration:none;padding:.4rem .6rem}.game-help{position:absolute;z-index:2;left:.75rem;right:.75rem;bottom:.3rem;margin:0;font-size:.8rem;pointer-events:none}.game-stick{display:none;position:absolute;z-index:4;left:.8rem;bottom:6.2rem;width:5.4rem;height:5.4rem;border-radius:50%;border:2px solid var(--rail);background:rgba(247,250,251,.55);place-items:center;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.game-overlay{position:absolute;z-index:5;inset:8vh 10vw;overflow:auto;background:var(--sheet);padding:1rem 1.1rem;box-shadow:var(--shadow)}.game-overlay header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.game-overlay h2{margin:0}.game-overlay canvas{display:block;width:100%;height:auto;background:#e7efe6}.game-catalog{list-style:none;margin:.6rem 0 0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.game-catalog li{border-top:1px solid var(--line);padding-top:.55rem}.game-catalog em,.game-catalog span{display:block}.game-catalog em{color:var(--live);font-style:normal}.game-note{inset:auto 14vw 14vh}@media (max-width:860px){.game-disclaimer{width:calc(100% - 1rem);font-size:.78rem}.game-quest{top:4.3rem;right:.4rem;left:auto;bottom:auto;width:min(13.5rem,52vw);max-height:42%}.game-mini{top:4.3rem;width:4.6rem;height:5.4rem}.game-stick{display:grid;bottom:5.6rem}.game-help{display:none}.game-bar{bottom:.4rem}.game-note,.game-overlay{inset:.4rem}}