:root{--forest:#315d48;--cheese:#f4c65b;--cream:#f5e8cd;--ink:#1d2a24;--sky:#83bfcc;color:var(--ink);background:var(--sky);font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100dvh;margin:0;overflow:hidden}body{background:var(--sky);min-height:100dvh;color:var(--ink);flex-direction:column;display:flex}a{color:var(--forest)}.skip{background:var(--cream);color:var(--ink);z-index:5;padding:.5rem;position:absolute;top:-3rem;left:.5rem}.skip:focus{top:.5rem}#legal-bar{padding:.15rem .75rem calc(.25rem + env(safe-area-inset-bottom));text-align:center;flex:none;margin:0}#legal-bar nav{flex-wrap:wrap;justify-content:center;gap:.15rem .9rem;display:flex}#legal-bar a{color:#2c4038;text-underline-offset:2px;font-size:.72rem;line-height:1.2;text-decoration:underline}noscript p{margin:.35rem .8rem 0;font-size:.75rem}#storage-warning{background:var(--cheese);color:var(--ink);margin:0;padding:.6rem .8rem}#game-shell{min-height:0;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;flex:1;display:flex;position:relative}#playfield{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}#stage{flex:none;position:relative;overflow:hidden;container:stage/size}#game-root,#ui-layer{position:absolute;inset:0}#ui-layer{pointer-events:none;z-index:2}.screen{justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0;overflow:hidden}.panel,#btn-hud-pause,#touch-controls button{pointer-events:auto}.panel{background:var(--cream);width:min(32rem,100%);max-height:100%;color:var(--ink);border-radius:16px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;overflow:auto}h1,h2,p{margin:0}.stack,.touch-cluster,.row{flex-wrap:wrap;gap:.75rem;display:flex}.stack{flex-direction:column}body.orbit{background:#2a2438}body.orbit #legal-bar a{color:#f5e8cd}#panel-islands.screen{align-items:stretch;padding:clamp(.35rem,2cqh,1.1rem)}body.orbit .world-home{text-align:center;width:100%;height:100%;max-height:100%;color:var(--cream);text-shadow:0 1px #3c241c59;background:0 0;justify-content:center;align-items:center;gap:clamp(.35rem,1.6cqh,.9rem);overflow:hidden}#island-nodes{width:100%}#world-title{font-size:clamp(1.25rem,6.2cqh,2.7rem)}body.orbit .world-home .secondary{color:#3a2a1c;background:var(--cream);text-shadow:none;border:2px dashed #9b6546;border-radius:999px}.world-home{width:min(56rem,100%)}#island-nodes{flex-wrap:nowrap;justify-content:center;align-items:center;gap:1.2cqh 1.4cqw;min-height:0;padding:.4cqh 0 2cqh;display:flex}button.island{color:#3a2a1c;width:16cqw;min-width:4.6rem;height:32cqh;min-height:4.6rem;max-height:16rem;text-shadow:none;background:radial-gradient(circle at 32% 28%,#fff8ecbf 0 7%,#0000 16%),radial-gradient(circle at 70% 24%,#fff8ec47 0 4%,#0000 10%),radial-gradient(120% 108% at 50% 46%,#8fce9b 0 58%,#3f7a5c 76% 100%);border:3px dashed #f5e8cd;border-radius:50% 48% 46% 54%/46% 50% 54%;flex-direction:column;flex:0 auto;justify-content:center;gap:.1rem;padding:.7rem .45rem .95rem;font-size:clamp(.62rem,2.5cqh,1.02rem);line-height:1.15;animation:5.2s ease-in-out infinite float-island;display:flex;position:relative;box-shadow:inset 0 -14px 16px #50281c29,inset 0 8px 12px #fff3,0 16px 18px #140c1852}button.island:after{content:"";height:10px;box-shadow:none;pointer-events:none;background:#1c121847;border:0;border-radius:50%;position:absolute;bottom:-12px;left:18%;right:18%}button.island:nth-child(2){animation-delay:-1.4s}button.island:nth-child(3){animation-delay:-2.6s}button.island:nth-child(4){animation-delay:-.7s}button.island:nth-child(5){animation-delay:-2s}@container stage (height>=560px) and (aspect-ratio>=1){button.island{width:15cqw;height:30cqh}button.island:first-child,button.island:nth-child(5){margin-top:6cqh}button.island:nth-child(2),button.island:nth-child(4){margin-top:2.4cqh}}@container stage (height<=559px) and (aspect-ratio>=1){#world-title{font-size:clamp(1.05rem,7cqh,1.6rem)}button.island{width:17.2cqw;height:38cqh;max-height:8.4rem;padding:.35rem .3rem .65rem;animation:none}#island-nodes{gap:.6cqw;padding:.6cqh 0 1.2cqh}body.orbit .world-home .row{justify-content:center;gap:.4rem}}@container stage (aspect-ratio<=1){#island-nodes{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;justify-items:center;gap:1.6cqh 3cqw;padding-bottom:1.2cqh;display:grid}button.island{width:min(100%,12rem);height:16cqh;min-height:5.4rem;max-height:9rem;animation:none}button.island:nth-child(5){grid-column:1/-1;width:min(46cqw,11rem)}}button.island.city{color:#3a2a1c;text-shadow:none;background:radial-gradient(circle at 32% 28%,#fff8eccc 0 7%,#0000 16%),radial-gradient(120% 108% at 50% 46%,#f0d7a8 0 58%,#a56b45 76% 100%);border-color:#9b6546}button.island.harbor{color:#1d2a24;text-shadow:none;background:radial-gradient(circle at 32% 28%,#fff8ecb3 0 7%,#0000 16%),radial-gradient(120% 108% at 50% 46%,#b7ddd4 0 58%,#3f7f86 76% 100%)}button.island.peak{color:#1d2a24;text-shadow:none;background:radial-gradient(circle at 32% 28%,#fff8ecb3 0 7%,#0000 16%),radial-gradient(120% 108% at 50% 46%,#d5e4c8 0 58%,#5f7d62 76% 100%)}button.island.capital{color:#fff8ec;text-shadow:0 1px #3c241c59;background:radial-gradient(circle at 32% 28%,#fff8ec8c 0 7%,#0000 16%),radial-gradient(120% 108% at 50% 46%,#e7b15a 0 22%,#c45b52 40% 70%,#7a3a34 86% 100%);border-color:#f4c65b}@keyframes float-island{0%,to{translate:0}50%{translate:0 -9px}}@media (prefers-reduced-motion:reduce){button.island{animation:none}}body.reduce-motion button.island{animation:none}button.island:disabled{opacity:1;color:#fff8ec;text-shadow:0 1px #3c241c47;background:radial-gradient(circle at 32% 28%,#fff8ec73 0 7%,#0000 16%),radial-gradient(120% 108% at 50% 46%,#d9d0c4 0 58%,#8d8680 76% 100%);border-color:#e4d7c4}button.island:disabled:after{opacity:.45}button.island span{font-weight:700}button.island small{font-size:.78em}@container stage (height<=480px){.screen{padding:.4rem}.panel{gap:.4rem;padding:.65rem}.panel h1{font-size:1.15rem}}button,.text-link{font:inherit;background:var(--forest);min-width:44px;min-height:44px;color:var(--cream);border:2px solid #0000;border-radius:10px;padding:.55rem .9rem;text-decoration:none}button:disabled{opacity:.55}button.secondary,#settings-delete{color:var(--ink);border-color:var(--forest);background:0 0}:focus-visible{outline:3px solid var(--cream);outline-offset:3px}.panel :focus-visible,#legal-bar a:focus-visible{outline-color:var(--ink)}label{align-items:center;gap:.5rem;min-height:44px;display:flex}#btn-hud-pause{top:calc(.5rem + env(safe-area-inset-top));right:calc(.5rem + env(safe-area-inset-right));position:absolute}#touch-controls{z-index:4;padding:.45rem;padding-bottom:calc(.45rem + env(safe-area-inset-bottom));pointer-events:none;background:0 0;justify-content:space-between;display:flex;position:absolute;bottom:0;left:0;right:0}#touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;background:#1d2a24c7;width:72px;height:72px;font-size:.95rem}@media (height<=430px){#touch-controls button{width:58px;height:58px;font-size:.82rem}}#panel-orientation{pointer-events:auto;background:#1d2a24b8}#panel-orientation p{background:var(--cream);border-radius:12px;max-width:24rem;padding:1rem}#panel-settings{z-index:3}dialog{background:var(--cream);color:var(--ink);border:0;border-radius:16px;max-width:24rem;padding:1.25rem}dialog::backdrop{background:#1d2a2473}[hidden]{display:none!important}
