/* 0.4.1 · La zona activa es fija. Solo baila su dibujo interior. */
:root{--bounce:cubic-bezier(.16,1.5,.35,1);--settle:cubic-bezier(.2,.7,.25,1);--play-target:60px;--child-body:20px;--play-edge:#37645e;--modal-enter:320ms;--modal-exit:170ms;--toy-shadow:0 5px 0 #355e4b33,0 10px 18px #376f6820}
body[data-ux-cycle="1"]{--play-target:64px;--child-body:22px}body[data-ux-cycle="3"]{--play-target:56px;--child-body:18px}
body{background:#f8f6ed}.child-ui button,.child-dialog button{font-family:var(--font-child);touch-action:manipulation}button:focus-visible{outline:4px solid #195b80;outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default}
/* Override positional hover animations inherited from 0.4.0. */
button,button:hover,button:active,button:focus{transform:none!important;animation:none!important}.button-art,.bounce-surface{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%;pointer-events:none;transform-origin:50% 80%;transition:transform 180ms var(--bounce);animation:toy-appear 380ms var(--bounce) both}.child-ui button:not(:disabled):hover>.button-art,.child-ui button:not(:disabled):hover>.bounce-surface,.child-dialog button:not(:disabled):hover>.bounce-surface{transform:translateY(-4px) rotate(-2deg) scale(1.045)}button:not(:disabled):active>.button-art,button:not(:disabled):active>.bounce-surface{transform:translateY(2px) scale(1.08,.86)!important}.kid-action .icon{width:40px;height:40px}.header-action .icon{width:28px;height:28px}.game-top>.btn>.bounce-surface{display:inline-flex}.kid-label{display:none}.show-button-labels .kid-label{display:block}.btn.kid-action{--control-size:76px}.top-tools .header-action{width:50px;height:50px}.topbar{background:#f8f6edea;position:relative;z-index:3}
.play-world{position:relative;isolation:isolate;min-height:440px;border:3px solid #b8d3c3;border-radius:36px;background:linear-gradient(#d3eced 0%,#e7f2ec 52%,#cadbaa 100%);overflow:hidden;padding:25px 28px 80px;margin:14px 0;box-shadow:0 7px 0 #b8ccaa33,inset 0 2px 0 white}.play-content{position:relative;z-index:2;max-width:940px;margin:0 auto;min-height:310px;text-align:center}.scene-sky{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.scene-sky i{position:absolute;width:120px;height:40px;border-radius:60px;background:#ffffff70;top:25px;left:8%;animation:cloud-drift 9s ease-in-out infinite alternate}.scene-sky i:before{content:'';position:absolute;left:18px;bottom:0;width:65px;height:65px;border-radius:50%;background:inherit}.scene-sky i:nth-child(2){left:70%;top:100px;animation-delay:-4s;scale:.7}.scene-sky i:nth-child(3){left:48%;top:8px;scale:.45;animation-delay:-2s}.world-ground{position:absolute;height:48px;bottom:-15px;left:-5%;width:110%;border-radius:50% 50% 0 0;background:#86b68066;z-index:-1}.world-ornament{position:absolute;bottom:6px;right:0;width:220px;opacity:.75;z-index:0;pointer-events:none}.world-ornament .boat-art{width:220px;animation:boat-rock 5s ease-in-out infinite}.world-ornament .lighthouse-art{width:120px;float:right}.mission-badge{display:inline-flex;vertical-align:top;flex-direction:column;gap:4px;padding:9px 17px;margin:0 6px 14px;max-width:100%;border:2px solid #b5c9b8;border-radius:18px;background:#fffffff0;box-shadow:0 4px 0 #7ca79325;color:#284e49}.mission-badge small{font-size:14px;font-weight:600}.mission-badge strong{font-size:25px;line-height:1.45;overflow-wrap:anywhere}.world-givens{display:flex;justify-content:center;flex-wrap:wrap}.play-tools,.coin-tools,.tower-tools,.clock-dials,.coral-dials{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center}.play-button{position:relative;min-width:var(--play-target);min-height:var(--play-target);padding:7px 12px;border:2px solid #618979;border-radius:20px;background:#fdfaf0;color:#315951;box-shadow:var(--toy-shadow);font-weight:700;font-size:21px}.play-button.selected{border-color:#146048;background:#c3e4ca;box-shadow:0 0 0 4px #f1c850}.play-button svg{width:28px;height:28px}.play-button .button-art{flex-direction:column}.play-button.filled{background:#8cbfcf;border-color:#4f8c9b}.game-actions{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:22px 0}.game-help-actions{display:flex;gap:14px;flex-wrap:wrap}.game-commit .btn{--control-size:92px;border-radius:30px;background:#48a986;border-color:#2b755f;box-shadow:0 6px 0 #2b755f}.game-commit .icon{width:50px;height:50px}.game-help-actions .btn:nth-child(1){--control-bg:#b5dce6;--control-border:#74a6b5;--control-shadow:#6994a2;--control-ink:#305f70}.game-help-actions .btn:nth-child(3){--control-bg:#c5b4e4;--control-border:#9b86bf;--control-shadow:#82709d;--control-ink:#534264}.game-help-actions .btn:nth-child(4){--control-bg:#f9dba1;--control-border:#c7a068;--control-shadow:#b08754;--control-ink:#6c532e}
/* Construcción de cantidades: fichas con valor, no un teclado disimulado. */
.cargo-hold{position:relative;min-height:164px;border-radius:24px 24px 55px 55px;border:6px solid #bc895f;border-top-width:12px;box-shadow:inset 0 -9px 0 #784a2f22;background:#f6dbaf;max-width:600px;margin:8px auto 30px;padding:16px 15px 28px}.cargo-value{display:flex;flex-direction:column;align-items:center;gap:5px}.cargo-value span{font-size:15px;color:#795b39}.cargo-value output{font-size:36px;font-weight:700;color:#583f28}.cargo-parcels{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:15px;max-height:130px;overflow:hidden}.cargo-parcel{display:grid;place-items:center;border:2px solid #966b42;border-radius:8px;background:#edbd73;color:#664426;min-width:38px;height:35px;font-size:14px;animation:parcel-drop 350ms var(--bounce) both}.parcel-tool .parcel-mini{display:block;width:26px;height:22px;background:#e9be77;border:2px solid #ab7d50;border-radius:4px;position:relative}.parcel-mini:after{content:'';position:absolute;left:10px;height:100%;border-right:3px solid #b48454;top:0}.cargo-water{position:absolute;left:-20px;bottom:-20px;height:8px;width:calc(100% + 40px);background:#7bbfc333;border-radius:100%}
/* Faro base diez */
.lighthouse-columns{display:flex;justify-content:center;gap:14px;align-items:flex-end;flex-wrap:wrap}.tower-column{width:110px;flex:0 1 120px;padding:12px 6px;border-radius:24px;background:#fcfaf2dc;border:2px solid #b1c4ad}.tower-column .mission-badge{margin:0 0 8px;padding:4px 8px;border:0;box-shadow:none;background:none}.tower-column .mission-badge strong{font-size:20px}.tower-column .mission-badge small{font-size:11px}.tower-shaft{height:178px;display:flex;flex-direction:column-reverse;gap:3px;align-items:center;border-radius:7px;background:repeating-linear-gradient(to top,#e7e5d4 0 17px,#ffffff 17px 20px);padding:3px 7px;border-bottom:4px solid #7c9480}.tower-brick{display:block;width:100%;height:15px;flex-shrink:0;border-radius:3px;background:#e8ae59;border:2px solid #b78744;box-shadow:inset 0 2px 0 #ffe8b6;animation:parcel-drop 250ms var(--bounce)}.tower-counter{font-size:26px;font-weight:700;margin:6px}.tower-tools{gap:8px}.tower-tools .play-button{min-width:44px;min-height:48px;padding:3px;border-radius:14px}
/* Colección, huerto y cofres */
.firefly-field,.apple-orchard{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:13px;max-width:790px;margin:10px auto 24px}.firefly-field .play-button,.apple-orchard .play-button{border:0;background:transparent;box-shadow:none;min-width:64px;width:64px;height:68px;padding:8px}.firefly{display:block;color:#f1b638;width:46px;filter:drop-shadow(0 0 9px #ffeba9)}.firefly svg{width:46px;height:46px}.caught .firefly{opacity:.25;filter:none}.caught{outline:2px dashed #77927c;outline-offset:-9px;border-radius:20px}.light-jar{width:125px;min-height:115px;border:5px solid #629a99;border-radius:20px 20px 45px 45px;background:#feefafbb;margin:auto;box-shadow:inset 0 0 18px #fff5ca;display:grid;place-items:center}.light-jar output{font-size:40px;font-weight:700;color:#5a703d}.play-apple{display:block;width:45px;height:42px;border-radius:44% 44% 46% 46%;background:#e28c68;box-shadow:inset -8px -5px 0 #ce7157,0 5px 0 #ac876044;position:relative}.play-apple i{position:absolute;width:19px;height:10px;background:#67966c;border-radius:2px 20px 2px 20px;top:-6px;left:20px;rotate:-30deg}.play-apple:after{content:'';position:absolute;width:6px;height:12px;border-radius:5px;background:#ad714c;left:20px;top:-7px}.stored .play-apple{opacity:.18}.orchard-basket{max-width:550px;min-height:100px;padding:14px;margin:auto;background:#dab175;border:5px solid #ac8657;border-radius:12px 12px 40px 40px;box-shadow:inset 0 4px 0 #ecd2a0}.orchard-basket>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.mini-apple{width:25px;height:27px;border-radius:40%;background:#d6835c;box-shadow:inset -5px -2px #b6654c;animation:parcel-drop 250ms var(--bounce)}.treasure-pool{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:620px;min-height:45px;margin:0 auto 20px}.treasure-stone{color:#69aebe;display:block;width:26px;height:30px}.treasure-stone svg{width:24px}.treasure-nests{display:grid;grid-template-columns:repeat(var(--nest-count),minmax(90px,1fr));gap:15px;max-width:780px;margin:auto}.coffer-button{min-height:112px;width:100%;padding:0;border:0;background:transparent;box-shadow:none}.coffer{display:block;width:95px;height:78px;border-radius:16px 16px 12px 12px;background:#b58654;border:4px solid #795738;position:relative;box-shadow:inset 0 -9px 0 #926536}.coffer:before{content:'';position:absolute;top:-4px;left:-4px;right:-4px;border-radius:16px 16px 0 0;height:23px;background:#d7b07a;border:4px solid #795738}.coffer:after{content:'';width:13px;height:22px;position:absolute;left:37px;top:17px;background:#f4d791;border:3px solid #927847;border-radius:5px}.coffer-count{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:25px;color:#fff2ce;line-height:35px}.coffer-light{position:absolute;left:0;right:0;bottom:0;height:var(--fill);background:#f6e5a633;border-radius:9px}.coffer-button small{font-size:13px;color:#4c7360}.coffer-undo{min-width:46px;min-height:46px;padding:5px;margin:2px 0 15px;border-radius:15px;background:#eaf2e8}.coffer-undo svg{width:22px}.group-selectors{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.many-nests{max-height:450px;overflow:auto}
/* Puentes y piezas de cristal */
.river-crossing,.rune-bridge{position:relative;min-height:245px;display:flex;align-items:center;justify-content:center}.river-stream{position:absolute;left:-70px;right:-70px;top:25px;bottom:20px;z-index:-1;rotate:-6deg;background:repeating-linear-gradient(170deg,#8cc8cb 0 25px,#a3d5d6 26px 45px);border-top:7px solid #e4e1b8;border-bottom:7px solid #e4e1b8;border-radius:60% 35% 65% 38%}.river-stops{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;max-width:900px}.river-stops .play-button{border:0;background:none;box-shadow:none;padding:5px}.river-stone{position:relative;display:block;width:58px;height:64px;background:#e8d7ac;border:3px solid #b6a582;border-radius:20px;box-shadow:0 6px 0 #ac9b78}.river-stops small{font-size:14px;color:#31564e;background:#fff8e8dd;padding:2px 4px;border-radius:5px}.rune-bridge{gap:12px;flex-wrap:wrap}.fixed-rune,.rune-gap,.rune-piece{display:grid;place-items:center;min-width:65px;min-height:66px;border-radius:18px;background:#daceba;border:3px solid #ab9879;box-shadow:0 6px 0 #a69576;color:#5d5343;font-size:24px;font-weight:700;padding:8px}.rune-place{border:0;background:none;box-shadow:none;padding:0}.rune-gap{border:3px dashed #71948b;background:#d6eceaa6;min-width:72px}.rune-piece{background:#f1d193;border-color:#bb9657;box-shadow:0 6px 0 #bb9657}.rune-tray{display:flex;justify-content:center;gap:18px}.rune-tray .play-button{padding:8px;border:0;background:none;box-shadow:none}.rune-tray .selected .rune-piece{border-color:#25896f;box-shadow:0 6px 0 #25896f}.crystal-bridge{position:relative;max-width:780px;margin:25px auto;min-height:100px;padding:10px}.crystal-whole{display:grid;grid-template-columns:repeat(var(--parts),minmax(0,1fr));gap:5px;position:relative;z-index:1}.crystal-whole .play-button{min-width:0;min-height:92px;padding:0;border-radius:14px;background:#e8f2ed99;border:2px dashed #75a8a9;box-shadow:0 6px 0 #94b6b466}.crystal-whole .play-button svg{width:22px;opacity:.18}.crystal-whole .play-button.filled{background:linear-gradient(145deg,#bde6f0,#76b2cf);border:2px solid #6992b4;box-shadow:0 7px 0 #64889e}.crystal-whole .filled svg{opacity:1;color:#f7fbff;animation:crystal-pulse 2.8s ease-in-out 2}.crystal-water{position:absolute;inset:-12px -50px;background:#a4d3d4;rotate:4deg;border-radius:45%}.fraction-machine{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:30px}.fraction-dial,.play-dial{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;background:#ffffffe0;border:2px solid #b7cbbc;border-radius:24px;padding:14px}.fraction-dial>small,.play-dial>small{width:100%;font-size:15px;font-weight:650}.fraction-dial output,.play-dial output{font-size:28px;min-width:38px}.coral-bed{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:7px;min-height:130px;max-width:640px;margin:20px auto;padding:15px;background:#9ecac4;border:6px solid #cfca9f;border-radius:32px;position:relative}.coral-plant{display:block;position:relative;height:32px;width:100%;color:#d29299;animation:coral-grow 350ms var(--bounce) both}.coral-plant i{position:absolute;bottom:0;left:calc(50% - 4px);width:8px;height:30px;background:currentColor;border-radius:8px}.coral-plant i:nth-child(2){transform:rotate(-35deg);height:22px;left:calc(50% - 11px)}.coral-plant i:nth-child(3){transform:rotate(35deg);height:20px;left:calc(50% + 3px)}
/* Exploración, escenas de taller, mercado */
.expedition-layout{display:flex;gap:30px;justify-content:center;align-items:center}.expedition-map{display:grid;grid-template-columns:repeat(var(--n),1fr);border:5px solid #c5ae79;border-radius:18px;background:#aad2c5;overflow:hidden;width:min(570px,100%);gap:2px;padding:3px}.map-cell{position:relative;min-width:0;min-height:50px;aspect-ratio:1;border:1px solid #84b7ac;border-radius:5px;background:#d5e8c5;box-shadow:none;padding:0}.map-cell .button-art{width:100%;height:100%}.map-cell .map-coordinate{position:absolute;top:2px;left:4px;font-size:10px;color:#51715f;z-index:2}.map-cell.mirror-axis{border-left:4px solid #cf9fb8;background:#e2d4de}.map-cell-art{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative}.luma-pawn{display:block;width:32px;height:33px;background:#f9d574;border:2px solid #bd9348;border-radius:45% 45% 40% 40%;box-shadow:0 4px 0 #b5a47a66;position:relative;animation:parcel-drop 200ms var(--bounce)}.luma-pawn:before{content:'';position:absolute;top:-6px;left:7px;width:12px;height:8px;border-radius:100% 0;background:#6f9c61;rotate:-25deg}.luma-pawn i{width:3px;height:5px;background:#664f33;position:absolute;top:11px;left:8px;border-radius:5px}.luma-pawn i+i{left:19px}.river-stone .luma-pawn{position:absolute;top:9px;left:10px}.map-flower{width:10px;height:10px;border-radius:50%;background:#f7f1b6;box-shadow:8px 0 #8dae89,-5px 6px #8dae89}.dpad{display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,60px);gap:5px}.dpad .up{grid-column:2}.dpad .left{grid-column:1;grid-row:2}.dpad .right{grid-column:3;grid-row:2}.dpad .down{grid-column:2;grid-row:3}.harbor-clock{display:block;width:260px;max-width:100%;margin:5px auto 20px;filter:drop-shadow(0 6px 0 #7b8d6b44)}.harbor-clock text{font:700 22px var(--font-child);fill:#40584e}.clock-dials .play-button{font-size:17px}.market-stall{max-width:440px;margin:auto auto 20px;border:6px solid #9f7554;border-radius:20px;background:#f3e4ba;overflow:hidden}.stall-roof{height:45px;background:repeating-linear-gradient(90deg,#d98c6e 0 40px,#fff0d4 40px 80px);border-bottom:5px solid #9f7554}.market-wallet{padding:15px;min-height:140px}.market-wallet output{font-size:35px;font-weight:700;color:#6b5a3c}.market-wallet>div{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.wallet-coin{border-radius:50%;width:34px;height:34px;background:#ebc56c;border:2px solid #b89954;display:grid;place-items:center;font:600 11px var(--font-child);animation:parcel-drop 250ms var(--bounce)}.coin-tools{margin-top:18px}.coin-tools .play-button{padding:6px;background:transparent;border:0;box-shadow:none}.money-coin{display:grid;place-items:center;border-radius:50%;width:54px;height:54px;background:#dc9c73;border:5px double #a26745;box-shadow:0 4px #ad7a58;color:#5e3825;font-size:17px}.money-coin.euro{background:#eed593;border:6px solid #abc1bf;box-shadow:0 4px #8c9d9a}.temple-offerings{display:flex;justify-content:center;gap:15px}.decision-token{height:85px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.decision-token .play-button{background:#ffe9b4;border-color:#bd9b5e}.artifact-token{color:#dcaa44}.temple-gates{display:flex;align-items:end;justify-content:center;gap:20px;flex-wrap:wrap}.temple-gates .play-button{background:transparent;border:0;box-shadow:none;max-width:160px;min-width:90px}.stone-gate{width:80px;height:80px;background:#e6d8b9;border:9px solid #af9e7c;border-radius:40px 40px 6px 6px;display:grid;place-items:center;box-shadow:0 5px #958e77}.stone-gate>span{display:grid;place-items:center;width:100%;height:100%;background:#7eaa99;border-radius:25px 25px 0 0}.temple-gates strong{font-size:16px;overflow-wrap:anywhere;line-height:1.45;margin-top:10px;color:#305749}.temple-gates .selected .stone-gate{border-color:#d9ac4d;box-shadow:0 5px #a67b2d}.temple-gates .selected .stone-gate svg{color:#ffe4a0}.artifact-display{min-height:120px;display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap}.artifact-svg{width:170px;max-height:155px}.chance-satchel{display:flex;flex-wrap:wrap;gap:8px;padding:20px;background:#d8bf99;border:5px solid #aa8866;border-radius:25px 25px 40px 40px;max-width:330px;margin:auto}.chance-satchel i{font-size:28px;font-style:normal}.blue-pebble{color:#3488a7}.gold-pebble{color:#bb8b27}.construction-site{display:flex;justify-content:center;margin:12px}.blueprint{width:220px;height:115px;border:4px solid #818d5d;background:repeating-linear-gradient(0deg,transparent 0 20px,#7d9a5130 20px 22px),repeating-linear-gradient(90deg,#d8e3bc 0 20px,#7d9a5130 20px 22px);border-radius:8px;position:relative;overflow:hidden}.building-fill{position:absolute;bottom:0;width:100%;height:var(--fill);background:#91b99688;transition:height 250ms var(--settle)}.blueprint.fence{border:10px dashed #bb855a}.garden-tiles{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:3px;max-width:660px;margin:15px auto 25px;border:6px solid #bcab7c;background:#9ebc83;padding:8px;border-radius:16px}.garden-tiles .play-button{min-width:0;min-height:29px;aspect-ratio:1;padding:0;border-radius:5px;border:1px solid #87a371;background:#b5ca98;box-shadow:none}.garden-tiles .play-button.filled{background:#edcb8a;border:2px solid #b48d4f;box-shadow:inset 0 -3px #c3a169}.floor-tile{width:80%;height:80%;display:block}.rope-track{position:relative;padding-top:65px;min-height:220px}.rope{height:20px;border-radius:15px;background:repeating-linear-gradient(60deg,#b08f5a 0 8px,#ddc38e 8px 13px);margin:0 30px 28px}.ruler-stops{display:flex;gap:3px;justify-content:center;flex-wrap:wrap}.ruler-stops .play-button{min-width:38px;padding:3px;border-radius:7px;background:#f4d995;border:1px solid #bba16a;box-shadow:0 4px #bba16a}.ruler-stops small{font-size:13px}.harvest-bars{display:flex;justify-content:center;align-items:end;gap:20px;max-width:650px;margin:10px auto 22px;padding:16px 20px 0;border-bottom:6px solid #ad9a73}.harvest-column{flex:1;max-width:100px}.harvest-stack{height:var(--height);background:#8dbbad;border-radius:10px 10px 0 0;border:3px solid #699f8e;display:flex;flex-direction:column-reverse;gap:3px;padding:5px}.harvest-stack i{height:6px;background:#c7e3cb;width:100%;border-radius:2px}.harvest-column:nth-child(2n) .harvest-stack{background:#d3b982;border-color:#b89658}.harvest-column small{font-size:12px;display:block;margin:6px 0}.harvest-column strong{font-size:20px}.house-row{display:flex;justify-content:center;gap:13px;margin-bottom:20px}.house-row .play-button{background:none;border:0;box-shadow:none}.mini-house{position:relative;display:block;width:70px;height:68px;background:#e8c989;border:4px solid #b49461;box-shadow:0 5px #b9aa7e;margin-top:25px;border-radius:5px}.mini-house:before{content:'';position:absolute;left:-12px;right:-12px;top:-30px;clip-path:polygon(50% 0,100% 100%,0 100%);height:30px;background:#91b2a5}.mini-house output{font-size:23px;line-height:60px}.temple-balance{position:relative;width:270px;height:120px;margin:5px auto}.balance-arm{height:12px;background:#8e8165;border-radius:10px;position:absolute;left:10px;right:10px;top:25px;rotate:var(--tilt);transition:rotate 220ms var(--settle)}.balance-base{position:absolute;left:105px;top:27px;border-left:30px solid transparent;border-right:30px solid transparent;border-bottom:83px solid #ddb36c}.balance-pan{position:absolute;top:38px;left:0;width:80px;height:35px;border-radius:0 0 70% 70%;background:#99b8a5;border-bottom:7px solid #6e9b8e}.balance-pan:before{content:'';position:absolute;height:40px;width:2px;top:-35px;left:40px;background:#8c8d71}.balance-pan+.balance-pan{left:auto;right:0}
/* Mapa de aventuras, sin navegación lateral. */
.atlas-guide{flex:0 0 110px}.atlas-guide .luma-mascot{width:110px;height:105px}.atlas-heading>div:first-child{flex:1}.atlas-banner{border-width:2px;background:linear-gradient(115deg,#d3e9de,#ede0f6)}.atlas-emblem .icon{width:65px;height:65px}.grade-tabs{gap:12px}.grade-tab{min-width:60px;min-height:56px;background:#fff5d9;border:2px solid #dcc38b;box-shadow:0 4px 0 #bda36b55}.grade-tab.selected{background:#e9c576;border-color:#a4833e}.strand-tab{min-height:48px;padding:9px 14px;border:2px solid #d2dbcd}.island-node{padding:0!important;min-height:280px;border:3px solid #c2d4bb;border-radius:30px;background:#fffdf6;display:block;box-shadow:0 7px 0 #c8d4b855,0 12px 20px #43776113;overflow:hidden}.island-node>.bounce-surface{display:block;width:100%;height:100%;animation-delay:var(--delay)}.island-node-art{display:block;position:relative;height:150px;background:#d9e9dd;overflow:hidden}.island-node-art .zone-art{width:100%;height:100%;object-fit:cover}.island-game-icon{position:absolute;right:14px;bottom:10px;border-radius:18px;background:#fff2bb;border:2px solid #bfa36e;padding:7px;box-shadow:0 5px 0 #bfa36e44}.island-game-icon .icon{width:35px;height:35px}.island-node-copy{display:flex;flex-direction:column;text-align:left;padding:17px 21px 24px;gap:6px}.island-node-copy strong{font-size:18px}.island-node-copy .skill-subtitle{font-size:14px;color:#4d6d5c;line-height:1.5}.island-node-copy small{font-size:12px;margin-top:3px;color:#6a7766}.island-node-play{position:absolute;bottom:18px;right:14px;color:#519d85}.island-node-play .icon{width:25px;height:25px}.map-marker>.bounce-surface{position:static;display:flex;top:auto;background:none;border-radius:0;padding:0;min-width:0;width:auto;font-size:inherit}.map-marker>.bounce-surface>span{position:absolute;top:65px}.map-marker .bounce-surface>.icon{width:39px;height:39px}.adventure-card>.bounce-surface{display:block;width:100%;text-align:left}
/* Un único diálogo. Nunca apilamos mensajes y nunca avanzamos por tiempo. */
.modal-backdrop{position:fixed;inset:0;z-index:100;background:#20484378;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto;animation:backdrop-in 150ms ease-out}.dialog{width:min(620px,100%);max-height:calc(100dvh - 44px);border-radius:38px;padding:36px 32px 28px;border:4px solid #d0bc8e;background:#fffaf0;box-shadow:0 12px 0 #8a775e66,0 25px 70px #1d372c66;animation:modal-boing var(--modal-enter) var(--bounce) both;position:relative;overflow:auto;text-align:center;color:#34534b;scrollbar-gutter:stable}.child-dialog h2{font-size:30px;line-height:1.3;margin:12px 22px 16px;font-weight:700}.child-dialog>p,.child-dialog .mission-instruction{font-size:var(--child-body);line-height:1.6;margin:16px 0;max-width:490px;margin-left:auto;margin-right:auto}.modal-eyebrow{font-size:14px!important;color:#718472!important;margin:8px 0!important;letter-spacing:.03em;font-weight:650}.dialog .close-dialog{position:absolute;right:12px;top:12px;width:48px;height:48px;border:2px solid #cbb691;border-radius:18px;background:#f1e4c8;color:#7d6748}.dialog .close-dialog .icon{width:25px;height:25px}.modal-mascot{width:100px;height:88px;margin:4px auto 12px;position:relative}.modal-mascot:before{content:'';position:absolute;inset:-5px -10px;background:#e6efd1;border-radius:50%;z-index:-1}.modal-mascot .luma-mascot{width:100px;height:90px;animation:mascot-wiggle 700ms var(--bounce)}.mission-demo{display:flex;justify-content:center;align-items:center;gap:22px;margin:22px 0}.mission-demo>.icon{width:53px;height:53px;animation:toy-appear 650ms var(--bounce) both}.mission-demo>.icon:nth-child(2){width:25px;animation-delay:90ms}.mission-demo>.icon:nth-child(3){animation-delay:180ms}.dialog-actions{display:flex;justify-content:center;gap:20px;margin-top:25px;flex-wrap:wrap}.child-dialog .dialog-actions .btn{min-width:76px;--control-size:80px}.hint-illustration>.icon{width:80px;height:80px;margin:15px 0;color:#c59645;animation:hint-hop 700ms var(--bounce)}.modal-stars{display:flex;justify-content:center;gap:30px;color:#d6a137;margin:20px}.modal-stars>.icon{width:55px;height:55px;animation:star-award 550ms var(--bounce)}.modal-stars>.icon:nth-child(2){animation-delay:80ms}.modal-leaving{pointer-events:none;animation:backdrop-out var(--modal-exit) ease-in forwards}.modal-leaving .dialog{animation:modal-exit var(--modal-exit) ease-in forwards}.dialog.modal-example{width:min(960px,100%)}.example-play-preview{max-height:410px;overflow:auto;border:2px solid #d5decf;border-radius:25px;margin:15px 0;background:#ecf2e6}.example-play-preview .play-world{margin:0;border:0;min-height:250px;border-radius:20px;zoom:.66}.example-play-preview .play-tools,.example-play-preview .tower-tools,.example-play-preview .clock-dials,.example-play-preview .coral-dials,.example-play-preview .fraction-machine{pointer-events:none}.school-paper{background:repeating-linear-gradient(#fffdf7 0 35px,#d7e4ed 35px 36px);border:1px solid #d8d6bd;border-left:5px solid #e0b5a3;border-radius:10px;padding:25px 18px;box-shadow:0 4px 0 #b6ac9033;text-align:left}.school-paper>p{font-size:17px;line-height:1.7;margin:0 0 20px}.school-formula{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font-size:27px;line-height:2.1;color:#334d57;white-space:pre-wrap}.answer-slot{display:inline-grid;place-items:center;min-width:46px;min-height:48px;vertical-align:middle;margin:0 5px;border:3px dashed #7eaaaf;border-radius:12px;background:#eff7f4;color:#50808a;font-weight:700;font-size:26px;line-height:1.3}.answer-slot.filled{border-style:solid}.math-fraction{display:inline-flex;flex-direction:column;vertical-align:middle;line-height:1.2;text-align:center;font-size:.9em;margin:3px 4px;min-width:25px}.math-fraction>span:first-child{border-bottom:2px solid currentColor;padding:0 5px 3px}.math-fraction>span:last-child{padding-top:3px}.paper-algorithm{display:flex;flex-direction:column;width:max-content;text-align:right;margin:20px auto;font-size:30px;font-variant-numeric:tabular-nums;line-height:1.65}.paper-algorithm>span:last-child{border-top:3px solid #667b82}.voice-script{padding:18px;border-radius:18px;background:#eef2e7;font-size:19px;text-align:left}.adult-dialog{font-family:var(--font);font-size:16px;text-align:left}.adult-dialog h2{font-family:var(--font)}.adult-dialog p{font-size:16px;line-height:1.65}.dialog.adult-dialog{border-radius:25px;border-width:2px}.adult-dialog .dialog-actions{justify-content:flex-end}
body[data-ux-cycle="3"] .play-world{border-radius:26px;background:linear-gradient(#d9e9e7,#e5ebd4)}body[data-ux-cycle="3"] .child-dialog{border-radius:28px}body[data-ux-cycle="3"] .modal-mascot{width:75px;height:65px}body[data-ux-cycle="3"] .modal-mascot .luma-mascot{width:75px;height:68px}body[data-ux-cycle="3"] .scene-sky{opacity:.55}.high-contrast .play-world{border-color:#294e40}.high-contrast .play-button{border:3px solid #254a3b;color:#163d30}.high-contrast .mission-badge{border-color:#315240;color:#1c3c2b}.large-text .child-dialog>p{font-size:25px}.large-text .mission-badge small{font-size:18px}
@keyframes modal-boing{0%{opacity:0;transform:translateY(34px) scale(.7,.8)}60%{opacity:1;transform:translateY(-7px) scale(1.035,1.045)}80%{transform:translateY(3px) scale(.985,.975)}100%{opacity:1;transform:none}}@keyframes modal-exit{to{opacity:0;transform:translateY(18px) scale(.94)}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}@keyframes backdrop-out{to{opacity:0}}@keyframes toy-appear{0%{opacity:.2;transform:translateY(7px) scale(.83)}70%{opacity:1;transform:translateY(-2px) scale(1.045)}100%{transform:none;opacity:1}}@keyframes parcel-drop{from{opacity:0;transform:translateY(-14px) scale(.75)}to{opacity:1;transform:none}}@keyframes cloud-drift{to{transform:translateX(35px)}}@keyframes boat-rock{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-5px)}}@keyframes coral-grow{from{transform:scaleY(.25);opacity:.1}to{transform:scaleY(1);opacity:1}}@keyframes crystal-pulse{50%{filter:brightness(1.2)}}@keyframes mascot-wiggle{0%{transform:rotate(-10deg) scale(.9)}55%{transform:rotate(6deg) scale(1.04)}100%{transform:none}}@keyframes star-award{0%{transform:scale(.15) rotate(-55deg)}70%{transform:scale(1.15) rotate(8deg)}100%{transform:none}}@keyframes hint-hop{0%{transform:scale(.65) translateY(16px)}55%{transform:scale(1.1) translateY(-9px)}100%{transform:none}}
.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion button:hover>.button-art,.reduce-motion button:hover>.bounce-surface,.reduce-motion button:active>.button-art,.reduce-motion button:active>.bounce-surface{transform:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:hover>.button-art,button:hover>.bounce-surface,button:active>.button-art,button:active>.bounce-surface{transform:none!important}}
@media(max-width:900px){.play-world{padding:20px 18px 65px}.lighthouse-columns{gap:8px}.tower-column{flex-basis:100px}.game-actions{gap:10px}.game-help-actions{gap:10px}.game-help-actions .btn{--control-size:64px}.game-commit .btn{--control-size:80px}.expedition-layout{gap:10px}.dpad{grid-template-columns:repeat(3,50px);grid-template-rows:repeat(3,50px)}.dpad .play-button{min-width:50px;min-height:50px}.atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-top{gap:15px}.game-top h1{font-size:25px!important}.game-top .step-dots{display:none}.treasure-nests{grid-template-columns:repeat(3,minmax(80px,1fr))}}
@media(max-width:560px){.main{padding:18px 12px 26px}.game-mode .main{padding:15px 10px 22px}.topbar{padding:8px 12px;height:78px}.top-tools{gap:7px}.top-tools .header-action{width:44px;height:46px;border-radius:16px}.home-brand small{display:none}.home-brand strong{font-size:17px}.home-logo,.home-logo img{width:43px;height:43px}.home-brand{gap:6px}.top-tools .pill{padding:5px;gap:4px}.top-tools .pill .icon{width:18px}.top-tools .adult-entry{width:43px;height:46px}.game-top{align-items:center;margin-bottom:10px}.game-top h1{font-size:22px!important;max-width:none}.game-top>.btn{--control-size:58px;width:58px;min-width:58px;height:58px;border-radius:19px}.game-top>.btn .icon{width:28px;height:28px}.child-ui .game-top .eyebrow{font-size:12px}.play-world{min-height:390px;padding:16px 10px 65px;border-radius:26px;margin:10px 0}.play-content{min-height:285px}.world-ornament{width:135px;bottom:4px}.world-ornament .boat-art{width:145px}.world-ornament .lighthouse-art{width:70px}.mission-badge{padding:6px 9px;margin:0 3px 12px;border-radius:14px}.mission-badge small{font-size:12px}.mission-badge strong{font-size:21px}.game-actions{flex-direction:column-reverse;gap:20px}.game-help-actions{justify-content:center;gap:10px;width:100%}.game-help-actions .btn{--control-size:56px;padding:9px;border-radius:18px}.game-help-actions .icon{width:30px;height:30px}.game-commit .btn{--control-size:78px;border-radius:28px}.play-button{min-width:52px;min-height:56px;padding:5px 8px;font-size:19px;border-radius:17px}.play-tools{gap:9px}.cargo-hold{min-height:145px;margin:6px 6px 20px;padding:13px 8px 18px}.cargo-value output{font-size:31px}.cargo-value span{font-size:13px}.cargo-parcels{gap:4px}.cargo-parcel{font-size:11px;min-width:29px;height:28px}.tower-column{width:70px;flex:0 1 78px;padding:8px 3px}.tower-column .mission-badge strong{font-size:15px}.tower-column .mission-badge small{font-size:9px}.lighthouse-columns{gap:6px}.tower-shaft{height:166px;padding:3px 4px}.tower-brick{height:14px}.tower-tools{gap:4px}.tower-tools .play-button{min-width:32px;min-height:45px;border-radius:11px;font-size:20px;padding:0}.tower-counter{font-size:24px}.modal-backdrop{padding:12px}.dialog{max-height:calc(100dvh - 24px);padding:38px 20px 25px;border-radius:30px;border-width:3px}.child-dialog h2{font-size:25px;margin:10px 10px 16px}.child-dialog>p,.child-dialog .mission-instruction{font-size:19px;line-height:1.65}.dialog .close-dialog{top:10px;right:9px;width:44px;height:44px}.dialog-actions{gap:18px}.child-dialog .dialog-actions .btn{--control-size:72px;min-width:72px;width:72px;padding:10px;border-radius:24px}.modal-mascot{margin-top:9px}.mission-demo{gap:20px}.mission-demo>.icon{width:42px;height:42px}.school-paper{padding:18px 12px}.school-formula{font-size:23px}.school-paper>p{font-size:17px}.answer-slot{min-width:36px;min-height:42px;font-size:23px}.example-play-preview{max-height:330px}.example-play-preview .play-world{zoom:.7;min-height:300px}.crystal-whole{gap:3px}.crystal-whole .play-button{min-height:82px;border-radius:9px}.crystal-whole .play-button svg{width:12px}.fraction-machine{gap:12px}.fraction-dial{padding:10px;gap:9px}.fraction-dial>small{font-size:13px}.fraction-dial .play-button{min-width:48px;min-height:48px}.coral-bed{gap:4px;padding:9px}.coral-plant{height:26px}.coral-plant i{width:6px;height:25px}.coral-dials{gap:8px}.play-dial{padding:9px;gap:8px}.play-dial .play-button{min-width:44px;min-height:46px}.expedition-layout{flex-direction:column;gap:14px}.map-cell{min-height:30px}.map-cell .map-coordinate{font-size:8px;left:1px;top:1px}.map-cell .luma-pawn{width:24px;height:25px}.map-cell .luma-pawn i{top:9px;left:6px}.map-cell .luma-pawn i+i{left:16px}.dpad{grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,48px);gap:4px}.dpad .play-button{min-width:52px;min-height:48px;padding:6px}.harbor-clock{width:230px}.clock-dials{gap:8px}.clock-dials .play-button{font-size:14px;min-width:60px}.temple-gates{gap:10px}.temple-gates .play-button{max-width:110px;min-width:80px;padding:5px}.stone-gate{width:65px;height:73px}.temple-gates strong{font-size:13px}.temple-offerings{gap:4px}.river-stops{gap:4px}.river-stops .play-button{min-width:51px;padding:2px}.river-stone{width:46px;height:51px;border-radius:15px}.river-stops small{font-size:11px}.river-stone .luma-pawn{left:5px;top:5px;width:30px;height:30px}.rune-bridge{gap:8px;min-height:190px}.fixed-rune,.rune-gap{min-width:45px;min-height:59px;font-size:18px;padding:5px;border-radius:14px}.rune-tray{gap:12px}.rune-piece{min-width:54px;min-height:58px;font-size:20px;padding:5px}.harvest-bars{gap:8px;padding:10px 4px 0}.harvest-column small{font-size:10px}.harvest-column strong{font-size:17px}.house-row{gap:5px;flex-wrap:wrap}.house-row .play-button{padding:5px}.mini-house{width:53px;height:58px}.mini-house output{font-size:17px;line-height:52px}.treasure-nests{gap:8px;grid-template-columns:repeat(3,minmax(70px,1fr))}.coffer{width:74px;height:70px}.coffer:after{left:27px}.coffer-count{font-size:23px;line-height:30px}.coffer-button{width:100%;padding:0}.coffer-undo{min-height:44px;min-width:44px;margin-bottom:10px}.atlas-grid{grid-template-columns:1fr;gap:17px}.island-node{min-height:132px;border-radius:25px}.island-node>.bounce-surface{display:flex;align-items:center;gap:0}.island-node-art{width:116px;height:142px;flex-shrink:0}.island-game-icon{right:7px;bottom:10px;padding:4px;border-radius:13px}.island-game-icon .icon{width:28px;height:28px}.island-node-copy{padding:14px;flex:1}.island-node-copy strong{font-size:16px}.island-node-copy .skill-subtitle{font-size:12px}.island-node-copy small{font-size:10px}.island-node-play{bottom:10px;right:10px}.atlas-guide{flex:0 0 65px}.atlas-guide .luma-mascot{width:65px;height:70px}.atlas-heading{gap:9px}.atlas-heading h1{font-size:26px}.atlas-heading .subtitle{font-size:14px}.grade-tabs{gap:8px}.grade-tab{min-width:43px;min-height:50px;padding:8px 10px}.strand-tabs{gap:8px}.strand-tab{font-size:12px;min-height:45px;padding:9px 12px}.atlas-banner{padding:20px 16px;gap:12px}.atlas-banner h2{font-size:19px}.atlas-banner p{font-size:14px}.atlas-emblem{display:none}.atlas-banner .kid-action{--control-size:64px;border-radius:22px}.map-marker>.bounce-surface>span{top:52px}.adventure-card>.bounce-surface{display:grid;grid-template-columns:100px 1fr}.welcome>.kid-action{width:96px!important;max-width:96px}.home-bottom>.btn.kid-action{width:70px;--control-size:70px}.high-contrast .mission-badge{background:#fff}.app-footer{padding:15px 12px;font-size:11px}.large-text .child-dialog>p{font-size:23px}}
/* Remates de accesibilidad: el foco de programa no es un borde alrededor del juego. */
#main:focus{outline:none}.play-thumbnail{display:block;width:100%;height:100%}.child-dialog .dialog-actions{justify-content:center}.child-dialog .dialog-actions>.kid-action{flex:0 0 auto!important;width:76px!important;min-width:76px;max-width:76px!important;height:76px;--control-size:76px}.show-button-labels .child-dialog .dialog-actions>.kid-action{width:auto!important;max-width:220px!important;height:auto;min-height:76px;flex:1 1 140px!important}
.crystal-overview{width:min(500px,100%);height:25px;border:3px solid #897ba4;border-radius:12px;overflow:hidden;background:#ede8f2;margin:12px auto}.crystal-overview>i{display:block;height:100%;width:var(--fill);background:#b0a0d5}.blueprint.triangular{clip-path:polygon(50% 0,100% 100%,0 100%);height:140px;border:0}
@media(max-width:520px){.child-dialog .dialog-actions>.kid-action{width:66px!important;min-width:66px;height:66px;--control-size:66px;max-width:66px!important}.island-node-copy .skill-subtitle{display:block;-webkit-line-clamp:unset;overflow:visible}.fraction-dial{flex-wrap:wrap}.tower-tools{flex-wrap:wrap}.tower-tools .play-button{min-width:38px;min-height:44px}.play-thumbnail{min-width:100%;object-fit:cover}}
.source-ruler{max-width:700px;margin:8px auto;background:#f9edcb;border:3px solid #c9b17c;border-radius:14px;padding:9px}.source-ruler svg{display:block;width:100%;height:auto}.source-ruler text{font:14px var(--font-child);fill:#746348}.rope-track .rope{transition:width 240ms var(--settle)}.source-ruler+.rope-track{padding-top:25px;min-height:190px}.child-ui .island-node-copy .skill-subtitle{white-space:normal;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset}.reduce-motion .rope-track .rope{transition:none}@media(prefers-reduced-motion:reduce){.rope-track .rope{transition:none}}

/* La salida no desaparece al mover la ficha: no convertir memoria visual en matemáticas. */
.map-cell-art{position:relative}.map-origin{position:absolute;inset:15%;border:3px dashed #745c93;border-radius:50%;opacity:.8;pointer-events:none}.map-origin::after{content:"";position:absolute;left:42%;top:-8%;width:4px;height:60%;background:#745c93}

/* Each catalog mission has its own semantic illustration, shared by map and game. */
.mission-demo>.mission-illustration{width:220px;height:110px;max-width:100%;margin:auto}.mission-stage-art>.mission-illustration{object-fit:contain}
.world-ornament>.mission-illustration{width:100%;height:100%;max-height:200px;object-fit:contain}
.cargo-variant{width:100%;min-width:0}.withdrawal-trays{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px auto;max-width:520px}.remaining-crate,.sent-crate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:105px;border:4px solid #967653;border-radius:12px;background:repeating-linear-gradient(0deg,#edce99 0 28px,#dbb37e 28px 31px);padding:12px;text-align:center}.sent-crate{border-style:dashed;background:#e4eee3}.withdrawal-trays output{font-size:clamp(28px,4vw,46px);font-weight:800;color:#334f3c}
.missing-equation{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:18px auto}.missing-equation>div{display:flex;flex-direction:column;gap:5px;align-items:center;padding:12px;min-width:90px;background:#f5e8c5;border-radius:14px}.missing-equation strong{font-size:32px}.missing-equation .mystery-crate{border:3px solid #9c855e;border-bottom-width:10px;background:#ddc299}.missing-board .cargo-water{display:none}.missing-board .cargo-hold{border-radius:16px;background:#eee4ca}
.jump-route{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:16px auto;max-width:650px;padding:20px 8px;background:linear-gradient(transparent 72%,#93b7a0 72%,#93b7a0 77%,transparent 77%)}.jump-stop{font-size:22px;font-weight:700;padding:9px;border-radius:40%;background:#e2dcc7;border:2px solid #a8a38d}.jump-stop.current{background:#f3d897;border:3px solid #6c956f}.jump-position{display:flex;align-items:center;justify-content:center;gap:14px}.jump-position output{font-size:36px;font-weight:800}.jump-board .play-tools{margin-top:18px}
.market-purpose{text-align:center;font-weight:700;margin:10px 0}.return-stall .stall-roof{display:none}.return-stall .market-wallet{border:4px solid #7c9b98;border-radius:9px;background:#dfeae6}.payment-stall .market-wallet{border-radius:22px}.market-wallet>span{display:block;text-align:center;font-size:16px;font-weight:700}.market-wallet>output{display:block}
@media(max-width:520px){.withdrawal-trays{gap:10px;margin:10px auto}.remaining-crate,.sent-crate{padding:8px;min-height:90px;font-size:14px}.missing-equation{gap:6px}.missing-equation>div{min-width:66px;padding:8px;font-size:14px}.missing-equation strong{font-size:26px}.jump-route{gap:6px;padding:12px 4px}.jump-stop{font-size:18px;padding:7px}}

.world-ornament>.mission-illustration>:nth-child(-n+3){display:none}
