@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;500;600;700;800&family=Fraunces:ital,wght@0,600;0,700;1,600&display=swap');
:root{color-scheme:dark;--ink:#faf6ff;--muted:#c8bfd9;--accent:#95f3b5;--panel:#151020;--gap:7px;font-family:'Bricolage Grotesque',system-ui,sans-serif;background:#070612;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 30% 15%,#27134460,transparent 60%),#070612}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,#board:focus-visible{outline:3px solid #ffdd80;outline-offset:5px}[hidden]{display:none!important}
.adventure-top{max-width:1260px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:19px 30px;border-bottom:1px solid #ffffff15;gap:16px}.back-link{text-decoration:none;font-size:15px;font-weight:700;min-height:44px;display:flex;align-items:center}.brand-small{font-size:11px;letter-spacing:.16em;color:var(--muted)}.brand-small b{font-family:Fraunces,serif;font-size:25px;letter-spacing:0;color:#ffdc85;margin-left:6px}.icon-button{border:1px solid #ffffff30;background:#ffffff08;border-radius:14px;color:#eee6ff;padding:10px 14px;min-height:44px}.icon-button span{font-size:14px}
.adventure-shell{max-width:1190px;margin:0 auto;padding:26px 28px 36px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--accent);margin:0 0 8px}.game-heading h1{font-size:clamp(26px,3vw,40px);font-weight:700;letter-spacing:-.045em;line-height:1.1;margin:0}.game-heading h1 em{font-family:Fraunces,serif;font-weight:600;color:#ffdfa0}.soft-button,.quiet-button,.primary-button{min-height:46px;border-radius:14px;padding:11px 16px;font-weight:700;font-size:15px;line-height:1.3}.soft-button{border:1px solid #ffffff30;background:#ffffff09;color:#eee6ff}.soft-button:hover{background:#ffffff15}.quiet-button{border:0;background:transparent;color:#cdc1df}.quiet-button:hover{color:#fff}.primary-button{border:0;background:#ffe18a;color:#29153a;box-shadow:0 5px 0 #9e743d;padding:16px 24px}.primary-button:hover{background:#ffecb4}.game-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(265px,.9fr);gap:28px;align-items:start}
.theatre{position:relative;border:1px solid #bca5e353;border-radius:30px;overflow:hidden;isolation:isolate;padding:18px;box-shadow:0 25px 80px #0007,0 0 0 7px #fff02}.world-art{position:absolute;inset:0;z-index:-2;background-image:url('mundos-estrellas.png');background-size:300% 200%;background-position:0 0;transition:opacity .3s}.theatre::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#080c19b8,#090b2255 25%,#090b2255 75%,#080c19d9)}.world-topline,.theatre-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700}.world-topline{min-height:34px;margin-bottom:12px;font-size:12px;letter-spacing:.08em}.world-topline span:first-child{color:#fff8e5;background:#090b2177;padding:8px 11px;border:1px solid #fff2;border-radius:10px}#key-status{font-size:13px;letter-spacing:0}.theatre-bottom{margin-top:14px;min-height:30px;font-size:14px;text-shadow:0 1px 3px #000}#stars-count{font-size:19px;color:#fff3be}.no-rush{color:#e3dcf5;font-size:12px}
.board{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--gap);aspect-ratio:1;width:100%;border-radius:14px;outline-offset:6px}.tile{aspect-ratio:1;border:1px solid #d3f0ff77;border-radius:12px;padding:0;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(145deg,#f6f5e9ed,#cbded9e0);box-shadow:0 4px 0 #213746bb,0 6px 10px #0003;font-size:clamp(19px,3vw,29px);color:#372949;transition:filter .15s,box-shadow .15s}.tile.wall{background:transparent;border-color:transparent;box-shadow:none;pointer-events:none}.tile.neighbor{border:2px solid #f7ffe8;box-shadow:0 4px 0 #376960,0 0 12px #b7ff9944}.tile.neighbor:hover{filter:brightness(1.18);box-shadow:0 4px 0 #376960,0 0 0 3px #fff9}.tile.portal{background:radial-gradient(circle,#e4b9ff,#9470ddeb);border-color:#edcaff}.tile.gate{background:linear-gradient(135deg,#ffeeaf,#d8a44e);border-color:#ffeaba}.tile.exit{background:linear-gradient(135deg,#baffda,#c9b0ff);border-color:#f8ffe8}.tile.used-star::after{content:'✧';font-size:18px;color:#8b7b4080}.tile.hint-tile{outline:4px solid #ffe267;outline-offset:1px;box-shadow:0 0 25px #ffd653b0;z-index:3}.puki-piece{position:absolute;width:calc((100% - 6 * var(--gap))/7);height:calc((100% - 6 * var(--gap))/7);pointer-events:none;z-index:5;display:flex;align-items:center;justify-content:center;transition:left .15s ease,top .15s ease;filter:drop-shadow(0 5px 3px #17363777)}.puki-piece img{width:94%;height:94%;object-fit:contain;transform:translateY(-4%)}
.mission-panel{padding:12px 4px 0;position:relative}.world-number{position:absolute;right:5px;top:0;font-size:82px;line-height:1;font-weight:800;color:#ffffff08;letter-spacing:-.07em;pointer-events:none}.mission-panel h2{font-family:Fraunces,serif;font-size:clamp(28px,3vw,37px);line-height:1.12;font-weight:600;letter-spacing:-.025em;margin:10px 0 14px;max-width:310px}.mission-panel>p:not(.eyebrow){font-size:16px;line-height:1.6;color:var(--muted)}.mission-goal{margin-top:22px;background:linear-gradient(120deg,#ffffff0b,#ffffff03);border:1px solid #ffffff20;border-radius:19px;padding:18px}.mission-goal>span{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--accent);display:block;margin-bottom:9px}.mission-goal strong{font-size:21px;display:block;letter-spacing:-.025em}.mission-goal p{font-size:14px;line-height:1.5;margin:8px 0 0;color:var(--muted)}#feedback{min-height:58px;font-size:15px;line-height:1.5;color:#e6dcf4;margin:18px 0 10px}.help-row{display:flex;flex-wrap:wrap;gap:6px}.help-row .soft-button{border-color:#c7a7ff55;background:#9970e31a}.direction-pad{display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(3,44px);gap:5px;justify-content:center;margin:20px auto 16px}.direction-pad button{border:1px solid #bca3e170;border-radius:12px;font-size:25px;color:#f0eaff;background:#231b36;box-shadow:0 3px 0 #08050f;touch-action:manipulation}.direction-pad button:active{background:#6c538d;transform:translateY(2px)}.direction-pad button[data-dir=up]{grid-column:2}.direction-pad button[data-dir=left]{grid-column:1;grid-row:2}.direction-pad span{grid-column:2;grid-row:2;place-self:center;color:var(--accent);font-size:23px}.direction-pad button[data-dir=right]{grid-column:3;grid-row:2}.direction-pad button[data-dir=down]{grid-column:2;grid-row:3}.how-to{font-size:14px;line-height:1.55;color:var(--muted);border-top:1px solid #fff2;padding-top:14px}.how-to summary{cursor:pointer;font-weight:700;color:#eadffa;min-height:36px}.how-to p{margin:10px 0}.mission-panel .save-note{font-size:12px!important;margin-top:13px;color:#9d90b0!important}
dialog{border:1px solid #a98bc966;border-radius:28px;background:#151021;color:#fff6ff;box-shadow:0 25px 100px #000b;padding:32px;max-width:min(590px,calc(100vw - 26px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#060412c9;backdrop-filter:blur(8px)}dialog h2{font-family:Fraunces,serif;font-weight:600;font-size:34px;line-height:1.12;margin:8px 0 14px}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:#ffffff10;color:#fff;width:44px;height:44px;border-radius:50%;font-size:27px}.dialog-intro{color:var(--muted);line-height:1.5}.world-choice{width:100%;display:flex;align-items:center;gap:16px;background:#ffffff07;border:1px solid #a086be44;border-radius:16px;color:#fff;padding:12px;margin:10px 0;text-align:left;min-height:88px}.world-choice:disabled{opacity:.42}.world-choice:not(:disabled):hover{background:#372547}.world-choice .mini-world{width:64px;height:64px;flex:none;border-radius:12px;background-image:url('mundos-estrellas.png');background-size:300% 200%;border:1px solid #fff3}.world-choice strong{display:block;font-size:17px;margin-bottom:5px}.world-choice small{font-size:13px;color:#d7c9e7}.world-choice .world-mark{margin-left:auto;font-size:23px;color:#ffe290}.win-stars{font-size:48px;letter-spacing:16px;text-align:center;color:#ffe496;filter:drop-shadow(0 0 15px #ffcf7280);padding:10px 0 22px}#win-dialog{text-align:center}#win-story{font-size:17px;line-height:1.6;color:#dacee9;max-width:430px}.win-summary{display:flex;justify-content:center;gap:14px;margin:22px 0 28px;font-size:17px}.win-summary span{background:#fff08;border:1px solid #fff2;border-radius:15px;padding:14px}#win-dialog .primary-button{display:block;width:100%;margin-bottom:12px}.celebrate{animation:hop .55s ease}@keyframes hop{50%{transform:translateY(-14px) rotate(-6deg)}}
@media(min-width:1400px){.adventure-shell{padding-top:40px}}
@media(max-width:850px){.game-layout{grid-template-columns:minmax(0,1fr);gap:22px;max-width:600px;margin:auto}.mission-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:0 4px}.mission-panel>.eyebrow,.mission-panel>h2,.mission-panel>#story,.mission-goal,.how-to,.save-note{grid-column:1/-1}.mission-panel h2{max-width:none;margin:0;font-size:29px}.mission-panel>#story{margin:0;font-size:15px}.mission-goal{margin-top:2px;padding:14px}.mission-goal>span{display:none}.mission-goal strong{font-size:19px}.mission-goal p{margin:4px 0 0}.help-row{grid-column:1;grid-row:auto;align-content:start}.direction-pad{grid-column:2;grid-row:6/8;margin:4px auto;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,48px)}#feedback{grid-column:1;min-height:0;margin:0;font-size:14px}.world-number{display:none}.how-to{margin-top:4px}.game-heading{max-width:600px;margin:0 auto 20px;align-items:flex-start}.game-heading h1{font-size:29px}.game-heading h1 em{display:block}.game-heading .soft-button{font-size:13px;white-space:nowrap;padding:10px}.adventure-shell{padding:24px 18px 30px}.theatre{padding:14px;border-radius:24px}.brand-small{display:none}.adventure-top{padding:10px 18px}.game-heading .eyebrow{font-size:10px}}
@media(max-width:400px){:root{--gap:5px}.adventure-shell{padding:19px 10px 24px}.adventure-top{padding:8px 12px}.tile{border-radius:9px;font-size:23px}.theatre{padding:11px}.world-topline{font-size:10px}.game-heading h1{font-size:26px}.game-heading{gap:10px}.direction-pad{grid-template-columns:repeat(3,45px);grid-template-rows:repeat(3,46px)}.help-row .soft-button,.help-row .quiet-button{font-size:14px;padding:10px}.no-rush{font-size:10px}.mission-panel{gap:9px 10px}dialog{padding:28px 20px}dialog h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* El mismo cielo de estrellas de la portada. */
body{isolation:isolate;background:#030308}#lola-stars{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}#lola-stars span{position:absolute;color:var(--star);font-size:var(--size);line-height:1;opacity:.65;text-shadow:0 0 7px currentColor}#lola-stars span:nth-child(9n){animation:lola-twinkle 7s ease-in-out infinite alternate;animation-delay:var(--delay)}@keyframes lola-twinkle{from{opacity:.25}to{opacity:.85}}@media(prefers-reduced-motion:reduce){#lola-stars span{animation:none!important}}
