/* 0.4.3 · Stable layout, tactile controls, a world instead of a catalogue. */
:root{--control-size:80px;--toy-radius:46%;--toy-depth:7px;--press-down:90ms;--press-up:170ms;--actor-react:280ms;--play-target:64px;--focus-ring:#205d78}
body[data-ux-cycle="1"]{--play-target:72px;--child-body:22px}body[data-ux-cycle="2"]{--play-target:64px;--child-body:20px}body[data-ux-cycle="3"]{--play-target:60px;--child-body:18px}
/* Never animate a structural ancestor as a side effect of a control. */
.shell,.workspace,.main,.game-shell,.play-world,.play-content,.game-top,.topbar,.world-scene{animation:none!important;transform:none!important;transition-property:background-color,color,opacity!important}
.button-art,.bounce-surface{animation:none!important;transform:none;transform-origin:50% 60%;transition:transform var(--press-up) cubic-bezier(.2,1.5,.4,1),box-shadow var(--press-up) ease;pointer-events:none}
.child-ui .btn.kid-action,.child-dialog .btn.kid-action,.child-ui .header-action{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;isolation:isolate;overflow:visible;position:relative}
.child-ui .btn.kid-action,.child-dialog .btn.kid-action{border-radius:var(--toy-radius);min-width:var(--control-size);min-height:var(--control-size);width:var(--control-size);height:var(--control-size)}
.child-ui .btn.kid-action>.toy-face,.child-dialog .btn.kid-action>.toy-face,.child-ui .header-action>.toy-face{position:absolute;inset:0 0 var(--toy-depth);display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:var(--toy-radius);border:3px solid var(--control-border,#538c77);background:radial-gradient(ellipse at 30% 14%,#ffffff70,transparent 54%),var(--control-bg,#7abd9e);color:var(--control-ink,#fff);box-shadow:0 var(--toy-depth) 0 var(--control-shadow,#34745d),0 12px 13px #3254482a,inset 0 3px 1px #ffffff80,inset 0 -6px 3px #203b421a}
.child-ui .header-action{width:56px;height:60px;border-radius:46%;flex-shrink:0}
.child-ui button:not(:disabled):hover>.toy-face,.child-dialog button:not(:disabled):hover>.toy-face{transform:translateY(-2px) scale(1.02)}
.child-ui button:not(:disabled):active>.toy-face,.child-dialog button:not(:disabled):active>.toy-face{transform:translateY(5px) scale(1.025,.97)!important;transition-duration:var(--press-down)}
.btn.kid-action:focus-visible,.play-button:focus-visible,.world-landmark:focus-visible,.horizon-control:focus-visible{outline:4px solid var(--focus-ring);outline-offset:5px}
.child-ui .play-button{background:transparent!important;border:0!important;box-shadow:none!important;position:relative;border-radius:var(--toy-radius);padding:0;min-width:var(--play-target);min-height:var(--play-target);isolation:isolate;color:#294f48}
.play-button>.button-art{min-width:var(--play-target);min-height:calc(var(--play-target) - 7px);width:100%;padding:9px;border:2px solid #7fa591;border-radius:var(--toy-radius);background:radial-gradient(ellipse at 30% 10%,#fff,transparent 80%),#e8edd6;box-shadow:0 6px 0 #90a488,0 10px 12px #294c4622,inset 0 3px 0 #fff,inset 0 -4px 3px #294c4612;margin-bottom:7px}
.play-button.selected>.button-art{background:#b7dec8;outline:3px solid #d09d36;outline-offset:1px}
.play-button.filled>.button-art{background:#8fbfca}.play-button:disabled{opacity:.6}
/* Natural objects stay objects, not circles over every tile. */
.firefly-field .play-button>.button-art,.apple-orchard .play-button>.button-art,.river-stops .play-button>.button-art,.garden-tiles .play-button>.button-art,.coffer-button>.button-art,.coffer-undo>.button-art,.expedition-map .play-button>.button-art,.rune-place>.button-art,.rune-tray .play-button>.button-art{border:0;background:transparent;box-shadow:none;border-radius:20px;padding:4px;margin-bottom:0}
.tower-tools .play-button{min-width:48px;min-height:52px}.tower-tools .play-button>.button-art{min-width:48px;min-height:45px;padding:4px}
.tower-column{width:134px;flex-basis:134px;padding:12px 8px;background:linear-gradient(110deg,#fff4d9,#e9d3a7);box-shadow:0 7px 0 #b8b493,inset 3px 2px 0 #fff8e4,7px 12px 16px #284e4620;border:3px solid #b5b699;border-radius:32px}
.tower-shaft{box-shadow:inset 4px 0 8px #66624520}.tower-brick{box-shadow:inset 0 3px 1px #fff0c4,inset -4px -2px 0 #be8c4e,0 2px 2px #715a4130}
.play-world{border:5px solid #aec6a6;box-shadow:0 10px 0 #91ad94,0 17px 27px #254b4226,inset 0 3px 0 #fff8ee;min-height:460px;background:radial-gradient(ellipse at 20% 0,#fff6dd99,transparent 55%),linear-gradient(#c4e3e5,#eef2da 67%,#c7d8a8);margin-bottom:26px}
.play-world:after{content:'';pointer-events:none;position:absolute;z-index:0;bottom:8px;left:-22px;width:110px;height:55px;border-radius:70% 65% 20% 20%;background:#70a18575;box-shadow:50px 16px 0 #82af8c77}
.game-actions{gap:18px}.game-help-actions{gap:12px}.game-commit .btn{--control-size:94px;--control-bg:#57aa88;--control-border:#337862;--control-shadow:#28664f}
.child-ui .game-top h1{font-size:clamp(23px,2.8vw,34px)}.game-top .kid-action{--control-size:76px}
.world-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}.world-heading h1{margin:4px 0;font-size:clamp(26px,3vw,40px)}.world-heading .eyebrow{margin:0;color:#577974}.world-nav{display:flex;gap:12px}.world-nav .kid-action{--control-size:64px}.world-heading-text{min-width:0}
.world-horizons{display:flex;justify-content:center;align-items:flex-start;gap:32px;margin:12px 0 20px}.horizon-control{background:none;border:0;box-shadow:none;position:relative;display:flex;flex-direction:column;align-items:center;gap:11px;color:#45665f;min-width:94px;font:600 14px/1.3 var(--font-child);padding:0 2px 4px}
.horizon-control>.button-art{width:66px;height:60px;display:grid;place-items:center;border-radius:46%;background:linear-gradient(145deg,#fcf2d8,#edd5a1);border:3px solid #c9b47e;box-shadow:0 7px 0 #b99f64,0 11px 13px #37604c20,inset 0 3px 0 #fff8e5}
.horizon-control .icon{width:30px;height:30px}.horizon-control.chosen>.button-art{background:linear-gradient(130deg,#83c4ac,#5ea28c);border-color:#498971;box-shadow:0 7px 0 #38735c,0 0 0 5px #e9cf89,inset 0 3px 0 #b6e5c9;color:white}.horizon-control.chosen .horizon-label{color:#265e4e}
.horizon-control:hover>.button-art{transform:translateY(-3px)}.horizon-control:active>.button-art{transform:translateY(5px)!important}
.world-scene{position:relative;isolation:isolate;border-radius:50px;overflow:hidden;background:linear-gradient(145deg,#b8dfe2,#88c1c7 60%,#a9d2c9);box-shadow:inset 0 4px 0 #e3f1e6,0 10px 0 #76a9ad,0 20px 38px #2d60642c;border:4px solid #7daeb0;margin:20px 0 30px;width:100%}
.archipelago{height:770px}.map-ocean{position:absolute;inset:0;z-index:-1;pointer-events:none}.map-ocean>svg{width:100%;height:100%;position:absolute;inset:0}.map-cloud{position:absolute;display:block;width:120px;height:35px;background:#f5faf099;border-radius:70px;filter:drop-shadow(0 6px 1px #5c969518);animation:world-cloud 12s ease-in-out infinite alternate;pointer-events:none}.map-cloud:before{content:'';position:absolute;bottom:3px;left:19px;width:59px;height:53px;background:inherit;border-radius:50%}.cloud-one{top:5%;left:3%}.cloud-two{top:47%;left:45%;scale:.7;animation-delay:-4s}.sea-ripple{width:75px;height:18px;border-radius:50%;border-top:3px solid #dff6eb99;position:absolute}.ripple-one{top:42%;left:19%}.ripple-two{bottom:22%;right:6%}.map-sail{position:absolute;top:50%;right:9%;height:28px;width:59px;border-radius:0 0 35px 25px;background:#ad8666;box-shadow:0 7px 0 #4d879323;animation:world-boat 6s ease-in-out infinite}.map-sail:before{content:'';position:absolute;bottom:27px;left:32px;width:3px;height:50px;background:#957254}.map-sail:after{content:'';position:absolute;bottom:33px;left:6px;width:23px;height:38px;background:#fff3d3;clip-path:polygon(100% 0,100% 100%,0 100%)}
.world-landmark{position:absolute;left:var(--x);top:var(--y);width:28%;height:240px;background:none!important;border:0!important;box-shadow:none!important;padding:0;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-family:var(--font-child);color:#365e52;isolation:isolate;z-index:2;touch-action:manipulation}
.landmark-visual{display:block;width:100%;height:210px;position:relative;pointer-events:none;transform-origin:50% 84%;transition:filter 200ms,transform 200ms;filter:drop-shadow(0 6px 0 #4c827522)}
.island-illustration{width:100%;height:100%;overflow:visible}.world-landmark:hover>.landmark-visual{transform:translateY(-4px);filter:drop-shadow(0 9px 6px #3d6b7440)}.world-landmark:active>.landmark-visual{transform:translateY(3px) scale(.98)!important}
.landmark-plaque{position:relative;z-index:3;padding:7px 18px 9px;border:2px solid #b79967;border-radius:15px 17px 14px 18px;background:linear-gradient(130deg,#fff2cc,#e8d09d);box-shadow:0 5px 0 #b49467,0 8px 8px #385b4d25,inset 0 2px 0 #fff8e1;line-height:1.25;font-size:16px;font-weight:700;max-width:95%;text-align:center;pointer-events:none}
.landmark-plaque:before,.landmark-plaque:after{content:'';width:4px;height:4px;border-radius:50%;position:absolute;top:50%;background:#a8885d;box-shadow:0 1px 0 #fff5dd}.landmark-plaque:before{left:6px}.landmark-plaque:after{right:6px}
.landmark-spark{position:absolute;right:16%;top:25%;font-size:35px;color:#fff5b9;text-shadow:0 2px 0 #c4a348,0 0 12px #fff0bf;animation:star-breathe 4s ease-in-out infinite;pointer-events:none}.explore-freely .landmark-visual{filter:saturate(.76) drop-shadow(0 4px 0 #4c827522)}
.saved-mark{display:inline-block;color:#237458;margin-left:7px;font-size:15px}.map-compass{position:absolute;right:24px;bottom:22px;width:84px;height:110px;color:#567e7d;font:600 14px/1 var(--font-child);display:flex;flex-direction:column;align-items:center;justify-content:space-between;opacity:.65}.map-compass span{font-size:70px;line-height:1}
.island-closeup{min-height:690px;height:72vh;max-height:820px}.island-platform{position:absolute;left:6%;right:6%;top:8%;bottom:8%;background:#c9ac86;border-radius:48% 43% 40% 48% / 40% 44% 46% 49%;box-shadow:0 25px 0 #977c65,0 34px 0 #c4ded14d,0 48px 26px #416d7144;z-index:0;pointer-events:none;overflow:hidden}
.island-meadow{position:absolute;inset:0 0 22px;background:radial-gradient(ellipse at 20% 10%,#e6e6b7,var(--land-color,#94bea4));border-radius:inherit;border:15px solid #e6ce9c;box-shadow:inset 0 5px 0 #f5e5b6}
.island-path{position:absolute;inset:13% 30%;border:16px solid #efd6a4b0;border-radius:45%;rotate:18deg}.island-stone{position:absolute;width:45px;height:30px;left:12%;bottom:26%;background:#a9b4a0;border-radius:50% 60% 30% 35%;box-shadow:inset -7px -5px 0 #85998b,0 3px 0 #70837845}.stone-b{left:auto;right:15%;bottom:50%;scale:.7}
.zone-hotspot{width:30%;max-width:290px;height:206px}.zone-hotspot .landmark-visual{height:170px;max-width:260px}.zone-hotspot .play-thumbnail{border-radius:50% 50% 23% 23%;background:transparent;border:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 0 #728c6333);position:relative;z-index:2}.zone-hotspot .play-thumbnail>rect:first-child,.zone-hotspot .play-thumbnail>circle:nth-child(2),.zone-hotspot .play-thumbnail>path:nth-child(3){opacity:0}.landmark-pedestal{display:block;position:absolute;bottom:0;left:10%;right:10%;height:21px;background:#d1b584;border-radius:50%;box-shadow:0 6px 0 #ab966f,0 12px 12px #466a5422;z-index:0}.zone-hotspot .landmark-plaque{font-size:15px;max-width:95%}.zone-hotspot .landmark-spark{right:5%;top:18%}
.world-bottom{display:flex;gap:9px;align-items:center;justify-content:center;color:#527569;font-size:14px;text-align:center}.world-bottom .icon{width:24px;height:24px}
.resume-beacon{display:flex;align-items:center;gap:16px;margin:12px auto;max-width:560px;border-radius:30px;background:#f4ecd2;border:2px solid #ddc896;padding:8px 16px;box-shadow:0 5px 0 #d9c59d}.resume-beacon>div{flex:1;min-width:0}.resume-beacon strong,.resume-beacon span:not(.toy-face){display:block}.resume-beacon strong{font-size:16px}.resume-beacon>div>span{font-size:13px;color:#6b7561}.resume-beacon .kid-action{--control-size:60px}.resume-flag .icon{width:34px;height:34px;color:#bd9550}
.home-v043{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:center;padding:10px 0 30px}.home-words .eyebrow{color:#9b804e}.home-words h1{font-size:clamp(30px,4.3vw,55px);line-height:1.15;max-width:560px}.home-words .subtitle{max-width:410px;font-size:18px}.home-actions{display:flex;gap:16px;margin-top:22px}.home-actions .kid-action{--control-size:94px}.home-sculpture{position:relative;background:radial-gradient(ellipse at 50% 70%,#b1d6cc88,transparent 68%);min-height:330px;display:grid;place-items:center}.home-sculpture .island-illustration{width:100%;max-height:390px;filter:drop-shadow(0 15px 15px #52776b26)}.home-sculpture .home-buddy{position:absolute;width:115px;bottom:25px;right:2%}.home-note{display:flex;align-items:center;gap:22px;justify-content:center;border-top:2px solid #dcdcc8;padding:22px 0}.home-note p{margin:0;max-width:430px;color:#587365;font-size:15px}.home-note .kid-action{--control-size:66px}
.mission-passport{background:linear-gradient(110deg,#fbf2d9,#eee7cb);border:2px solid #d5c395;border-radius:22px;padding:12px 16px;margin:16px auto;text-align:center}.mission-passport .mission-route-title{font-size:15px;color:#466251;font-weight:600}.mission-stage-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin:10px 0}.mission-stage-nav .kid-action{--control-size:60px}.mission-stage-nav output{font-size:14px;color:#566f64}.mission-stage-art{max-width:300px;margin:auto}.mission-stage-art .play-thumbnail{width:100%;border-radius:25px}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-switches{display:flex;flex-direction:column;gap:12px;margin:15px 0}.profile-summary{padding:12px;background:#edf4ef;border-radius:12px;color:#375d4d}.profile-grid .input{max-width:100%}.paused-list{display:flex;flex-wrap:wrap;gap:12px}.paused-adventure{max-width:360px;flex:1 1 240px;border:1px solid #cfd8cb;border-radius:12px;padding:14px}
/* Direct interaction is local. New objects may enter, the scene does not. */
.drag-ghost{position:fixed;z-index:2000;pointer-events:none;width:66px;height:66px;display:grid;place-items:center;background:#f3d598;border:3px solid #b3955f;border-radius:26px;box-shadow:0 12px 18px #25494244;font:700 20px var(--font-child);margin:-33px 0 0 -33px}.drop-target-active{outline:4px dashed #459a7e!important;outline-offset:4px}.treasure-supply{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0}.treasure-supply .play-button{--play-target:68px}.treasure-supply .gem-supply{background:#90ced5!important}.toy-drag-source{touch-action:none!important}.world-ornament{opacity:.8}.modal-overlay .dialog{box-shadow:0 12px 0 #9d8f772b,0 30px 70px #173e4e66,inset 0 3px 0 #fff8eb;border:4px solid #d6c6a2}.child-dialog .dialog-actions{gap:16px}.dialog.is-leaving{pointer-events:none}
@keyframes world-cloud{to{translate:12px 0}}@keyframes world-boat{50%{rotate:3deg;translate:0 4px}}@keyframes star-breathe{50%{opacity:.7}}
@media(max-width:900px){.main{padding:22px 24px 30px}.archipelago{height:710px}.world-landmark{width:30%}.landmark-plaque{font-size:14px;padding:7px 12px 9px}.zone-hotspot{width:34%}.home-v043{gap:8px}.topbar{padding:0 24px}.world-heading h1{font-size:30px}.world-heading .world-nav .kid-action{--control-size:60px}.world-horizons{gap:18px}}
@media(max-width:600px){.main{padding:18px 14px 26px}.topbar{height:82px;padding:0 14px}.home-brand strong{font-size:17px}.home-brand small{display:none}.home-logo,.home-logo img{width:43px;height:43px}.top-tools{gap:8px}.top-tools .header-action{width:46px;height:50px}.top-tools .pill{font-size:12px;padding:4px 7px}.top-tools .adult-entry{width:40px}.top-tools .header-action .icon{width:26px;height:26px}.home-brand{gap:7px}.world-heading{gap:8px;align-items:flex-start}.world-heading h1{font-size:25px}.world-heading .world-nav{gap:6px}.world-heading .world-nav .kid-action{--control-size:50px}.world-horizons{gap:12px;margin:12px 0}.horizon-control{min-width:76px;font-size:12px;max-width:95px}.horizon-control>.button-art{width:60px;height:56px}.world-scene{border-radius:34px;border-width:3px}.archipelago{height:1110px}.world-landmark{left:var(--mx);top:var(--my);width:54%;height:184px}.world-landmark .landmark-visual{height:151px}.landmark-plaque{font-size:13px;padding:7px 12px 9px;max-width:99%;line-height:1.28}.landmark-spark{font-size:28px;right:7%;top:25%}.map-compass{right:15px;bottom:22px;width:48px;height:78px}.map-compass span{font-size:48px}.island-closeup{height:1010px;min-height:1010px;max-height:none}.island-platform{left:3%;right:3%;top:5%;bottom:5%;border-radius:48% 39% 46% 45% / 26% 38% 40% 46%}.island-meadow{border-width:9px}.island-path{inset:12% 30%;border-width:12px}.zone-hotspot{width:48%;height:166px}.zone-hotspot .landmark-visual{height:117px}.zone-hotspot .landmark-plaque{font-size:12px;padding:8px 12px;max-width:100%;min-height:43px;display:flex;align-items:center;justify-content:center}.zone-map:has(.zone-hotspot:nth-last-of-type(1)){height:1000px}.map-cloud{width:86px;height:25px}.map-cloud:before{width:40px;height:38px}.map-sail{right:9%;top:65%;scale:.6}.resume-beacon{gap:10px;padding:7px 10px}.resume-beacon strong{font-size:14px}.resume-beacon>div>span{font-size:12px}.resume-flag{display:none!important}.resume-beacon .kid-action{--control-size:56px}.home-v043{grid-template-columns:1fr;padding-bottom:10px}.home-words h1{font-size:35px;max-width:360px;margin:10px 0}.home-words .subtitle{font-size:16px}.home-sculpture{grid-row:2;min-height:220px;margin-top:-8px}.home-sculpture .island-illustration{max-height:270px}.home-sculpture .home-buddy{width:80px;bottom:8px}.home-actions{margin-top:18px}.home-actions .kid-action{--control-size:82px}.home-note{gap:12px}.home-note p{font-size:13px}.world-bottom{font-size:12px}.game-actions{align-items:flex-start;gap:12px}.game-help-actions{gap:10px;max-width:215px}.game-help-actions .kid-action{--control-size:64px}.game-commit .kid-action{--control-size:78px}.game-top{gap:8px;align-items:center}.game-top .kid-action{--control-size:60px}.step-dots{display:none}.play-world{padding:16px 10px 65px;border-width:3px;border-radius:30px}.play-content{max-width:100%;overflow-x:clip}.tower-column{width:calc(50% - 6px);flex-basis:calc(50% - 6px);max-width:145px}.lighthouse-columns{gap:12px}.tower-tools .play-button{min-width:48px;min-height:50px}.tower-tools .play-button>.button-art{min-width:48px;min-height:44px;padding:2px}.play-tools,.coin-tools,.clock-dials,.coral-dials{gap:10px}.game-top h1{font-size:22px}.profile-grid{grid-template-columns:1fr}.app-footer{padding:16px;font-size:11px}.world-heading .world-nav .icon{width:27px;height:27px}.mission-stage-nav{gap:14px}.mission-stage-nav .kid-action{--control-size:54px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.toy-face,.landmark-visual,.horizon-control>.button-art{transform:none!important}.map-cloud,.map-sail{translate:none;rotate:none}}
body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.reduce-motion .toy-face,body.reduce-motion .landmark-visual,body.reduce-motion .horizon-control>.button-art{transform:none!important}
body.high-contrast .world-scene{border-color:#255a53}body.high-contrast .landmark-plaque{color:#183f32;background:#fff5d4;border-color:#654c2d}body.high-contrast .horizon-control{color:#183f32}body.high-contrast .play-button>.button-art{border-color:#275540}body.high-contrast .world-bottom{color:#244b3f}
/* Local, mathematical receptors. None of these selectors animates a wrapper. */
.tower-brick-token{width:28px;height:22px;background:linear-gradient(160deg,#ffe58e,#dba73d);border:2px solid #9f7131;border-radius:5px;box-shadow:3px 4px 0 #ad752d,inset 0 2px #fff8c8;display:block;margin:auto}
.stone-source{border:0;background:none;padding:4px;touch-action:pan-y;cursor:grab;min-width:40px;min-height:40px}
.stone-source svg{height:28px;width:28px;filter:drop-shadow(2px 3px 0 #b68638)}
[data-drag-kind]{touch-action:pan-y;cursor:grab}.drop-ready{outline:4px solid #638e77!important;outline-offset:4px}
.drag-ghost{position:fixed;z-index:10000;width:64px;height:64px;display:grid;place-items:center;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 6px #0005);opacity:.88;background:#fff5;border-radius:40%;font-size:25px}.drag-ghost svg{max-height:50px;max-width:50px}
.comparison-sculpture{display:flex;align-items:flex-end;justify-content:center;gap:50px;height:170px;margin:8px auto 16px}.comparison-sculpture>div{width:86px;height:var(--pillar);border:4px solid #608575;border-radius:16px 16px 8px 8px;background:repeating-linear-gradient(0deg,#a6d0a6 0px,#a6d0a6 18px,#729f85 19px,#729f85 22px);box-shadow:inset 6px 2px #def0bc,8px 7px 0 #456d6140}.comparison-sculpture>div:nth-child(2){filter:hue-rotate(35deg)}
.dock-workflow{display:flex;justify-content:center;align-items:center;gap:30px;max-width:700px;margin:auto}.dock-crates{display:flex;gap:14px;align-items:center}.dock-crate{display:grid;place-items:center;min-width:70px;padding:15px;font-size:22px;border:5px solid #98704a;background:linear-gradient(140deg,#efcc86,#d8a461);border-radius:12px;box-shadow:5px 6px 0 #715134,inset 2px 3px #ffe6b4}.dock-arrow{font-size:30px;color:#416e65}.cargo-ship-stage{width:260px;position:relative}.cargo-ship-stage .boat-art{position:static;width:100%;height:auto;opacity:1}.ship-cargo-shadow{width:var(--load);max-width:180px;height:12px;background:#e8bb67;border:2px solid #a87d49;position:absolute;bottom:32px;left:20%;border-radius:5px}
.rule-machine{position:relative;display:flex;align-items:center;justify-content:center;max-width:410px;margin:5px auto 18px;padding:20px;background:linear-gradient(145deg,#99c9c2,#638e9c);border:6px solid #517681;border-radius:30px;box-shadow:inset 4px 5px #d5ede3,0 9px #355962}.machine-gear{width:64px;height:64px;padding:8px;color:#edbc64;background:#587481;border-radius:50%;border:5px dashed #edcd80}.machine-gear svg{width:100%;height:100%}.machine-gear.small{width:46px;height:46px}.machine-chamber{width:170px;height:85px;margin:0 10px;border:5px solid #456370;border-radius:16px;background:#26454e;box-shadow:inset 3px 5px #0004}.machine-lights{display:flex;flex-wrap:wrap;gap:6px;padding:12px}.machine-lights i{width:15px;height:15px;border-radius:50%;background:#ffe184;box-shadow:0 0 7px #ffeb9e}
.coral-bed{max-height:330px;overflow:auto;grid-template-columns:repeat(var(--cols),minmax(6px,1fr))}.coral-plant{min-width:6px!important;max-width:34px;width:100%!important}
@media(max-width:620px){.dock-workflow{gap:8px}.cargo-ship-stage{width:155px}.dock-crate{min-width:48px;padding:6px;font-size:18px;border-width:3px}.dock-crates{gap:7px}.dock-arrow{font-size:22px}.rule-machine{padding:14px}.comparison-sculpture{gap:35px}.comparison-sculpture>div{width:70px}}
/* Responsive geography: compact small islands, never a list or overflowing labels. */
@media(max-width:600px){.island-closeup[data-landmarks="1"]{height:520px;min-height:520px}.island-closeup[data-landmarks="2"]{height:690px;min-height:690px}.island-closeup[data-landmarks="3"]{height:820px;min-height:820px}.world-landmark .island-illustration{height:151px;min-height:151px}.drag-ghost{margin:0}}
.game-top>div:first-child{min-width:0;flex:1}.game-top>.kid-action{flex-shrink:0}
@media(max-width:600px){.child-ui .game-actions{flex-direction:row;justify-content:space-between;align-items:flex-end}.game-help-actions{display:grid;grid-template-columns:repeat(2,64px);gap:12px;max-width:none}.game-commit{flex:0 0 78px;align-self:center}.game-top h1{overflow-wrap:break-word}.world-heading-text h1{overflow-wrap:break-word}.child-ui .topbar .home-brand span{max-width:100px}.child-ui .top-tools{flex-shrink:0}}

.world-pagination{display:flex;align-items:center;justify-content:center;gap:24px;padding:24px 0;color:var(--ink);font-weight:700;}

.themed-ground{position:absolute;inset:0;pointer-events:none;z-index:0}.island-near-art{width:100%;height:100%;display:block}.island-closeup.island-arrecife{background:linear-gradient(150deg,#cde8e7,#77b9c8)}.island-closeup.island-puerto{background:linear-gradient(140deg,#cde3df,#86b8c7)}.island-closeup.island-observatorio{background:linear-gradient(135deg,#9aaec8,#bec9d8)}
.game-identity{display:flex;align-items:center;gap:12px;min-width:0}.game-title-art{width:92px;height:55px;flex:none}.game-title-art svg{min-width:0!important;border-radius:14px}.game-identity h1{margin:0}.mission-context{display:flex;align-items:center;gap:12px;margin:6px 40px 18px 0;padding:8px 12px;border-radius:18px;background:#eef1df;color:#345b4e}.mission-context>span{width:82px;height:44px;flex:none}.mission-context .play-thumbnail{min-width:0!important;border-radius:10px}.mission-context strong{font:700 15px/1.35 var(--font-child)}.finish-mission{display:flex;justify-content:center;align-items:center;gap:12px}.finish-mission>span{width:95px;height:50px}.finish-mission .play-thumbnail{min-width:0!important}
@media(max-width:600px){.game-identity{gap:8px}.game-title-art{width:65px;height:42px}.game-identity h1{font-size:20px!important}.mission-context{margin-right:24px;gap:8px;padding:8px}.mission-context>span{width:63px;height:40px}.mission-context strong{font-size:13px}}

/* F19: static SVG additions remain below controls. No animation loop or new network asset. */
.island-evolution-layer{pointer-events:none;animation:none!important;transition:none!important}
.island-evolution-card{display:flex;align-items:flex-start;gap:18px;margin:18px 0 24px;padding:22px 24px;background:#f8f3e5;border:2px solid #c8d9c7;border-radius:26px;color:#31584c;box-shadow:0 5px 0 #b2c8b32b}
.evolution-state-copy{min-width:0;flex:1}.evolution-state-copy h2{font:700 22px/1.3 var(--font-child);margin:4px 0 8px}.evolution-state-copy p{margin:6px 0;font-size:16px;line-height:1.55}.evolution-state-copy .evolution-eyebrow{font-size:13px;font-weight:700;color:#486d59;margin:0}
.evolution-stage-mark{display:flex;flex-wrap:wrap;gap:5px;max-width:43px;flex:0 0 43px;padding-top:12px}.evolution-stage-mark i{height:15px;width:15px;border:2px solid #708f78;border-radius:4px;background:#fcf8e8;transform:rotate(20deg)}.evolution-stage-mark i.reached{background:#e5c079;border-color:#a27e4e}
.evolution-details{margin-top:12px}.evolution-details summary{min-height:48px;display:list-item;align-content:center;width:fit-content;max-width:100%;padding:9px 15px;background:#e9eedc;border:2px solid #b4c6ad;border-radius:16px;cursor:pointer;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.evolution-details summary:focus-visible{outline:3px solid #315f6b;outline-offset:4px}.evolution-details h3{font:700 18px/1.4 var(--font-child);margin:18px 0 10px}
.evolution-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 16px}.evolution-metrics>div{display:flex;flex-direction:column;gap:7px;border:1px solid #c3cdb9;border-radius:16px;padding:14px;background:#fffaf0;min-width:0;overflow-wrap:anywhere}.evolution-metrics strong{font-size:15px}.evolution-metrics span{font-size:23px;font-weight:700}.evolution-metrics small{font-size:13px;line-height:1.4;color:#476451}
.evolution-milestones{padding-left:25px;margin:16px 0 0}.evolution-milestones li{padding:10px 0 10px 7px;line-height:1.45}.evolution-milestones strong,.evolution-milestones span{display:block}.evolution-milestones span{font-size:14px;color:#4c6c5c;margin-top:4px}.evolution-final,.evolution-preserved{padding:12px 15px;border-left:4px solid #a9c3a9;background:#edf0dd;border-radius:0 13px 13px 0}
.evolution-notice{display:flex;align-items:center;gap:22px;padding:22px 24px;background:#f4efd9;border:2px solid #c6cda9;border-radius:26px;color:#34574a;margin:12px 0 22px}.evolution-notice>div{flex:1;min-width:0}.evolution-notice h2{margin:0 0 7px;font:700 21px/1.35 var(--font-child)}.evolution-notice p{line-height:1.5;margin:6px 0}.evolution-notice .evolution-notice-hint{font-size:14px}.evolution-notice>.kid-action{flex-shrink:0}.evolution-notice .kid-label{display:block!important}
.evolution-reaction{padding:13px 16px;background:#eef0de;border:1px solid #b9cba8;border-radius:16px;font-size:16px;line-height:1.45}.evolution-reaction span{display:block;margin-top:5px;font-size:14px}
body.high-contrast .island-evolution-card,body.high-contrast .evolution-notice{border-color:#365949;color:#163d30;background:#fff7df}body.high-contrast .evolution-details summary{border-color:#365949}body.high-contrast .evolution-metrics small,body.high-contrast .evolution-milestones span,body.high-contrast .evolution-eyebrow{color:#234634}
body.large-text .evolution-state-copy h2,body.large-text .evolution-notice h2{font-size:26px}body.large-text .evolution-state-copy p,body.large-text .evolution-details summary,body.large-text .evolution-milestones li,body.large-text .evolution-metrics strong{font-size:19px}body.large-text .evolution-milestones span,body.large-text .evolution-metrics small,body.large-text .evolution-reaction span{font-size:17px}
@media(max-width:620px){.island-evolution-card{gap:10px;padding:17px 14px;margin:14px 0 20px;border-radius:22px}.evolution-stage-mark{flex-basis:17px;max-width:17px;gap:5px}.evolution-state-copy h2{font-size:20px}.evolution-metrics{grid-template-columns:1fr;gap:9px}.evolution-metrics>div{padding:12px}.evolution-details summary{width:auto}.evolution-notice{padding:16px 14px;gap:14px;align-items:flex-start}.evolution-notice h2{font-size:19px}.evolution-notice .kid-action{--control-size:60px}.evolution-notice .kid-label{font-size:12px}.evolution-notice p{font-size:15px}.evolution-reaction{padding:11px 12px}}

/* Each added close-view motif has its own uniform SVG scale. Geography keeps its layout. */
.island-evolution-overlay{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0}
.island-evolution-detail{position:absolute;left:var(--evo-x);top:var(--evo-y);width:calc(clamp(78px,11vw,155px)*var(--evo-weight));height:auto;aspect-ratio:4/3;transform:translate(-50%,-72%);overflow:visible;pointer-events:none;animation:none!important;transition:none!important}
@media(max-width:600px){.island-evolution-detail{width:calc(85px*var(--evo-weight))}}
