@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-mono-latin-ext-400-normal-CpVFOiMk.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-mono-latin-ext-400-normal-ITMuFrSK.woff) format("woff");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:Atkinson Hyperlegible Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-mono-latin-400-normal-CmMGer93.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-mono-latin-400-normal-Cmjm2dBj.woff) format("woff");unicode-range:U+0000-00FF,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}:root[data-season=spring]{--map-ground:#9eae78}:root[data-season=summer]{--map-ground:#6d8d60}:root[data-season=fall]{--map-ground:#879a6d}:root[data-season=winter]{--map-ground:#e8f0ec}.season-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}.season-control select{font:inherit;color:inherit;background:var(--color-paper);padding:8px;min-height:44px}.season-control small{font-size:14px}.snow-map{width:640px;height:360px;max-width:none;flex-shrink:0}.snow-outcomes{display:flex;flex-wrap:wrap;gap:12px}@media(max-width:700px){.snow-map{width:320px;height:180px}}.classroom{max-width:1280px;margin:auto;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--color-paper);color:var(--color-ink)}.classroom form,.notebook,.notebook form{display:flex;flex-direction:column;gap:12px;max-width:100%;width:100%}.classroom label,.notebook label{display:flex;flex-direction:column;gap:8px}.classroom textarea,.classroom select,.notebook textarea{font:inherit;color:inherit;background:var(--color-paper);width:100%;padding:8px;min-height:44px}.classroom textarea,.notebook textarea{min-height:100px}.teacher-panel{display:flex;gap:12px;max-width:100%}.teacher-panel svg{flex-shrink:0}.class-actions{display:flex;flex-wrap:wrap;gap:12px}.classroom :focus-visible,.notebook :focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.class-room{flex-shrink:0}.notebook li{white-space:pre-wrap;overflow-wrap:anywhere}.classroom button:disabled{opacity:.55}:root[data-ui-scale=Larger] .classroom{font-size:24px}@media(max-width:600px){.classroom{padding:16px}.classroom h1{font-size:26px}.classroom .class-room{width:320px;height:180px}}.escort{padding:16px;max-width:1280px;margin:auto;display:flex;flex-direction:column;gap:8px;background:var(--color-paper);color:var(--color-ink)}.escort h1{font-size:28px}.escort-map{position:relative;max-width:100%;outline-offset:3px}.escort-map>svg{display:block}.escort-controls{display:flex;flex-wrap:wrap;gap:8px}.escort button{font:inherit;color:inherit;background:var(--color-paper);border:2px solid var(--color-ink);padding:10px;min-height:44px;cursor:pointer}.escort :focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.escort-dialogue{position:absolute;inset:24px 12px auto;display:flex;gap:12px;padding:8px;background:var(--color-paper);color:var(--color-ink);font-size:14px}.escort-dialogue>svg{flex-shrink:0}.escort-dialogue div{display:flex;flex-direction:column;gap:8px}.escort .framing{font-size:14px}.escort section .button{display:inline-block}:root[data-ui-scale=Larger] .escort{font-size:24px}.dorm{max-width:1280px;margin:auto;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--color-paper);color:var(--color-ink)}.dorm .room{width:640px;height:360px;max-width:none}.dorm section{display:flex;flex-direction:column;gap:12px}.dorm label{display:flex;flex-direction:column;gap:8px}.dorm select{font:inherit;color:inherit;background:var(--color-paper);padding:10px;min-height:44px}.dorm :focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.dorm button:disabled{opacity:.55}:root[data-ui-scale=Larger] .dorm{font-size:24px}@media(max-width:700px){.dorm .room{width:320px;height:180px}.dorm{padding:16px}.dorm h1{font-size:28px}}.creator{max-width:1280px;margin:auto;padding:32px 40px;min-height:720px;color:var(--color-ink);background:var(--color-paper);font-size:18px}.creator form,.creator{display:flex;flex-direction:column;gap:12px}.creator label{display:flex;flex-direction:column;gap:8px;border:2px solid var(--color-ink);padding:16px}.creator input,.creator select{font:inherit;color:inherit;background:var(--color-paper);width:100%;padding:8px;border:1px solid var(--color-ink)}.creator input[type=checkbox]{width:24px;height:24px}.creator fieldset label{flex-direction:row;align-items:center;border:0}.creator fieldset{border:2px solid var(--color-ink)}.creator :focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.creator .pronoun-suggestions{display:flex;flex-wrap:wrap;gap:12px}.pronoun-suggestions button{font:inherit;padding:12px;background:var(--color-paper);color:inherit;border:2px solid var(--color-ink)}.creator.larger,.creator.larger .button{font-size:24px}.creator[data-palette=Protanopia]{--color-pine:#304d70;--color-gold:#d6b65c}.creator[data-palette=Deuteranopia]{--color-pine:#354e68;--color-gold:#d6b65c}.creator[data-palette=Tritanopia]{--color-pine:#51425c;--color-gold:#d6a08a}.creator.contrast{--color-paper:#fff;--color-ink:#101010;--color-pine:#123326}@media(max-width:600px){.creator{padding:24px}}:root[data-palette=Protanopia]{--color-pine:#304d70;--color-gold:#d6b65c}:root[data-palette=Deuteranopia]{--color-pine:#354e68;--color-gold:#d6b65c}:root[data-palette=Tritanopia]{--color-pine:#51425c;--color-gold:#d6a08a}:root[data-contrast=high]{--color-paper:#fff;--color-ink:#101010;--color-pine:#123326}:root[data-ui-scale=Larger] .arrival{font-size:24px}:root[data-ui-scale=Larger] .arrival .button{font-size:24px}.creator{display:grid;grid-template-columns:416px minmax(0,1fr);gap:24px;padding:24px;align-items:start}.creator h1{grid-column:1/-1;font-size:28px;line-height:1.4;margin:0}.creator form,.character-complete{display:flex;flex-direction:column;gap:12px;min-width:0}.live-preview{position:sticky;top:12px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px 0;background:var(--color-paper);z-index:2;text-align:center;min-width:0}.creator .preview-sprite{display:block;position:static;width:64px;height:80px;transform:none;flex-shrink:0}.preview-help{font-size:14px;line-height:20px}.creator .skin-choices{border:0;padding:0;margin:0;min-width:0}.skin-swatches{display:grid;grid-template-columns:repeat(8,44px);gap:8px;margin-top:12px}.creator .skin-swatch{width:44px;height:44px;border:2px solid var(--color-ink);padding:4px;font:inherit;cursor:pointer}.skin-swatch span{display:block;color:#fff;text-shadow:1px 1px #101010,-1px -1px #101010}.skin-swatch[aria-pressed=true]{outline:3px solid var(--color-ink);outline-offset:2px}.swatch-name{font-size:14px;margin-top:8px}.creator input,.creator select{min-height:44px}.creator input,.creator select,.creator button{scroll-margin-top:24px}@media(max-width:900px){.creator{grid-template-columns:minmax(0,1fr)}.live-preview{top:0;box-shadow:0 2px 0 var(--color-ink);gap:6px;padding:8px 0}.creator .preview-sprite{width:64px;height:80px}.creator input,.creator select,.creator button{scroll-margin-top:365px}}.creator h1{line-height:39px}.live-preview>p:first-child{line-height:25px}.preview-drawings{display:flex;align-items:center;gap:12px;max-width:100%}.preview-portrait{display:block;width:320px;height:360px;flex-shrink:0}.range-group{border:2px solid var(--color-ink);padding:12px 16px;min-width:0}.range-group summary{cursor:pointer;min-height:44px;display:list-item;padding:8px 0;scroll-margin-top:365px}.range-group label{margin-top:12px}.range-group small{font-size:14px;line-height:1.5}.dialogue-preview .preview-portrait{width:160px;height:180px}@media(max-width:900px){.preview-portrait{width:160px;height:180px}.skin-swatches{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.creator .skin-swatch{width:100%}.live-preview{gap:4px}.live-preview p{margin:0}.preview-help{font-size:12px;line-height:16px}}:root{--color-paper: #f6ebd6;--color-ink: #302d28;--color-pine: #305c4d;--color-gold: #d6a45c;--color-grass: #879a6d;--color-stone: #a69d90;--color-snow: #e8f0ec;--color-skin: #b57755;--map-ground: #879a6d;font-family:Atkinson Hyperlegible Mono,monospace;color:var(--color-ink);background:var(--color-paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}p,h1{margin:0;font-weight:400}button,input,a{font:inherit}.arrival{max-width:1280px;min-height:720px;margin:0 auto}.letter-stage{padding:24px}.letter{width:600px;max-width:100%;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:12px;overflow-wrap:anywhere}.unofficial{font-size:18px;line-height:23px}.letter-title{white-space:pre-line;font-size:36px}.letter-body{font-size:22px}.text-field{border:2px solid var(--color-ink);padding:16px;display:flex;flex-direction:column;gap:12px}.text-field label{font-size:18px;line-height:23px}.text-field input{width:100%;min-width:0;color:inherit;background:transparent;padding:0;border:0;outline:none;font-size:20px}.text-field input::placeholder{color:var(--color-ink);opacity:1}.text-field:focus-within{outline:2px solid var(--color-ink);outline-offset:2px}.field-error,.legal,.letter-warning,.scene-warning,.platform-warning{font-size:16px}.letter-warning{margin-top:16px}.button{display:block;padding:16px;border:0;border-radius:0;min-height:55px;color:var(--color-paper);background:var(--color-pine);font-size:18px;line-height:23px;text-align:left;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}.button:hover{background:var(--color-ink)}.button:focus-visible{outline:4px solid var(--color-ink);outline-offset:3px}h1:focus{outline:none}.scene-stage{position:relative;padding:24px 32px}.scene-title{font-size:32px;line-height:1.4}.train-window{position:relative;width:760px;height:400px;max-width:100%;margin-top:27.2px;background:var(--color-ink);overflow:hidden}.train-scenery{position:absolute;inset:16px;overflow:hidden;background:var(--color-snow)}.train-land{position:absolute;left:0;top:238px;width:100%;height:130px;background:var(--color-grass)}.pixel,.person{display:block;position:absolute}.person{width:32px;height:32px}.train-tree{position:absolute;left:calc(16px + var(--tree-index) * 88px);top:calc(120px + var(--tree-phase) * 16px);width:56px;height:128px}.ride-caption{max-width:1050px;margin-top:24px;font-size:22px;overflow-wrap:anywhere}.scene-continue{width:240px;margin-top:24px}.platform-viewport{position:relative;width:480px;height:270px;overflow:hidden;margin-top:27.2px}.platform-map{position:relative;width:480px;height:270px;background:var(--map-ground);transform-origin:top left}.station-sign{position:absolute;top:152px;left:28px;width:140px;font-size:12px;line-height:16px}.platform-sign-caption{position:absolute;top:244px;left:16px;width:450px;font-size:11px;line-height:14px}.mobile-platform-caption{display:none}.feedback-hint{font-size:14px;margin-top:24px}.scene-warning,.platform-warning{margin-top:16px;max-width:1050px}@media(min-width:1200px){.train-continue{position:absolute;left:920px;top:580px;margin:0}.platform-viewport{width:960px;height:540px}.platform-map{transform:scale(2)}.platform-continue{position:absolute;left:1000px;top:600px;margin:0}.feedback-hint{position:absolute;left:32px;top:680px;margin:0}.scene-warning{position:absolute;left:32px;top:640px;margin:0}.platform-warning{position:relative;margin-top:80px}}@media(max-width:767px){.scene-stage{padding:24px}.train-window{width:100%;height:300px}.train-land{top:174px;height:94px}.train-tree{left:calc(8px + var(--tree-index) * 88px);top:calc(64px + var(--tree-phase) * 16px)}.scene-continue{width:100%}.platform-viewport{width:100%;max-width:480px;height:228px}.mobile-platform-caption{display:block;margin-top:24px;font-size:18px;line-height:23px}}@media(prefers-contrast:more){:root{--color-paper: #ffffff;--color-ink: #101010;--color-pine: #123326;--color-gold: #e6b000;--color-grass: #76885b;--color-snow: #ffffff}}.letter-body{white-space:pre-line}.origin-help{font-size:16px;line-height:22px}.scene-title{font-size:28px;line-height:39px}.ride-body{display:flex;flex-direction:column;gap:12px;max-width:1000px;margin-top:12px}.ride-progress,.ride-origin{font-size:16px;line-height:22px;overflow-wrap:anywhere}.ride-story{font-size:18px;line-height:25px}.train-window{width:760px;height:268px;margin:0;flex-shrink:0}.train-scenery{inset:16px}.moving-scenery{position:absolute;width:1456px;height:268px;animation:passing 24s steps(364,end) infinite}.ride-strip{position:absolute;width:728px;height:268px;overflow:hidden;background:var(--color-snow)}@keyframes passing{to{transform:translate(-728px)}}.ride-actions{display:grid;grid-template-columns:480px 268px;gap:12px;max-width:760px}.journey-label{font-size:14px;line-height:20px}.ending-layout{display:flex;gap:32px;margin-top:24px;align-items:flex-start}.ending-layout .platform-viewport{width:480px;height:270px;margin:0;flex-shrink:0}.ending-layout .platform-map{transform:none}.ending-copy{width:600px;max-width:100%;display:flex;flex-direction:column;gap:12px;font-size:18px;line-height:25px}.ending-copy h2{margin:0;font-size:24px;line-height:34px;font-weight:400}@media(max-width:900px){.ride-actions{grid-template-columns:1fr;width:100%}.ending-layout{flex-direction:column}.ending-layout .platform-viewport{max-width:100%}}@media(max-width:767px){.ending-layout .platform-viewport{height:228px}}@media(prefers-reduced-motion:reduce){.moving-scenery{animation:none}}
