
:root{font-family:ui-rounded,'Segoe UI',system-ui,sans-serif;color:#263f3a;background:#faf8f1;font-synthesis:none;--green:#267763;--muted:#667970;--line:#e2e7dc}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:14px;padding:13px 19px;background:#eaf0e5;color:#28483e;font-weight:650;min-height:48px}button:hover{filter:brightness(.96)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d99330;outline-offset:4px}header{max-width:1160px;margin:auto;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:inherit;line-height:1.15;font-size:15px}.brand-icon{width:45px;height:48px;border-radius:17px 17px 17px 5px;background:var(--green);color:white;display:grid;place-items:center;font-size:37px;font-weight:750}nav{display:flex;gap:7px}.nav{background:transparent;font-size:14px;color:var(--muted)}.nav.active{background:#e7ecdf;color:var(--green)}main{max-width:1100px;margin:0 auto;padding:44px 30px;min-height:72vh}h1{font-size:clamp(34px,5.5vw,60px);letter-spacing:-2px;line-height:1.08;margin:16px 0 23px;font-weight:750}h2{font-size:26px;letter-spacing:-.6px;margin:0 0 15px}h3{font-size:18px;margin:0 0 10px}p{line-height:1.65}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2px;font-weight:800;color:var(--green)}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:35px}.hero-copy>p{max-width:440px;font-size:17px;color:var(--muted)}.primary{background:var(--green);color:white;box-shadow:0 4px 0 #1c584a;padding:16px 26px}.secondary{background:white;border:1px solid var(--line)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:23px 0}.pill{display:inline-block;border-radius:30px;background:#eef0e2;padding:8px 12px;font-size:12px;font-weight:650}.scene{position:relative;min-height:330px;background:#e8f1e8;border-radius:46% 46% 35% 35%;overflow:hidden}.sun{position:absolute;right:50px;top:35px;width:65px;height:65px;border-radius:50%;background:#f6cc70}.cloud{position:absolute;top:65px;left:35px;font-size:68px;color:white;line-height:1}.island{position:absolute;bottom:30px;left:8%;width:84%;height:140px;background:#bdcf9c;border-radius:50%;box-shadow:0 23px 0 #93b783}.tree{position:absolute;bottom:105px;right:45px;font-size:110px;transform:rotate(8deg)}.letter-block{position:absolute;display:grid;place-items:center;width:83px;height:90px;border-radius:20px;font-size:58px;font-weight:800;box-shadow:0 8px 0 #00000014;bottom:85px}.block-p{left:70px;background:#f9d77e;transform:rotate(-12deg)}.block-l{left:165px;background:#fff9ec;transform:rotate(10deg);bottom:65px}.spark{position:absolute;left:185px;top:45px;font-size:30px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:40px 0 18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{background:white;border:1px solid var(--line);border-radius:23px;padding:24px}.card p{font-size:14px;color:var(--muted);margin-bottom:0}.card-icon{font-size:28px;display:block;margin-bottom:18px}.badge{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--green);font-weight:750}.settings-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}.panel{background:white;border:1px solid var(--line);padding:27px;border-radius:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}label{display:block;font-size:14px;font-weight:650}label small{display:block;color:var(--muted);font-weight:400;line-height:1.5;margin:6px 0}input:not([type=checkbox]),select{width:100%;min-height:48px;border:1px solid #c8d2c5;background:#fffefa;border-radius:11px;padding:10px;margin-top:8px;color:inherit}input[type=checkbox]{width:19px;height:19px;accent-color:var(--green)}.check{display:flex;align-items:center;gap:9px}.full{grid-column:1/-1}details{margin-top:24px}summary{cursor:pointer;font-weight:700;padding:10px 0}details .form-grid{margin-top:17px}.word-cloud{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.word-chip{background:#f0f2e8;border-radius:10px;padding:9px 13px;font-weight:750}.preview{position:sticky;top:22px}.error{color:#8c3b23;background:#fff1df;border-radius:12px;padding:13px;font-size:14px}.session{max-width:760px;margin:auto;text-align:center}.session-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.session-top p{margin:0;font-size:14px}.track{height:9px;border-radius:20px;background:#e2e8db;margin-bottom:36px;overflow:hidden}.track span{display:block;height:100%;background:#72a38a;transition:width .3s}.reading-card{padding:45px 20px;background:white;border:1px solid var(--line);border-radius:30px;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center}.reading-word{font-size:clamp(42px,9vw,78px);font-weight:750;letter-spacing:4px;margin:15px 0;overflow-wrap:anywhere;max-width:100%}.syllables{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.syllables span{border-bottom:4px solid #eab855;padding:8px}.session .actions{justify-content:center}.parent-controls{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.parent-controls p{font-size:13px;color:var(--muted)}.choices{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.choice{background:#fff;border:2px solid var(--line);font-size:55px;min-width:100px;min-height:100px}.tiles button{font-size:30px;background:#f8dfa0;min-width:80px}.stat{font-size:38px;font-weight:800;color:var(--green)}.history{width:100%;border-collapse:collapse;font-size:14px}.history td,.history th{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line)}.notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#254a40;color:white;padding:15px 22px;border-radius:15px;z-index:5;max-width:90%;box-shadow:0 4px 22px #0002}footer{max-width:1100px;margin:auto;padding:25px 30px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:20px}footer button{font-size:12px;background:transparent}dialog{border:1px solid var(--line);border-radius:25px;padding:30px;max-width:500px;width:90%;color:inherit}dialog::backdrop{background:#17352c80}.empty{padding:35px;text-align:center}.print-sheet{display:none}.subtle{font-size:13px;color:var(--muted)}@media(max-width:720px){header{padding:17px 16px}.brand{font-size:12px}.brand-icon{width:36px;height:40px}nav{gap:0}.nav{padding:10px;font-size:12px}main{padding:28px 18px}.hero{grid-template-columns:1fr;gap:10px}.hero-copy>p{font-size:16px}.scene{min-height:260px;max-width:430px;width:100%;margin:auto}.island{bottom:27px;height:110px}.tree{bottom:85px;font-size:90px}.letter-block{bottom:70px}.block-l{bottom:50px}.cards{grid-template-columns:1fr}.card{padding:20px}.card-icon{float:left;margin:0 18px 10px 0}.settings-layout{grid-template-columns:1fr}.preview{position:static}.form-grid{gap:16px}.panel{padding:20px}.section-head{margin-top:28px}h1{letter-spacing:-1px}.reading-card{min-height:210px;padding:30px 14px}footer{padding:20px;align-items:flex-start}.history{font-size:12px}.history th,.history td{padding:9px 4px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{body>*{display:none!important}body>.print-sheet{display:block!important;padding:20px}.print-sheet .word-cloud{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.print-sheet .word-chip{font-size:30px;border:1px solid #ccc;background:white;padding:20px;text-align:center}}
/* Isla y compañero: ilustración vectorial propia, sin recursos de terceros. */
:root{--green:#176f70;--accent:#f7bf55;--sky:#dff4f4;--sand:#f9e6b6;--ink:#203f51}body{color:var(--ink);background:#fcfaf3}h1 em{font-style:normal;color:#18827b}header{border-bottom:0}.brand-icon{background:#18827b}main{padding-top:32px}.hero{gap:36px;min-height:405px}.hero h1{font-size:clamp(34px,4.9vw,56px);line-height:1.1}.primary{background:#167c77;box-shadow:0 5px 0 #105b5c;transition:transform .15s,box-shadow .15s}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #105b5c}.secondary{box-shadow:0 3px 0 #e4e8df}.session-facts{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;font-weight:700;color:#5f7774}.lilo-island{height:415px;position:relative;background:var(--sky);border-radius:46% 48% 32% 42%;isolation:isolate}.island-sun{position:absolute;top:32px;right:52px;width:74px;height:74px;border-radius:50%;background:#ffda74;box-shadow:0 0 0 13px #ffda7430}.island-cloud{position:absolute;top:26px;left:40px;font-size:70px;color:white}.island-palm{position:absolute;right:2px;bottom:88px;font-size:115px;transform:rotate(10deg)}.island-ground{position:absolute;bottom:21px;left:3%;right:3%;height:137px;background:var(--sand);border-radius:50%;box-shadow:0 16px 0 #69c6be,0 29px 0 #b5e5da}.island-flower{position:absolute;bottom:55px;left:28px;font-size:45px;transform:rotate(-12deg)}.floating-letter{position:absolute;border-radius:18px;background:#ffcf6c;width:68px;height:74px;display:grid;place-items:center;font-size:45px;font-weight:800;box-shadow:0 7px 0 #dab66f;z-index:2}.letter-one{left:20px;top:151px;transform:rotate(-14deg)}.letter-two{right:18px;top:116px;transform:rotate(13deg);background:#d8c9fb;box-shadow:0 7px 0 #b5a4d6}.companion{display:flex;align-items:center;justify-content:center;gap:14px}.lilo-island>.companion{position:absolute;inset:52px 28px 26px;display:flex;flex-direction:column-reverse;gap:0}.lilo{display:block;width:240px;height:270px;padding:0;background:transparent;border:0;flex-shrink:0;position:relative;z-index:2;cursor:pointer}.lilo:hover{filter:none}.lilo svg{width:100%;height:100%;overflow:visible}.lilo-eyes{transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform .15s}.lilo-speech{position:relative;z-index:3;background:#fffef7;border:2px solid #e5d7ae;border-radius:18px;padding:12px 17px;font-size:14px;line-height:1.4;max-width:255px;box-shadow:0 5px 0 #b8cbb328;color:#365751;text-align:center;font-weight:650}.lilo-speech:after{content:'';position:absolute;bottom:-9px;left:46%;width:13px;height:13px;background:#fffef7;border-right:2px solid #e5d7ae;border-bottom:2px solid #e5d7ae;transform:rotate(45deg)}.lilo-body{transform-origin:120px 225px}.wing{transform-box:fill-box;transform-origin:50% 10%}.lilo[data-reaction=wave] .right-wing{animation:wave .28s ease-in-out 3 alternate}.lilo[data-reaction=happy] .lilo-body{animation:hop .45s ease-in-out 2}.lilo[data-reaction=happy] .wing{animation:wave .22s ease-in-out 4 alternate}.compact{margin:4px auto 12px;max-width:500px;min-height:105px}.compact .lilo{width:96px;height:108px}.compact .lilo-speech{font-size:13px;text-align:left;max-width:280px}.compact .lilo-speech:after{left:-8px;bottom:40%;transform:rotate(135deg);width:11px;height:11px}.destination-section{margin-top:24px}.destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.destination{padding:0;overflow:hidden;text-align:left;background:#fff;box-shadow:0 5px 0 #e6e9df;border:2px solid #e4e8dc;border-radius:22px;position:relative;display:block;transition:transform .18s,border-color .18s}.destination:hover{transform:translateY(-3px)}.destination.chosen{border-color:#278983;box-shadow:0 5px 0 #b1d9c9}.destination-art{display:grid;place-items:center;height:105px;font-size:59px;background:linear-gradient(160deg,#dbf7f2 50%,#ffe7ad 50%)}.destination-art.jungle{background:linear-gradient(155deg,#dcf0c5 50%,#b4d9a8 50%)}.destination-art.lagoon{background:linear-gradient(155deg,#eee3ff 50%,#c3ddeb 50%)}.destination>span:nth-child(2){display:block;padding:17px 36px 18px 16px}.destination strong{display:block;font-size:14px}.destination small{display:block;font-size:12px;font-weight:400;line-height:1.5;color:#617775;margin-top:5px}.selection-mark{position:absolute;bottom:24px;right:13px;display:grid;place-items:center;width:23px;height:23px;background:#e8efe2;color:#267763;border-radius:50%}.destination.chosen .selection-mark{background:#267763;color:white}.card{border:0;background:#f1f1e5;box-shadow:none}.card:nth-child(2){background:#fff0d4}.card:nth-child(3){background:#f0eafb}.experience-controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:30px 0 12px}.experience-controls button{font-size:12px;padding:10px 14px;min-height:44px}.centered{text-align:center}.journey{display:flex;justify-content:center;gap:8px;margin:15px 0 22px;flex-wrap:wrap}.journey-stop{width:29px;height:29px;border-radius:50%;background:#e8ecdf;display:grid;place-items:center;font-size:12px;font-weight:750;color:#728676;border:2px solid transparent}.journey-stop.current{border-color:#24877f;background:#fff7d7;color:#236a64}.journey-stop.done{background:#d1ebbf;color:#3c7753}.reading-card{border:2px solid #e1e7d8;box-shadow:0 8px 0 #e7ecdf;min-height:230px}.session .track{margin-bottom:24px}.session h2{font-size:28px}.session .parent-controls{margin-top:25px}.tiles button{box-shadow:0 5px 0 #deb96a;border:2px solid #f0c475;transition:transform .12s}.tiles button:active{transform:translateY(3px);box-shadow:0 2px 0 #deb96a}.choice{box-shadow:0 5px 0 #e7ecdf;transition:transform .14s,border-color .14s}.choice:hover{transform:translateY(-3px);border-color:#69b0a0}.catalog-note{font-size:13px;background:#fff3d7;border-radius:12px;padding:12px;line-height:1.5}.pagination{display:flex;gap:12px;align-items:center;justify-content:center;font-size:13px}.pagination button{min-width:44px;padding:8px}.syllable-caption{display:block;font-size:11px;letter-spacing:0;font-weight:400;margin-top:7px}.souvenir{font-size:44px;letter-spacing:15px;margin:15px auto}.session>.companion:not(.compact){flex-direction:column;gap:4px}.session>.companion:not(.compact) .lilo{height:185px;width:165px}.session>.companion:not(.compact) .lilo-speech{max-width:420px}.confetti{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}.confetti i{position:absolute;top:18%;left:var(--x);width:9px;height:16px;border-radius:3px;opacity:0;animation:confetti-fall 1.2s var(--delay) ease-out forwards}.word-chip{font-size:15px}a{color:#176f70}#feedback:empty{display:none}html[data-theme=jungle]{--sky:#e1f0cf;--sand:#c3db9d}html[data-theme=lagoon]{--sky:#eee8fa;--sand:#d2ddf4}@keyframes wave{from{transform:rotate(-12deg)}to{transform:rotate(-70deg)}}@keyframes hop{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-15px) rotate(-5deg)}70%{transform:translateY(-5px) rotate(5deg)}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-25px) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translateY(320px) rotate(var(--spin))}}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}html[data-motion=off] .confetti{display:none}html[data-motion=off] .lilo-eyes{transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.confetti{display:none}.lilo-eyes{transform:none}}@media(max-width:720px){.hero{gap:15px}.hero h1{font-size:39px}.lilo-island{height:340px;max-width:420px;margin:12px auto 0;width:100%}.lilo-island>.companion{inset:28px 18px 20px}.lilo-island .lilo{width:190px;height:215px}.island-palm{font-size:88px;right:6px;bottom:77px}.island-ground{height:107px;bottom:18px}.island-flower{font-size:34px;bottom:45px}.island-cloud{font-size:48px;left:25px;top:26px}.island-sun{height:55px;width:55px;right:36px;top:31px}.floating-letter{width:51px;height:58px;font-size:36px}.letter-one{top:143px;left:6px}.letter-two{top:126px;right:5px}.lilo-island .lilo-speech{font-size:12px;max-width:220px}.destinations{grid-template-columns:1fr;gap:12px}.destination{display:flex;align-items:center;min-height:89px}.destination-art{width:95px;min-width:95px;height:93px;font-size:46px}.destination>span:nth-child(2){padding:12px 35px 12px 14px}.destination strong{font-size:14px}.selection-mark{bottom:34px}.destination-section .section-head{align-items:flex-start;flex-direction:column;gap:8px}.destination-section .section-head h2{margin:7px 0}.section-head .badge{max-width:125px;text-align:right}.hero .actions{margin:20px 0}.session-facts{gap:10px;font-size:11px}.compact{gap:7px;margin-bottom:7px}.compact .lilo{width:78px;height:88px}.compact .lilo-speech{padding:10px;font-size:12px;max-width:220px}.journey{gap:6px}.journey-stop{width:25px;height:25px;font-size:11px}.session h2{font-size:24px}.reading-word{letter-spacing:2px}.experience-controls{gap:8px}.experience-controls button{font-size:11px}.session-top{margin-bottom:17px}.panel .history{display:block;overflow:auto}}@media print{.print-sheet{color:black}}
/* Compañeros y selector de actividades. */
.companion-selection{display:flex;justify-content:center;margin:20px 0 30px}.companion-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.companion-option{background:#fffaf0;border:2px solid #e5decb;padding:8px 10px;min-width:0;display:flex;align-items:center;flex-direction:column}.companion-option[aria-pressed=true]{border-color:#18827b;background:#e6f2df}.avatar-preview{display:block;width:105px;max-width:100%}.avatar-preview svg{display:block;width:100%;height:auto}.companion-option strong{font-size:16px}.companion-option small{font-size:11px;line-height:1.4;font-weight:400;margin:5px 0}.game-section{margin:25px 0 10px}.game-section h2{margin-top:9px}.game-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.game-option{display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:9px;background:#fff0d4;border:2px solid #eaddbb;padding:18px;box-shadow:0 4px 0 #e4d8bc}.game-option:nth-child(2){background:#e5f1de}.game-option:nth-child(3){background:#ece8fa}.game-option>span{font-size:30px}.game-option strong{font-size:17px}.game-option small{font-size:12px;line-height:1.4;font-weight:400}.game-option.chosen{border-color:#18827b;box-shadow:0 4px 0 #a9d2bf}.full-adventure{margin-top:16px}.full-adventure[aria-pressed=true]{border:2px solid #18827b}.destination-section>summary{font-size:15px}.word-meaning{font-size:16px;line-height:1.4;color:#536e6a;margin:4px 0 8px;max-width:480px}.reading-word{overflow-wrap:anywhere}.play-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.play-heading h2{text-align:left;margin:0;font-size:24px}.play-heading .compact{margin:0;min-height:0;gap:8px;max-width:290px}.play-heading .compact .lilo{width:68px;height:77px}.play-heading .lilo-speech{max-width:175px}.build-target{font-size:14px;margin:0;color:#49675c}.meaning-prompt{font-size:14px;line-height:1.4;margin:5px 0}.word-meaning a{font-size:10px}.play-session #feedback{font-size:13px;line-height:1.3;margin:0;min-height:17px}.play-session #feedback:empty{display:block}.play-session .reading-word{font-size:clamp(30px,7vw,62px);letter-spacing:2px;margin:5px 0}.play-session .tiles button{font-size:clamp(20px,5vw,28px);min-width:58px;min-height:48px;padding:7px 13px}.play-session .tiles{gap:10px;margin-top:10px}.play-session .syllables span{padding:4px}.play-session .reading-card{min-height:0;padding:16px 12px;box-shadow:0 4px 0 #e7ecdf;gap:5px}.play-session .track{margin:0;height:6px;flex-shrink:0}.play-session .session-top{margin:0;min-height:44px}.play-session .session-top p{font-size:13px}.play-session .parent-controls{margin:6px 0 0;padding:6px 0 0;border-top:1px solid #e1e7db}.play-session .parent-controls p{margin:0 0 7px;font-size:12px;line-height:1.35}.play-session .actions{margin:10px 0 2px;gap:10px}.play-session .choice{font-size:52px;min-width:80px;min-height:80px;padding:8px}.play-session #activity>.subtle{font-size:12px;line-height:1.3;margin:10px 0 5px}.play-session .choices{gap:9px}.play-session .parent-controls>.choices{display:grid;grid-template-columns:repeat(3,1fr)}.play-session .parent-controls>.choices>button{padding:8px 5px;font-size:12px;min-height:44px}.play-session #skip{align-self:center;min-height:40px;padding:7px 15px;font-size:12px}body[data-screen=play]>header,body[data-screen=play]>footer{display:none}body[data-screen=play] #app{width:100%;max-width:820px;min-height:0;padding:calc(8px + env(safe-area-inset-top)) 14px calc(8px + env(safe-area-inset-bottom));margin:auto}body[data-screen=play] .play-session{height:calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;max-width:760px}body[data-screen=play] #activity{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}body[data-screen=play] .reading-card{flex:1;justify-content:center}body[data-screen=play] #play-options{width:44px;padding:8px;font-size:22px}body[data-screen=play] #exit{min-height:44px;padding:8px 15px}.play-session .parent-controls .actions button{flex:1;min-width:0;padding:8px 10px;font-size:12px;min-height:44px}.play-session .syllables{gap:8px}.play-session .reading-word{max-width:100%}.companion-dialog{max-width:600px}#companion-dialog{max-width:560px}#companion-dialog h2{font-size:23px}#companion-dialog>p{font-size:14px}#play-options-dialog .experience-controls{margin:18px 0 25px}@media(max-width:720px){.game-options{gap:8px}.game-option{padding:12px 9px;gap:6px}.game-option strong{font-size:13px}.game-option small{font-size:11px}.game-option>span{font-size:25px}.full-adventure{font-size:12px;min-height:44px}.companion-selection{margin:12px 0 22px}.companion-selection>button{font-size:13px}.play-heading{gap:6px;min-height:64px}.play-heading h2{font-size:21px;max-width:185px}.play-heading .compact{gap:0;max-width:128px}.play-heading .compact .lilo{width:62px;height:70px}.play-heading .lilo-speech{display:none}.play-session .word-meaning{font-size:14px;line-height:1.35;margin:3px 0 6px}.play-session .reading-word{font-size:clamp(28px,9vw,48px);line-height:1.12;letter-spacing:1px;max-width:100%}.play-session .actions{gap:8px;margin:9px 0 2px}.play-session .actions button{min-height:44px;padding:8px 11px;font-size:12px}.play-session .reading-card{padding:12px 10px;border-radius:23px}.play-session .tiles button{font-size:23px;min-width:57px;padding:7px 10px}.play-session .tiles{gap:9px}.play-session .choice{min-width:72px;min-height:72px;font-size:46px;padding:6px}.play-session .parent-controls>.choices>button{font-size:11px}.play-session .parent-controls p{font-size:11px}.companion-options{gap:7px}.companion-option{padding:6px}.avatar-preview{width:85px}.companion-option strong{font-size:14px}.companion-option small{font-size:10px}#companion-dialog{padding:22px 16px}}@media(max-height:650px) and (orientation:portrait){body[data-screen=play] .play-session{gap:6px}.play-heading{min-height:48px}.play-heading .compact .lilo{width:46px;height:52px}.play-heading h2{font-size:19px}.play-session .reading-card{padding:9px}.play-session .reading-word{font-size:clamp(27px,8vw,40px)}.play-session .word-meaning{font-size:13px;line-height:1.25}.play-session .actions{margin-top:7px}.play-session .choice{font-size:40px;min-height:60px;min-width:60px}.play-session #feedback{font-size:11px;min-height:14px}}@media(max-height:450px) and (orientation:landscape){body[data-screen=play] .play-session{height:auto;min-height:calc(100dvh - 16px)}.play-heading{min-height:30px}.play-heading .compact{display:none}.play-session .reading-card{min-height:100px}.play-session .reading-word{font-size:30px}}
/* Rexi, personalidades y compañero protagonista. */
.companion-options{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-settings{border:1px solid #dce5d7;border-radius:16px;padding:16px;margin:0 0 24px;display:grid;gap:12px}.flow-settings legend{font-weight:750;padding:0 7px}.flow-settings p{margin:0}.play-heading{display:grid;grid-template-columns:1fr;gap:0}.play-heading h2{font-size:15px;max-width:none;text-align:left;color:#58746d}.play-heading .compact{width:100%;max-width:none;justify-content:flex-start;gap:12px;min-height:96px}.play-heading .compact .lilo{width:86px;height:97px}.play-heading .lilo-speech{display:block;max-width:none;flex:1;text-align:left;font-size:14px;padding:10px 12px}.direct-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 3px;flex-wrap:wrap}.direct-controls small{font-size:12px}.direct-controls button{font-size:14px;min-height:44px;padding:10px 16px}.lilo[data-reaction=trick] .lilo-body{animation:hop .4s ease-in-out 2}.companion[data-companion=parrot] .lilo[data-reaction=trick] .wing{animation:wave .18s ease-in-out 5 alternate}.companion[data-companion=pirate] .lilo[data-reaction=trick] svg{animation:boat-rock .8s ease-in-out}.companion[data-companion=monkey] .lilo[data-reaction=trick] .lilo-body{animation:monkey-dance .9s ease-in-out}.companion[data-companion=trex] .lilo[data-reaction=trick] .lilo-body{animation:rex-stomp .8s ease-in-out}.companion[data-companion=trex] .lilo[data-reaction=trick] .rex-tail{transform-origin:150px 215px;animation:wave .2s ease-in-out 4 alternate}@keyframes boat-rock{25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}@keyframes monkey-dance{25%{transform:translateY(-16px) rotate(-12deg)}65%{transform:translateY(-9px) rotate(14deg)}}@keyframes rex-stomp{25%{transform:translateY(-10px) rotate(-5deg)}45%{transform:translateY(3px)}70%{transform:translateY(-8px) rotate(5deg)}}
.stats-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.stats-summary h3{font-size:14px;margin-bottom:0}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0}.stats-grid .wide{grid-column:1/-1}.chart-panel h2,.stats-detail h2{font-size:21px}.chart-row{display:grid;grid-template-columns:105px minmax(20px,1fr) 38px;align-items:center;gap:10px;margin:12px 0;font-size:13px}.bar-track{height:20px;background:#eef1e8;border-radius:7px;overflow:hidden}.bar-track span{display:block;height:100%;min-width:2px;background:#35a296;border-radius:7px}.chart-row:nth-child(2n) .bar-track span{background:#b293dc}.chart-row:nth-child(3n) .bar-track span{background:#edb84b}.timeline{display:flex;gap:10px;overflow-x:auto;padding:8px 0;align-items:end}.day-column{flex:1;min-width:43px;text-align:center}.day-column strong{font-size:13px}.day-track{height:150px;background:#f1f4eb;display:flex;align-items:end;border-radius:8px;margin:7px 0}.day-track span{display:block;width:100%;background:linear-gradient(#55b6ac,#1d8079);border-radius:8px}.day-column small{font-size:11px}.stats-detail{margin:20px 0}.table-scroll{overflow-x:auto}.stats-detail .history{min-width:530px}.stats-detail td{overflow-wrap:anywhere}.stats-summary .stat{font-size:32px}.chart-panel{min-width:0}body[data-screen=progress] .section-head{align-items:end}body[data-screen=progress] h1{font-size:40px}
@media(max-width:720px){.play-heading .compact{min-height:84px;gap:8px}.play-heading .compact .lilo{width:74px;height:84px}.play-heading .lilo-speech{display:block;font-size:12px;padding:8px 10px;max-width:none}.play-heading h2{font-size:14px}.stats-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-summary .card{padding:16px}.stats-grid{grid-template-columns:1fr}.stats-grid .wide{grid-column:auto}.stats-summary .stat{font-size:28px}body[data-screen=progress] .section-head{display:block}body[data-screen=progress] h1{font-size:34px}.chart-row{grid-template-columns:95px minmax(20px,1fr) 30px;gap:7px}.flow-settings{padding:12px}.direct-controls{gap:7px}.direct-controls small{width:100%;order:2}}
@media(max-height:650px) and (orientation:portrait){.play-heading .compact{min-height:70px}.play-heading .compact .lilo{width:62px;height:70px}.play-heading .lilo-speech{font-size:11px;padding:7px 9px}.play-heading h2{font-size:13px}.direct-controls{margin:6px 0 0;gap:5px}.direct-controls button{padding:7px 12px;font-size:12px}.play-session .reading-card{gap:2px}.play-session .word-meaning{margin:2px 0 3px}}
.day-column{max-width:70px}.timeline{min-height:196px}.day-column strong{display:block}
/* El compañero acompaña la palabra: las visitas no capturan toques ni cambian el espacio. */
.helper-visitor{position:fixed;left:0;top:0;z-index:8;pointer-events:none;contain:layout style;filter:drop-shadow(0 5px 4px #153d3925)}.helper-visitor svg{display:block;width:100%;height:100%;overflow:visible}.helper-trail{position:fixed;z-index:7;pointer-events:none;font-size:27px;animation:helper-trail 1.5s ease-out both}.helper-visitor[data-companion=parrot] .wing{animation:wave .18s ease-in-out infinite alternate}.helper-visitor[data-companion=pirate] svg{animation:boat-rock .7s ease-in-out infinite}.helper-visitor[data-companion=monkey] .lilo-body{animation:monkey-dance .65s ease-in-out infinite}.helper-visitor[data-companion=trex] .lilo-body{animation:rex-stomp .65s ease-in-out infinite}.companion.speaking .lilo-body{animation:helper-talk .28s ease-in-out infinite alternate}.companion.speaking .lilo-speech{border-color:#4dafa5;box-shadow:0 3px 0 #9dd7c833}.game-option{position:relative;padding-right:30px}.game-check{position:absolute;top:12px;right:10px;font-size:20px!important;color:#287c72}.game-option:not(.chosen){background:#fffdf7;border-color:#e0e4d9;box-shadow:none}.game-option:not(.chosen)>span:first-child{opacity:.65}.reading-word[role=button]{cursor:pointer;border-radius:8px}.reading-word:focus-visible{outline:3px solid #d99330;outline-offset:5px}input:disabled{background:#f0f2e9!important;color:#6a786e}.play-heading .compact .lilo{width:94px;height:106px}.play-heading .compact{min-height:106px}.hero .lilo-island{margin-bottom:8px}@keyframes helper-talk{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-3px) rotate(1deg)}}@keyframes helper-trail{0%{opacity:0;transform:translateY(0) scale(.6)}25%{opacity:.8}100%{opacity:0;transform:translateY(-25px) scale(1.2)}}@media(max-width:720px){.play-heading .compact .lilo{width:84px;height:94px}.play-heading .compact{min-height:94px}.game-option{padding-right:23px}.game-check{top:8px;right:7px;font-size:17px!important}}@media(max-height:650px) and (orientation:portrait){.play-heading .compact .lilo{width:66px;height:74px}.play-heading .compact{min-height:74px}}@media(prefers-reduced-motion:reduce){.helper-visitor,.helper-trail{display:none!important}}
input[disabled][name=known],input[disabled][name=starts]{display:none}
/* Confeti ilustrado según el compañero; un único ayudante permanece en su sitio. */
.confetti i{width:27px;height:31px;background:transparent!important;border-radius:0;box-shadow:none}.confetti i svg{display:block;width:100%;height:100%;overflow:visible}.confetti[data-companion=parrot] i:nth-child(3n) svg{filter:hue-rotate(65deg)}footer{flex-wrap:wrap}.footer-note{display:flex;flex-direction:column;gap:4px;line-height:1.45}.footer-note strong{color:var(--ink);font-size:13px}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}footer #install-info{padding:2px 0;min-height:0}.footer-meta{display:flex;align-items:center;gap:5px}.footer-meta a{color:#167c77;font-weight:650;text-decoration:none}.footer-meta a:hover{text-decoration:underline}@media(max-width:720px){footer{flex-direction:column;align-items:center;text-align:center;gap:14px}.footer-note,.footer-right{align-items:center}}
