:root{color:#1c2030;font-synthesis:none;text-rendering:optimizelegibility;--sky:#63a7f5;--sky-deep:#397ecb;--brick:#c6472d;--brick-light:#ed7550;--mortar:#50243a;--floor:#f4d69a;--floor-shadow:#d6ad68;--crystal:#3269bd;--crystal-light:#8dc8ff;--crystal-goal:#55c985;--crystal-goal-dark:#17604c;--crystal-goal-light:#fff0a8;--goal:#f6c94c;--ink:#1c2030;--cream:#fff3d2;background:#63a7f5;font-family:ui-rounded,Avenir Next,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:0;height:100%;min-height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{border:2px solid var(--ink);color:var(--ink);background:var(--cream);box-shadow:0 3px 0 var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:9px}button:active:not(:disabled){box-shadow:0 1px 0 var(--ink);translate:0 2px}button:disabled{cursor:default;opacity:.55;box-shadow:0 1px 0 var(--ink)}button:focus-visible,.board-svg:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;box-shadow:0 0 0 5px var(--ink);outline:3px solid #fff}.game-shell{isolation:isolate;width:100%;height:100dvh;min-height:0;padding:max(6px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom));background:radial-gradient(circle at 18% 10%, #ffffff4d 0 2px, transparent 3px), radial-gradient(circle at 84% 17%, #fff6bbb3 0 2px, transparent 3px), linear-gradient(180deg, #79b8f9 0%, var(--sky) 50%, var(--sky-deep) 100%);grid-template-rows:auto auto minmax(0,1fr) auto auto auto;gap:5px;display:grid;position:relative;overflow:hidden}.topbar,.mission-card,.quick-actions,.movement-pad,.status-row,.visible-status,.safe-area-reserve{z-index:2;position:relative}.topbar{justify-content:space-between;align-items:center;min-height:44px;display:flex}.topbar-actions{align-items:center;gap:6px;display:flex}.brand-lockup{align-items:center;gap:7px;display:flex}.brand-star{border:2px solid var(--ink);width:31px;height:31px;color:var(--ink);background:var(--goal);box-shadow:2px 2px 0 var(--mortar);border-radius:50%;place-items:center;display:grid}.eyebrow,.daily-label,.mission-hint,h1,h2,.visible-status{margin:0}.eyebrow{color:var(--ink);letter-spacing:.11em;font-size:.58rem;font-weight:900}h1{font-size:1.12rem;line-height:1.05}.icon-button{place-items:center;width:44px;min-width:44px;height:44px;padding:0;font-size:1.1rem;display:grid}.level-button{min-width:54px;height:44px;padding:0 7px;font-size:.72rem;font-weight:900}.mission-card{border:2px solid var(--ink);min-height:56px;box-shadow:0 3px 0 var(--mortar);background:#fff3d2f0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:5px 7px;display:grid}.mission-copy{align-self:center;min-width:0}.daily-label{color:var(--mortar);font-size:.61rem;font-weight:800}.mission-card h2{text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;line-height:1.1;overflow:hidden}.mission-hint{color:#50243a;text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;font-weight:700;overflow:hidden}.stats{align-items:stretch;gap:6px;margin:0;display:flex}.stats div{text-align:center;place-content:center;min-width:35px;padding:3px;display:grid}.stats dt{color:var(--mortar);font-size:.55rem;font-weight:800}.stats dd{margin:0;font-size:.82rem;font-weight:900}.board-stage{z-index:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.cloud{background:#ffffff94;border:2px solid #1c20304d;border-radius:999px;width:76px;height:20px;animation:7s ease-in-out infinite alternate cloud-drift;position:absolute}.cloud:before,.cloud:after{background:inherit;content:"";border-radius:50%;position:absolute;bottom:5px}.cloud:before{width:25px;height:25px;left:13px}.cloud:after{width:31px;height:31px;right:13px}.cloud-one{top:10%;left:-42px}.cloud-two{animation-delay:-3s;bottom:12%;right:-46px}.board-frame{border:3px solid var(--ink);background:var(--mortar);border-radius:13px;place-items:center;width:min(100%,100dvh - 278px,352px);max-height:100%;padding:4px;display:grid;position:relative;box-shadow:0 5px #1c2030cc,0 8px 18px #1c20303d}.frame-star{z-index:2;color:var(--goal);filter:drop-shadow(1px 1px 0 var(--ink));pointer-events:none;position:absolute}.frame-star-one{top:-11px;left:17px}.frame-star-two{bottom:-11px;right:18px}.board-svg{width:100%;max-width:100%;max-height:100%;image-rendering:pixelated;shape-rendering:crispedges;touch-action:none;background:#63a7f56b;border-radius:7px;display:block;overflow:visible}.floor rect{fill:var(--floor)}.floor>path:not(.floor-inlay){fill:none;stroke:var(--floor-shadow);stroke-width:1px}.floor-inlay{fill:#ffedbf}.wall-outline{fill:var(--ink)}.wall-brick{fill:var(--brick)}.wall-mortar{fill:none;stroke:var(--mortar);stroke-width:2px}.wall-light{fill:none;stroke:var(--brick-light);stroke-width:2px}.goal-shadow{fill:var(--mortar)}.goal-ring{fill:none;stroke:var(--goal);stroke-width:4px}.goal-star{fill:var(--goal)}.crystal-shadow{fill:var(--ink)}.crystal{fill:var(--crystal);stroke:var(--ink);stroke-width:1.5px}.crystal-facet{fill:none;stroke:#204a91;stroke-width:1.5px}.crystal-shine{fill:var(--crystal-light)}.crystal-wrap[data-state=occupied-goal] .crystal-shadow{fill:var(--crystal-goal-dark)}.crystal-wrap[data-state=occupied-goal] .crystal{fill:var(--crystal-goal);stroke:var(--crystal-goal-dark);stroke-width:2px}.crystal-wrap[data-state=occupied-goal] .crystal-facet{stroke:var(--crystal-goal-dark)}.crystal-wrap[data-state=occupied-goal] .crystal-shine{fill:var(--crystal-goal-light)}.goal-halo circle,.goal-halo path{fill:none;stroke:var(--goal);stroke-width:2.5px;vector-effect:non-scaling-stroke}.robot-scarf{fill:#f26a2e;stroke:var(--ink);stroke-width:1.5px}.robot-shadow{fill:var(--ink)}.robot-body{fill:#e4b750;stroke:var(--ink);stroke-width:1.5px}.robot-face{fill:var(--cream);stroke:var(--ink);stroke-width:1.5px}.robot-eye{fill:var(--crystal)}.robot-brass{fill:#fff0bd;stroke:var(--mortar);stroke-width:1px}.board-svg.is-walk .robot{animation:.1s ease-out walk-pop}.board-svg.is-push .robot,.board-svg.is-push .crystal-wrap{animation:.14s ease-out push-pop}.status-row{place-items:center;min-height:18px;display:grid}.visible-status,.next-level{grid-area:1/1}.visible-status{color:var(--ink);background:#ffffffa6;border:1px solid #1c20308c;border-radius:999px;justify-self:center;padding:1px 10px;font-size:.68rem;font-weight:900}.next-level{min-width:132px;min-height:44px;color:var(--ink);background:var(--goal);padding:4px 14px;font-size:.78rem;font-weight:900}.next-level:not([hidden])+*{display:none}.game-shell[data-game-status=won] .visible-status{visibility:hidden;background:var(--goal)}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.quick-actions button{min-width:44px;min-height:44px;padding:4px 5px;font-size:.74rem;font-weight:900}.quick-actions button span{display:inline}.movement-pad{grid-template-rows:repeat(2,44px);grid-template-columns:repeat(3,48px);justify-self:center;gap:5px;display:grid}.direction{color:#fff;background:var(--crystal);border-radius:11px;min-width:44px;min-height:44px;padding:0;font-size:1rem}.direction.up{grid-area:1/2}.direction.left{grid-area:2/1}.direction.right{grid-area:2/3}.direction.down{grid-area:2/2}.safe-area-reserve{min-height:0}.settings-dialog,.privacy-dialog,.feedback-dialog,.manual-share-dialog,.result-dialog,.level-dialog{border:3px solid var(--ink);width:min(342px,100vw - 24px);color:var(--ink);background:var(--cream);box-shadow:0 8px 0 var(--mortar);border-radius:16px;padding:0}.settings-dialog::backdrop,.privacy-dialog::backdrop,.feedback-dialog::backdrop,.manual-share-dialog::backdrop,.result-dialog::backdrop,.level-dialog::backdrop{background:#1c20309e}.settings-dialog form,.privacy-dialog form,.feedback-dialog form,.manual-share-dialog form,.result-dialog form,.level-dialog form{gap:5px;padding:12px;display:grid}.settings-dialog header,.privacy-dialog header,.feedback-dialog header,.manual-share-dialog header,.result-dialog header,.level-dialog header{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.settings-dialog h2,.privacy-dialog h2,.feedback-dialog h2,.manual-share-dialog h2,.result-dialog h2,.level-dialog h2{font-size:1rem}.settings-dialog header button,.privacy-dialog header button,.feedback-dialog header button,.manual-share-dialog header button,.level-dialog header button{width:44px;height:44px;padding:0;font-size:1.4rem}.settings-dialog label{border:1px solid var(--floor-shadow);background:#fff8e6;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:7px;display:flex}.settings-dialog label span{display:grid}.settings-dialog small{color:var(--mortar);font-size:.7rem}.settings-dialog input{width:24px;height:24px;accent-color:var(--crystal)}.settings-links{grid-template-columns:1fr 1fr;gap:6px;margin-top:3px;display:grid}.settings-links button,.privacy-dialog .danger-button,.privacy-dialog button[data-action=copy-metrics],.feedback-dialog button[data-action=copy-feedback]{min-height:44px;padding:6px 8px;font-size:.72rem;font-weight:900}.privacy-dialog,.feedback-dialog{max-height:min(88dvh,610px);overflow:auto}.privacy-dialog p,.feedback-dialog p{color:var(--mortar);margin:0;font-size:.76rem;line-height:1.45}.privacy-dialog .danger-button{color:#fff;background:var(--brick)}.feedback-dialog label{font-size:.78rem;font-weight:900}.feedback-dialog select,.feedback-dialog textarea,.privacy-dialog textarea{border:2px solid var(--mortar);width:100%;min-height:44px;color:var(--ink);background:#fff8e6;border-radius:9px;padding:9px}.feedback-dialog textarea{resize:none;min-height:88px;line-height:1.45}.privacy-dialog textarea{resize:none;min-height:88px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;line-height:1.35}.privacy-dialog .dialog-status,.feedback-dialog .dialog-status{min-height:1.1em;color:var(--ink);font-weight:800}.manual-share-dialog label{font-size:.82rem;font-weight:900}.manual-share-dialog textarea{border:2px solid var(--mortar);width:100%;min-height:96px;color:var(--ink);font:inherit;resize:none;background:#fff8e6;border-radius:9px;padding:10px;font-size:.8rem;line-height:1.45}.manual-share-dialog p{color:var(--mortar);font-size:.72rem}.result-dialog{max-height:min(88dvh,520px);overflow:auto}.result-dialog form{gap:10px;padding:16px}.result-star{border:2px solid var(--ink);width:44px;height:44px;color:var(--ink);background:var(--goal);box-shadow:2px 2px 0 var(--mortar);border-radius:50%;place-items:center;font-size:1.2rem;display:grid}.result-message,.result-note{text-align:center;margin:0}.result-message{font-size:.86rem;font-weight:900}.result-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.result-stats>div{border:2px solid var(--ink);text-align:center;box-shadow:0 3px 0 var(--mortar);background:#fff8e6;border-radius:11px;gap:5px;padding:10px 6px;display:grid}.result-stats .optimal-result{background:#e2f5b8}.result-stats dt{font-size:.73rem;font-weight:900}.result-stats dd{grid-template-columns:repeat(2,auto);justify-content:center;align-items:baseline;gap:1px 4px;margin:0;display:grid}.result-stats strong{color:var(--crystal-goal-dark);font-size:1.25rem;line-height:1}.result-stats dd span{color:var(--mortar);font-size:.64rem;font-weight:800}.result-note{color:var(--mortar);font-size:.68rem}.result-actions{grid-template-columns:1fr 1.25fr;gap:8px;display:grid}.result-actions button{min-width:44px;min-height:44px;padding:7px;font-size:.76rem;font-weight:900}.result-next{background:var(--goal)}.level-dialog{max-height:min(88dvh,610px);overflow:auto}.daily-level-button{min-height:44px;color:var(--ink);background:var(--goal);padding:6px 10px;font-size:.76rem;font-weight:900}.level-grid{grid-template-columns:repeat(5,minmax(44px,1fr));gap:5px;display:grid}.level-choice{justify-content:center;align-items:center;gap:2px;min-width:44px;min-height:44px;padding:0;font-size:.76rem;font-weight:900;display:flex}.level-choice.is-complete{background:#d7ed9b}.level-choice[aria-current=true]{outline:3px solid var(--ink);border-color:#fff}.level-dialog-note{color:var(--mortar);margin:0;font-size:.69rem;line-height:1.35}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes cloud-drift{0%{transform:translate(-3px)}to{transform:translate(7px,2px)}}@keyframes walk-pop{0%{opacity:.62;filter:brightness(1.3)}to{opacity:1;filter:brightness()}}@keyframes push-pop{0%{opacity:.7;filter:brightness(1.55)}70%{opacity:1;filter:brightness(1.15)}to{opacity:1;filter:brightness()}}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}html[data-reduced-motion=true] button:active:not(:disabled){translate:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}button:active:not(:disabled){translate:0}}@media (width>=360px) and (height>=700px){.game-shell{gap:8px;padding-left:12px;padding-right:12px}.mission-card{min-height:64px;padding:7px 10px}.movement-pad{grid-template-rows:repeat(2,46px);grid-template-columns:repeat(3,50px);gap:6px}.direction{width:50px;height:46px}}@media (height<=620px){.mission-hint{display:none}.board-frame{width:min(100%,100dvh - 270px,288px)}}
