.building-world{background:linear-gradient(135deg,#effbff,#fff8d9)}.token-wallet{display:inline-block;padding:12px 22px;border-radius:30px;background:#ffe190;color:#573c15;font-size:1.4rem}#material-shop{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.material-card{display:grid;gap:6px;padding:10px;border-radius:16px;background:white}.material-card button{min-height:44px;border-radius:10px;border:2px solid #ddd1f1;padding:8px}.material-card [aria-pressed=true]{border-color:#7146af;background:#eee4ff}#house-board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));max-width:680px;background:linear-gradient(#b8e7ff 75%,#8fcb76 75%);border:5px solid #fff;border-radius:14px;overflow:hidden;margin-top:20px}.building-cell{aspect-ratio:1;padding:0;border:1px solid #ffffff77;background:transparent;font-size:clamp(14px,4vw,35px);min-width:0}.building-cell.brick{background:#dca37e}.building-cell.wood{background:#b98b64}.building-cell.roof{background:#da8f94}.lesson-fireworks{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;padding:20px;border:0;background:#17264bf5;color:white;overflow:hidden}.lesson-fireworks::backdrop{background:#17264b}.firework-message{position:relative;z-index:2;max-width:580px;margin:20vh auto 0;text-align:center;background:#26345deb;border-radius:30px;padding:30px}.firework-message h2{color:white;font-size:clamp(28px,6vw,52px)}.firework-message>span{color:#ffe08b}.firework-message button{margin:8px}.firework-sky{position:absolute;inset:0;pointer-events:none}.firework-sky i{position:absolute;width:9px;height:9px;border-radius:50%;animation:reward-burst 2.4s ease-out var(--delay) both}@keyframes reward-burst{0%{opacity:0;transform:translate(0,0) scale(.3)}15%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.3)}}@media(prefers-reduced-motion:reduce){.firework-sky{display:none}}@media(max-width:420px){.firework-message{padding:18px;margin-top:15vh}#material-shop{grid-template-columns:repeat(2,minmax(0,1fr))}}
.funspace-intro{display:block;min-height:0}.funspace-intro .hero-copy{padding:28px}.funspace-intro h1{font-size:clamp(36px,6vw,62px)}.building-world{max-width:1100px;margin:24px auto;padding:24px;scroll-margin-top:20px}#world-name{display:block;width:100%;max-width:480px;padding:12px;font:inherit;border:1px solid #9bb5b4;border-radius:12px}.world-board-scroll{max-width:100%;overflow-x:auto;padding:6px}#house-board{min-width:480px;width:100%;max-width:800px;box-shadow:0 8px 24px #16416425;background:linear-gradient(#c8edff 74%,#8fcb76 74%)}.building-cell{min-height:46px;font-size:30px}.building-cell:disabled{opacity:1;cursor:default}.building-cell:focus-visible{position:relative;z-index:1;outline:3px solid #163c5b;outline-offset:-3px}.material-card button:disabled{opacity:.55;cursor:not-allowed}#building-controls>button{margin:12px 8px 0 0}#building-tip{padding:12px;background:#fff;border-radius:10px}#material-shop{margin-top:16px}#building-status{font-weight:bold}@media(max-width:600px){.building-world{padding:16px}.site-header{flex-wrap:wrap}.funspace-intro .hero-copy{padding:20px}.building-cell{font-size:24px}#material-shop{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.world-board-scroll{overflow:visible}#house-board{min-width:0}.material-card{display:none}}
.world-studio{background:#f8f5eb;border:1px solid #dedec9;border-radius:28px;box-shadow:0 18px 50px #173d4e0d}.studio-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 0}.studio-bar h3{font-size:clamp(25px,4vw,36px);margin:5px 0;color:#244e58}.studio-bar p{margin:7px 0}.studio-bar select,.studio-tools select{font:inherit;background:#fff;border:2px solid #b8ceca;border-radius:14px;padding:12px;max-width:100%}.studio-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}.studio-tools button{margin:0!important}.studio-tools [aria-pressed=true]{background:#294e5b;color:#fff}.scene-frame{position:relative;background:#b9dfce;border:8px solid white;border-radius:24px;box-shadow:0 12px 25px #30525420;padding:0 14px 18px}.scene-horizon{height:150px;position:relative;overflow:hidden;background:linear-gradient(#a6dbe5,#daeee5);min-width:480px;margin:0 -14px}.scene-sun{position:absolute;left:72%;top:24px;width:64px;height:64px;border-radius:50%;background:#ffe6a1;box-shadow:0 0 0 14px #ffefb640}.scene-cloud{position:absolute;top:30px;left:12%;width:90px;height:26px;background:#ffffffb3;border-radius:50px}.scene-cloud:before{content:'';position:absolute;width:40px;height:40px;border-radius:50%;background:inherit;bottom:0;left:20px}.scene-cloud.c2{left:43%;top:48px;transform:scale(.7)}.scene-mountains{position:absolute;bottom:-30px;left:0;width:100%;height:110px;background:#81b6aa;clip-path:polygon(0 100%,0 60%,15% 3%,28% 61%,43% 15%,65% 70%,84% 0,100% 70%,100% 100%)}.scene-label{position:absolute;bottom:12px;left:24px;font-size:12px;letter-spacing:3px;color:#244e58;font-weight:bold}.world-studio #house-board{max-width:none;min-width:480px;border:0;border-radius:12px;background:repeating-conic-gradient(#9bc4a2 0 25%,#a4ccaa 0 50%) 0/20% 25%;margin:0;box-shadow:0 12px 0 #659884,0 20px 20px #34514d30;overflow:hidden}.world-studio .building-cell{border:1px solid #ffffff29;aspect-ratio:1.15;background:transparent!important;position:relative;min-height:0;transition:background .15s}.world-studio .building-cell:hover:enabled{background:#ffffff60!important}.building-cell svg{display:block;width:100%;height:100%;filter:drop-shadow(0 4px 2px #2b4d4a25)}.empty-cross{opacity:.19;font-size:20px;color:#174d40}.world-studio .material-card{border:1px solid #dce4dc;background:#fffdf8;box-shadow:0 4px 0 #e5e7da;padding:8px}.world-studio .material-card button:first-child{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid transparent;background:transparent;color:#264b55}.world-studio .material-card button[aria-pressed=true]{border-color:#97567c;background:#f6eaf0}.material-card svg{width:66px;height:66px}.material-card strong{font-size:14px;color:#6d756e}.world-studio .material-card button:last-child{font-size:15px;min-height:44px;background:#f1e9d8;color:#5f4c2c;border:1px solid #d8c9ab}.world-studio #material-shop{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.shop-guide{font-weight:bold;color:#345e62;background:#e8efe8;padding:18px;border-radius:16px}.studio-challenges{margin:28px 0;background:#fffdf8;border:1px solid #dddcc8;border-radius:18px;padding:18px}.studio-challenges summary{cursor:pointer;font-weight:bold;font-size:23px;color:#4d5378}.studio-challenges summary span{display:block;font-size:16px;font-weight:normal;margin-top:6px}.quest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.quest-grid article{padding:16px;border-radius:15px;background:#f0eee7;border:1px solid #e1dfd2}.quest-grid h4{font-size:19px;margin:0;color:#344b58}.quest-grid p{font-size:15px;line-height:1.7}.quest-grid progress{width:100%;accent-color:#98704d}.quest-grid strong{display:block;font-size:16px;color:#526b4c}.world-overview #house-board,.world-overview .scene-horizon{min-width:0}.world-overview .scene-frame{overflow:hidden}[data-landscape=sunset] .scene-horizon{background:linear-gradient(#b8a2cc,#f0c3aa)}[data-landscape=sunset] .scene-mountains{background:#9892ad}[data-landscape=sunset] #house-board{background:repeating-conic-gradient(#b8b79f 0 25%,#c6c1a7 0 50%) 0/20% 25%}[data-landscape=space] .scene-horizon{background:radial-gradient(circle at 22% 24%,#fff 0 2px,transparent 3px),radial-gradient(circle at 68% 38%,#fff 0 2px,transparent 3px),linear-gradient(#202d58,#5c6590)}[data-landscape=space] .scene-sun{background:#e9d9e9;box-shadow:inset -12px -8px #bdb4d2}[data-landscape=space] .scene-cloud{display:none}[data-landscape=space] .scene-mountains{background:#8b88ab}[data-landscape=space] .scene-label{color:#fff}[data-landscape=space] #house-board{background:repeating-conic-gradient(#a4a1bb 0 25%,#b0abc4 0 50%) 0/20% 25%}[data-landscape=ocean] .scene-horizon{background:linear-gradient(#72c6db,#a8e3db)}[data-landscape=ocean] .scene-mountains{background:#63b4b8;clip-path:polygon(0 100%,0 50%,20% 65%,40% 30%,65% 60%,85% 35%,100% 50%,100% 100%)}[data-landscape=ocean] #house-board{background:repeating-conic-gradient(#bcd8c0 0 25%,#cee1c8 0 50%) 0/20% 25%}@media(max-width:600px){.studio-bar{display:block}.studio-bar label{display:block;margin-top:16px}.studio-tools button{font-size:16px!important;min-height:48px!important;padding:10px!important}.quest-grid{grid-template-columns:1fr}.world-studio #material-shop{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-frame{border-width:4px}.world-studio{border-radius:18px}.studio-tools label{width:100%}}@media(prefers-reduced-motion:reduce){.world-studio *{transition:none!important}}
.character-bar{display:flex;align-items:center;gap:20px;background:linear-gradient(110deg,#ede5f5,#f7edda);border:1px solid #ded5df;border-radius:22px;padding:20px;margin:18px 0 24px}.character-bar h3{margin:4px 0;font-size:25px;color:#4c4668}.character-bar p{margin:8px 0;font-size:17px}.mini-character{width:100px;min-width:80px;max-width:130px;flex-shrink:0}.mini-character svg{display:block;width:100%}.character-move{margin-left:auto;font-size:15px;max-width:180px}.character-move>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.character-move button{border:1px solid #b4a5c4;background:#fff;border-radius:12px;width:44px;min-height:44px;font-size:23px;color:#594775}.world-character{position:absolute;inset:-25% 0 0;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;z-index:2}.world-character svg{height:125%;width:auto;max-width:100%;filter:drop-shadow(2px 3px 2px #14283155)}.character-dialog{border:0;border-radius:28px;padding:24px;width:min(920px,94vw);max-width:94vw;max-height:92dvh;overflow:auto;background:#fffcf5;color:#344756;box-shadow:0 20px 100px #182c4c55}.character-dialog::backdrop{background:#182b43bb;backdrop-filter:blur(4px)}.character-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.character-dialog-head h2{margin:0;font-size:clamp(24px,4vw,34px);color:#4e466d}.character-layout{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(0,1.15fr);gap:30px}.character-stage{position:sticky;top:0;align-self:start;min-height:400px;border-radius:25px;background:radial-gradient(ellipse at 50% 38%,#fff9eb 0,#eee4f6 60%,#d1d5ed 100%);text-align:center;padding:24px 12px}.character-stage #character-preview{max-width:260px;margin:auto}.character-stage svg{width:100%;display:block;filter:drop-shadow(7px 12px 12px #54527b25)}#character-preview-name{font-size:24px;font-weight:bold;overflow-wrap:anywhere;margin:6px 0}.character-stage>span{font-size:13px;color:#635d77}#character-options label{display:block;margin:12px 0;font-weight:bold}#character-options input:not([type=checkbox]),#character-options select{display:block;width:100%;font:inherit;box-sizing:border-box;border:1px solid #c1b6cb;border-radius:12px;padding:12px;background:#fff;color:#354356;margin-top:7px}#character-options fieldset{border:0;padding:8px 0;margin:0;display:flex;gap:7px;flex-wrap:wrap}#character-options legend{font-size:17px;font-weight:bold;margin-bottom:5px}.character-swatch{width:42px;height:42px;min-height:42px!important;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #beb7c6;position:relative}.character-swatch[aria-pressed=true]{box-shadow:0 0 0 3px #554277}.character-swatch[aria-pressed=true]:after{content:'✓';position:absolute;inset:9px;background:#fff;color:#36264c;border-radius:50%;font-size:15px;line-height:20px}.character-accessories{display:flex;gap:20px;flex-wrap:wrap}.character-accessories input{width:22px;height:22px;vertical-align:middle;accent-color:#77558d}.character-privacy{font-size:14px!important;color:#65717a}#character-save-message{color:#984140}.character-swatch:focus-visible{outline:3px solid #163c5b;outline-offset:5px}@media(max-width:650px){.character-bar{flex-wrap:wrap;padding:15px;gap:12px}.mini-character{width:80px}.character-bar>div:nth-child(2){flex:1;min-width:155px}.character-move{margin-left:0;max-width:none;width:100%}.character-layout{grid-template-columns:1fr;gap:12px}.character-stage{position:static;min-height:0;padding:8px}.character-stage #character-preview{max-width:160px}.character-dialog{padding:16px;border-radius:20px}.character-stage>span{display:none}.character-dialog-head h2{font-size:23px}.character-dialog-head button{min-width:44px}.character-swatch{width:44px;height:44px}}
.aquarium{margin:30px 0;padding:25px;border-radius:25px;border:1px solid #c8dcd9;background:linear-gradient(145deg,#f3fbf9,#e3edf5);color:#2d4e64}.aquarium-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.aquarium h3{font-size:clamp(26px,4vw,36px);margin:6px 0;color:#265b6c}.aquarium-heading p{margin:7px 0}.aquarium-heading select{display:block;font:inherit;border:1px solid #b3c9cb;padding:10px;border-radius:12px;background:#fff;max-width:100%}.aquarium-scene{height:310px;position:relative;overflow:hidden;border:12px solid #526b7d;border-top:18px solid #435a6d;border-bottom-width:18px;border-radius:16px 16px 10px 10px;background:linear-gradient(#e3f2f1,#d4e7e8);box-shadow:inset 0 0 30px #48667536,0 14px 25px #273e5330}.tank-water{position:absolute;bottom:15px;height:0;width:100%;background:linear-gradient(#81d5e2b0,#60bbd8,#358aaa);transition:height 1s}.tank-water.is-filled{height:86%}.tank-surface{position:absolute;top:9%;height:10px;border-radius:50%;background:#c5faffb3;width:100%;box-shadow:0 8px 15px #e4ffff4f}.tank-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 25% 0,#fff8d7,transparent 60%)}.tank-gravel{position:absolute;bottom:0;width:100%;height:27px;background:radial-gradient(ellipse at 5px 4px,#b7a59a 0 4px,transparent 5px) 0 0/17px 13px,radial-gradient(ellipse at 8px 10px,#e3d5b7 0 5px,transparent 6px) 0 0/22px 14px,#c7b89c}.tank-plants{position:absolute;bottom:18px;left:9%;font-size:55px;letter-spacing:-15px;transform-origin:bottom;animation:plant-sway 5s ease-in-out infinite alternate}.tank-castle{position:absolute;bottom:18px;right:17%;font-size:75px;filter:drop-shadow(5px 8px 2px #20516e44)}.tank-rocks{position:absolute;bottom:15px;left:35%;font-size:48px;letter-spacing:-10px}.tank-glass-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 8%,#ffffff22 8%,#ffffff22 11%,transparent 11%,transparent 76%,#ffffff16 76%,#ffffff16 81%,transparent 81%);box-shadow:inset 8px 0 #e7faff44,inset -8px 0 #e7faff33}.aquarium-stand{height:24px;background:linear-gradient(#a87f64,#745940);border-radius:0 0 12px 12px;width:90%;margin:auto;box-shadow:0 12px 12px #2e516a17}.aquarium-fish{position:absolute;width:15%;max-width:120px;min-width:40px;left:var(--start);animation:fish-swim var(--duration) linear var(--delay) infinite;filter:drop-shadow(3px 6px 3px #1e617e33)}.aquarium-fish svg{width:100%;display:block}.aquarium-bubble{position:absolute;bottom:25px;width:9px;height:9px;border-radius:50%;border:1px solid #dcfcff8a;animation:aquarium-bubble 8s linear var(--delay) infinite}.aquarium-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 24px}.aquarium-actions .button{font-size:16px!important;min-height:48px!important;margin:0!important}.aquarium h4{color:#315e70;font-size:23px}.aquarium #aquarium-fish-shop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fish-card{background:#fffffff0;border:1px solid #d1e0e5;border-radius:18px;padding:12px;display:flex;align-items:center;flex-direction:column;justify-content:space-between}.fish-card>svg{width:100px;max-width:100%;height:70px}.fish-card button,#aquarium-decor-shop button{font:inherit;font-size:16px;border:1px solid #a6bdc7;background:#e5f0f3;color:#2d5265;padding:10px;border-radius:12px;min-height:48px;width:100%}.aquarium button:disabled{opacity:.55;cursor:not-allowed}.aquarium details{margin-top:18px;padding:15px;background:#ffffffa1;border-radius:15px}.aquarium summary{font-weight:bold;cursor:pointer}#aquarium-decor-shop{display:flex;gap:10px;margin-top:15px}.aquarium-note{font-size:14px!important;color:#526e7a}.fish-feeding .aquarium-scene:after{content:'♡  ·  ♡  ·  ♡';position:absolute;top:25%;left:30%;font-size:30px;letter-spacing:10px;color:#fff4d2;animation:snack-float 2s ease-out infinite}.fish-feeding .aquarium-fish{animation-duration:8s}@keyframes fish-swim{0%{left:8%;transform:scaleX(-1)}48%{left:76%;transform:scaleX(-1)}50%{left:76%;transform:scaleX(1)}98%{left:8%;transform:scaleX(1)}100%{left:8%;transform:scaleX(-1)}}@keyframes aquarium-bubble{0%{transform:translateY(0);opacity:0}15%{opacity:.7}100%{transform:translateY(-260px);opacity:0}}@keyframes plant-sway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes snack-float{from{opacity:0;transform:translateY(40px)}50%{opacity:1}to{opacity:0;transform:translateY(-20px)}}@media(max-width:600px){.aquarium{padding:15px}.aquarium-heading{display:block}.aquarium-heading label{display:block;margin-top:12px}.aquarium-scene{height:220px;border-width:8px}.aquarium #aquarium-fish-shop{grid-template-columns:repeat(2,minmax(0,1fr))}.aquarium-actions .button{flex:1;min-width:130px}#aquarium-decor-shop{flex-direction:column}.tank-plants{font-size:40px}.tank-castle{font-size:55px}}@media(prefers-reduced-motion:reduce){.aquarium-fish,.aquarium-bubble,.tank-plants,.fish-feeding .aquarium-scene:after{animation:none!important}.tank-water{transition:none}.aquarium-bubble{display:none}}

.aquarium-paused .aquarium-fish,.aquarium-paused .aquarium-bubble,.aquarium-paused .tank-plants,.aquarium-paused .aquarium-scene:after{animation-play-state:paused!important}
