*{box-sizing:border-box}body{margin:0;background:#f7f5ef;color:#191e2b;font-family:system-ui,sans-serif}main{max-width:850px;margin:auto;padding:20px}a{color:inherit}header{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid #d7d6cf;padding-bottom:16px}header span{font-size:12px;letter-spacing:2px}h1{font:700 clamp(30px,6vw,52px)/1.05 Georgia,serif;letter-spacing:-1px;margin:24px 0 12px}p{line-height:1.6}button,select{font:inherit;min-height:44px;border:1px solid #b9b8b0;background:#fffdf8;color:#191e2b;padding:10px 16px;border-radius:6px;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #a93720;outline-offset:3px}.primary{background:#191e2b;color:#fffdf8}.tools{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.status{min-height:52px;font-weight:600}canvas{display:block;width:100%;max-width:600px;margin:auto;border:1px solid #b9b8b0;border-radius:12px;touch-action:none;background:#e8eee3}#board{position:relative;width:100%;max-width:440px;margin:20px auto;height:390px;touch-action:none}#board button{position:absolute;width:15%;height:54px;padding:0;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border-radius:0;background:#e4e6da;font-size:22px;font-weight:700}#board button.stop{background:#e6d4a2}#board button.used{background:#48644b;color:white}#board button.selected{background:#a93720;color:white}#board button:focus-visible{clip-path:none}#board .place{position:absolute;font-size:12px;font-weight:bold}#preview{font:700 30px Georgia,serif;min-height:40px}.result{background:#fffdf8;border:1px solid #d7d6cf;padding:20px;margin-top:20px}.note{font-size:12px;color:#64656a}.score{font-variant-numeric:tabular-nums}input[type=checkbox]{width:20px;height:20px;vertical-align:middle}label{display:flex;align-items:center;gap:8px}@media(max-width:440px){main{padding:14px}#board{height:375px}#board button{height:50px}header span{letter-spacing:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#district-art{height:140px;background-size:cover;background-position:center 85%;border-radius:10px;margin-top:18px}#mission{font-weight:600;color:#48644b}.district-stamp{font-weight:700;letter-spacing:2px;font-size:13px}

.flight-page h1{font-size:clamp(30px,5vw,48px);margin:18px 0 10px}.flight-controls{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.flight-controls button{white-space:nowrap;flex-shrink:0}.flight-page #story{margin:8px 0}.flight-page details{line-height:1.6}.flight-page canvas{max-width:800px}.flight-page .status{margin:12px 0}
.history-card{max-width:800px;margin:16px auto;padding:16px 20px;background:#fffdf8;border:1px solid #c7cebd;border-left:4px solid #48644b}.history-card h2{font-size:22px;margin:12px 0 8px}.history-card p{margin:8px 0}.history-card a{font-size:13px}.timeline{display:flex;justify-content:space-between;gap:8px}.timeline span{padding:4px 10px;color:#59614e;border-bottom:2px solid #d5dacd}.timeline .current{font-weight:700;background:#48644b;color:#fffdf8;border-color:#48644b}.timeline .visited{border-color:#48644b}

.word-page{max-width:760px}.word-page #district-art{height:180px}.walk-card{margin-top:20px;padding:18px 22px;background:#e8eee3;border:1px solid #ccd5c6;border-radius:14px}.walk-card p{margin:0 0 12px}.walk-card #walk-progress{font-size:13px;margin:12px 0 0;color:#48644b}.souvenir{display:inline-block;padding:8px 12px;margin:0 8px 6px 0;border:1px dashed #9d8a53;border-radius:30px;background:#faf3de}.souvenir.collected{background:#48644b;border-style:solid;color:white}#route-log{font-size:14px;line-height:1.8;color:#48644b;overflow-wrap:anywhere}.word-page #preview{text-align:center}.word-page #board button{transition:background .15s,scale .15s}.word-page #board button.selected{scale:1.06}.word-page .result button{margin:6px}.word-page #wordlist p{max-height:240px;overflow:auto}
/* The flight game has its own stage; word-game and editorial styles stay independent. */
body:has(.flight-page){background:#171a21;background-image:radial-gradient(ellipse at 80% 0,#313446 0,transparent 55%);color:#fff5dd}
.flight-page{max-width:920px;padding:18px 20px 30px}
.flight-page button,.flight-page select{border-color:#53575c;background:#2b3038;color:#fff5dd;border-radius:12px;font-size:13px;font-weight:650;min-height:42px}
.flight-page button:hover{background:#3b4350}
.flight-page button:focus-visible,.flight-page a:focus-visible,.flight-page select:focus-visible,.flight-page canvas:focus-visible{outline:3px solid #ffd071;outline-offset:3px}
.flight-page .primary{background:#f8c56e;color:#20212b;border-color:#f8c56e;box-shadow:0 3px 0 #bc7e28}
.flight-page .primary:hover{background:#ffe0a6}
.flight-nav{padding-bottom:12px;border-color:#454952;gap:12px}
.flight-nav a{font-size:13px;text-decoration:none;color:#cad3ce}
.flight-nav span{color:#f9cd86;font-weight:800;letter-spacing:2px}
.flight-nav #sound{min-height:34px;padding:5px 10px;font-size:12px}
.flight-intro{display:flex;align-items:center;gap:10px;margin:12px 0}
.flight-intro img{width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 5px 8px #0004)}
.flight-kicker{font-size:12px;font-weight:800;letter-spacing:1.3px;color:#b7ebd4;line-height:1.3;margin:0 0 8px}
.flight-page .flight-intro h1{font:800 clamp(24px,4vw,35px)/1.05 system-ui,sans-serif;letter-spacing:-1px;margin:0 0 8px}
.flight-page #story{font-size:13px;color:#c5c9ce;line-height:1.5;max-width:600px;margin:0}
.flight-toolbar{display:flex;align-items:flex-end;gap:8px;margin:14px 0}
.flight-toolbar label{font-size:12px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-right:auto;color:#c5c9ce}
.flight-toolbar select{min-width:145px;padding:8px 12px}
.flight-stage{border:1px solid #525b60;border-radius:20px;overflow:hidden;background:#1e292e;box-shadow:0 20px 48px #070e1533}
.flight-hud{height:54px;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;gap:12px;color:#fff5dd}
.flight-hud>div:first-child{display:flex;align-items:center;gap:10px;font-size:12px}
.flight-hud #flight-era{font-size:17px;color:#b7ebd4}
.hud-points{display:flex;align-items:baseline;gap:6px;margin-left:auto;font-variant-numeric:tabular-nums}
.hud-points strong{font-size:23px}.hud-points span{font-size:12px;color:#c5c9ce}
.hud-actions{display:flex;gap:6px}.hud-actions button{min-width:36px;min-height:34px;padding:3px 8px;font-size:18px;border-radius:8px}
.flight-viewport{position:relative;isolation:isolate;touch-action:manipulation}
.flight-page:is([data-state=armed],[data-state=running],[data-state=checkpoint]) .flight-viewport{touch-action:none}
.flight-viewport .flight-sheet{touch-action:pan-y}
.flight-page #flight{width:100%;max-width:none;border:0;border-radius:0;aspect-ratio:5/4;cursor:pointer;outline-offset:-4px}
.flight-sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(450px,88%);max-height:94%;overflow:auto;padding:22px;background:#19242df2;backdrop-filter:blur(9px);border:1px solid #96c5b365;border-radius:20px;box-shadow:0 15px 50px #080f1655;text-align:center;color:#fff5dd;z-index:2}
.flight-sheet[hidden],.tap-prompt[hidden]{display:none}
.flight-sheet img{width:88px;height:88px;object-fit:contain;display:block;margin:-6px auto 4px}
.flight-sheet h2{font:800 clamp(22px,4vw,29px)/1.08 system-ui,sans-serif;letter-spacing:-.8px;margin:8px 0 10px}
.flight-sheet p{font-size:13px;line-height:1.5;margin:10px 0;color:#dce0de}
.flight-sheet .flight-kicker{font-size:12px;color:#b7ebd4;margin:0}
.flight-sheet>div{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.flight-sheet .sheet-note{font-size:12px;color:#aeb9bd;margin-bottom:0}
.flight-sheet.compact{max-width:330px}
.tap-prompt{pointer-events:none;position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);background:#172a31e8;color:#fff5dd;border:1px solid #a4c9b8;padding:14px 20px;border-radius:14px;text-align:center;white-space:nowrap}
.tap-prompt strong{display:block;font-size:19px}.tap-prompt span{font-size:12px;color:#c7d8d5}
.flight-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;font-size:12px;font-weight:700;color:#cbd7d3;font-variant-numeric:tabular-nums}
.flight-bottom #combo{color:#f9cd86;text-align:center;font-weight:500}
.flight-page .flight-status{font-size:13px;color:#f9cd86;min-height:22px;margin:12px 2px}
.flight-result .result-score{font-size:34px;line-height:1;font-weight:800;color:#f9cd86;letter-spacing:-1px;margin:12px 0}
.flight-result .result-items{font-size:12px;max-height:48px;overflow:auto;color:#b7ebd4}
.flight-result .result-buttons{position:sticky;bottom:-22px;padding:12px 0;background:#19242d}
.flight-page .history-card{max-width:none;background:#20282e;color:#ccd7d2;border-color:#40504e;border-left-color:#a6dcc6;border-radius:12px;margin-top:18px;padding:16px 20px}
.flight-page .history-card h2{font:750 20px/1.2 system-ui,sans-serif;letter-spacing:-.4px;color:#fff5dd}
.flight-page .history-card p{font-size:13px;line-height:1.6}
.flight-page .history-card a{color:#f9cd86;font-size:12px}
.flight-page .timeline span{color:#a6b6b0;font-size:12px;border-color:#4b5c56;padding:5px 9px}
.flight-page .timeline .current{background:#b7ebd4;color:#1b3228;border-color:#b7ebd4;border-radius:6px}
.flight-page .timeline .visited{border-color:#b7ebd4;color:#b7ebd4}
.flight-album{padding:4px 0 20px}.flight-album h2{font:750 20px system-ui,sans-serif;margin:16px 0 6px;letter-spacing:-.4px}
.flight-album p{font-size:12px;color:#b7c2c0;margin:0 0 12px}
.flight-album #album{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.flight-album a{padding:12px 10px;border:1px solid #46534e;background:#20282e;border-radius:10px;text-decoration:none;font-size:12px;text-align:center;color:#c5d2cc}
.flight-album a.complete{border-color:#c89b50;color:#f9cd86;background:#302c23}
.flight-page details{border-top:1px solid #414b4d;padding-top:16px;font-size:13px;color:#c5cecc;line-height:1.7}
.flight-page summary{color:#e7efd8;font-weight:650;cursor:pointer}
.flight-page #mission{color:#b7ebd4}.flight-page .note{color:#a6b1b4}.flight-page .note a{color:#bbc6c7}
.flight-stage:fullscreen{border:0;border-radius:0;width:100vw;height:100dvh;display:flex;flex-direction:column;justify-content:center;background:#111b21}
.flight-stage:fullscreen .flight-viewport{height:calc(100dvh - 95px);display:flex;align-items:center;justify-content:center}
.flight-stage:fullscreen #flight{width:auto;height:auto;max-width:100vw;max-height:100%;aspect-ratio:5/4}
@media(max-width:600px){.flight-page{padding:12px 12px 26px}.flight-nav span{letter-spacing:1px;font-size:12px}.flight-intro img{width:75px;height:75px}.flight-intro .flight-kicker{font-size:12px}.flight-page .flight-intro h1{font-size:26px}.flight-page #story{font-size:12px}.flight-toolbar{margin:12px 0}.flight-toolbar button{font-size:12px;padding:8px 10px}.flight-toolbar select{min-width:130px;font-size:12px}.flight-stage{border-radius:14px}.flight-hud{padding:7px 10px;height:48px;gap:8px}.flight-hud>div:first-child{gap:6px;font-size:12px}.flight-hud #flight-era{font-size:15px}.hud-actions{gap:4px}.hud-actions button{min-width:30px;padding:3px 6px}.hud-points strong{font-size:20px}.hud-points span{display:none}.flight-sheet{padding:16px}.flight-sheet img{width:65px;height:65px;margin-top:-8px}.flight-sheet p{font-size:12px;margin:8px 0}.flight-sheet h2{font-size:23px;margin:6px 0}.flight-sheet button{font-size:12px;padding:9px 12px}.flight-sheet .sheet-note{font-size:12px}.flight-sheet .flight-kicker{font-size:12px}.flight-bottom{padding:10px;gap:6px;font-size:12px}.flight-bottom #combo{max-width:160px;font-size:12px}.flight-result img{width:45px;height:45px}.flight-result .result-score{font-size:27px;margin:9px 0}.flight-result .result-buttons{bottom:-16px;padding:8px 0}.flight-album #album{grid-template-columns:repeat(2,1fr)}}
@media(max-width:360px){.flight-intro img{width:58px;height:58px}.flight-page .flight-intro h1{font-size:23px}.flight-nav a{font-size:12px}.flight-toolbar select{min-width:110px}.flight-toolbar{gap:5px}.flight-sheet img{width:48px;height:48px}.flight-sheet h2{font-size:20px}.flight-bottom #combo{max-width:105px}}
.flight-hud{height:64px}.flight-hud>div:first-child{flex-wrap:wrap;gap:2px 8px;max-width:62%;min-width:0}.flight-event{flex-basis:100%;font-size:12px;line-height:1.3;color:#c7d3cb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-stage:fullscreen #flight{width:min(100vw,calc((100dvh - 95px)*1.25));height:auto;max-width:100vw;max-height:100%;aspect-ratio:5/4}@media(max-width:600px){.flight-hud{height:58px}.flight-event{font-size:12px}.flight-hud>div:first-child{gap:2px 6px;max-width:58%}}
.flight-album #album{display:flex;flex-direction:column;gap:10px}
.flight-page .album-district{padding:0;border:1px solid #46534e;border-radius:12px;background:#20282e;overflow:hidden}
.flight-page .album-district>summary{padding:15px 18px;font-size:14px;color:#e5e9da}
.album-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:4px 14px 14px}
.memory-card{background:#182228;border:1px solid #414c4c;border-radius:10px;padding:14px;min-width:0}
.memory-card h3{font-size:13px;line-height:1.4;margin:0 0 12px;color:#f4d392}
.memory-card img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;border-radius:6px;margin:0 0 12px}
.flight-album .memory-card p{font-size:12px;line-height:1.6;margin:8px 0;color:#c3cdc9}
.flight-album .memory-card .memory-margin{font-weight:700;color:#ecf0df}
.flight-album .memory-card a{display:inline-block;padding:8px 0;border:0;background:none;text-align:left;color:#f4d392;font-size:12px;text-decoration:underline}
.memory-card.locked{border-style:dashed;background:#20282e;opacity:.7}
.flight-album .memory-card .memory-art-caption{color:#eee9d5;font-weight:600;line-height:1.55}
.flight-album .memory-art-detail{border-top:1px solid #414c4c;margin-top:9px;padding-top:3px}
.flight-album .memory-art-detail>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:12px;font-weight:600;color:#d8e8de;list-style:none}
.flight-album .memory-art-detail>summary::-webkit-details-marker{display:none}
.flight-album .memory-art-detail>summary::before{content:'+';font-size:18px;font-weight:400;color:#a6c8b7}
.flight-album .memory-art-detail[open]>summary::before{content:'−'}
.flight-album .memory-art-detail>summary:focus-visible{outline:2px solid #f4d392;outline-offset:3px;border-radius:3px}
.flight-album .memory-art-detail>p{margin:0 0 12px;color:#d3dcd4}
.flight-album .memory-card a{min-height:44px;font-size:12px;line-height:1.5}
.flight-album .memory-card .memory-original{display:inline-flex;align-items:center;gap:5px;color:#cdebdc;margin-top:4px}
.flight-album .album-play{display:inline-block;margin:0 14px 16px;padding:10px 14px;background:#303b3f;color:#d5f0e2;border:1px solid #596763;text-align:left}
.flight-result .result-nudge{color:#fff0c9;font-weight:600;margin:12px 0}
.flight-result .result-discovery{border-top:1px solid #43564f;padding-top:12px;color:#b7ebd4}
.flight-mode{font-size:12px;letter-spacing:.6px;border:1px solid #69746b;border-radius:4px;padding:2px 4px;color:#e3dece}
.flight-stage{max-width:min(100%,calc((100dvh - 145px)*1.25));margin-inline:auto;scroll-margin-top:8px}
.flight-page button,.flight-page select{min-height:44px}
.flight-page .hud-actions button{min-width:44px;min-height:44px}
.in-spielekiste .flight-nav>a{display:none}
.in-spielekiste .flight-nav span{max-width:none;text-align:left;margin-right:auto}
@media(max-width:600px){.flight-page #story{display:none}.flight-intro{margin-block:10px}.flight-intro img{width:58px;height:58px}.flight-page .flight-intro h1{font-size:24px}.in-spielekiste .flight-nav span{max-width:none}}
.flight-stage:fullscreen{max-width:none;scroll-margin-top:0}
.flight-page #launch-card{top:14px;transform:translateX(-50%);max-height:calc(100% - 28px)}
.flight-sheet .version-link{display:inline-block;margin:10px 0;color:#f9cf8b;font-weight:700;font-size:13px}
.flight-sheet .version-link[hidden]{display:none}
@media(max-width:600px){.flight-nav span{max-width:42%;text-align:center;font-size:12px;letter-spacing:.7px}.flight-page #launch-card{top:10px;max-height:calc(100% - 20px);padding:12px}.flight-page #launch-card img{width:44px;height:44px;margin:0 auto 4px}.flight-page #launch-card h2{font-size:21px}.flight-page #launch-card p{margin:6px 0;font-size:12px}.flight-page #launch-card button{padding:8px 10px}.flight-page #launch-card .sheet-note{font-size:12px}}
@media(max-width:600px){.album-cards{grid-template-columns:1fr}.memory-card{padding:12px}.flight-page .album-district>summary{padding:14px}.flight-album #album{display:flex}}
@media(max-width:360px){.flight-page #launch-card img{display:none}.flight-page #launch-card{padding:10px}.flight-page #launch-card h2{font-size:18px}.flight-page #launch-card p{line-height:1.35;margin:5px 0}.flight-page #launch-card .sheet-note{font-size:12px}.flight-hud{padding-inline:7px;gap:5px}.flight-hud>div:first-child{max-width:48%}.flight-hud #flight-era{font-size:13px}.flight-hud #level-name{font-size:12px}.hud-points strong{font-size:18px}.flight-page .hud-actions button{padding-inline:5px}}

.timeline{flex-wrap:wrap;justify-content:flex-start}.timeline span{white-space:nowrap}

/* Shared native and viewport fullscreen; the playing surface is never cropped. */
.flight-expanded,.flight-expanded body{overflow:hidden;overscroll-behavior:none}
.flight-stage:is(:fullscreen,:-webkit-full-screen,.is-expanded){position:fixed;inset:0;z-index:1000;width:100%;height:100vh;height:100dvh;max-width:none;margin:0;border:0;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:flex;flex-direction:column;background:#111b21}
.flight-stage:is(:fullscreen,:-webkit-full-screen,.is-expanded) .flight-hud{flex:none;min-height:64px}
.flight-stage:is(:fullscreen,:-webkit-full-screen,.is-expanded) .flight-bottom{flex:none;min-height:36px}
.flight-stage:is(:fullscreen,:-webkit-full-screen,.is-expanded) .flight-viewport{flex:1;min-height:0;height:auto;display:flex;align-items:center;justify-content:center;container-type:size}
.flight-stage:is(:fullscreen,:-webkit-full-screen,.is-expanded) #flight{width:min(100%,calc((100dvh - 120px)*1.25));height:auto;max-height:100%;max-width:100%;aspect-ratio:5/4}
@supports(width:1cqw){.flight-stage:is(:fullscreen,:-webkit-full-screen,.is-expanded) #flight{width:min(100cqw,125cqh)}}

/* A gallery stage: quiet framing and an unobstructed painting. */
@font-face{font-family:Manrope;src:url('fonts/Manrope-VariableFont_wght.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Newsreader;src:url('fonts/Newsreader-VariableFont_opsz_wght.woff2') format('woff2');font-weight:200 800;font-display:swap}
body:has(.flight-page){background:#122a27;color:#f5f0df;background-image:none;font-family:Manrope,system-ui,sans-serif}
.flight-page{max-width:1180px;padding:12px 24px 32px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px}
.flight-nav{grid-column:1/-1;padding:0;border:0;min-height:44px}
.flight-nav span{font-size:12px;font-weight:700;letter-spacing:1.5px;color:#d3c69d}
.flight-page button,.flight-page select{font-family:Manrope,system-ui,sans-serif;border-color:#d9e6da35;background:#1d3933;border-radius:9px;color:#f5f0df}
.flight-page button:hover{background:#2c4940}
.flight-page .primary{background:#efe2b5;border-color:#efe2b5;color:#183b31;box-shadow:none}
.flight-page .primary:hover{background:#fff2c9}
.flight-intro{margin:0;gap:10px;min-height:68px}
.flight-intro img{width:66px;height:66px;filter:none}
.flight-page .flight-intro h1{font:500 clamp(30px,3.6vw,44px)/1 Newsreader,Georgia,serif;letter-spacing:-.9px;margin:3px 0 6px}
.flight-kicker{font-size:12px;letter-spacing:1.5px;color:#c6d5bb}
.flight-page #story{font-size:12px;max-width:480px;color:#c1cfc2}
.flight-toolbar{margin:0;align-self:center;align-items:flex-end}
.flight-toolbar label{color:#c1cfc2;font-size:12px}
.flight-stage{grid-column:1/-1;width:min(780px,100%,calc((100dvh - 260px)*1.25));max-width:none;border-color:#d5e3ce45;border-radius:15px;box-shadow:0 18px 60px #071e1b70;background:#16342e}
.flight-hud{background:#16342e;padding-inline:16px}
.flight-hud #flight-era{font:600 25px Newsreader,Georgia,serif;color:#eadbb0}
.flight-event{color:#c5d6c8}
.flight-mode{color:#c8d7c8;border-color:#bfd3bc50;letter-spacing:1px}
.flight-bottom{background:#16342e;color:#d4dfcf}
.flight-page #launch-card{top:auto;bottom:16px;left:auto;right:16px;transform:none;width:min(280px,68%);max-height:calc(100% - 32px);padding:16px;text-align:left;border:1px solid #cfddc657;border-radius:13px;background:#13372fee;box-shadow:0 8px 30px #0d261d40;backdrop-filter:blur(12px)}
.flight-page #launch-card img{display:none}
.flight-page #launch-card h2{font:500 26px/1.05 Newsreader,Georgia,serif;letter-spacing:-.5px;margin:7px 0 10px}
.flight-page #launch-card p{font-size:12px;color:#d1ddce}
.flight-page #launch-card .flight-kicker{color:#e7d6a2;font-size:12px;letter-spacing:1.5px}
.flight-page #launch-card>div{justify-content:flex-start;gap:8px}
.flight-page #launch-card button{min-height:44px;padding:10px 14px}
.flight-page #launch-card .sheet-note{font-size:12px;line-height:1.5;margin-top:12px;color:#c0d0be}
.flight-page .flight-status{grid-column:1/-1;min-height:24px;margin:0;font-size:12px;color:#d7c791}
.flight-page>.history-card,.flight-page>.flight-album,.flight-page>details,.flight-page>.note{grid-column:1/-1;width:100%}
.flight-page .history-card{max-width:920px;padding:24px 28px;border:1px solid #dfdfbd45;border-radius:14px;background:#eee9d8;color:#1b3c32;margin:16px auto}
.flight-page .history-card h2{font:500 30px/1.1 Newsreader,Georgia,serif;color:#1b3c32}
.flight-page .history-card p{color:#365349;font-size:14px}
.flight-page .history-card a{color:#214c3c}
.flight-page .timeline span{color:#4b6353;border-color:#8fa595;min-height:32px}
.flight-page .timeline .current{background:#214c3c;color:#f6edce;border-radius:5px}
.flight-album{max-width:920px;margin-inline:auto}
.flight-album h2{font:500 32px Newsreader,Georgia,serif}
.flight-page .album-district{background:#163a30;border-color:#bdcbae40;border-radius:12px}
.memory-card{background:#102f28;border-color:#bdcbae35;border-radius:9px}
.memory-card h3{font-family:Newsreader,Georgia,serif;font-size:20px;font-weight:500;line-height:1.25}
.memory-card.locked{opacity:1;background:#15382f}
@media(max-width:760px){.flight-page{grid-template-columns:1fr;padding:10px 12px 28px;gap:10px}.flight-nav,.flight-intro,.flight-toolbar{grid-column:1/-1}.flight-nav span{max-width:none;font-size:12px;letter-spacing:.7px}.flight-nav button{white-space:nowrap;padding-inline:10px;flex-shrink:0}.flight-intro{min-height:50px}.flight-intro img{width:50px;height:50px}.flight-page .flight-intro h1{font-size:30px}.flight-toolbar{width:100%}.flight-stage{width:100%;border-radius:12px}.flight-page #launch-card{bottom:12px;right:12px;left:12px;width:auto;max-height:calc(100% - 24px);padding:13px 15px}.flight-page #launch-card h2{font-size:26px;margin:4px 0 6px}.flight-page #launch-card p{font-size:12px;line-height:1.4;margin:6px 0}.flight-page #launch-card .sheet-note{margin-top:8px;font-size:12px}.flight-page .history-card{padding:20px}.flight-page .history-card h2{font-size:26px}}
@media(max-width:360px){.flight-page #launch-card{padding:10px 12px}.flight-page #launch-card h2{font-size:23px}.flight-page #launch-card button{padding-inline:10px}.flight-nav span{font-size:12px}.flight-toolbar select{min-width:105px}.flight-toolbar button{font-size:12px;padding-inline:9px}}
@media(orientation:landscape) and (max-height:540px){.flight-page{grid-template-columns:minmax(0,1fr) auto}.flight-intro{grid-column:1;min-height:46px}.flight-toolbar{grid-column:2;width:auto}.flight-intro img{display:none}.flight-page .flight-intro h1{font-size:26px}.flight-stage{width:min(100%,calc((100dvh - 205px)*1.25))}.flight-page #launch-card{left:auto;right:8px;bottom:8px;width:min(290px,68%);padding:10px}.flight-page #launch-card h2{font-size:22px}.flight-page #launch-card .sheet-note{display:none}}
.flight-stage:is(:fullscreen,:-webkit-full-screen,.is-expanded){width:100%;max-width:none;background:#0d2420}
@media(max-width:760px){
 .flight-page .flight-stage:not(:fullscreen):not(:-webkit-full-screen):not(.is-expanded) #launch-card{position:relative;inset:auto;transform:none;width:100%;max-height:none;overflow:visible;margin:0;padding:12px 14px;border:0;border-top:1px solid #cfddc640;border-radius:0;box-shadow:none;background:#163a30;backdrop-filter:none}
 .flight-page .flight-stage:not(:fullscreen):not(:-webkit-full-screen):not(.is-expanded) #launch-card h2{display:none}
 .flight-page .flight-stage:not(:fullscreen):not(:-webkit-full-screen):not(.is-expanded) #launch-card .flight-kicker{margin:0 0 4px}
 .flight-page .flight-stage:not(:fullscreen):not(:-webkit-full-screen):not(.is-expanded) #launch-card #world-hint{margin:0 0 9px}
 .flight-page .flight-stage:not(:fullscreen):not(:-webkit-full-screen):not(.is-expanded) #launch-card .sheet-note{margin:7px 0 0}
}
.flight-page .flight-sheet{border-color:#cfddc657;border-radius:13px;background:#13372ff5;box-shadow:0 8px 30px #0d261d40}
.flight-page .flight-sheet h2{font-family:Newsreader,Georgia,serif;font-weight:500;color:#f5f0df}
.flight-page .flight-sheet p{color:#d1ddce}
.flight-page .flight-result .result-buttons{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0;background:transparent}
.flight-page .flight-result .result-buttons .primary{grid-column:1/-1}
.flight-page .flight-result .result-buttons button{white-space:normal;min-width:0}
@media(max-width:600px){.flight-page .flight-result{width:94%;padding:12px}.flight-page .flight-result img{display:none}.flight-page .flight-result h2{font-size:23px;margin:4px 0}.flight-page .flight-result p{font-size:12px;margin:4px 0;line-height:1.4}.flight-page .flight-result .flight-kicker{font-size:12px}.flight-page .flight-result .result-score{font-size:27px;line-height:1;margin:6px 0}.flight-page .flight-result .result-nudge{margin:8px 0;color:#fff0c9}.flight-page .flight-result .result-buttons button{font-size:12px;padding:8px 7px}.flight-page .flight-result .sheet-note{font-size:12px}}
/* A six-station ribbon keeps the journey legible at a glance. */
.flight-progress { height:10px; display:flex; align-items:center; justify-content:space-between; position:relative; margin:0 22px; }
.flight-progress::before { content:''; position:absolute; left:0; right:0; height:2px; background:linear-gradient(90deg,#e8cd91 var(--journey,0%),#aec7b533 var(--journey,0%)); }
.flight-progress span { position:relative; width:8px; height:8px; border:1px solid #93ab9c; border-radius:50%; background:#16342e; transition:background .25s,box-shadow .25s; }
.flight-progress span.done { background:#e8cd91; border-color:#e8cd91; }
.flight-progress span.active { border-color:#e8cd91; box-shadow:0 0 0 3px #e8cd9120; }
.flight-bottom { padding-block:10px; font-variant-numeric:tabular-nums; align-items:center; }
.flight-bottom #passages,.flight-bottom #finds { white-space:nowrap; font-size:12px; letter-spacing:.02em; }
.flight-bottom #finds { color:#e8cd91; }
.flight-bottom #combo { color:#baccba; }
.flight-hud .hud-points { border-left:1px solid #b6c4aa35; padding-left:14px; }
@media(prefers-reduced-motion:reduce){.flight-progress span{transition:none}}

/* Flight framing: less chrome, clearer actions, a warm gallery around the painting. */
html:has(.flight-page) { scrollbar-width: thin; scrollbar-color: #789383 #122a27; }
.flight-page { gap: 14px 24px; padding-block: 16px 40px; }
.flight-page button,.flight-page select { border-radius: 12px; transition: background-color .15s, border-color .15s, box-shadow .15s; }
.flight-page button:not(:disabled):active { background: #36574a; }
.flight-page .primary:not(:disabled):active { background: #e2cf99; }
.flight-page button:disabled { opacity: .38; }
.flight-page button[aria-pressed=true] { background: #304f3f; border-color: #dbc78a80; color: #f7e8bf; }
.flight-nav { gap: 8px; }
.flight-nav span { font-size: 12px; letter-spacing: .09em; }
.flight-nav #sound,.flight-nav #share-round { min-height: 44px; background: #1a3630; border-color: #c5d3b52c; }
.flight-intro { gap: 14px; }
.flight-intro img { width: 76px; height: 76px; }
.flight-page .flight-intro h1 { letter-spacing: -.035em; }
.flight-toolbar button { background: transparent; }
.flight-toolbar select { border-color: #c5d3b55a; background: #23453a; }
.flight-stage { border-radius: 18px; border-color: #c6d6b94a; box-shadow: 0 18px 50px #061c1738; }
.flight-hud { height: 68px; gap: 10px; }
.flight-hud > div:first-child { gap: 3px 9px; max-width: none; flex: 1; }
.flight-hud #level-name { font-size: 12px; font-weight: 650; }
.flight-hud #flight-era { font-size: 28px; }
.flight-hud .hud-points { margin-left: 0; padding-left: 12px; }
.hud-points strong { font-size: 24px; }
.flight-event { font-size: 12px; color: #d5dfce; }
.flight-mode { font-size: 12px; border: 0; background: #b6c4aa14; padding: 3px 5px; }
.flight-page .hud-actions button { border-radius: 10px; background: #c6d6b907; border-color: #c6d6b922; }
.flight-page .flight-sheet { border-radius: 18px; }
.flight-page .flight-result .result-score { font-family: Newsreader,Georgia,serif; font-size: 44px; color: #efe2b5; }
.flight-page .flight-result .result-buttons { gap: 8px; }
.flight-page .history-card { border-radius: 18px; padding: 25px 28px; margin-block: 14px 24px; }
.flight-page .timeline { gap: 5px; margin-bottom: 18px; }
.flight-page .timeline span { padding: 6px 10px; border: 0; border-radius: 999px; background: #214c3c0a; font-size: 12px; }
.flight-page .timeline .current { border-radius: 999px; background: #214c3c; color: #f6edce; }
.flight-page .timeline .visited { color: #214c3c; background: #214c3c14; }
.flight-page .history-card a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; text-underline-offset: 4px; }
.flight-album h2 { font-size: 34px; margin-top: 8px; }
.flight-album > p { max-width: 58ch; line-height: 1.6; }
.flight-page .album-district { border-radius: 16px; }
.flight-page .album-district > summary { min-height: 60px; }
.flight-album .memory-card { border-radius: 12px; }
.flight-album .memory-card.locked { background: #183b32; border-color: #c5d3b530; border-style: dashed; }
.flight-page .flight-status { color: #d6c997; line-height: 1.5; }
.flight-stage:is(:fullscreen,:-webkit-full-screen,.is-expanded)::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: var(--flight-painting) center / cover; opacity: .2; filter: blur(20px);
}
@media(max-width:760px) {
  .flight-page { padding: 10px 12px 30px; gap: 10px; }
  .flight-nav span { font-size: 12px; max-width: 45%; line-height: 1.5; }
  .flight-nav #sound,.flight-nav #share-round { padding-inline: 10px; font-size: 12px; }
  .flight-intro { gap: 10px; min-height: 54px; }
  .flight-intro img { width: 54px; height: 54px; }
  .flight-page .flight-intro h1 { font-size: clamp(26px,7.4vw,33px); }
  .flight-toolbar { gap: 7px; }
  .flight-toolbar label { flex: 1; min-width: 0; }
  .flight-toolbar select { width: 100%; min-width: 0; }
  .flight-toolbar button { padding-inline: 10px; font-size: 12px; }
  .flight-stage { border-radius: 15px; }
  .flight-hud { height: 64px; padding: 8px 11px; gap: 6px; }
  .flight-hud > div:first-child { gap: 3px 6px; min-width: 0; }
  .flight-hud #flight-era { font-size: 25px; }
  .flight-hud #level-name { font-size: 12px; }
  .flight-event { font-size: 12px; }
  .flight-mode { font-size: 12px; letter-spacing: .04em; }
  .flight-hud .hud-points { padding-left: 8px; }
  .hud-points strong { font-size: 21px; }
  .flight-page .flight-stage:not(:fullscreen):not(:-webkit-full-screen):not(.is-expanded) #launch-card { padding: 14px; }
  .flight-page #launch-card > div { display: grid; grid-template-columns: 1fr 1fr; }
  .flight-page #launch-card button { width: 100%; font-size: 12px; }
  .flight-page .history-card { padding: 20px; }
  .flight-page .history-card h2 { font-size: 27px; }
  .flight-page .history-card p { font-size: 13px; }
  .flight-page .timeline { gap: 4px; margin-bottom: 15px; }
  .flight-page .timeline span { padding-inline: 7px; font-size: 12px; }
  .flight-bottom { gap: 6px; padding-inline: 12px; }
  .flight-bottom #passages,.flight-bottom #finds { font-size: 12px; }
  .flight-bottom #combo { font-size: 12px; }
}
@media(max-width:360px) {
  .flight-page { padding-inline: 8px; }
  .flight-page .hud-actions button { min-width: 44px; padding-inline: 4px; }
  .flight-hud { padding-inline: 8px; gap: 4px; }
  .flight-hud #flight-era { font-size: 22px; }
  .flight-mode { font-size: 12px; padding-inline: 3px; }
}
@media(prefers-reduced-motion:reduce) { .flight-page button,.flight-page select { transition: none; } }

/* Keep one quiet memory inside the stage, including fullscreen. */
.flight-memory{flex:none;min-height:40px;box-sizing:border-box;margin:0;padding:8px 14px;background:#14372f;color:#f0dfb7;font:500 12px/1.45 Manrope,system-ui;text-align:center;display:flex;align-items:center;justify-content:center;border-top:1px solid #cfddc624;position:relative;z-index:1}
#pause-card #pause-sound{display:block;margin:10px auto 0}

.flight-page .personal-goal{color:#ffe3a4;font-weight:600;font-size:12px;line-height:1.5} .flight-page #personal-progress{color:#bbd7c9;font-variant-numeric:tabular-nums}

/* The active flight gets the viewport; editorial content returns on exit. */
.flight-page:not([data-state=ready]){padding:8px;margin:0 auto}
.flight-page:not([data-state=ready])>:is(.flight-nav,.flight-intro,.flight-toolbar,.flight-status,.history-card,.flight-album,details,.note){display:none}
.flight-page:not([data-state=ready]) .flight-stage:not(:fullscreen):not(.is-expanded){max-width:min(100%,calc((100dvh - 174px)*1.25));margin:0 auto}
.flight-page .flight-mode-help{font-size:12px;color:#c1d6c9;margin:8px 0}
#pause-card #leave-flight{display:block;margin:10px auto 0;font-size:12px}
.flight-page .result-leave{font-size:12px;margin-top:8px}

/* Launch belongs to the painted stage, with a single unmistakable action. */
.flight-page button,.flight-page select { border-radius:12px; }
.flight-page button.primary { border-radius:14px; min-height:48px; box-shadow:0 3px 0 #a88d53; }
.flight-page button.primary:active { box-shadow:inset 0 2px 4px #49391630; }
@media(max-width:760px) and (orientation:portrait) {
 .flight-page .flight-stage:not(:fullscreen):not(:-webkit-full-screen):not(.is-expanded) #launch-card {
  position:absolute; inset:auto 10px 10px; width:auto; max-height:calc(100% - 20px);
  padding:12px; border:1px solid #e8dbad50; border-radius:16px;
  background:#12352ff5; box-shadow:0 8px 24px #10251e40; overflow:auto;
 }
 .flight-page #launch-card .flight-mode-help,.flight-page #launch-card #personal-progress { display:none; }
 .flight-page #launch-card .personal-goal { margin:6px 0; }
 .flight-page #launch-card .sheet-note { margin-top:8px; }
 .flight-page #launch-card > div { gap:8px; }
 .flight-page #launch-card button { min-height:48px; font-weight:750; }
 .flight-page .flight-intro { min-height:44px; }
 .flight-page .flight-intro h1 { font-size:28px; }
}
.flight-page #pause-card{padding:12px 14px}
.flight-page #pause-card p{margin:6px 0;font-size:12px}
.flight-page #pause-card h2{margin:4px 0 8px}
@media(orientation:landscape) and (max-height:540px){
 .flight-page:not([data-state=ready]) .flight-stage:not(:fullscreen):not(:-webkit-full-screen):not(.is-expanded){width:min(100%,calc((100dvh - 160px)*1.25));max-width:min(100%,calc((100dvh - 160px)*1.25))}
 .flight-page:not([data-state=ready]) .flight-memory{min-height:28px;padding:5px 8px;font-size:12px}
 .flight-page:not([data-state=ready]) .flight-bottom{padding:6px 8px;gap:4px;font-size:12px}
 .flight-page:not([data-state=ready]) .flight-bottom #combo{display:none}
 .flight-page:not([data-state=ready]) .flight-hud #flight-era{font-size:22px}
}
