/* Shared visual foundation for all subject sites. */
:root { --ink:#242143; --purple:#5b45d6; --lavender:#f0edff; --orange:#ff9c40; --green:#36b979; --paper:#fffdf8; }
.star-group.selected { background:#ebe7ff; border-color:#6b55db; }
.hint:disabled { cursor:default; opacity:.55; text-decoration:none; }
* { box-sizing:border-box; } body { margin:0; min-width:320px; color:var(--ink); background:linear-gradient(165deg,#f6f3ff 0%,#fff8e9 74%,#e8fff2 100%); font-family:Arial,sans-serif; min-height:100vh; } button,input { font:inherit; } button { cursor:pointer; } .sky-shape { position:fixed; z-index:-1; border-radius:999px; opacity:.6; filter:blur(1px); } .shape-one{width:260px;height:260px;background:#d9d1ff;top:-95px;right:-90px}.shape-two{width:190px;height:190px;background:#ffe5a6;bottom:-55px;left:-60px}.app-shell{max-width:1040px;margin:auto;padding:22px 28px 46px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.brand{border:0;background:none;color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;font-size:27px;font-weight:800;padding:0}.brand span{color:var(--purple)}.stats{display:flex;gap:10px}.stats span{background:#fff;border:2px solid #ede9ff;border-radius:99px;padding:8px 12px;font-size:14px;box-shadow:0 4px 13px #5448810d}.hero{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;min-height:285px;background:#fff;box-shadow:0 18px 55px #54488116;border-radius:34px;padding:38px 55px;margin-bottom:47px;overflow:hidden;position:relative}.eyebrow{color:#716b93;font-weight:900;font-size:12px;letter-spacing:1.4px;margin:0 0 7px}.hero h1,.question-card h1,.results h1{font:800 clamp(34px,5vw,56px)/.98 'Trebuchet MS',Arial,sans-serif;margin:0;letter-spacing:-1px}.hero h1 em{font-style:normal;color:var(--purple)}.hero-copy{font-size:17px;line-height:1.55;max-width:510px;margin:14px 0 22px}.primary,.secondary{border:0;border-radius:16px;padding:13px 20px;font-weight:900;font-size:16px}.primary{background:var(--purple);color:#fff;box-shadow:0 7px 0 #4030aa;transition:transform .15s,box-shadow .15s}.primary:hover{transform:translateY(-2px);box-shadow:0 9px 0 #4030aa}.primary:active{transform:translateY(4px);box-shadow:0 3px 0 #4030aa}.big{padding:15px 21px}.big span{font-size:22px;margin-left:12px}.rocket-scene{height:190px;position:relative;text-align:center}.rocket{font-size:88px;position:absolute;top:54px;left:42px;transform:rotate(25deg)}.moon{font-size:70px;position:absolute;right:0;top:0}.sparkle{font-size:44px;color:#ffb32d;position:absolute;left:10px;top:12px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:0 3px 17px}.section-heading h2{font:800 28px 'Trebuchet MS',Arial,sans-serif;margin:0}.text-button,.back-button,.hint{border:0;background:transparent;color:#625b91;font-weight:900;text-decoration:underline;text-underline-offset:4px}.unit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.unit-card{padding:22px;border-radius:26px;background:#fff;box-shadow:0 10px 30px #54488112;border:2px solid transparent}.unit-card.orange{border-color:#ffe3c7}.unit-card.purple{border-color:#e9e4ff}.unit-card.green{border-color:#d4f5e4}.unit-card-top,.unit-card-bottom{display:flex;justify-content:space-between;align-items:center}.unit-icon{font-size:43px}.unit-number{font-size:11px;font-weight:900;background:#f3f0ff;padding:5px 8px;border-radius:99px;color:#655ca0}.unit-card h3{font:800 25px 'Trebuchet MS',Arial,sans-serif;margin:13px 0 3px}.unit-card p{line-height:1.45;color:#67627f;min-height:65px;margin:0}.unit-card-bottom{font-size:12px;font-weight:800;color:#77718e;margin-top:16px}.unit-card-bottom button{color:var(--purple);background:#f0edff;border:0;border-radius:12px;padding:8px 11px;font-weight:900}.unit-card-bottom b{font-size:18px;margin-left:4px}.kind-note{background:#ffffffa6;border-radius:15px;text-align:center;margin:35px auto 0;padding:12px;font-size:13px;color:#68627d;font-weight:700;max-width:490px}.game-top{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;margin-bottom:18px}.back-button{text-align:left;padding:8px 0}.round-meter{text-align:center;font-weight:900;font-size:13px}.round-meter div{height:10px;width:150px;background:#e8e5f4;border-radius:99px;margin:6px auto}.round-meter i{display:block;height:100%;border-radius:inherit;background:var(--purple);transition:width .3s}.round-stars{text-align:right;font-weight:900}.question-card{background:#fff;border-radius:34px;text-align:center;box-shadow:0 18px 55px #54488116;max-width:730px;margin:auto;padding:32px 42px 37px}.question-label{display:flex;gap:10px;justify-content:center;font-size:13px;font-weight:900;color:#756e99}.question-label span:first-child{background:#f1effa;padding:5px 9px;border-radius:99px}.question-card h1{font-size:35px;line-height:1.12;max-width:610px;margin:19px auto 25px}.group-visual{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin:16px auto 25px}.star-group{background:#fff7d8;border:2px dashed #f7cf52;border-radius:15px;padding:9px 12px;font-size:27px;letter-spacing:1px}.machine{display:flex;justify-content:center;align-items:center;gap:0;margin:26px auto;max-width:430px}.machine-input,.machine-output{background:#e9e5ff;border-radius:17px;padding:11px 16px;min-width:77px}.machine small{display:block;font-size:10px;font-weight:900;color:#6f68a0}.machine b{font-size:29px}.machine-body{background:#705cdc;color:#fff;border:5px solid #d9d3ff;padding:13px 20px;min-width:125px;clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%)}.machine-body span{display:block;font-size:22px}.fraction-visual{margin:16px auto 27px}.pie{width:150px;height:150px;margin:auto;border-radius:50%;background:conic-gradient(#6b55db 0 var(--fill),#ece9fb var(--fill) 100%);border:6px solid #fff;box-shadow:0 0 0 2px #ded9f5;display:grid;place-items:center}.pie span{background:#fff;border-radius:50%;width:78px;height:78px;display:grid;place-items:center;font:800 28px 'Trebuchet MS',Arial,sans-serif}.pie i{font-style:normal;font-size:17px}.fraction-dots{margin-top:18px}.fraction-dots i{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid #6b55db;margin:0 3px}.fraction-dots i.filled{background:#6b55db}.answer-area{min-height:76px}.answer-form{display:flex;justify-content:center;align-items:end;gap:10px}.answer-form label{position:absolute;left:-9999px}.answer-form input{width:100px;text-align:center;border:3px solid #dfdbf3;border-radius:15px;padding:10px;font-size:23px;font-weight:900;color:var(--purple)}.choices{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.choice{border:3px solid #e4e0f5;background:#fff;border-radius:15px;min-width:82px;padding:10px 16px;font-weight:900;font-size:21px;color:#3f3961}.choice:hover{border-color:#806ee5;background:#f5f3ff}.choice:disabled{opacity:.55}.hint{margin-top:16px}.feedback{min-height:28px;margin:15px 0 0;font-weight:900}.feedback.try{color:#cb6922}.feedback.hint-open{color:#60578e}.feedback.success{color:#1a9b5a}.feedback.success button{border:0;background:#dcf7e9;color:#16854e;border-radius:10px;margin-left:10px;padding:7px 10px;font-weight:900}.results{text-align:center;background:#fff;border-radius:34px;max-width:680px;margin:auto;padding:45px;box-shadow:0 18px 55px #54488116}.confetti{font-size:25px;letter-spacing:12px}.result-icon{font-size:72px;margin:8px}.results h1{font-size:39px;max-width:520px;margin:7px auto 18px}.score-bubble{border-radius:19px;background:#f3f0ff;display:inline-flex;align-items:center;gap:11px;padding:10px 19px}.score-bubble b{font:800 38px 'Trebuchet MS',Arial,sans-serif;color:var(--purple)}.score-bubble span{font-weight:900;text-align:left;line-height:1.05}.result-actions{display:flex;gap:12px;justify-content:center;margin-top:23px}.secondary{background:#efecfa;color:#554e80}.results strong{color:#5b45d6}@media(max-width:680px){.app-shell{padding:15px 16px 35px}.topbar{margin-bottom:25px}.hero{display:block;padding:30px 28px;margin-bottom:34px}.hero h1{font-size:43px}.rocket-scene{height:93px;margin-top:8px}.rocket{font-size:62px;top:20px;left:25%}.moon{font-size:48px;right:9%}.sparkle{left:12%;top:8px}.unit-grid{grid-template-columns:1fr}.unit-card p{min-height:auto}.section-heading{align-items:start}.text-button{font-size:12px}.game-top{grid-template-columns:1fr auto}.round-meter{grid-row:2;grid-column:1/3;margin-top:8px}.question-card{padding:27px 17px}.question-card h1{font-size:31px}.answer-form{flex-wrap:wrap}.answer-form input{width:90px}.machine{transform:scale(.86);margin:13px auto}.results{padding:35px 21px}.results h1{font-size:34px}}
