:root{font-family:system-ui,"Segoe UI",Tahoma,sans-serif;color:#243152;background:#f8f6ff;font-size:16px;line-height:1.65;--accent:#9257c9;--accent2:#ea81bd;--surface:#fff;--line:#e6e1f0}
body[data-world=boys]{--accent:#176bda;--accent2:#16b8d5;--line:#d6e6f9;background:#f0f9ff}
body[data-world=girls]{--accent:#a25bb8;--accent2:#ee8dbb;--line:#eeddf0;background:#fff8fe}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:var(--accent)}.shell{max-width:1120px;padding:0 20px;margin:0 auto}.topbar{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 20px #34336509}.navbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;gap:10px;align-items:center}.brand-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#abc0ff,#c695df);color:#fff;font-size:28px}.brand strong{font-size:1.12rem}.brand small{display:block;font-size:.77rem;color:#69738c}.nav-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.small-btn,.text-link{border:0;background:transparent;color:#455d80;padding:7px 10px;text-decoration:none}.small-btn{border:1px solid var(--line);border-radius:12px}.user-badge{background:#e9f2ff;border-radius:14px;padding:7px 12px}.hero{background:linear-gradient(115deg,#e6e9ff,#ffe4f5);border-radius:28px;margin:26px 0;min-height:290px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;box-shadow:0 18px 50px #78649d18}.hero-copy{padding:36px 34px}.eyebrow{color:#674aa3;font-weight:750}.hero h1{font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.3;margin:14px 0}.hero h1 span{display:block;color:#9860bc}.hero p{max-width:500px}.hero-art{background:url('/assets/museum-hero.webp') center center /cover no-repeat;min-height:270px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:23px;box-shadow:0 12px 40px #3232620b;padding:25px;margin:22px 0}.panel h2,.panel h1{margin-top:0}.soft-note{color:#6b6982;background:#fff9df;border:1px solid #f1e6b3;padding:9px 12px;border-radius:10px;font-size:.9rem}.subtle{font-size:.9rem;color:#707b8c}.worlds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.world-card{border:2px solid transparent;border-radius:20px;padding:22px;text-align:center;display:grid;gap:4px;min-height:160px;transition:transform .2s,border .2s}.world-card:hover{transform:translateY(-2px)}.world-card.boys{background:linear-gradient(135deg,#e7f8ff,#d3e9ff);color:#1451a5}.world-card.girls{background:linear-gradient(135deg,#fce4f4,#efe1ff);color:#9137a9}.world-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #9478ff22}.huge{font-size:2.6rem}.world-card small{font-size:.83rem}.login-form{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:12px;margin:18px 0}.login-form input,.form-row input,.form-row select{min-height:48px;border:1px solid #cbd2e0;border-radius:12px;padding:10px;background:white;min-width:0}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:13px;border:0;text-decoration:none;font-weight:750;padding:11px 20px;min-height:48px}.primary-btn{background:linear-gradient(120deg,var(--accent),var(--accent2));color:#fff}.secondary-btn{background:#f0f3fa;border:1px solid #d9dfef;color:#34506d;margin:5px}.notice{margin:15px 0;padding:13px 18px;background:#fff1d2;border:1px solid #e9d39a;border-radius:13px}.student-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.counter{background:#f7f3ff;padding:10px 16px;border-radius:14px;text-align:center}.counter strong{display:block;font-size:1.8rem;color:var(--accent)}.counter small{font-size:.8rem}.subjects{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px}.subject-card{border:1px solid var(--line);background:white;border-radius:20px;padding:25px 15px;display:grid;gap:8px;text-align:center;box-shadow:0 10px 30px #2626740b}.subject-card:hover{border-color:var(--accent)}.subject-card .icon{font-size:2.4rem}.section-title{margin-top:30px}.game-panel{max-width:760px;margin:14px auto 40px}.game-header{display:flex;justify-content:space-between;color:#6a7290}.progress-track{height:10px;background:#eef0f8;border-radius:20px;overflow:hidden;margin:16px 0 25px}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:20px;transition:width .25s}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.answer-btn,.token-btn{padding:12px;border-radius:13px;border:1px solid #d6d5ec;background:#f9f9ff;color:#28304a}.answer-btn.selected,.token-btn.selected{border:2px solid var(--accent);background:#f5e8ff}.token-pool{display:flex;gap:9px;flex-wrap:wrap}.sequence{padding:15px;border:2px dashed #cbc8e3;min-height:65px;border-radius:14px;margin:10px 0}.match-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:9px 0}.match-row select{padding:8px;min-width:130px}.game-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.feedback-ok{color:#146a45}.feedback-bad{color:#ad4d42}.form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.form-row label{display:grid;gap:5px;min-width:130px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:10px;text-align:right;border-bottom:1px solid #e5e7f1}th{background:#f3f5fb;color:#395078}.overview{display:flex;flex-wrap:wrap;gap:12px}.overview span{background:#edf3fd;border-radius:12px;padding:10px}.privacy{max-width:850px;margin:35px auto}.footer{text-align:center;color:#75809a;font-size:.85rem;padding:35px 15px;margin-top:45px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f4b955;outline-offset:3px}
@media(max-width:720px){.hero{grid-template-columns:1fr}.hero-art{min-height:190px}.hero-copy{padding:24px}.worlds{grid-template-columns:1fr}.login-form{grid-template-columns:1fr}.student-head{align-items:start}.answers{grid-template-columns:1fr}.navbar{flex-wrap:wrap;padding:10px}.panel{padding:16px}.form-row{display:grid}.form-row label{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
