:root{font-family:'Avenir Next',Avenir,ui-rounded,system-ui,sans-serif;color:#fff7e5;background:#0f798d;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ffd182;outline-offset:5px}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}#sea{position:fixed;inset:0;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#05283550,transparent 28%,transparent 80%,#00334655)}header{position:fixed;z-index:4;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:calc(18px + env(safe-area-inset-top)) max(4vw,env(safe-area-inset-right)) 12px max(4vw,env(safe-area-inset-left));pointer-events:none}header>*{pointer-events:auto}.brand{font-weight:950;font-size:22px;letter-spacing:1px;text-decoration:none;color:#fff9e9;line-height:1.2;text-shadow:0 2px 15px #003e5288}.brand span{display:block;font-size:8px;letter-spacing:3px;font-weight:700}.tools{display:flex;gap:8px}.tools button{background:#103c4b8c;color:#fff6e3;border:1px solid #fff4;border-radius:50%;width:42px;height:42px;font-size:19px;backdrop-filter:blur(12px)}#menu{position:fixed;inset:0;padding:22vh 0 0 7vw;background:linear-gradient(90deg,#073e57d9 0%,#08475d9e 31%,transparent 70%)}.eyebrow{font-weight:800;font-size:10px;letter-spacing:2.5px;color:#f8d59c}h1{font-size:clamp(46px,6.2vw,94px);line-height:.99;letter-spacing:-4px;margin:22px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#ffdb97}.intro{font-size:17px;line-height:1.6;margin:22px 0;color:#eef3e8}.actions{display:grid;gap:10px;width:290px}.primary,.secondary{padding:17px 22px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px;font-weight:750}.primary{background:linear-gradient(135deg,#ffdb96,#eea868);color:#243f44;box-shadow:0 6px 16px #002b4a44}.primary:hover{filter:brightness(1.08)}.secondary{background:#fff7e51c;border:1px solid #fff5;color:#fff9e9;backdrop-filter:blur(12px)}.secondary span{font-size:10px;font-weight:500}.gesture{font-size:10px;letter-spacing:.6px;color:#e0eee6;margin-top:20px}#assetstatus{font-size:11px;color:#ffe3ac}footer{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:4vw;right:4vw;display:flex;gap:24px;align-items:center}footer a,footer button{font-size:11px;color:#fff9e9;text-decoration:none;text-shadow:0 1px 3px #003b50}footer button{margin-left:auto;background:none}#hud{position:fixed;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none}#hud button{pointer-events:auto}.destination{position:absolute;top:88px;left:4vw;display:grid;gap:3px;text-shadow:0 2px 8px #003f57}.destination small{font-size:9px;letter-spacing:2px}.destination strong{font-family:Georgia,serif;font-size:30px;font-weight:400}.destination span{font-size:10px;max-width:360px}.score{position:absolute;right:4vw;top:88px;text-align:right;display:grid;text-shadow:0 2px 8px #003f57}.score strong{font-size:30px}.score small{font-size:9px;letter-spacing:1px}.progress{position:absolute;top:171px;left:4vw;right:4vw;background:#fff4;height:3px;border-radius:4px;overflow:hidden}.progress i{display:block;background:#ffda9a;height:100%;width:0}.meters{position:absolute;right:4vw;top:187px;display:flex;gap:15px;align-items:center;font-size:9px;font-weight:700;letter-spacing:.4px;text-shadow:0 1px 5px #013b50}.energy{width:70px;height:5px;border:1px solid #fff9;border-radius:10px;overflow:hidden}.energy i{display:block;background:#ffd691;height:100%;width:85%}#toast{position:absolute;top:30%;width:100%;text-align:center;color:#fff4d6;font-size:22px;font-weight:800;text-shadow:0 2px 14px #00435e;pointer-events:none}#warning{position:absolute;top:40%;width:100%;text-align:center;color:#ffdda2;font-size:10px;letter-spacing:1.5px;font-weight:800;text-shadow:0 2px 8px #00405a}.controls{position:absolute;bottom:calc(19px + env(safe-area-inset-bottom));left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:flex-end}.control{border-radius:22px;width:86px;height:90px;background:#083e52a8;border:1px solid #e9f4e65c;box-shadow:0 5px 24px #00314533;backdrop-filter:blur(9px);color:#fff5de;touch-action:none;user-select:none;-webkit-user-select:none}.control b{display:block;font-size:29px;font-weight:400;line-height:32px}.control span{font-size:10px;display:block;font-weight:850;letter-spacing:1px}.control small{font-size:7px;display:block;letter-spacing:.5px;margin-top:4px;color:#ecf6dcad}.control.active,.control:active{background:#e9c17bd9;color:#153e4c;transform:translateY(2px);border-color:#ffe4a7}.control.boost{height:77px;width:92px;border-color:#ffda99;background:linear-gradient(135deg,#ffd98ae8,#e9b575de);color:#234f56}.control.boost small{color:#365c5e}.control.boost b{font-size:26px;line-height:27px}.control.boost.empty{opacity:.5}.ridehint{position:absolute;bottom:116px;left:4vw;font-size:10px;color:#fff7e1;text-shadow:0 1px 5px #003d55;max-width:60%}#airtrick{position:absolute;bottom:125px;right:4vw;font-size:14px;font-weight:850;color:#ffdf9d;text-shadow:0 1px 5px #003950}dialog{border:1px solid #fff7;border-radius:25px;background:#123f50ed;color:#fff5df;box-shadow:0 30px 100px #002b4a88;padding:36px;width:min(800px,92vw);max-height:88dvh;overflow:auto;backdrop-filter:blur(22px)}dialog::backdrop{background:#042b407d;backdrop-filter:blur(7px)}dialog h2{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:14px 0}dialog p{font-size:13px;line-height:1.65;color:#d1e2dd}.close{position:absolute;right:16px;top:12px;background:none;color:#fff5dc;font-size:30px}#beaches{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.beach{padding:0;overflow:hidden;text-align:left;min-height:135px;border-radius:12px;background:#e4eeDF1a;color:#fff7e5;font-size:12px;border:1px solid #fff2}.beach .photo{height:90px;width:100%;background-size:100% 300%;position:relative}.beach .photo span{position:absolute;right:8px;top:8px;background:#164b57c9;border-radius:50%;padding:5px;font-size:11px}.beach .name{padding:10px;display:block}.beach small{display:block;font-size:9px;margin-top:4px;opacity:.75}.beach.visited{border-color:#ffdc9a}.textbutton{background:none;color:#c3d9d7;padding:18px}#result,#pausedialog{text-align:center;width:min(510px,90vw)}#result .primary,#result .secondary,#pausedialog .primary,#pausedialog .secondary{margin:12px auto;width:100%;justify-content:center}#medals{font-size:27px;color:#ffda8e;letter-spacing:12px;padding:10px}.instructions{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.instructions b{color:#ffdc99}#rotation{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#123f50ed;backdrop-filter:blur(18px);padding:30px}.phone{font-size:80px;color:#ffdc9e}#rotation h2{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.2}#rotation p{font-size:13px}#rotation button{margin-top:25px}body.playing header .brand{font-size:17px}body.playing header .brand span{font-size:7px}
@media(max-height:530px) and (orientation:landscape){header{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:6px}.tools button{width:34px;height:34px;font-size:17px}.brand{font-size:18px}.brand span{font-size:7px}#menu{padding-top:20vh}h1{font-size:47px;letter-spacing:-2px;margin:12px 0}.intro{font-size:12px;margin:10px 0}.actions{display:flex;width:auto;gap:9px}.primary,.secondary{font-size:12px;padding:12px 16px;border-radius:11px}.secondary span{font-size:8px}.gesture{margin-top:12px;font-size:9px}.eyebrow{font-size:8px}.destination{top:55px;gap:1px}.destination strong{font-size:22px}.destination small{font-size:7px}.destination span{font-size:8px}.score{top:54px}.score strong{font-size:24px}.score small{font-size:7px}.progress{top:110px}.meters{top:121px;font-size:8px;gap:10px}.energy{width:52px}.control{width:69px;height:72px;border-radius:18px}.control b{font-size:25px;line-height:27px}.control span{font-size:8px}.control small{font-size:6px;margin-top:2px}.control.boost{height:65px;width:82px}.controls{bottom:calc(12px + env(safe-area-inset-bottom))}.ridehint{bottom:91px;font-size:8px}#airtrick{bottom:92px;font-size:11px}#toast{top:34%;font-size:17px}#warning{top:44%;font-size:8px}footer{bottom:10px}footer a,footer button{font-size:9px}dialog{padding:27px;max-height:92dvh}dialog h2{font-size:29px}dialog p{font-size:11px}#beaches{grid-template-columns:repeat(5,1fr);gap:8px}.beach .photo{height:62px}.beach .name{font-size:10px;padding:7px}.beach small{font-size:7px}.beach{min-height:110px}}
@media(orientation:portrait){#menu{padding:20vh 7vw 0;background:linear-gradient(90deg,#073e57d9, #08475d77)}h1{font-size:54px;letter-spacing:-3px}.intro{font-size:15px}.actions{width:min(290px,85vw)}footer{flex-wrap:wrap;gap:13px}footer a,footer button{font-size:9px}#beaches{grid-template-columns:repeat(2,1fr)}.instructions{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Continuous one-finger journey. */
.control.single{position:absolute;right:4vw;bottom:calc(19px + env(safe-area-inset-bottom));width:112px;height:76px;border-radius:24px;background:#103e5180}.control.single span{font-size:8px;letter-spacing:.7px}.control.single b{font-size:29px;line-height:35px}.ridehint{bottom:42px;max-width:65%;font-size:11px}.meters{gap:10px}#rest{position:absolute;left:0;right:0;top:30%;text-align:center;display:grid;gap:9px;text-shadow:0 2px 18px #00374c;pointer-events:none}#rest small{font-size:10px;letter-spacing:4px;color:#ffdda2}#rest strong{font-family:Georgia,serif;font-size:35px;font-weight:400}#rest span{font-size:12px;color:#fff1d6}#warning{top:auto;bottom:130px;font-size:11px;color:#ffe0b7}#airtrick{bottom:106px;font-size:11px}.progress{opacity:.5}.energy{width:48px}.energy i{background:#c5f4df}#result .primary{justify-content:center}.instructions{grid-template-columns:repeat(3,1fr)}
@media(max-height:530px) and (orientation:landscape){.control.single{bottom:calc(12px + env(safe-area-inset-bottom));width:98px;height:65px;border-radius:20px}.control.single b{line-height:28px;font-size:26px}.control.single span{font-size:7px}.ridehint{bottom:27px;font-size:9px}#rest{top:31%;gap:6px}#rest strong{font-size:25px}#rest small{font-size:8px}#rest span{font-size:9px}#warning{bottom:96px;font-size:9px}#airtrick{bottom:90px;font-size:9px}}
@media(orientation:portrait){.instructions{grid-template-columns:1fr}}

/* Journey edition: the sea itself is the control surface. */
body.playing,body.playing *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body.playing{overscroll-behavior:none;touch-action:none}body.playing dialog{touch-action:pan-y}body.playing button,body.playing a{touch-action:manipulation}#sea{touch-action:none;-webkit-touch-callout:none}#hud{pointer-events:none}.score strong{font-size:44px;line-height:1;font-variant-numeric:tabular-nums}.score small{font-size:9px;margin-top:5px}.destination span{max-width:330px}.progress{top:167px}#ability{position:absolute;right:4vw;top:219px;color:#ffe2a9;font-size:10px;letter-spacing:1px;font-weight:800;text-shadow:0 1px 7px #03475c}#missionhud{position:absolute;left:4vw;bottom:22px;max-width:270px;padding:11px 14px;border-radius:13px;background:#063b4e88;backdrop-filter:blur(8px);font-size:10px}#missionhud small{font-size:8px;letter-spacing:1.5px;color:#ffd79e;display:block;margin-bottom:5px}#missionlines,#goallist{display:grid;gap:5px}#missionlines span,#goallist span{display:flex;gap:10px;justify-content:space-between;color:#eaf7ef}#missionlines b{font-size:9px;white-space:nowrap}#missionlines .done,#goallist .done{color:#a8efd5}#goallist{gap:16px;font-size:14px;padding:15px 0}#goallist span{padding:12px;background:#ffffff0c;border-radius:9px}#goallist b{white-space:nowrap}#tutorial{position:fixed;z-index:5;top:31%;left:50%;transform:translateX(-50%);width:min(460px,76vw);padding:19px 24px 8px;text-align:center;border-radius:19px;background:#123e50e8;box-shadow:0 8px 35px #002c4b55;pointer-events:none;border:1px solid #ffe2ab66}#tutorial small{color:#ffda9b;font-size:12px;font-weight:850;letter-spacing:2px}#tutorial p{font-size:19px;line-height:1.4;margin:9px 0}.touchcue{font-size:35px;line-height:1;animation:cue 1.2s infinite}#skipguide{background:none;font-size:10px;color:#c6dedb;padding:10px;pointer-events:auto;min-height:34px}#toast{top:26%;font-size:18px}#airtrick{bottom:25px;right:4vw}#warning{bottom:60px;left:29%;width:70%;font-size:10px}#goalsbutton{padding:8px 0;font-size:11px;text-align:left}.actions{gap:8px}#replayguide{margin-bottom:15px}.tools button{min-width:34px;min-height:34px}dialog button{min-height:38px}@keyframes cue{50%{transform:scale(.8);opacity:.5}}
@media(max-height:530px) and (orientation:landscape){.score strong{font-size:32px}.score small{font-size:7px}.progress{top:109px}.destination span{max-width:310px}#ability{top:142px;font-size:8px}#missionhud{bottom:12px;font-size:8px;padding:8px 10px;max-width:225px}#missionhud small{font-size:7px}#missionlines{gap:3px}#missionlines b{font-size:7px}#tutorial{top:28%;padding:13px 19px 3px;width:min(410px,62vw)}#tutorial p{font-size:15px;margin:5px 0}#tutorial small{font-size:10px}.touchcue{font-size:27px}#skipguide{font-size:9px;padding:5px}#toast{top:25%;font-size:14px}#warning{bottom:40px;font-size:8px}#goalsbutton{font-size:9px;padding:4px 5px}.actions .textbutton{align-self:center}#goallist{font-size:12px;gap:8px}}
@media(prefers-reduced-motion:reduce){.touchcue{animation:none}}

body.playing dialog,body.playing dialog *{user-select:text;-webkit-user-select:text}body.playing dialog button{user-select:none;-webkit-user-select:none}

@media(max-height:530px) and (orientation:landscape){#tutorial{left:63%;width:min(390px,53vw)}}

/* Quiet, mobile-first title screen. */
body:not(.playing) header .brand{visibility:hidden}#menu{padding:0;background:linear-gradient(180deg,#073e5730,transparent 48%,#073e5740);pointer-events:none;text-align:center}#menu h1{position:absolute;top:8%;left:5%;right:5%;margin:0;font-size:clamp(30px,5vw,64px);letter-spacing:-1.5px;text-shadow:0 3px 20px #003e5280;line-height:1.05}#menu h1 span{color:#ffdfa4}#menu>.eyebrow,#menu>.intro,#menu>.gesture,#menu>#assetstatus,#goalsbutton,footer #install{display:none}#menu .actions{position:absolute;top:76%;left:50%;transform:translateX(-50%);display:flex;width:auto;gap:12px;pointer-events:auto;white-space:nowrap}#menu .actions button{min-height:44px}#menu footer{justify-content:center;pointer-events:auto;gap:28px}#menu footer a{font-size:clamp(11px,1.1vw,14px)}.touchcue{position:relative;height:62px;width:70px;margin:4px auto;animation:none}.finger{position:absolute;font-family:system-ui;font-size:48px;left:20px;top:4px;filter:drop-shadow(0 2px 3px #002a3c);animation:fingertap 1.2s infinite}.touchring{position:absolute;top:1px;left:26px;width:22px;height:22px;border:2px solid #ffdfa4;border-radius:50%;animation:fingerring 1.2s infinite}#tutorial[data-gesture=hold] .finger{animation:fingerhold 2s infinite}#tutorial[data-gesture=hold] .touchring{animation:fingerhold 2s infinite}#tutorial[data-gesture=release] .finger{animation:fingerrelease 1.6s infinite}#tutorial[data-gesture=release] .touchring{opacity:0;animation:none}@keyframes fingertap{0%,65%,100%{transform:translateY(0)}25%,45%{transform:translateY(9px)}}@keyframes fingerring{0%,60%,100%{opacity:0;transform:scale(.7)}30%{opacity:1;transform:scale(1.5)}}@keyframes fingerhold{0%,85%,100%{opacity:1;transform:translateY(7px)}95%{opacity:.35;transform:translateY(0)}}@keyframes fingerrelease{0%{transform:translateY(8px);opacity:1}60%,100%{transform:translateY(-18px);opacity:.25}}@media(max-height:530px) and (orientation:landscape){#menu h1{top:7%;font-size:34px}#menu .actions{top:74%;gap:10px}#menu .actions button{padding:10px 18px;font-size:13px}.touchcue{height:48px}.finger{font-size:38px}#menu footer{bottom:9px}}@media(orientation:portrait){#menu h1{top:13%;font-size:40px}#menu .actions{top:73%;flex-direction:column;width:min(280px,82vw)}#menu footer{bottom:25px;gap:15px}}@media(prefers-reduced-motion:reduce){.finger,.touchring{animation:none!important}}

#menu .actions{flex-wrap:wrap;justify-content:center;width:min(960px,96vw)}#tutorialstart{font-size:12px;padding:12px 17px}#menu footer a{display:flex;align-items:center;gap:10px;background:#06394ed9;border:1px solid #fff6;border-radius:15px;padding:10px 17px;text-align:left;font-size:10px;box-shadow:0 4px 18px #00354c44}#menu footer a b{display:block;font-size:14px;margin-top:2px}.socialicon{font-size:30px;color:#ffdda1}#acro{position:fixed;z-index:4;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));width:100px;min-height:88px;border-radius:22px;border:2px solid #ffe2a188;background:#174b60cf;touch-action:none;user-select:none}#acro b{display:block;font-size:32px;line-height:1}#acro span{display:block;font-size:10px;font-weight:800}#acro small{display:block;font-size:9px;margin-top:5px}#acro.ready{background:#efc27b;color:#173f4c;box-shadow:0 0 20px #ffdf9b77}#missionhud{left:135px}#tutorial[data-stage="5"]{left:36%;top:39%}#tutorial[data-stage="5"] .touchcue{transform:translateX(-80px)}#tutorial p{font-weight:650}.touchring{box-shadow:0 0 0 8px #fff2}html,body{width:100%;height:100%;background:#168ba7}#sea{width:100vw;height:100dvh;max-width:none}#menu footer{bottom:max(16px,env(safe-area-inset-bottom))}@media(max-height:530px) and (orientation:landscape){#menu .actions{top:70%;gap:7px}#menu .actions button{min-height:40px;font-size:12px;padding:9px 15px}#menu footer{bottom:8px;gap:12px}#menu footer a{padding:5px 12px;font-size:8px;border-radius:12px}#menu footer a b{font-size:11px}.socialicon{font-size:24px}#acro{width:83px;min-height:73px;bottom:10px;left:max(12px,env(safe-area-inset-left))}#acro b{font-size:26px}#acro span{font-size:9px}#acro small{font-size:8px}#missionhud{left:110px;max-width:195px}#tutorial[data-stage="5"]{left:55%;top:31%}}@media(orientation:portrait){#menu .actions{top:65%;flex-direction:column;width:min(280px,85vw)}#menu footer{flex-direction:column;gap:7px;bottom:15px}#menu footer a{padding:6px 15px;width:250px}#menu footer a b{font-size:12px}}

#guidecontinue{pointer-events:auto;display:block;margin:10px auto 0;padding:12px 20px;background:#ffda97;color:#183f4c;border-radius:12px;font-size:15px;font-weight:800;min-height:44px}#guidecontinue:disabled{opacity:.45;cursor:default}#hazardnotice{position:absolute;top:37%;right:4vw;max-width:280px;padding:12px 16px;border-radius:14px;border:1px solid #ffdda1;background:#183f50e8;color:#ffdda1;font-size:13px;font-weight:850;box-shadow:0 4px 20px #00374766}#tutorial[data-stage="1"]{top:24%}@media(max-height:530px) and (orientation:landscape){#hazardnotice{top:36%;font-size:10px;padding:9px 12px;max-width:230px}#guidecontinue{font-size:13px;padding:9px 16px;margin-top:7px}#tutorial[data-stage="1"]{top:20%}#tutorial[data-stage="1"] p{font-size:14px}}
/* Visual lessons and compact navigation instruments. */
#lessons{width:min(860px,94vw);padding:24px 30px}#lessons h2{margin:8px 0 13px;font-size:30px}#lessonCanvas{width:100%;height:auto;max-height:34dvh;border-radius:17px;display:block;object-fit:contain;background:#8ed4df}#lessontext{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:17px 0}#lessontext b{font-size:16px;color:#ffdc9f}#lessontext p{margin:6px 0;font-size:14px;line-height:1.45}.lessonnav{display:flex;justify-content:space-between;gap:15px}.lessonnav button{min-height:44px}#lessonprev:disabled{opacity:.3;cursor:default}.rotationhead{width:min(72vw,330px);height:220px;object-fit:contain;filter:drop-shadow(0 12px 18px #002b4a55)}#rotation h2{margin:14px 0 5px}.score .progress{position:static;width:145px;max-width:22vw;height:4px;margin:9px 0 0 auto;opacity:1}.destination{padding:10px 14px;border-radius:14px;background:#104a5c94;box-shadow:0 3px 18px #07405322;max-width:42vw}.destination small{color:#ffe1ac;font-weight:750;font-size:10px;letter-spacing:1px}.destination strong{font-size:31px;color:#fff5de}.destination span{font-size:11px;line-height:1.4;color:#e8f5ea}#rest strong{font-size:46px}#rest{padding:0 8vw}#acro{width:86px;min-height:86px;padding:7px}#acro svg{display:block;width:100%;height:70px}#acro[aria-disabled=true]{opacity:.7}#acro.ready{opacity:1}#missionhud{position:static;max-width:none;margin:18px 0;padding:17px;text-align:left;background:#ffffff0b;font-size:15px}#missionhud small{font-size:11px;margin-bottom:12px}#missionlines{gap:11px}#missionlines b{font-size:13px}.resultmissions{display:grid;gap:9px;margin:18px 0;font-size:14px;text-align:left}.resultmissions span{display:flex;justify-content:space-between;gap:12px}#hazardnotice{top:25%;left:50%;right:auto;transform:translateX(-50%);max-width:min(430px,70vw);width:max-content;text-align:center;padding:12px 23px;border-radius:18px;border:2px solid #ffc884;background:#16495bea;color:#fff2d4;box-shadow:0 5px 22px #123f5066;animation:dangerpulse 1.1s infinite}#hazardnotice b{display:block;color:#ffcf98;font-size:17px;letter-spacing:.7px}#hazardnotice span{display:block;font-size:12px;margin-top:4px}#toast{top:25%}@keyframes dangerpulse{50%{border-color:#fff0c2;box-shadow:0 0 20px #ffce8544}}#pausedialog{width:min(590px,92vw)}
@media(max-height:530px) and (orientation:landscape){#lessons{padding:15px 25px;max-height:95dvh}#lessons h2{font-size:24px;margin:5px 0 8px}#lessonCanvas{max-height:33dvh}#lessontext{margin:10px 0;gap:20px}#lessontext b{font-size:13px}#lessontext p{font-size:12px;margin:4px 0}.lessonnav button{padding:10px 17px;font-size:12px}.destination{padding:7px 10px;max-width:42vw}.destination strong{font-size:24px}.destination small{font-size:8px}.destination span{font-size:9px}.score .progress{width:120px;max-width:23vw;margin-top:7px}#rest strong{font-size:32px}#acro{width:72px;min-height:72px;padding:5px}#acro svg{height:58px}#hazardnotice{top:25%;padding:8px 16px}#hazardnotice b{font-size:13px}#hazardnotice span{font-size:10px}#missionhud{font-size:14px;padding:14px}#missionhud small{font-size:10px}#missionlines b{font-size:12px}#pausedialog h2{font-size:25px}#pausedialog .primary,#pausedialog .secondary{margin:8px auto}}
@media(orientation:portrait){#lessontext{grid-template-columns:1fr;gap:12px}#lessons{padding:25px 20px}#lessons h2{font-size:26px}.rotationhead{height:200px}}@media(prefers-reduced-motion:reduce){#hazardnotice{animation:none}}

#lessonCanvas{object-fit:contain}

/* Compact beach label; portrait menu reserves a separate footer area. */
.destination{max-width:40vw;padding:7px 13px}.destination strong{line-height:1.15}
@media(orientation:portrait){#menu .actions{top:57%;gap:10px;width:min(280px,85vw)}#menu footer{bottom:max(20px,env(safe-area-inset-bottom));gap:9px}#menu .actions button{min-height:44px}#menu h1{top:10%}}
@media(orientation:portrait) and (max-height:700px){#menu .actions{top:49%;gap:7px}#menu .actions button{padding:11px 16px;min-height:40px}#menu footer{bottom:12px;gap:6px}#menu footer a{padding:5px 13px}#menu h1{font-size:34px;top:8%}}
/* A readable travel log: concrete actions, scope, counters and progress. */
#goallist,#missionlines,.resultmissions{display:grid;gap:13px;padding:0}.goalcard{padding:15px 17px;border:1px solid #e6f0df33;background:#ffffff09;border-radius:14px;text-align:left}.goalheading{display:flex;justify-content:space-between;gap:15px;align-items:start}.goalheading b{font-size:15px;line-height:1.35}.goalheading span,#goallist .goalheading span,#missionlines .goalheading span{display:block;white-space:nowrap;font-size:13px;color:#ffdc9e;background:none;padding:0}.goalcard progress{display:block;width:100%;height:7px;margin:12px 0 8px;accent-color:#ffcf8c;border:0;border-radius:5px;overflow:hidden;background:#ffffff1b}.goalcard progress::-webkit-progress-bar{background:#ffffff1b}.goalcard progress::-webkit-progress-value{background:#ffcf8c;border-radius:5px}.goalcard.done progress::-webkit-progress-value{background:#9ae8c7}.goalcard small{font-size:11px!important;letter-spacing:.1px!important;color:#c7dcd8!important;display:block;margin:0!important}.goalcard p{font-size:13px!important;line-height:1.5;margin:7px 0 0;color:#e3eee4}#skillinfo{margin-top:25px}#skillinfo h3{font-size:18px;color:#ffdc9e;margin:22px 0 7px}#skillinfo p{font-size:14px;line-height:1.6}#goals{width:min(780px,94vw)}#goals h2{font-size:30px}#missionhud{background:none;padding:0;margin:22px 0}#missiontitle{margin-bottom:14px!important;line-height:1.5}.careergrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.careergrid span{background:#ffffff0c;border-radius:12px;padding:15px;font-size:12px;color:#b9d3d1}.careergrid b{display:block;font-size:24px;color:#fff1ce;margin-top:7px}.resultmissions .goalheading span{padding:0}#pausedialog #resume{position:sticky;top:0;z-index:2;box-shadow:0 4px 18px #123f50a0}@media(max-height:530px) and (orientation:landscape){.goalcard{padding:12px 14px}.goalheading b{font-size:14px}.goalcard p{font-size:12px!important}.goalheading span{font-size:12px}#goals h2{font-size:26px}}@media(max-width:450px){.goalheading{gap:9px}.goalheading b{font-size:14px}.goalheading span{font-size:12px}.goalcard{padding:13px}}

#skybadge{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#103c4b8c;border:1px solid #fff4;font-size:24px;color:#ffe4a8;pointer-events:none}body:has(#menu:not([hidden])) #skybadge{display:none}
