/* La casa delle parole — all game styles stay inside the new module. */
.casa-page-hero{background:linear-gradient(115deg,#f6f0e6,#edf0e5)}
.casa-page-hero .lead{max-width:760px}
.casa-page-hero .casa-hero-labels{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.4rem}
.casa-hero-labels span{border:1px solid #254d3f30;border-radius:30px;padding:.4rem .8rem;font-size:.85rem;color:#254d3f}
#casa-app{--casa-ink:#234b40;--casa-cream:#f8f4eb;--casa-line:#dedfd4;--casa-coral:#ad5944;--casa-sage:#e9efdf;color:var(--casa-ink);background:#fffdfa;border:1px solid var(--casa-line);border-radius:26px;overflow:hidden;scroll-margin-top:90px;isolation:isolate}
#casa-app *,#casa-app *:before,#casa-app *:after{box-sizing:border-box}
#casa-app button,#casa-app select{font:inherit;color:inherit}
#casa-app button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#casa-app button:disabled{cursor:default}
#casa-app button:focus-visible,#casa-app select:focus-visible{outline:3px solid #ad5944;outline-offset:3px}
#casa-app button,#casa-app select{min-height:46px}
#casa-app img{display:block;max-width:100%;height:auto}
.casa-app-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--casa-line);background:#f4f1e8}
.casa-app-brand{font-family:Georgia,serif;font-size:1.15rem}
.casa-controls{display:flex;gap:.4rem;flex-wrap:wrap}
.casa-button{border:1px solid var(--casa-line);border-radius:12px;padding:.65rem 1rem;background:#fffdfa;font-size:.9rem!important;font-weight:650!important;line-height:1.4;display:inline-flex;justify-content:center;align-items:center;gap:.4rem;text-align:center;max-width:100%}
.casa-button:hover{border-color:#718b6e;background:#f1f4e9}
.casa-controls .casa-button{padding:.45rem .7rem;font-size:.78rem!important}
.casa-controls .casa-button[aria-pressed=true]{background:#e4eddf;border-color:#c2cebc}
.casa-primary{background:var(--casa-ink);border-color:var(--casa-ink);color:white!important}
.casa-primary:hover{background:#173e33}
.casa-link-button{border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:4px;padding-inline:.1rem}
.casa-link-button:hover{background:transparent;border-color:transparent}
.casa-status{margin:0!important;padding:0 1.4rem;min-height:0;line-height:1.5;font-weight:600;color:#7e482f}
.casa-status:not(:empty){padding:1rem 1.4rem;background:#faf0dd;border-top:1px solid var(--casa-line)}
.casa-entry{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;min-height:480px;padding:3rem}
.casa-entry h2{font-size:clamp(2rem,4vw,3rem);max-width:420px;line-height:1.1}
.casa-entry p{max-width:390px;color:#627366;line-height:1.7}
.casa-kicker{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--casa-coral)!important}
.casa-facade{position:relative;width:330px;max-width:100%;height:345px;margin:45px auto 0;background:#f0e2c9;border:2px solid #bca989;border-bottom:8px solid #a2aa84;border-radius:12px 12px 8px 8px;box-shadow:0 15px 0 -8px #dfe5d4}
.casa-roof{position:absolute;left:-7%;right:-7%;top:-90px;height:105px;background:#b65d43;clip-path:polygon(50% 0,100% 88%,100% 100%,0 100%,0 88%)}
.casa-roof:after{content:'';position:absolute;inset:12px 12px 0;background:#c77254;clip-path:polygon(50% 0,100% 100%,0 100%)}
.casa-window{display:grid;grid-template-columns:1fr 1fr;gap:5px;position:absolute;width:72px;height:77px;left:30px;top:45px;padding:7px;background:#9f9f74;border-radius:38px 38px 5px 5px;overflow:hidden}
.casa-window i{background:#d3e3df;border-radius:2px}
.casa-doorway{position:absolute;right:55px;bottom:0;width:128px;height:242px;background:#f2ce84;border:5px solid #a38258;border-bottom:0;border-radius:65px 65px 0 0;perspective:650px}
.casa-door-glow{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;color:#8c6843;font-size:1.15rem;box-shadow:inset 0 0 38px #f7e4ae;border-radius:60px 60px 0 0}
.casa-door{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:60px 60px 0 0;background:#516d4d;transform-origin:left center;transition:transform 1s cubic-bezier(.25,.8,.3,1);box-shadow:inset 0 0 0 6px #718263;transform-style:preserve-3d}
.casa-door:hover{background:#5c7856}
.casa-door-open{transform:rotateY(-112deg)}
.door-panel{position:absolute;inset:25px 18px 25px;border:3px solid #8a9a79;border-radius:44px 44px 3px 3px}
.door-knob{position:absolute;right:16px;top:60%;width:13px;height:13px;border-radius:50%;background:#dfba64;box-shadow:1px 2px 0 #7c653c}
.door-toc{position:absolute;right:12px;top:65px;left:12px;font-family:Georgia,serif;font-size:1.45rem;color:#fff4d8;line-height:1.2}
.casa-entry-plant{position:absolute!important;left:-25px;bottom:-3px;width:100px!important;height:145px!important;object-fit:contain}
.casa-mode-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;padding:1.4rem 1.5rem 0}
.casa-mode-nav button{display:flex;align-items:center;gap:.7rem;min-width:0;border:1px solid var(--casa-line);border-radius:15px;background:#fffdfa;padding:1rem;text-align:left;font-size:.9rem!important;font-weight:650!important;line-height:1.4}
.casa-mode-nav span{font-size:.74rem;font-weight:700;opacity:.6}
.casa-mode-nav button[aria-pressed=true]{background:#e8eddf;border-color:#9bac8d}
.casa-view{padding:1.8rem 1.5rem}
.casa-view-heading{text-align:center;margin:0 auto 1.8rem;max-width:700px}
.casa-view-heading h2{font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.15;margin:0 0 .65rem}
.casa-view-heading p{margin:0;color:#67756b;font-size:1rem;line-height:1.65}
.casa-rooms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.casa-room-card{display:flex;flex-direction:column;align-items:center;min-width:0;border:1px solid var(--casa-line);border-radius:18px;background:var(--room-color);padding:.65rem .65rem 1.1rem;text-align:center;transition:transform .2s,border-color .2s}
.casa-room-card:hover{transform:translateY(-3px);border-color:#768a69}
.casa-room-card>img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:12px;mix-blend-mode:multiply}
.casa-room-card strong{font-family:Georgia,serif;font-size:1.5rem;line-height:1.2;margin:.65rem 0 .5rem;font-weight:500}
.casa-room-card small{font-size:.8rem;line-height:1.5;padding:0 .25rem;color:#566b5b}
.casa-enter-room{font-size:.8rem;font-weight:700;margin-top:.8rem}
.casa-adult-note{background:#f4f1e7;border-radius:14px;font-size:.88rem;line-height:1.7;color:#60705f;padding:1.2rem;margin:1.5rem 0 0}
.casa-explore-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:1.3rem;align-items:start}
.casa-room-scene{background:var(--room-color);border-radius:22px;overflow:hidden;position:relative;min-width:0;padding:0 0 120px}
.casa-room-scene>img{width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}
.casa-room-hotspots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;position:absolute;bottom:18px;left:12px;right:12px}
.casa-room-hotspots button{border:1px solid #fff;border-radius:16px;background:#fffdf5ed;box-shadow:0 4px 10px #344b3e0a;padding:.4rem;min-width:0;font-size:.73rem!important;font-weight:650!important;line-height:1.25}
.casa-room-hotspots img{height:90px!important;width:100%;object-fit:contain}
.casa-room-hotspots span{display:block;margin:.25rem 0;overflow-wrap:anywhere}
.casa-focus{background:#f8f4eb;min-width:0;border:1px solid #e8e4d8;border-radius:22px;padding:1.1rem;text-align:center;min-height:375px}
.casa-focus h3{font-family:Georgia,serif;font-size:1.8rem;line-height:1.2;font-weight:500;margin:.7rem 0 1rem}
.casa-focus-empty{min-height:340px;display:flex;align-items:center;justify-content:center;flex-direction:column}
.casa-focus-empty img{width:120px}
.casa-focus-empty h3{font-size:1.6rem}
.casa-focus-empty p,.casa-focus-tip{font-size:.95rem;line-height:1.6;color:#687766}
.casa-object-stage{position:relative;width:230px;height:210px;max-width:100%;margin:0 auto;display:grid;place-items:center}
.casa-big-object{width:190px!important;height:190px!important;object-fit:contain;position:relative;z-index:2}
.casa-bread{position:absolute;left:35%;top:20%;width:75px!important;z-index:1;opacity:0}
.casa-puffs{position:absolute;left:23%;right:23%;top:8%;bottom:20%;pointer-events:none}
.casa-puffs i{position:absolute;width:15px;height:15px;border:2px solid #a6c6c2;border-radius:50%;left:20%;top:40%;opacity:0}
.casa-puffs i:nth-child(2){left:55%;top:30%;animation-delay:.25s!important}.casa-puffs i:nth-child(3){left:80%;top:20%;animation-delay:.5s!important}
.casa-sleep{font-family:Georgia,serif;font-size:1.4rem;letter-spacing:7px;position:absolute;right:0;top:15%;opacity:0}
.casa-voice-actions{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.casa-phrase{font-family:Georgia,serif;font-size:1.3rem;line-height:1.45;color:#456042;margin:1.1rem auto .25rem;max-width:500px}
.casa-shelf-heading{margin:2rem 0 1rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.casa-shelf-heading h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:500;margin:0}
.casa-shelf-heading p{font-size:.88rem;color:#687766;margin:0}
.casa-objects{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}
.casa-object{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;background:white;border:1px solid #e0e1d8;border-radius:17px;padding:.65rem .5rem;transition:background .2s,border-color .2s}
.casa-object img{width:100%;height:110px!important;object-fit:contain;pointer-events:none}
.casa-object span{font-size:.86rem;font-weight:650;line-height:1.4;margin-top:.35rem;overflow-wrap:anywhere}
.casa-object[aria-pressed=true],.casa-selected,.casa-chosen{background:#edf1df!important;border:2px solid #69835f!important}
.casa-settings{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;margin:0 0 1.4rem;font-size:.9rem}
.casa-settings label{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.casa-settings select{font-size:16px!important;max-width:100%;border:1px solid var(--casa-line);border-radius:10px;background:#fff;padding:.5rem .7rem}
.casa-sort-tray{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;background:#f5f0e5;border:1px dashed #c3c8b5;padding:1rem;border-radius:20px;min-height:180px}
.casa-sort-tray .casa-object{cursor:grab}
.casa-sort-tray .casa-object img{height:95px!important}
.casa-sort-invite{text-align:center;margin:1.2rem 0;font-size:1.05rem;min-height:1.6rem}
.casa-drop-rooms .casa-room-card>img{max-height:150px;aspect-ratio:auto;object-fit:contain}
.casa-drop-rooms .casa-room-card strong{font-size:1.3rem}
.casa-room-items{display:flex;justify-content:center;flex-wrap:wrap;min-height:36px;gap:.1rem}
.casa-room-items img{width:32px!important;height:32px!important;object-fit:contain}
.casa-listen-prompt{text-align:center;margin:1rem 0}
.casa-listen-prompt p{font-size:1rem;margin:.8rem 0;color:#67756b}
.casa-listen-button{min-height:60px!important;font-size:1.1rem!important;padding:.8rem 1.4rem}
.casa-sound-choices{display:grid;grid-template-columns:repeat(var(--choices),minmax(0,1fr));gap:1rem;max-width:650px;margin:1.5rem auto}
.casa-sound-choices .casa-object{padding:1.2rem .8rem}
.casa-sound-choices img{height:160px!important}
.casa-sound-choices span{font-size:1rem}
.casa-listen-note{text-align:center;font-size:.88rem;color:#687766;margin:1rem 0}
.casa-listen-reveal{border:1px solid #d9dfcc;background:#f1f4e7;border-radius:20px;text-align:center;padding:1.2rem;margin:1.5rem auto 0;max-width:650px}
.casa-listen-reveal .casa-object-stage{height:155px;width:180px}
.casa-listen-reveal .casa-big-object{width:145px!important;height:145px!important}
.casa-listen-reveal .casa-phrase{margin:.5rem auto 1rem}
.casa-listen-reveal>.casa-button{margin:.25rem}
.casa-found-house{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.casa-found-room{background:var(--room-color);border-radius:16px;padding:.5rem;text-align:center;min-width:0}
.casa-found-room>img{width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply;border-radius:12px}
.casa-found-room strong{font-family:Georgia,serif;font-size:1.3rem;display:block;margin:.4rem 0;font-weight:500}
.casa-found-room>div{display:flex;gap:.2rem;justify-content:center;flex-wrap:wrap;min-height:60px}
.casa-found-room span{background:#fffaf0b8;border-radius:8px;display:block}
.casa-found-room span img{width:48px!important;height:48px!important;object-fit:contain}
.casa-finish-actions{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap;margin-top:1.7rem}
.casa-bottom-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;padding:.3rem 1.2rem 1.1rem}
.casa-is-expanded{overflow:hidden!important}
#casa-app.casa-expanded{position:fixed;inset:8px;z-index:1000;overflow:auto;border-radius:18px;box-shadow:0 0 0 100vmax #18392c70}
.casa-expanded .casa-app-bar{position:sticky;top:0;z-index:10}
.casa-no-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.casa-animate .casa-big-object{animation:casa-wiggle .5s ease 2}
.casa-animate[data-effect=toast] .casa-big-object{animation:casa-toast-base .6s ease}
.casa-animate[data-effect=toast] .casa-bread{animation:casa-toast 1.5s ease}
.casa-animate[data-effect=door] .casa-big-object{transform-origin:20% 50%;animation:casa-door-object 1.5s ease}
.casa-animate[data-effect=float] .casa-big-object{animation:casa-float .8s ease-in-out 2}
.casa-animate[data-effect=drive] .casa-big-object,.casa-animate[data-effect=sweep] .casa-big-object{animation:casa-drive .8s ease-in-out 2}
.casa-animate[data-effect=sleep] .casa-big-object{animation:casa-breathe 1.5s ease}
.casa-animate .casa-puffs i{animation:casa-bubble 1s ease-out}
.casa-animate .casa-sleep{animation:casa-bubble 1.7s ease-out}
.is-speaking{box-shadow:0 0 0 3px #aec1a555}
@keyframes casa-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}
@keyframes casa-toast{0%{opacity:0;transform:translateY(0)}20%{opacity:1}50%{opacity:1;transform:translateY(-70px) rotate(-8deg)}100%{opacity:0;transform:translateY(0)}}
@keyframes casa-toast-base{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes casa-door-object{0%,100%{transform:perspective(500px) rotateY(0)}50%{transform:perspective(500px) rotateY(-40deg)}}
@keyframes casa-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(4deg)}}
@keyframes casa-drive{0%,100%{transform:translateX(0)}50%{transform:translateX(20px)}}
@keyframes casa-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@keyframes casa-bubble{0%{opacity:0;transform:translateY(15px)}35%{opacity:.8}100%{opacity:0;transform:translateY(-35px)}}
@media(max-width:900px){.casa-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.casa-objects{grid-template-columns:repeat(4,minmax(0,1fr))}.casa-sort-tray{grid-template-columns:repeat(3,minmax(0,1fr))}.casa-entry{padding:2rem;gap:1.5rem}.casa-facade{width:270px;height:310px}.casa-doorway{right:35px}.casa-drop-rooms .casa-room-card>img{max-height:115px}}
@media(max-width:600px){
 #casa-app{border-radius:20px;scroll-margin-top:75px}.casa-app-bar{flex-direction:column;align-items:flex-start;padding:1rem;gap:.7rem}.casa-controls{width:100%;gap:.35rem}.casa-controls .casa-button{flex:1;padding:.45rem .35rem;font-size:.72rem!important}.casa-app-brand{font-size:1.1rem}
 .casa-entry{grid-template-columns:1fr;padding:1.6rem 1.2rem;gap:1rem}.casa-entry-copy{text-align:center}.casa-entry p{margin-inline:auto}.casa-entry h2{font-size:2rem;margin-inline:auto}.casa-facade{width:265px;height:300px;margin-top:75px;margin-bottom:.5rem}.casa-doorway{height:222px;width:116px;right:40px}.casa-entry-plant{left:-8px;width:80px!important}.casa-roof{left:-3%;right:-3%}
 .casa-mode-nav{padding:1rem .7rem 0;gap:.35rem}.casa-mode-nav button{flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:.65rem .4rem;font-size:.74rem!important;gap:.3rem}.casa-mode-nav span{font-size:.65rem}
 .casa-view{padding:1.4rem .85rem}.casa-view-heading{margin-bottom:1.2rem}.casa-view-heading h2{font-size:1.7rem}.casa-view-heading p{font-size:.93rem}.casa-rooms{gap:.65rem}.casa-room-card{border-radius:15px;padding:.45rem .45rem .85rem}.casa-room-card strong{font-size:1.3rem}.casa-room-card small{font-size:.74rem}.casa-enter-room{font-size:.75rem}
 .casa-explore-layout{grid-template-columns:1fr;gap:1rem}.casa-room-scene{max-width:420px;width:100%;margin:auto;padding-bottom:95px}.casa-room-scene>img{max-height:290px}.casa-room-hotspots{bottom:12px;left:8px;right:8px;gap:.35rem}.casa-room-hotspots img{height:72px!important}.casa-room-hotspots button{font-size:.7rem!important}.casa-focus{min-height:300px;padding:1rem}.casa-focus-empty{min-height:255px}.casa-object-stage{height:175px;width:200px}.casa-big-object{height:165px!important;width:165px!important}.casa-focus h3{font-size:1.6rem}.casa-phrase{font-size:1.2rem}
 .casa-objects{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.casa-object{padding:.45rem .3rem;border-radius:13px}.casa-objects .casa-object img{height:83px!important}.casa-object span{font-size:.74rem}.casa-shelf-heading{margin-top:1.5rem;gap:.5rem}.casa-shelf-heading h3{font-size:1.35rem}
 .casa-sort-tray{padding:.7rem;gap:.45rem;min-height:150px}.casa-sort-tray .casa-object img{height:72px!important}.casa-sort-invite{font-size:.95rem}.casa-drop-rooms .casa-room-card>img{max-height:100px}.casa-drop-rooms .casa-room-card strong{font-size:1.2rem}.casa-settings{justify-content:flex-start;gap:.65rem;font-size:.82rem}.casa-settings select{padding:.4rem .5rem}.casa-adult-note{font-size:.82rem;padding:1rem;line-height:1.6}
 .casa-sound-choices{gap:.5rem}.casa-sound-choices .casa-object{padding:.65rem .35rem}.casa-sound-choices img{height:110px!important}.casa-sound-choices span{font-size:.8rem}.casa-listen-button{font-size:1rem!important}.casa-listen-reveal{padding:1rem .6rem}.casa-listen-reveal>.casa-button{width:100%;margin:.25rem 0}.casa-found-house{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.casa-found-room span img{height:35px!important;width:35px!important}.casa-finish-actions{flex-direction:column}.casa-bottom-actions{gap:.3rem 1rem;font-size:.85rem}.casa-status:not(:empty){padding:1rem;font-size:.9rem}
 #casa-app.casa-expanded{inset:5px 5px calc(72px + env(safe-area-inset-bottom,0px));border-radius:16px}.casa-expanded .casa-app-bar{padding:.6rem .8rem}
}
@media(prefers-reduced-motion:reduce){#casa-app *,#casa-app *:before,#casa-app *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
