@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{--ink:#f7ecd1;--muted:#bcc5d9;--paper:#10172d;--purple:#ebc574;--purple-dark:#f6d992;--green:#8bd6c7;--coral:#e7b069;--line:#ffffff26;--radius:24px}
body{background:radial-gradient(ellipse at 90% 10%,#29395c,transparent 60%),#10172d;min-height:100vh}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;letter-spacing:-.025em}.brand{font-size:26px;letter-spacing:-1px}.brand-dot{color:#edc574}.brand-mark{color:#edc574}.eyebrow,.card-tag,.small-label{font-size:14px;letter-spacing:.07em}.age-pill{font-size:14px}.icon-button:hover{background:#ffffff15}.magic-welcome{margin-top:24px;min-height:220px;padding:35px;border:1px solid #edc57455;border-radius:26px;background:linear-gradient(100deg,#243553,#121a31);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:15px}.magic-welcome h1{font-size:clamp(34px,5vw,54px)}.magic-welcome p{color:#e8e3d7;font-size:17px;max-width:360px;line-height:1.55}.section-title h2{font-size:29px}.section-title p{font-size:16px}.discovery-pill{background:#26324d;font-size:14px;border-color:#ebc57466}.discovery-pill span{color:#ebc574}.games-grid{gap:18px}.game-card{position:relative;min-height:216px;padding:24px;background:linear-gradient(140deg,#253953,#1a2740);border:1px solid #ffffff2d;box-shadow:0 5px 0 #070f22}.game-card:nth-child(2){background:linear-gradient(140deg,#193f46,#192b37)}.game-card:nth-child(3){background:linear-gradient(140deg,#473356,#2d2542)}.game-card:nth-child(4){background:linear-gradient(140deg,#344336,#202f30)}.game-card:nth-child(5){background:linear-gradient(140deg,#58394c,#302a42)}.game-card:hover{border-color:#ebc574;box-shadow:0 8px 25px #0003}.room-symbol{font-size:44px;line-height:1.25;margin-bottom:12px}.card-tag{position:static;background:none;padding:0;color:#dbc999;font-size:12px}.card-body{padding:10px 0 0;gap:10px}.card-body h3{font-size:25px}.card-body p{font-size:15px;line-height:1.5;color:#c5cbd5}.card-arrow{color:#e7c783;border-color:#ffffff38}.wonder-card{background:#0c142666;border-color:#dac49070;min-height:210px}.wonder-card p{font-size:16px;color:#c5cbd5}.wonder-card h3{font-size:24px}.wonder-card .scribble-star{color:#ebc574}footer{font-size:14px;color:#b7bfd0}
.back,.secondary,.segmented,.icon-button,.paint-aside select{background:#23324b;color:#f7ecd1;border-color:#ffffff2d}.primary{background:#ebc574;color:#241c10;font-size:16px}.secondary{font-size:16px}.segmented button{font-size:15px}.segmented button[aria-pressed=true]{background:#ebc574;color:#251d10}.play-panel{background:#1b2740;border-color:#d6bc7950;box-shadow:0 15px 50px #0002}.game-heading p,.game-info{font-size:16px}.game-heading h1{font-size:34px}.game-head{padding:14px 0}.listen{background:#29463f}.status{background:#101c32;color:#dce4f2;font-size:16px}.status.success{background:#25493e;color:#d8f4d5}.tip-box{background:#122138;color:#c5cbd5;font-size:15px}.pill-description{font-size:14px}.small-label{color:#d9c9a6;font-size:14px}.build-grid{background:#101a2c;border:1px solid #dcc48a4a}.build-cell{background:#24344f;border:1px solid #52617a}.build-cell.target{border:2px dashed #f1cf86;background:#e8c7781c}.question-title{font-size:29px}.answer{background:#314366;color:#fff1ce;border-color:#adbdde55}.answer.good{background:#416a4a;border-color:#a4d8a9}.answer.try{background:#735b3c}.pattern-shape{background:#0f1c32}.pattern-shape.blank,.equation .blank{background:#344361;color:#f2d597;border-color:#e3c68d}.memory-card{background:linear-gradient(150deg,#2b5260,#23344f);box-shadow:0 4px 0 #0b1325;border:1px solid #dcc08099;color:#f0cf84}.memory-card.open{background:#f3e7c6}.memory-card.matched{background:#aecbb7}.memory-meter{color:#9cdec9;font-size:16px}.sound-toggle[aria-pressed=true]{background:#345b51;color:#e0f7de;border-color:#7da993}.sound-toggle[aria-pressed=false]{color:#bac2d3}.game-bottom{gap:14px}.coloring-paper{border:4px solid #b9a271;box-shadow:0 4px 20px #0003}.swatch{min-width:44px;min-height:44px}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px #ebc574}.paint-tools button{font-size:15px}.paint-tools button[aria-pressed=true]{color:#211b11;background:#ebc574}dialog{background:#192740;color:#f7ecd1;border-color:#bda469}dialog p{font-size:16px;color:#c9d2e3}.dialog-close{background:#283855}#toast{background:#f1d795;color:#201b17;font-size:16px}.back{font-size:15px}.objects{max-width:100%;font-size:39px}.objects>span{overflow-wrap:anywhere}.game-controls select{min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#fff0bc}
@media(max-width:900px){.magic-welcome{min-height:200px}.game-card{padding:20px}.card-body h3{font-size:23px}.section-title{align-items:center}.games-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.brand{font-size:22px}.magic-welcome{padding:25px;min-height:200px}.magic-welcome h1{font-size:35px}.magic-welcome p{font-size:16px}.eyebrow{font-size:12px}.section-title h2{font-size:24px}.section-title p{font-size:14px}.discovery-pill{font-size:0}.discovery-pill b,.discovery-pill span{font-size:16px}.game-card{padding:17px 13px;min-height:219px}.card-body h3{font-size:21px}.card-body p{font-size:14px}.card-tag{font-size:11px}.room-symbol{font-size:37px}.wonder-card p{font-size:14px}.wonder-card h3{font-size:22px}.game-heading h1{font-size:27px}.game-heading p{font-size:15px;max-width:230px}.game-head{gap:12px}.back{order:-2}.game-heading{order:1;flex-basis:100%}.listen{margin-left:auto}.play-panel{padding:16px}.question-title{font-size:26px}.answer{width:66px;min-height:70px}.objects{font-size:32px}.game-bottom .secondary{font-size:15px}.pattern-shape{width:40px}.status{font-size:15px}.game-controls{gap:10px}footer{font-size:13px}.small-label{font-size:13px}.swatch{width:44px;height:44px}.paint-aside select{font-size:15px}}
.magic-welcome{position:relative;overflow:hidden;min-height:255px;background:#111d34}.castle-view{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:0;opacity:.85}.magic-welcome:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0f1932f0 8%,#0f193260 60%,transparent)}.magic-welcome>*:not(.castle-view){position:relative;z-index:1}.magic-welcome h1{text-shadow:0 3px 20px #0008}.room-progress{display:block;color:#e8d49e;font-size:14px;margin-top:13px;line-height:1.45}.growth-panel{display:flex;gap:20px;align-items:center;justify-content:space-between;width:100%;padding:17px 22px;border-radius:18px;background:#243750;border:1px solid #dabe794a}.growth-panel strong{font:600 22px 'Fraunces',Georgia,serif;display:block;margin:6px 0}.growth-panel .eyebrow{font-size:12px}.growth-caption{font-size:14px;color:#c7d0df;line-height:1.55;display:block}.growth-stars{display:flex;gap:7px;font-size:35px;color:#617087;white-space:nowrap}.growth-stars .earned{color:#f2d38a;text-shadow:0 0 18px #edc57466}.difficulty-settings{font-size:14px;color:#c5cfe0;width:100%}.difficulty-settings summary{cursor:pointer;padding:7px 0;width:fit-content}.difficulty-options{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:10px 0}.difficulty-options label{display:flex;gap:10px;align-items:center}.difficulty-options select{background:#1b2a43;color:#ffeac0;padding:8px;border:1px solid #75839b;border-radius:8px;font:inherit;max-width:210px}.difficulty-options button[aria-pressed=true]{border-color:#edd18d}.level-notice{background:#365342;color:#eff4d4;border:1px solid #cce1a1;border-radius:14px;margin-bottom:18px;padding:15px;font-size:16px;line-height:1.5}.model-preview{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;margin:12px 0}.model-preview span{aspect-ratio:1;background:#334054;border-radius:2px}.model-preview span.on{background:#eaca87}.build-aside .tip-box{display:block}.ingredient{font-size:inherit;background:transparent;padding:5px;border-radius:12px;min-width:49px;position:relative;border:2px solid transparent}.ingredient[aria-pressed=true]{border-color:#e7c77e;background:#efd28326}.ingredient[aria-pressed=true]:after{content:'✓';position:absolute;right:-2px;top:-7px;color:#e8d08c;font-size:20px;font-weight:700}.addition-groups{display:flex;align-items:center;justify-content:center;gap:15px;width:100%}.addition-groups .objects{flex:1;font-size:33px;gap:3px}.addition-groups b{font-size:35px}.count-note{font-size:16px;color:#cfdded;min-height:20px}.help-dots,.rule-hint{display:flex;gap:9px;flex-wrap:wrap;align-items:center;justify-content:center;font-size:29px;max-width:500px;color:#ecd398}.help-dots .crossed{text-decoration:line-through;color:#949bac}.help-dots .empty{color:#c8d2e4}.rule-hint span:last-child{font-size:15px;color:#c8d2e4}.pattern-row{gap:7px;max-width:100%}.pattern-shape{width:55px;height:65px;font-size:37px}.answer.good:disabled{opacity:1}.answer:disabled:not(.good){opacity:.5}
@media(max-width:650px){.magic-welcome{min-height:240px;padding:24px}.magic-welcome p{max-width:220px}.castle-view{object-position:60% center}.magic-welcome:after{background:linear-gradient(90deg,#0f1932ed,#0f193280)}.growth-panel{padding:14px;gap:10px}.growth-panel strong{font-size:21px}.growth-stars{font-size:27px;gap:4px}.growth-caption{font-size:13px}.growth-stars{align-self:flex-start}.difficulty-options label{flex-wrap:wrap}.pattern-shape{width:42px;height:55px;font-size:31px}.pattern-row{gap:5px}.room-progress{font-size:12px}.addition-groups{gap:5px}.addition-groups .objects{font-size:28px}.ingredient{min-width:40px;padding:3px;min-height:44px}.build-aside .tip-box{flex-basis:120px}.build-aside{align-items:start}.build-aside .tip-box{padding:12px}.tip-box strong{font-size:14px}}
.wizard-mentor{width:125px;height:125px;object-fit:contain;margin-top:-8px}.wonder-card{gap:9px;padding:15px}.wonder-card h3{font-size:23px}.wonder-card p{font-size:14px}.room-patterns .question-title:before{content:'✧';display:inline-block;margin-right:12px;color:#eed49b}
.room-kit{width:65px;height:65px;object-fit:contain;flex:none}.room-paint{background:linear-gradient(130deg,#24324d,#292640)}@media(max-width:650px){.room-kit{margin-left:auto;width:60px;height:60px}.game-heading{flex-basis:calc(100% - 70px)}.listen{margin-left:0}.game-head{row-gap:3px}}
