@font-face{font-family:Doldo Batang;src:url(/fonts/doldo-batang.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Doldo Memo;src:url(/fonts/doldo-memo.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Doldo UI;src:url(/fonts/doldo-ui.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@media (prefers-reduced-motion:reduce){:root{--motion-tap:.15s;--motion-sheet:.15s;--motion-needle:.15s;--motion-stamp:.15s;--motion-ink:.15s;--motion-ping:.15s}}.motion-presence,.motion-cockpit,.game-ui .departure-title,.game-ui .nb-layer,.game-ui .paper-backdrop,.game-ui .paper-dialog{opacity:0}[data-presence=visible],.game-ui [data-presence=visible]{opacity:1}.motion-cockpit,.motion-notes,.motion-descent,.motion-arrival{pointer-events:none;position:absolute;inset:0}.app .motion-cockpit .cockpit,.app .motion-notes .story-note-wrap{display:block!important}.motion-notes{z-index:32}.motion-descent{z-index:5}.motion-arrival{z-index:10}.motion-page{opacity:0;transform-origin:0;backface-visibility:hidden;min-width:0}.motion-page[data-page-motion=visible]{opacity:1}.game-ui .paper-backdrop.leaving,.game-ui .story-note,.game-ui .story-stamp,.game-ui .story-pencil-x,.game-ui .nb-discovery-stamp,.game-ui .nb-old-book,.game-ui .descent-edges,.game-ui .arrival-title,.teacher-root .teacher-tab-content,.teacher-root .teacher-role-notice{animation:none!important}.game-ui .departure-title,.game-ui .lever-grip,.game-ui .departure-grip,.game-ui .nb-sheet,.game-ui button,.game-ui .settings-option,.game-ui a,.teacher-root button,.teacher-root a,.teacher-root .teacher-toggle{transition:none!important}.game-ui .ui-button:active,.game-ui .sonar:active,.game-ui .claw-button:active,.teacher-root .ui-button:active,.teacher-root .teacher-toggle:active,.game-ui .ui-button[data-pressed=true],.teacher-root .ui-button[data-pressed=true]{transform:none}.game-ui .story-choice:active,.game-ui .story-primary:active,.game-ui .live-official:active{translate:none}.game-ui .departure-title.leaving{opacity:0}.game-ui .nb-layer.is-closed .nb-sheet{transform:translateY(calc(var(--nb-height) - var(--nb-reveal)))}.game-ui .story-stamp,.game-ui .story-pencil-x,.game-ui .nb-stamp,.teacher-title-entry,.teacher-clock,.teacher-role-notice,.teacher-pin,.teacher-tab-content,.teacher-tabs,.teacher-footer,.teacher-session-actions{opacity:0}[data-motion-arrival=visible],.game-ui [data-motion-arrival=visible],.teacher-root [data-motion-arrival=visible]{opacity:1}.island-visit-entry,.island-visit-panel,.island-fantasy,.island-horn-control,.island-travel,.island-visit-panel>.ui-button,.island-next{opacity:0}.app [data-motion-arrival=visible]{opacity:1}.island-visit-panel button,.island-visit-entry{transition:none!important}.island-visit-panel .ui-button:active,.island-hold:active{transform:none}.teacher-dialog{opacity:0}.teacher-dialog[data-motion-dialog=visible]{opacity:1}.teacher-dialog[open]::backdrop{animation:ui-fade var(--motion-sheet) ease-out both}.teacher-dialog.teacher-leaving::backdrop{animation:motion-backdrop-out var(--motion-sheet) ease-out both}.teacher-root[data-reduced-motion=true] .teacher-dialog::backdrop{animation-duration:var(--motion-reduced)}.depth-slot[data-power=starting],.sonar-slot[data-power=starting],.lever-slot[data-power=starting],.notebook-slot[data-power=starting]{opacity:0}.hud-power-glow{pointer-events:none;border-radius:var(--radius-instrument);background:radial-gradient(ellipse,var(--brass),transparent 72%);mix-blend-mode:screen;opacity:0;position:absolute;inset:-5px}.motion-retiring{z-index:65;pointer-events:none}.claw-state-out{z-index:1;pointer-events:none}.game-ui .sonar-sweep{animation-duration:calc(var(--motion-ping) * 5)}.game-ui .story-finger{animation-duration:var(--motion-ping)}.game-ui .story-finger.finger-2{--finger-turn:180deg}@keyframes motion-backdrop-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.teacher-dialog::backdrop{animation-duration:var(--motion-reduced)}}@media print{.motion-retiring,.hud-power-glow{display:none!important}}:root{color:var(--ink);font-family:var(--font-ui)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--sea-glow);height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}.app{position:fixed;inset:0}.cockpit-vignette{pointer-events:none;background:radial-gradient(ellipse at center, transparent 62%, color-mix(in srgb, var(--ink) 6%, transparent) 100%);position:absolute;inset:0}.title{pointer-events:auto;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.title-box{text-align:center;width:min(560px,100%);animation:ui-fade var(--motion-reduced) ease-out;justify-items:center;gap:20px;padding:32px;display:grid}.title-box .ui-lettering{width:100%;max-width:420px;color:var(--ink)}.title-box p{font:calc(var(--text-paper) * var(--text-scale))/var(--leading) var(--font-paper);margin:0}.card-badge{font-size:calc(var(--text-base) * var(--text-scale));color:var(--stamp);justify-content:center;align-items:center;gap:8px;margin:0 0 8px;display:flex}.card-depth{font-size:calc(var(--text-label) * var(--text-scale));color:var(--ink-soft);margin:0 0 12px}.facts{text-align:left;font:calc(var(--text-paper) * var(--text-scale))/var(--leading) var(--font-paper);word-break:keep-all;gap:10px;margin:0 0 20px;padding-left:24px;display:grid}.facts .locked{font-family:var(--font-ui);font-size:calc(var(--text-label) * var(--text-scale));color:var(--ink-soft)}.tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;display:flex}.tab{min-height:var(--touch-paper);border:1px solid var(--brass-dark);border-radius:var(--radius-paper);color:var(--ink);background:var(--paper-shade);font:calc(var(--text-label) * var(--text-scale))/1.6 var(--font-ui);cursor:pointer;padding:8px 12px}.tab.on{background:var(--enamel);color:var(--paper)}.tab:disabled{color:var(--ink-soft);cursor:default;border-style:dashed}.dex-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;display:grid}.dex-item{background-color:var(--paper);background-image:var(--texture-paper);border:1px solid var(--brass-dark);border-radius:var(--radius-paper);min-height:150px;color:var(--ink);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;display:flex}.dex-item.locked{border-style:dashed}.dex-item.locked .creature-sketch{opacity:.45}.dex-item .creature-sketch{width:72px;height:72px}.dex-name{font-size:calc(var(--text-label) * var(--text-scale))}.stars{color:var(--ink-soft);gap:3px;display:flex}.stars .on{color:var(--brass-dark);fill:var(--brass)}.peek{background:var(--paper-shade);border-left:3px solid var(--brass);border-radius:var(--radius-paper);text-align:left;font:calc(var(--text-paper) * var(--text-scale))/var(--leading) var(--font-paper);margin-top:16px;padding:12px 16px}.peek p{margin:8px 0 0}.dex-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.quiz h2{font-size:calc(var(--text-paper) * var(--text-scale));text-align:left}.choices{gap:10px;margin:12px 0;display:grid}.choice{text-align:left;border:2px solid var(--brass-dark);border-radius:var(--radius-paper);background:var(--paper);min-height:64px;color:var(--ink);font:calc(var(--text-base) * var(--text-scale))/var(--leading) var(--font-ui);cursor:pointer;align-items:center;gap:12px;padding:12px;display:flex}.choice-mark{text-align:center;font-variant-numeric:tabular-nums;flex-shrink:0;width:28px}.choice.right{border-color:var(--stamp)}.choice.wrong{color:var(--ink-soft);background:var(--paper-shade);border-style:dashed}.choice.right .choice-mark{color:var(--stamp)}.diving{background-color:var(--paper);background-image:var(--texture-paper);border-left:5px solid var(--stage-accent);border-radius:var(--radius-paper);width:min(360px,80vw);animation:ui-fade var(--motion-reduced) ease-out;justify-items:center;gap:8px;padding:20px;display:grid;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.diving.leaving{opacity:0;transition:opacity var(--motion-reduced)}.diving-text{font:calc(var(--text-memo) * var(--text-scale))/1.3 var(--font-memo)}.cert{border:4px double var(--brass)}.cert p{font:calc(var(--text-paper) * var(--text-scale))/var(--leading) var(--font-paper)}.cert .card-badge{font-family:var(--font-ui)}.name-label{font-size:calc(var(--text-label) * var(--text-scale));gap:8px;display:grid}.name-input{background:var(--paper);width:100%;min-height:56px;color:var(--ink);border:0;border-bottom:2px solid var(--brass-dark);font:calc(var(--text-paper) * var(--text-scale))/1.6 var(--font-ui);text-align:center;-webkit-user-select:text;user-select:text}.badges{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;display:grid}.badge{border:1px dashed var(--ink-soft);color:var(--ink-soft);font-size:calc(var(--text-caption) * var(--text-scale));justify-items:center;gap:8px;padding:10px 4px;display:grid}.badge.on{border:2px solid var(--brass-dark);color:var(--ink);background:var(--paper-shade)}@keyframes ui-fade{0%{opacity:0}}@media (width<=600px){.title-box{padding:20px}.paper-dialog{padding:16px}.facts{font-size:calc(var(--text-base) * var(--text-scale))}}@font-face{font-family:Doldo Batang;src:url(/fonts/doldo-batang.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Doldo Memo;src:url(/fonts/doldo-memo.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Doldo UI;src:url(/fonts/doldo-ui.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--ink:#13293d;--ink-soft:#4b6275;--paper:#f4ecdc;--paper-shade:#e7dcc6;--brass:#c79a4b;--brass-dark:#8a6428;--enamel:#0f3b4c;--signal:#ff6b4a;--sea-glow:#7fe3d4;--stamp:#c8392b;--kelp:#7a8b3a;--deep:#2b4c8c;--stage-accent:var(--sea-glow);--font-ui:"Doldo UI", "Malgun Gothic", sans-serif;--font-paper:"Doldo Batang", "Batang", serif;--font-memo:"Doldo Memo", "Malgun Gothic", cursive;--text-scale:1;--text-base:18px;--text-paper:20px;--text-number:40px;--text-caption:12px;--text-label:14px;--text-heading:28px;--text-memo:30px;--leading:1.6;--radius-instrument:24px;--radius-paper:4px;--radius-round:50%;--touch-instrument:72px;--touch-paper:56px;--icon-stroke:2.5px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--rule:color-mix(in srgb, var(--ink) 22%, transparent);--shadow-ink:color-mix(in srgb, var(--ink) 16%, transparent);--focus-ring:3px solid var(--ink);--tap-offset:3px;--paper-grain-opacity:.45;--motion-tap:90ms;--motion-sheet:.42s;--motion-needle:.7s;--motion-stamp:.26s;--motion-ink:.9s;--motion-ping:1.6s;--motion-reduced:.15s}[data-ui-stage=surface]{--stage-accent:var(--sea-glow)}[data-ui-stage=kelp]{--stage-accent:var(--kelp)}[data-ui-stage=deep]{--stage-accent:var(--deep)}[data-text-size=large]{--text-scale:1.2}@media (prefers-reduced-motion:reduce){:root{--motion-tap:.15s;--motion-sheet:.15s;--motion-needle:.15s;--motion-stamp:.15s;--motion-ink:.15s;--motion-ping:.15s}}:root{--teacher-scale:1}html[data-teacher-demo=true]{--teacher-scale:1.3}html[data-teacher-demo=true] .game-ui{transform-origin:0 0;width:76.9231%;height:76.9231%;transform:scale(1.3)}html[data-teacher-demo=true] .game-ui .paper-dialog{max-height:calc(76.9231dvh - 32px)}html[data-teacher-demo=true] .game-ui .nb-layer{--nb-height:min(calc(82dvh / 1.3), 780px);--nb-half:min(calc(49dvh / 1.3), 430px)}html[data-teacher-demo=true] .island-visit-entry{transform-origin:100% 0;transform:scale(1.3)}html[data-teacher-demo=true] .island-visit-panel{transform-origin:bottom;width:min(620px,76.9231% - 21.5385px);max-height:calc(76.9231dvh - 30.7692px);overflow-y:auto;transform:translate(-50%)scale(1.3)}.teacher-root{font:calc(var(--text-base) * var(--teacher-scale))/var(--leading) var(--font-ui);color:var(--ink);--text-scale:var(--teacher-scale)}.teacher-root button,.teacher-root input,.teacher-root select{font-family:var(--font-ui)}.teacher-root :focus-visible{outline:var(--focus-ring);outline-offset:4px}.teacher-root h1,.teacher-root h2,.teacher-root h3,.teacher-root p{margin:0}.teacher-root h1{font:calc(var(--text-heading) * var(--teacher-scale))/1.6 var(--font-paper);align-items:center;gap:12px;display:flex}.teacher-root h2{font:calc(var(--text-heading) * var(--teacher-scale))/1.6 var(--font-paper);margin-bottom:18px}.teacher-root h3{font-size:calc(var(--text-base) * var(--teacher-scale));align-items:center;gap:8px;margin-bottom:12px;display:flex}.teacher-root p+p,.teacher-root p+h3{margin-top:16px}.teacher-root a{color:var(--enamel);text-underline-offset:4px}.teacher-root .ui-button{min-height:calc(var(--touch-paper) * var(--teacher-scale))}.teacher-dialog{width:100%;max-width:none;height:100%;max-height:none;color:inherit;background:0 0;border:0;margin:0;padding:20px;position:fixed;inset:0;overflow:hidden}.teacher-dialog[open]{justify-content:center;align-items:end;display:flex}.teacher-dialog::backdrop{background:color-mix(in srgb, var(--ink) 42%, transparent)}.teacher-panel,.teacher-page{width:min(calc(980px * var(--teacher-scale)), 100%);background:var(--texture-paper), var(--paper);border:1px solid var(--paper-shade);border-left:7px solid var(--brass);border-radius:var(--radius-paper);box-shadow:0 8px 24px var(--shadow-ink);padding:28px}.teacher-panel{overscroll-behavior:contain;touch-action:pan-y;max-height:calc(100dvh - 40px);overflow-y:auto}.teacher-leaving{pointer-events:none}.teacher-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:18px;display:flex}.teacher-eyebrow{color:var(--ink-soft);font-size:calc(var(--text-label) * var(--teacher-scale));letter-spacing:.03em}.teacher-tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.teacher-tabs .ui-button[aria-pressed=true]{border-color:var(--brass-dark);background:var(--enamel);color:var(--paper);transform:none}.teacher-tab-content{animation:teacher-fade var(--motion-reduced) ease-out}.teacher-control-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.teacher-control{border:1px solid var(--rule);border-radius:var(--radius-paper);min-width:0;padding:20px}.teacher-control>p{margin-bottom:16px}.teacher-toggle{min-height:calc(78px * var(--teacher-scale));cursor:pointer;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.teacher-toggle span{display:grid}.teacher-toggle small{color:var(--ink-soft);font-size:calc(var(--text-label) * var(--teacher-scale))}.teacher-toggle input{width:28px;height:28px;accent-color:var(--enamel);flex-shrink:0}.teacher-toggle:active{transform:translateY(2px)}.teacher-stage-links{gap:12px;margin-bottom:16px;display:grid}.teacher-stage-links .ui-button{justify-content:start}.teacher-field{font-size:calc(var(--text-label) * var(--teacher-scale));gap:6px;margin-bottom:16px;display:grid}.teacher-root input:not([type=checkbox]),.teacher-root select{border:1px solid var(--brass-dark);border-radius:var(--radius-paper);background:var(--paper);min-width:0;min-height:56px;color:var(--ink);font:calc(var(--text-base) * var(--teacher-scale))/1.6 var(--font-ui);-webkit-user-select:text;user-select:text;border-bottom-width:2px;padding:10px 12px}.teacher-actions{flex-wrap:wrap;gap:12px;display:flex}.teacher-pin{text-align:center;max-width:460px;margin:20px auto}.teacher-pin .teacher-field{text-align:left;margin-top:20px}.teacher-pin input{text-align:center;letter-spacing:.4em;font-variant-numeric:tabular-nums}.teacher-pin .teacher-status{min-height:30px}.teacher-status{color:var(--ink-soft);margin-top:10px}.teacher-small{color:var(--ink-soft);font-size:calc(var(--text-label) * var(--teacher-scale))}.teacher-footer{border-top:1px solid var(--rule);color:var(--ink-soft);font-size:calc(var(--text-label) * var(--teacher-scale));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;display:flex}.teacher-note{background:var(--paper-shade);border-left:3px solid var(--brass);margin:18px 0;padding:18px}.teacher-note>.doldo-icon{vertical-align:middle;margin-right:10px}.teacher-note p{margin-top:8px}.teacher-timer-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.teacher-timer-line output{font-size:calc(var(--text-number) * var(--teacher-scale));font-variant-numeric:tabular-nums}.teacher-timer-line label{font-size:calc(var(--text-label) * var(--teacher-scale));display:grid}.teacher-roles{grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0;padding:0;list-style:none;display:grid}.teacher-roles li{text-align:center;border-top:2px solid var(--brass);font-size:calc(var(--text-label) * var(--teacher-scale));gap:4px;padding:8px 2px;display:grid}.teacher-roles b{font-size:calc(var(--text-caption) * var(--teacher-scale));color:var(--ink-soft)}.teacher-clock{z-index:18;border:2px solid var(--brass);border-radius:var(--radius-paper);background:var(--enamel);color:var(--paper);font-size:calc(var(--text-label) * var(--teacher-scale));pointer-events:none;align-items:center;gap:10px;padding:8px 16px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.teacher-clock b{font-variant-numeric:tabular-nums}.teacher-role-notice{z-index:45;background:var(--texture-paper), var(--paper);border:2px solid var(--brass);border-radius:var(--radius-paper);text-align:center;width:min(520px,100% - 36px);animation:teacher-fade var(--motion-reduced) ease-out;padding:20px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.teacher-role-notice h2{font-size:calc(var(--text-paper) * var(--teacher-scale));justify-content:center;align-items:center;gap:8px;display:flex}.teacher-title-entry{z-index:20;position:fixed;bottom:24px;right:24px}.teacher-settings-slot{margin-bottom:16px}.teacher-entry-tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.teacher-entry-tabs .ui-button{border-radius:var(--radius-paper);padding:8px 10px}.teacher-stats{grid-template-columns:1fr 1fr;gap:18px;margin:22px 0;display:grid}.teacher-stats>div{background:var(--paper-shade);border-bottom:3px solid var(--brass);gap:8px;padding:20px;display:grid}.teacher-stats span{color:var(--ink-soft)}.teacher-stats strong{font-size:calc(var(--text-number) * var(--teacher-scale));font-variant-numeric:tabular-nums}.teacher-stats small{font-size:calc(var(--text-base) * var(--teacher-scale))}.teacher-stats .teacher-duration{font-size:calc(var(--text-heading) * var(--teacher-scale))}.teacher-table-wrap{overflow-x:auto}.teacher-root table{border-collapse:collapse;text-align:left;width:100%}.teacher-root caption{text-align:left;color:var(--ink-soft);margin-bottom:10px}.teacher-root th,.teacher-root td{border-bottom:1px solid var(--rule);white-space:nowrap;padding:14px 10px}.teacher-root thead{background:var(--paper-shade)}.teacher-addresses{gap:16px;margin:20px 0;display:grid}.teacher-addresses article{border:1px solid var(--rule);padding:20px}.teacher-addresses h3{margin-bottom:4px}.teacher-addresses p{color:var(--ink-soft);margin-bottom:12px}.teacher-copy-row{gap:12px;display:flex}.teacher-copy-row input{flex:1;font-size:calc(var(--text-label) * var(--teacher-scale))!important}.teacher-page{touch-action:pan-y;width:min(1000px,100%);height:100%;margin:auto;position:fixed;inset:0;overflow-y:auto}.teacher-page nav{gap:24px;display:flex}.teacher-home{align-items:center;gap:8px;display:flex}.teacher-page a{align-items:center;min-height:56px;display:inline-flex}.teacher-guide-steps{gap:18px;margin:24px 0;padding-left:28px;display:grid}.teacher-guide-steps p{color:var(--ink-soft)}.teacher-schedule{background:var(--paper-shade);gap:12px;margin:16px 0;padding:20px;display:grid}.teacher-schedule p{margin:0!important}.teacher-schedule b{min-width:100px;display:inline-block}@keyframes teacher-fade{0%{opacity:0}}@media (width<=900px){.teacher-control-grid{grid-template-columns:1fr}.teacher-panel{padding:20px}.teacher-tabs .ui-button{flex:40%}.teacher-role-notice{bottom:250px}}@media (width<=600px){.teacher-dialog{padding:8px}.teacher-panel{max-height:calc(100dvh - 16px)}.teacher-stats{grid-template-columns:1fr}.teacher-header{flex-wrap:wrap}.teacher-page{padding:18px}.teacher-page nav{gap:12px}.teacher-clock{max-width:48%;font-size:var(--text-caption)}.teacher-clock svg{display:none}}@media (prefers-reduced-motion:reduce){.teacher-root *,.teacher-root :before{transition:none!important;animation-duration:.15s!important}.teacher-toggle:active{transform:none}}.teacher-root[data-reduced-motion=true] *,.teacher-root[data-reduced-motion=true] :before{transition:none!important;animation-duration:.15s!important}.teacher-root[data-reduced-motion=true] .teacher-toggle:active{transform:none}
