@import url('./play.css');
:root{font-family:'Trebuchet MS',Arial,sans-serif;color:#153d4c;background:#e9f2ed;font-synthesis:none;--ink:#153d4c;--teal:#147c82;--coral:#ef8b62;--paper:#fffdf4}

*{box-sizing:border-box}
body{margin:0;min-width:320px}
button,select{font:inherit}
button{cursor:pointer;touch-action:manipulation;color:var(--ink);border:1px solid #c9ded7;background:var(--paper);border-radius:18px;padding:12px 22px;min-height:48px;font-weight:700;box-shadow:0 3px 0 #153d4c15}
button:hover:not(:disabled){background:#fff4d8;transform:translateY(-2px)}
button:disabled{cursor:default}
button:focus-visible,select:focus-visible,summary:focus-visible{outline:4px solid #df673d;outline-offset:4px}
h1,h2,p{margin:0}
h1{font-size:clamp(28px,3.4vw,46px);letter-spacing:-1px;line-height:1.15}
h1:focus{outline:none}
p{line-height:1.5}
header{display:flex;justify-content:space-between;align-items:center;padding:12px clamp(16px,3vw,48px);gap:16px;position:absolute;top:0;left:0;width:100%;z-index:2;background:transparent}
.home-control{border:0;box-shadow:none;background:#fff6d7db;display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;white-space:nowrap;border-radius:32px}
.home-control img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.utilities{display:flex;gap:10px}
.utilities button{font-size:14px;padding:8px 15px;min-height:44px}
main{width:100%;min-height:100dvh;padding:104px clamp(16px,4vw,64px) 40px;background:linear-gradient(#eaf3ed55,#eaf3ed55),var(--scene) center/cover fixed}
.home{background:var(--scene) center/cover;padding:0}
.landing{min-height:100dvh;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:16px;padding:104px 18px 70px;background:linear-gradient(#d7f0e544,transparent)}
.landing h1{font-size:clamp(44px,6.5vw,86px);font-weight:900;color:#123e49;text-shadow:0 2px #fff5dc99}
.landing>p:not(.eyebrow){font-size:18px;font-weight:700}
.eyebrow{font-size:11px;letter-spacing:3px;font-weight:800;color:#31636a}
.start-badge{position:relative;width:clamp(190px,23vw,290px);height:clamp(190px,23vw,290px);border-radius:50%;padding:0;border:7px solid #ffefc2;box-shadow:0 12px 0 #164a5430,0 24px 50px #153d4c33;overflow:hidden;background:#147c82}
.start-badge img{width:100%;height:100%;object-fit:cover}
.start-badge span{position:absolute;bottom:17%;left:50%;transform:translateX(-50%);padding:5px 18px;background:#fff6d7;border-radius:20px;font-size:17px;line-height:1.2;white-space:nowrap}
.landing .landing-note{font-size:12px!important;letter-spacing:.7px}
.section-head{max-width:1280px;min-height:55px;margin:0 auto 24px;text-align:center;position:relative;padding:0 100px}
.section-head h1{margin-top:7px}
.section-head .back{position:absolute;left:0;top:0}
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;max-width:1250px;margin:auto}
.mode-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8px 10px 16px;width:calc((100% - 54px)/4);min-height:195px;background:var(--paper);border:1px solid #d2ded2;border-radius:24px;box-shadow:0 5px 0 #164a5417}
.mode-card>.art{width:min(100%,165px);aspect-ratio:1}
.mode-card>span:not(.art){font-size:17px;line-height:1.2}
.mode-card small{font-size:11px;margin-top:6px;color:#576b6c;letter-spacing:1px;text-transform:uppercase}
.mode-card:disabled{background:#f3f1e7}
.art{display:block;aspect-ratio:1;background-color:#fffdf4;background-image:var(--atlas);background-size:calc(var(--cols)*100%) calc(var(--rows)*100%);background-position:var(--x) var(--y);background-repeat:no-repeat;border-radius:18px;flex-shrink:0}
.teacher{max-width:900px;margin:25px auto 0;font-size:13px;color:#416469;text-align:center}
.teacher summary{cursor:pointer;display:list-item;list-style-position:inside;padding:10px}
.teacher p{padding:15px;background:#fffdf4;border-radius:12px}
.category-card{display:flex;flex-direction:column;align-items:center;width:calc((100% - 36px)/3);padding:15px;gap:10px;font-size:21px}
.category-card .art{width:min(100%,220px)}
.category-card small{font-size:14px;color:#5b797a}
.all-word-art{display:grid;place-items:center;height:220px;font-size:80px;color:var(--teal)}
.panel{max-width:1080px;margin:0 auto;background:var(--paper);border:1px solid #d2e1d8;border-radius:28px;padding:28px;box-shadow:0 8px 0 #164a5410;text-align:center}
.setup-panel{width:min(100%,620px);display:flex;flex-direction:column;align-items:center;gap:24px}
.setup-panel label{display:flex;align-items:center;gap:15px}
.setup-panel p{font-size:20px}
select{padding:12px;border:1px solid #abcac4;border-radius:12px;background:white;color:var(--ink)}
.primary{background:var(--teal);color:white;border-color:var(--teal)}
.primary:hover:not(:disabled){background:#10616a}
.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.hero-art{width:min(100%,430px);margin:12px auto}
.definition{max-width:650px;margin:auto;font-size:22px}
.panel.results{margin-top:6vh;padding:55px 25px}
.result-stars{font-size:60px;color:#dc9c25;margin:15px}
.results p{margin-top:20px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

.asset-probe{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.image-failed{background-image:none!important;display:grid;place-items:center;padding:12px;font-size:16px!important;color:#153d4c}
.landing-note{background:#fff6d7;padding:6px 14px;border-radius:20px}
.mode-card .art{pointer-events:none}

@media(min-width:1500px){.cards{max-width:1350px}
.mode-card{min-height:215px}
.mode-card>.art{width:180px}
}

@media(max-height:760px) and (min-width:900px){main{padding-top:94px}
.section-head{margin-bottom:16px}
.mode-card{min-height:150px;padding:4px 8px 12px}
.mode-card>.art{width:110px}
.cards{gap:14px}
.mode-card>span:not(.art){font-size:16px}
.teacher{margin-top:10px}
.hero-art{width:310px}
.landing{padding-top:94px;padding-bottom:35px;gap:12px}
}

@media(max-width:760px){header{padding:10px 12px}
.home-control span{display:none}
.utilities{gap:6px}
main{padding:94px 14px 30px}
.cards{gap:12px}
.mode-card{width:calc((100% - 12px)/2);min-height:170px}
.mode-card>.art{width:130px}
.mode-card>span:not(.art){font-size:16px}
.category-card{width:calc((100% - 12px)/2);font-size:17px}
.all-word-art{height:140px}
.section-head{padding:0}
.section-head .back{position:static;margin-bottom:14px}
.panel{padding:20px 14px}
.definition{font-size:19px}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
button:hover:not(:disabled){transform:none}
}

