@charset "UTF-8";
:root{color-scheme:dark;--bg:#080d18;--panel:#0e1727;--line:#223149;--ink:#eaf3ff;--muted:#8596af;--cyan:#64dfff;--amber:#ffcc79;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:ui-monospace,"SFMono-Regular",Consolas,monospace}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--ink);font-family:var(--font)}
body{position:fixed;inset:0;font-size:14px;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:active:not(:disabled){transform:translateY(1px)}button:focus,a:focus,canvas:focus{outline:none}html.keyboard-input button:focus-visible,html.keyboard-input canvas:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.app-shell{height:100%;height:100dvh;max-width:1660px;margin:0 auto;padding:env(safe-area-inset-top) max(34px,env(safe-area-inset-right)) 0 max(34px,env(safe-area-inset-left));display:flex;flex-direction:column;position:relative;isolation:isolate;background:radial-gradient(ellipse at 70% 45%,#12243b55,transparent 55%),radial-gradient(ellipse at 5% 100%,#11252f35,transparent 45%)}
.topbar{height:96px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:23px;font-weight:850;letter-spacing:2.5px;line-height:1.1;white-space:nowrap}.brand strong{color:var(--cyan);font-weight:850}.brand small{display:block;color:#6c819f;font-family:var(--mono);font-size:8px;font-weight:500;letter-spacing:2.5px;margin-top:8px}.brand-mark{width:49px;height:49px;flex-shrink:0;filter:drop-shadow(0 0 13px #39c8f42e)}
.top-actions{display:flex;gap:10px;align-items:center}.calm-label{display:flex;gap:9px;align-items:center;margin-right:18px;color:#8c9fbb;font-family:var(--mono);font-size:9px;letter-spacing:1.4px}.status-light,.little-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#67e2bd;box-shadow:0 0 10px #67e2bd70}.icon-button{width:42px;height:42px;border:1px solid #2a3b55;background:#111c2e;border-radius:12px;display:grid;place-items:center;color:#9bb2ce;transition:border-color .15s,background .15s}.icon-button:hover{border-color:#51829b;background:#15283b}.icon-button .icon{width:18px;height:18px}
.layout{flex:1;min-height:0;display:grid;grid-template-columns:266px minmax(0,1fr);gap:50px;padding:29px 0 20px}.journey{display:flex;flex-direction:column;min-height:0}.mode-switch{display:flex;gap:4px;flex-shrink:0;padding:4px;background:#0d1626;border:1px solid #26364e;border-radius:11px;margin:0 0 28px}.mode-switch button{flex:1;min-height:38px;border:1px solid transparent;border-radius:7px;background:transparent;color:#788eac;font-family:var(--mono);font-size:10px;letter-spacing:1.2px;font-weight:650;padding:8px 9px;white-space:nowrap}.mode-switch button[aria-pressed="true"]{background:#173144;color:#9ceeff;border-color:#315e73;box-shadow:inset 0 -2px 0 #5bd8ff50}.mode-switch button span{color:#e4ba73;font-size:11px;margin-left:5px}
.eyebrow{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:1.7px;color:#6fabc0}.journey h1{font-size:41px;line-height:1.04;letter-spacing:-1.4px;font-weight:850;margin:20px 0 17px}.journey h1 span{color:#62daee}.journey-intro>p{font-size:12px;line-height:1.9;color:#8294ad;margin:0}.journey-heading{display:flex;justify-content:space-between;align-items:center;margin:29px 0 13px;color:#a7b8ce;font-family:var(--mono);font-size:9px;letter-spacing:1.6px}.tiny-star{color:#5b799e;font-size:15px}.journey-progress{display:flex;flex-direction:column;gap:10px;margin:0 0 17px;font-family:var(--mono);font-size:10px;color:#7891b0}.progress-track{display:block;height:3px;border-radius:3px;overflow:hidden;background:#1b2a40}.progress-track>span{display:block;height:100%;background:linear-gradient(90deg,#2c93ad,#6de6ff);box-shadow:0 0 8px #51caff;border-radius:3px;transition:width .3s}
.level-map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;overflow:auto;min-height:0;padding:2px;touch-action:pan-y;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#30435f transparent}.map-level{position:relative;display:grid;place-items:center;min-width:0;height:38px;background:#101c2e;color:#6e86a5;border:1px solid #233651;border-radius:8px;font-family:var(--mono);font-size:11px;transition:border-color .15s,background .15s}.map-level:hover{border-color:#52758f;background:#17283e}.map-level.active{color:#a1edff;background:linear-gradient(145deg,#16435a,#122b3f);border-color:#60c9e8;box-shadow:0 0 17px #4bd2ff12,inset 0 0 0 1px #65d9ff12}.map-level.done:not(.active){color:#72bfab;border-color:#284a49;background:#112b2c}.map-check{position:absolute;right:2px;top:2px}.map-check .icon{width:8px;height:8px;stroke-width:2.5}.gentle-note{display:flex;align-items:center;gap:13px;padding:15px 13px;margin-top:20px;border:1px solid #25354a;border-left:2px solid #477386;background:#0f1b2b80;border-radius:0 10px 10px 0;color:#7a92ae}.note-spark{font-size:29px;color:#5fb6ce}.gentle-note p{font-size:11px;line-height:1.8;margin:0}.gentle-note strong{font-weight:500;color:#adbed2}.journey-footer{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:22px;color:#65809f;font-family:var(--mono);font-size:8px;letter-spacing:1.1px}.journey-footer .little-dot{width:4px;height:4px;background:#53a5bb}.mobile-levels{display:none}
.play-area{width:100%;max-width:930px;min-height:0;display:flex;flex-direction:column;margin:0 auto}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:2px 8px 0;flex-shrink:0}.journey-tag{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:8px;letter-spacing:1.4px;color:#6883a4}.journey-tag>span:last-child{color:#9ab6d5}.tag-dot{width:3px;height:3px;background:#54849b;border-radius:50%}.game-heading h2{font-size:27px;line-height:1.2;letter-spacing:-.5px;margin:10px 0 0;font-weight:650}.home-counter{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:11px 16px;background:linear-gradient(135deg,#15283c,#0c192b);border:1px solid #2f4a64;border-radius:12px;color:#87d9eb}.home-counter .icon{width:20px;height:20px}.home-counter>div{display:flex;flex-direction:column;gap:3px}.home-counter small{font-family:var(--mono);font-size:7px;letter-spacing:1.5px;color:#5f93ad}.home-counter #home-count{font-family:var(--mono);font-size:18px;line-height:1;font-weight:550}.home-counter #home-count>span{color:#4f6a88;font-size:13px;font-weight:400}
.board-stage{position:relative;flex:1;min-height:0;display:flex;justify-content:center;align-items:center;isolation:isolate;margin:5px 0 0}.board-halo{position:absolute;width:88%;height:91%;max-width:650px;max-height:650px;z-index:-1;pointer-events:none;border:1px solid #283d551e;border-radius:50%;background:radial-gradient(ellipse,#1b465c20,transparent 65%)}.board-halo::before{content:"";position:absolute;inset:7%;border:1px dashed #37617b1f;border-radius:50%;transform:rotate(25deg)}.board-halo::after{content:"";position:absolute;inset:-3%;background:radial-gradient(circle at 9% 24%,#65d9f69e 0 1px,transparent 2px),radial-gradient(circle at 89% 80%,#f7ce7b99 0 1px,transparent 2px),radial-gradient(circle at 7% 71%,#54789899 0 1px,transparent 2px);pointer-events:none}
#board{display:block;max-width:100%;max-height:100%;cursor:grab;outline-offset:-10px}#board.dragging{cursor:grabbing}.game-bottom{flex-shrink:0;padding:0 8px}.adult-score{display:flex;justify-content:center;gap:27px;margin:0 0 12px;font-family:var(--mono);font-size:9px;letter-spacing:.9px;color:#607d9e;font-variant-numeric:tabular-nums}.adult-score b{font-size:14px;font-weight:500;color:#bbd6ed;margin:0 4px}.adult-score>span:first-child b{color:#71d9ef}.adult-score[hidden]{display:none}.play-instruction{display:flex;align-items:center;justify-content:center;gap:10px;min-height:21px;margin:0 0 17px;color:#6985a5;font-size:11px;text-align:center;line-height:1.6}.drag-hint{color:#4f8d9f;font-size:21px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:15px;border-top:1px solid var(--line)}.level-switcher{display:flex;align-items:center;gap:12px}.level-nav{display:grid;place-items:center;width:40px;height:40px;border:1px solid #2a3d57;background:#111f32;color:#a3bcd5;border-radius:10px}.level-nav:hover:not(:disabled){border-color:#588ba4}.level-nav:disabled{opacity:.25}.level-nav .icon{width:17px;height:17px}.level-nav.previous .icon{transform:rotate(180deg)}#level-position{font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;color:#718cac;min-width:45px;text-align:center}.game-tools{display:flex;gap:9px}.tool-button{min-height:40px;display:flex;align-items:center;gap:8px;background:#101c2b;border:1px solid #283b53;border-radius:10px;padding:9px 13px;color:#a4b7cd;font-size:11px}.tool-button:disabled{opacity:.28}.tool-button:hover:not(:disabled){border-color:#547b95}.tool-button .icon{width:16px;height:16px}
.app-footer{height:36px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-family:var(--mono);font-size:8px;letter-spacing:1.2px;color:#4b6483}.footer-prism{color:#69adc2;font-size:16px;vertical-align:middle;margin-left:7px}
.win-panel{position:absolute;z-index:3;width:min(360px,87%);padding:28px;text-align:center;border:1px solid #3b596d;border-radius:22px;background:#0e192af5;box-shadow:0 0 0 5px #5185a306,0 24px 100px #0009;backdrop-filter:blur(16px)}.win-panel[hidden]{display:none}.win-panel::before{content:"";position:absolute;top:-1px;left:24%;right:24%;height:2px;background:linear-gradient(90deg,transparent,#72e8ff,transparent);box-shadow:0 0 20px #57cce877}.win-art{display:flex;justify-content:center;align-items:center;gap:21px;height:104px;margin-bottom:12px}.win-prism{width:83px;height:83px;filter:drop-shadow(0 0 18px #5ce4ff38)}.win-star{font-size:27px;color:#5ab7cc;transform:rotate(-14deg)}.win-star.small{font-size:18px;align-self:flex-start;margin-top:12px;color:#e8bd73}.win-panel h3{font-size:28px;letter-spacing:-.6px;margin:12px 0 11px;font-weight:650}.win-panel>p{color:#829ab6;font-size:12px;line-height:1.7;margin:0 0 22px}.primary-button{display:flex;align-items:center;justify-content:center;gap:28px;margin:0 auto;border:1px solid #a1efff;border-radius:10px;padding:14px 20px;background:linear-gradient(120deg,#74e1f9,#43bad8);box-shadow:0 3px 0 #20748e,0 0 25px #46b9dc1a;color:#071b2b;font-size:12px;font-weight:750}.primary-button:hover{background:#91e8fc}.primary-button .icon{width:17px;height:17px}.text-button{border:0;background:none;color:#6f90af;font-size:11px;padding:17px 4px 0}.win-panel.enter{animation:appear .35s ease-out}
dialog{width:min(480px,calc(100vw - 32px));max-height:90dvh;overflow:auto;padding:34px;border:1px solid #38516c;border-radius:20px;background:#101a2b;color:var(--ink);box-shadow:0 20px 100px #000a}dialog::backdrop{background:#020813b8;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:9px}.dialog-close .icon{width:16px;height:16px}dialog h2{font-size:25px;letter-spacing:-.5px;margin:13px 0 18px;line-height:1.2}dialog p{font-size:12px;color:#8fa4be;line-height:1.85}dialog p strong{color:#b4d8e9;font-weight:600}#levels-dialog{width:min(480px,calc(100vw - 32px))}#level-map-dialog{overflow:visible;margin-top:23px;gap:9px}#level-map-dialog .map-level{height:45px;font-size:13px}.help-pictures{display:flex;gap:24px;align-items:center;justify-content:center;margin:14px 0 29px;color:#53869d}.mini-block{width:48px;height:48px;border-radius:10px;background:linear-gradient(140deg,#89e3fc,#28a8d4);border:1px solid #92edff;box-shadow:0 0 25px #34b5e126;transform:rotate(-12deg)}.mini-home{width:57px;height:57px;display:grid;place-items:center;border:2px solid #4ebdd5;border-radius:13px;background:#0e293b;box-shadow:0 0 25px #2f97bd1c;color:#8deaff}.mini-home .icon{width:32px;height:32px}.install-note{background:#14283c;border:1px solid #2a435b;padding:15px;margin:22px 0;border-radius:11px;font-size:10px;letter-spacing:1px;color:#89c8dd}.install-note p{font-size:11px;letter-spacing:0;margin:7px 0 0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}@keyframes appear{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@media(min-width:1450px){.app-shell{padding-left:60px;padding-right:60px}.layout{grid-template-columns:285px minmax(0,1fr);gap:65px}.journey h1{font-size:44px}}
@media(max-height:830px) and (min-width:761px){.topbar{height:78px}.layout{padding-top:23px;gap:38px;grid-template-columns:250px minmax(0,1fr)}.journey h1{font-size:37px;margin:16px 0}.mode-switch{margin-bottom:21px}.journey-heading{margin-top:23px}.gentle-note{padding:12px;margin-top:17px}.game-heading h2{font-size:24px}.play-instruction{margin-bottom:11px}.toolbar{padding-top:12px}.app-footer{height:30px}.journey-footer{padding-top:15px}}
@media(max-width:1050px) and (min-width:761px){.app-shell{padding-left:23px;padding-right:23px}.layout{grid-template-columns:216px minmax(0,1fr);gap:25px}.journey h1{font-size:33px}.journey-intro>p{font-size:11px}.mode-switch button{font-size:9px;padding:8px 5px}.level-map{gap:5px}.map-level{height:34px}.game-heading h2{font-size:22px}.journey-tag{font-size:7px;gap:6px;letter-spacing:.9px}.home-counter{padding:10px 12px}.calm-label{margin-right:10px}}
@media(max-height:700px) and (min-width:761px){.topbar{height:66px}.layout{padding-top:16px;padding-bottom:12px;grid-template-columns:222px minmax(0,1fr);gap:24px}.journey h1{font-size:29px;margin:12px 0}.journey-intro>p,.gentle-note{display:none}.mode-switch{margin-bottom:16px}.mode-switch button{min-height:32px}.journey-heading{margin-top:19px}.journey-progress{margin-bottom:11px;gap:7px}.map-level{height:32px}.game-heading h2{font-size:21px}.journey-footer{font-size:7px}.app-footer{height:27px}.play-instruction{margin-bottom:6px;font-size:10px}.toolbar{padding-top:9px}.adult-score{margin-bottom:8px}}
@media(max-width:760px){.app-shell{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.topbar{height:79px}.brand{font-size:19px;letter-spacing:1.6px;gap:9px}.brand-mark{width:38px;height:38px}.brand small{font-size:6px;letter-spacing:1.7px;margin-top:6px}.calm-label{display:none}.top-actions{gap:7px}.icon-button{width:35px;height:35px;border-radius:10px}.icon-button .icon{width:16px;height:16px}.layout{display:flex;flex-direction:column;gap:0;padding-top:17px;padding-bottom:13px}.journey{flex-shrink:0}.journey-intro,.journey-heading,.journey>.journey-progress,.journey>.level-map,.gentle-note,.journey-footer{display:none}.mode-switch{margin-bottom:9px;border-radius:10px;padding:3px}.mode-switch button{min-height:31px;font-size:9px;letter-spacing:1.5px;padding:7px 10px}.mobile-levels{display:flex;align-items:center;gap:10px;min-height:44px;width:100%;text-align:left;padding:10px 13px;border:1px solid #293e58;border-radius:10px;background:#111e30;color:#9db8d5;font-family:var(--mono);font-size:10px}.mobile-levels>span:last-child{margin-left:auto;color:#5b86a3;font-size:8px;letter-spacing:1px}.mobile-levels b{font-size:14px;margin-left:4px;font-weight:400}.mobile-level-icon{font-size:20px;line-height:1;color:#69adc6}.play-area{flex:1;min-height:0;margin-top:22px}.game-heading{padding:0 2px;gap:10px}.journey-tag{font-size:7px;letter-spacing:.9px;gap:7px}.game-heading h2{font-size:22px;margin-top:9px;max-width:260px}.home-counter{padding:9px 11px;gap:8px;border-radius:10px}.home-counter .icon{width:17px;height:17px}.home-counter small{font-size:6px;letter-spacing:1px}.home-counter #home-count{font-size:16px}.home-counter #home-count>span{font-size:11px}.board-stage{margin-top:0}.game-bottom{padding:0 2px}.play-instruction{font-size:10px;gap:8px;margin-bottom:13px}.toolbar{padding-top:13px;gap:10px}.level-switcher{gap:8px}.level-nav{width:35px;height:35px;border-radius:9px}.level-nav .icon{width:16px;height:16px}#level-position{font-size:10px;min-width:37px}.game-tools{gap:6px}.tool-button{min-height:35px;font-size:10px;gap:5px;padding:8px 10px;border-radius:9px}.tool-button .icon{width:14px;height:14px}.adult-score{gap:20px;font-size:8px;margin-bottom:9px}.adult-score b{font-size:12px}.app-footer{height:calc(33px + env(safe-area-inset-bottom));font-size:6px;letter-spacing:.7px;padding-bottom:env(safe-area-inset-bottom)}.footer-prism{font-size:12px;margin-left:3px}.win-panel{width:min(320px,90%);padding:24px 20px}.win-art{height:89px}.win-prism{width:73px;height:73px}.win-panel h3{font-size:26px}dialog{padding:31px 23px}}
@media(max-width:390px){.brand{font-size:16px;letter-spacing:1.2px}.brand small{font-size:5.5px;letter-spacing:1.3px}.brand-mark{width:34px;height:34px}.top-actions{gap:5px}.icon-button{width:32px;height:32px}.tool-button{padding:8px}.game-heading h2{font-size:20px}.journey-tag{font-size:6px;gap:6px}.home-counter{padding:8px}.app-footer{font-size:5.5px}}
@media(max-width:760px) and (max-height:730px){.topbar{height:65px}.layout{padding-top:11px;padding-bottom:9px}.play-area{margin-top:16px}.game-heading h2{font-size:19px}.play-instruction{margin-bottom:7px;font-size:9px}.toolbar{padding-top:9px}.app-footer{height:calc(26px + env(safe-area-inset-bottom))}.mobile-levels{min-height:39px;padding:8px 12px}.mode-switch button{min-height:29px}.adult-score{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Native selection, callouts, browser dragging and zoom remain blocked. */
html,body,.app-shell{touch-action:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body,.app-shell,.app-shell *,dialog,dialog *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
.board-stage,.board-stage *,button,a,canvas{touch-action:none}.board-halo,.svg-defs{pointer-events:none}
[data-touch-scroll],[data-touch-scroll] button{touch-action:pan-y;overscroll-behavior:contain}

/* Game shell: the board has the screen; supporting text lives in Help. */
.app-shell{padding-bottom:max(18px,env(safe-area-inset-bottom))}
.topbar{border:0;height:80px;gap:16px}.topbar .brand{margin-right:auto}.menu-open{flex-shrink:0}
.layout{padding-top:15px;padding-bottom:0}.journey-intro>p{display:none}.journey h1{margin-bottom:10px}
#level-position{background:transparent;border:0;border-radius:8px;min-height:40px;padding:0 3px;color:#9bbbd6;cursor:pointer}#level-position:hover{color:var(--cyan)}
.toolbar{border:0;padding-top:9px}.game-bottom{padding-bottom:0}
.main-menu{position:absolute;inset:0;z-index:8;display:grid;place-items:center;overflow:auto;isolation:isolate;padding:max(24px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 35%,#14304b99,transparent 62%),#080d18}
.main-menu[hidden]{display:none}.menu-content{position:relative;display:flex;flex-direction:column;align-items:center;width:min(420px,100%);text-align:center;z-index:1}.menu-mark{width:142px;height:142px;filter:drop-shadow(0 0 35px #47dfff40);margin-bottom:28px}.menu-title{font-size:43px;line-height:1.1;letter-spacing:4px;font-weight:850;margin:0;white-space:nowrap}.menu-title span{color:var(--cyan)}.menu-tagline{color:#6686a5;font-family:var(--mono);font-size:8px;letter-spacing:3.8px;margin:15px 0 45px}.menu-orbit{position:absolute;top:50%;left:50%;width:min(82vw,700px);aspect-ratio:1;transform:translate(-50%,-64%) rotate(-18deg);border:1px solid #3c7c9930;border-radius:50%;pointer-events:none}.menu-orbit::before,.menu-orbit::after{content:"";position:absolute;inset:10%;border:1px dashed #3e6c8c25;border-radius:50%}.menu-orbit::after{inset:-11%;border-style:solid;border-color:#36627e13}.menu-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:27px}.menu-modes button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;border:1px solid #2b405b;background:#0d1828d9;border-radius:16px;color:#829bb9;transition:border-color .15s,background .15s}.menu-modes button[aria-pressed="true"]{border-color:#66dbf6;background:linear-gradient(145deg,#163b50,#10263a);box-shadow:0 0 28px #36b8e014;color:#b9f2ff}.mode-glyph{font-size:28px;height:31px;color:#72c9e1}.menu-modes button:last-child .mode-glyph{color:#f3ce8d}.menu-modes strong{font-size:17px;font-weight:600}.menu-modes small{font:9px var(--mono);color:#6986a6;letter-spacing:.5px}.menu-play{width:100%;min-height:56px;font-size:16px;border-radius:13px;gap:28px}.menu-resume{font:10px var(--mono);color:#7897b7;margin:18px 0 28px;line-height:1.6}.menu-options{display:flex;gap:28px;align-items:center}.menu-options .text-button{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:11px;min-height:42px}.menu-options .icon{width:16px;height:16px}
html[data-screen="menu"] [data-game-ui]{display:none}
@media(max-width:760px),(pointer:coarse){
 .app-shell{padding:env(safe-area-inset-top) max(15px,env(safe-area-inset-right)) max(13px,env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left))}
 .topbar{height:65px;gap:11px;flex-shrink:0;position:relative}.topbar .brand{position:absolute;left:50%;transform:translateX(-50%);font-size:15px;letter-spacing:1.4px;gap:7px;pointer-events:none}.topbar .brand small{display:none}.topbar .brand-mark{width:28px;height:28px}.top-actions{margin-left:auto;gap:7px}.icon-button{width:38px;height:38px;border-radius:11px}.icon-button .icon{width:17px;height:17px}
 .layout{display:flex;flex-direction:column;gap:0;padding:6px 0 0}.journey{display:none}.play-area{flex:1;max-width:none;margin:0;min-height:0}.game-heading{padding:0 7px;gap:12px}.game-heading h2{font-size:20px;margin-top:6px;max-width:none}.journey-tag{font-size:7px}.journey-tag #game-section,.journey-tag .tag-dot{display:none}.home-counter{padding:8px 10px;gap:8px}.home-counter small{display:none}.home-counter #home-count{font-size:15px}.home-counter #home-count>span{font-size:11px}.home-counter .icon{width:17px;height:17px}.board-stage{margin:0}.game-bottom{padding:0 4px}.toolbar{padding-top:5px}.level-nav{width:42px;height:42px}.level-switcher{gap:8px}#level-position{font-size:11px;min-width:51px;min-height:42px}.tool-button{min-height:42px;padding:10px 12px;font-size:11px}.tool-button .icon{width:16px;height:16px}.adult-score{font-size:8px;gap:22px;margin-bottom:7px}.adult-score b{font-size:13px}
}
@media(pointer:coarse) and (min-width:761px){.topbar{height:77px}.topbar .brand{font-size:20px;letter-spacing:2px;gap:11px}.topbar .brand-mark{width:36px;height:36px}.game-heading{max-width:760px;width:100%;align-self:center}.game-heading h2{font-size:25px}.game-bottom{max-width:760px;width:100%;align-self:center}.adult-score{font-size:10px;gap:30px}.adult-score b{font-size:15px}.menu-mark{width:175px;height:175px}.menu-title{font-size:48px}.menu-tagline{margin-bottom:52px}.menu-modes button{padding:26px 12px}.menu-play{min-height:64px}}
@media(max-width:390px){.topbar .brand{font-size:13px;letter-spacing:1px;gap:5px}.topbar .brand-mark{width:24px;height:24px}.top-actions{gap:5px}.icon-button{width:34px;height:36px}.menu-title{font-size:35px;letter-spacing:3px}.menu-mark{width:120px;height:120px}.game-heading h2{font-size:18px}.tool-button{padding:10px}.game-tools{gap:5px}}
@media(max-height:620px){.main-menu{padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}.menu-mark{width:68px;height:68px;margin-bottom:12px}.menu-title{font-size:29px}.menu-tagline{margin:9px 0 18px;font-size:7px}.menu-modes{margin-bottom:16px}.menu-modes button{padding:12px;gap:6px}.mode-glyph{font-size:20px;height:23px}.menu-modes strong{font-size:14px}.menu-play{min-height:46px}.menu-resume{margin:12px 0 6px}.topbar{height:51px}.game-heading h2{font-size:17px}.game-heading{padding-top:0}.layout{padding-top:0}.toolbar{padding-top:0}.adult-score{margin-bottom:3px}}
@media(max-height:520px) and (min-width:620px) and (pointer:coarse){.menu-content{width:min(620px,100%);display:grid;grid-template-columns:1fr 1fr;column-gap:36px}.menu-mark{grid-column:1;grid-row:1/3;justify-self:center;width:90px;height:90px;margin:0}.menu-title{grid-column:1;font-size:29px}.menu-tagline{grid-column:1;margin-bottom:0;font-size:6px}.menu-modes{grid-column:2;grid-row:1/4;margin-bottom:0}.menu-play{grid-column:2;grid-row:4;margin-top:17px}.menu-resume{grid-column:2;grid-row:5}.menu-options{grid-column:1;grid-row:5;justify-content:center;gap:15px}.layout{padding-top:0}.game-heading{position:absolute;top:12px;left:65px;right:120px;width:auto;max-width:none;padding:0 10px}.game-heading h2{font-size:15px;margin-top:2px}.journey-tag{font-size:6px}.home-counter{padding:5px 8px}.board-stage{margin-top:0}.game-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.toolbar{flex:1}.adult-score{gap:12px;margin:0}.adult-score>span:last-child{display:none}}

/* A quiet starfield and destination planets, all local CSS/SVG artwork. */
:root{--planet-light:#9bb5dc;--planet-dark:#253859}
.space-scene{position:absolute;inset:0;overflow:hidden;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 70% 32%,#214f7736,transparent 60%)}
.space-scene::before,.main-menu::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 13% 19%,#d1eaffb3 0 1px,transparent 1.5px),radial-gradient(circle at 71% 11%,#a5c9f280 0 1px,transparent 1.6px),radial-gradient(circle at 38% 76%,#75a6c477 0 1px,transparent 1.4px),radial-gradient(circle at 82% 66%,#ffe5b670 0 1px,transparent 1.4px),radial-gradient(circle at 54% 42%,#d3e9ff60 0 .7px,transparent 1.3px);background-size:283px 319px,419px 373px,337px 307px,389px 443px,251px 401px;opacity:.62}
.scene-planet{position:absolute;width:260px;aspect-ratio:1;right:-75px;top:15%;border-radius:50%;background:radial-gradient(circle at 29% 25%,var(--planet-light),var(--planet-dark) 55%,#080d18 80%);box-shadow:-12px -4px 35px #669fee12;opacity:.54}.scene-planet::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 32% 35%,#07101e33 0 10%,transparent 10.5%),radial-gradient(ellipse at 64% 52%,#050b1d33 0 15%,transparent 15.5%),radial-gradient(ellipse at 35% 71%,#030b1833 0 8%,transparent 8.5%)}.scene-orbit{position:absolute;width:385px;height:100px;right:-140px;top:calc(15% + 80px);border:12px solid #b1c9e515;border-left-color:#d4e4f52b;border-radius:50%;transform:rotate(-25deg);display:none}html[data-destination="saturn"] .scene-orbit,html[data-destination="deep"] .scene-orbit{display:block}html[data-destination="lost"] .space-scene{background:radial-gradient(ellipse at 75% 40%,#24564726,transparent 65%)}
.menu-emblem{position:relative;margin-bottom:25px;height:142px;width:142px;flex-shrink:0}.menu-emblem .menu-mark{width:100%;height:100%;margin:0}.menu-shuttle.icon{position:absolute;right:-50px;top:-15px;width:53px;height:65px;color:#dbf8ff;stroke-width:1.1;fill:#2b688a55;transform:rotate(35deg);filter:drop-shadow(-8px 12px 14px #3bc7ff55)}.orbit-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffd68a;box-shadow:0 0 15px #ffce84;left:-20px;bottom:17px}
.menu-planet{position:absolute;pointer-events:none;border-radius:50%;z-index:0}.planet-saturn{width:160px;height:160px;left:calc(50% - 370px);top:23%;background:radial-gradient(circle at 27% 25%,#d8c093,#6d6153 48%,#1b2636 78%);box-shadow:-10px -5px 40px #bdc8d712}.planet-saturn span{position:absolute;inset:31% -43%;border:12px solid #9e917366;border-top-color:#b6a18433;border-bottom-color:#c0ac886e;border-radius:50%;transform:rotate(-30deg)}.planet-moon{width:90px;height:90px;right:calc(50% - 340px);top:18%;background:radial-gradient(circle at 28% 25%,#a0afca,#394a66 55%,#101a2b 83%)}.planet-moon::after{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle at 35% 34%,#18233755 0 13%,transparent 14%),radial-gradient(circle at 66% 58%,#18233766 0 19%,transparent 20%)}.planet-mars{width:48px;height:48px;left:calc(50% - 290px);bottom:21%;background:radial-gradient(circle at 30% 23%,#c18368,#704134 55%,#1e1b29 85%)}
.mode-glyph .icon{width:30px;height:31px;stroke-width:1.4}.expedition-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:8px 15px;border:1px solid #35624e;border-radius:20px;background:#17382b70;color:#a3d3ac;font:10px var(--mono);letter-spacing:.2px;margin:-9px 0 20px}.expedition-button .icon{width:19px;height:19px;stroke-width:1.5}.expedition-button>span{margin-left:7px;color:#75a787}.expedition-button[hidden]{display:none}.menu-resume{margin-bottom:21px}.menu-tagline{letter-spacing:3px}
.destination-nav{display:flex;gap:7px;flex-shrink:0;margin:18px 0 0}.destination-nav button{position:relative;display:grid;place-items:center;width:31px;height:31px;padding:5px;background:#102035a0;border:1px solid #2b4058;border-radius:50%;color:#6b8eae}.destination-nav button .icon{width:18px;height:18px;stroke-width:1.3}.destination-nav button.active{color:#b6e9fa;background:#1d4056;border-color:#6cbed6;box-shadow:0 0 12px #4195b92b}.destination-nav button:last-child{color:#91c4a2;border-color:#3d604c}.destination-nav button:last-child.active{background:#234536;border-color:#8bd7a6;color:#c0efcd}#destination-nav-dialog{margin:13px 0 20px;gap:10px}#destination-nav-dialog button{width:36px;height:36px}.map-level.special{border-color:#41654d;background:#162d25;color:#b5d6b4}.map-level.special.active{background:#254a34;border-color:#a6de9a;box-shadow:0 0 14px #85cf7430}.map-dino{position:absolute;right:2px;bottom:1px;opacity:.7}.map-dino .icon{width:11px;height:11px;stroke-width:1.4}
html[data-destination="lost"] .board-halo{background:radial-gradient(ellipse,#2e674224,transparent 68%);border-color:#6a9e5d24}html[data-destination="lost"] .game-heading h2{color:#bce6b7}
.mini-block{position:relative;background:linear-gradient(140deg,#8bd8f8,#246b95)}.mini-block::after{content:"";position:absolute;width:18px;height:26px;left:14px;top:10px;background:#d4f2ff;border-radius:50% 50% 25% 25%}
@media(max-width:760px),(pointer:coarse){.journey-tag #game-section,.journey-tag .tag-dot{display:inline-block}.journey-tag #game-section{color:#79b3c7}.scene-planet{width:175px;right:-76px;top:13%;opacity:.44}.scene-orbit{width:260px;right:-120px;top:calc(13% + 60px);height:66px;border-width:8px}.menu-planet.planet-saturn{width:105px;height:105px;left:-50px;top:19%;opacity:.65}.planet-saturn span{border-width:8px}.menu-planet.planet-moon{width:57px;height:57px;right:-17px;top:9%;opacity:.65}.menu-planet.planet-mars{width:35px;height:35px;left:8%;bottom:10%;opacity:.5}.menu-shuttle.icon{right:-39px;width:43px;height:54px}.menu-tagline{letter-spacing:2.5px}.menu-emblem{margin-bottom:24px}}
@media(pointer:coarse) and (min-width:761px){.menu-emblem{width:155px;height:155px}.menu-emblem .menu-mark{width:100%;height:100%}.menu-planet.planet-saturn{left:6%;top:25%;width:150px;height:150px}.menu-planet.planet-moon{right:8%;top:13%;width:80px;height:80px}.menu-planet.planet-mars{left:17%;bottom:16%;width:40px;height:40px}.scene-planet{width:260px;right:-80px}}
@media(max-width:390px){.menu-emblem{width:115px;height:115px}.menu-title{font-size:34px}.menu-tagline{font-size:7px}.expedition-button{font-size:9px}}
@media(max-height:720px){.menu-emblem{width:90px;height:90px;margin-bottom:15px}.menu-tagline{margin-bottom:24px}.menu-modes button{padding:14px 12px}.menu-modes{margin-bottom:19px}.menu-resume{margin:13px 0 17px}.expedition-button{margin:-4px 0 12px}.menu-planet{opacity:.5}}
@media(max-height:620px){.menu-emblem{width:65px;height:65px;margin-bottom:11px}.menu-emblem .menu-mark{width:100%;height:100%}.menu-shuttle.icon{width:30px;height:36px;right:-34px;top:0}.menu-tagline{margin:8px 0 16px}.menu-resume{margin:10px 0 13px}.expedition-button{min-height:30px;padding:4px 12px;margin-bottom:2px}.menu-options .text-button{min-height:34px}.menu-modes button{padding:11px 12px}}
@media(max-height:520px) and (min-width:620px) and (pointer:coarse){.menu-emblem{grid-column:1;grid-row:1/3;justify-self:center;width:90px;height:90px;margin:0}.menu-resume{grid-column:2;grid-row:5;margin:12px 0}.expedition-button{grid-column:1;grid-row:4;margin:17px auto 0}.menu-options{grid-row:5}}

.destination-nav[hidden]{display:none}
