:root{--ink:#24304d;--purple:#6843db;--mint:#d6f5e4;--pink:#ffe0ec;--yellow:#fff0ad;--blue:#e0edff;--paper:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,sans-serif}header,main,footer{max-width:1120px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px}a{color:inherit}header a{text-decoration:none;font-size:.85rem}.brand{font-weight:900;font-size:1.35rem}.brand span{font-size:.65rem;background:var(--yellow);padding:6px 10px;border-radius:20px;margin-left:8px}main{padding:0 24px}.hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:35px;padding:55px 0 60px}.eyebrow{font-size:.76rem;font-weight:850;letter-spacing:.12em;color:var(--purple)}h1{font-size:clamp(2.5rem,5.4vw,4.4rem);line-height:1.08;letter-spacing:-.055em;margin:16px 0 24px}h1 span{color:var(--purple)}.hero p{max-width:560px}.small{font-size:.8rem;color:#57617a}.primary,.secondary{display:inline-block;border:0;border-radius:13px;padding:13px 20px;font:750 .93rem/1.4 system-ui;cursor:pointer;text-decoration:none}.primary{background:var(--purple);color:white;box-shadow:0 4px 0 #432b96}.secondary{background:#edf0f6;color:var(--ink)}button:hover,.primary:hover{filter:brightness(.96)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #be6500;outline-offset:4px}.hero-art{height:320px;background:var(--mint);border-radius:48% 45% 44% 40%;position:relative;display:grid;place-items:center;transform:rotate(-5deg)}.pizza{width:220px;height:220px;border-radius:50%;background:conic-gradient(#ffb75b 0 25%,#fa886a 25% 50%,#b59afa 50% 75%,#fffdf8 75%);border:8px solid white;box-shadow:0 12px 0 #28384c15}.orbit{position:absolute;left:12px;top:10px;background:var(--purple);color:#fff;border-radius:20px;padding:5px 25px;font-size:3rem;transform:rotate(-12deg)}.sticker{position:absolute;right:0;bottom:8px;border:3px solid var(--ink);border-radius:20px;background:var(--yellow);font-weight:900;font-size:2rem;line-height:1.15;padding:18px;transform:rotate(12deg)}.sticker small{font-size:.8rem}.route{background:white;border:1px solid #e3e4ec;border-radius:22px;padding:24px;margin-bottom:35px}.route-top,.practice-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.route-top span{font-size:.85rem}progress{width:100%;height:10px;accent-color:var(--purple);margin:15px 0}nav{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}nav button{border:2px solid transparent;background:#f4f1fd;border-radius:12px;padding:12px 5px;color:var(--ink);font-weight:700;cursor:pointer}nav button[aria-current="step"]{border-color:var(--purple);background:#e7dfff}nav small{display:block;margin-top:4px}.lab{background:#fff;border:1px solid #e3e4ec;border-radius:26px;overflow:hidden;padding:32px}.station-head h2{font-size:2rem;letter-spacing:-.04em;margin:5px 0}.learn{background:var(--blue);border-radius:18px;padding:24px;margin:24px 0}.learn h3{margin-top:0}.rule{font-size:1.15rem;font-weight:750}.frac{display:inline-flex;vertical-align:middle;flex-direction:column;text-align:center;line-height:1.25;margin:0 5px;min-width:25px}.frac span:first-child{border-bottom:2px solid currentColor;padding:0 5px 3px}.frac span:last-child{padding-top:3px}.experiment{background:white;border-radius:14px;padding:18px;margin-top:20px}.experiment label{display:inline-block;margin:8px 14px 8px 0}.shape{display:block;width:min(100%,360px);height:190px;margin:20px auto}.shape text{font:15px system-ui;fill:var(--ink)}.tiles{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;max-width:480px;margin:18px 0}.tile{height:43px;border:2px solid #65568b;border-radius:6px;background:white;cursor:pointer}.tile[aria-pressed="true"]{background:#a98bed;background-image:repeating-linear-gradient(45deg,transparent,transparent 8px,#ffffff40 8px,#ffffff40 10px)}input[type=range]{width:min(100%,350px);accent-color:var(--purple)}.practice{margin:30px 0}.practice h3{font-size:1.35rem}.practice-head span{font-size:.85rem;background:var(--yellow);padding:4px 12px;border-radius:20px}.question{font-size:1.1rem;font-weight:650}.inputs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}.inputs label{display:flex;gap:8px;align-items:center;font-weight:650}.inputs input{width:85px;border:2px solid #c5cbd8;border-radius:10px;padding:12px;font:inherit;text-align:center}.choices{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.choices label{border:2px solid #c5cbd8;border-radius:12px;padding:12px 22px;cursor:pointer}.choices label:has(input:checked){border-color:var(--purple);background:#f0e9ff}.choices input{accent-color:var(--purple)}.actions{display:flex;gap:12px;flex-wrap:wrap}#feedback{margin-top:18px;border-radius:12px}#feedback:not(:empty){padding:16px;background:#fff0cc}#feedback.good{background:var(--mint)}.hint{background:#fff4cd;border-radius:12px;padding:15px;margin-top:12px}.question-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e6e8ed}.reflection{background:var(--pink);border-radius:18px;padding:22px;margin:24px 0}.reflection label{font-size:.85rem}textarea{display:block;width:100%;margin-top:8px;border:1px solid #cc9fb4;border-radius:10px;padding:12px;font:inherit;resize:vertical}.line-wrap{padding:10px 10px 24px}.numberline{width:100%;height:auto;display:block}.ticks{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-top:12px}.ticks button{background:#edf0f6;border:2px solid transparent;border-radius:9px;padding:10px;cursor:pointer;font-weight:700}.ticks button.selected{border-color:var(--purple);background:#e7dfff}.finish{padding:50px 0}.finish h2{font-size:2rem}.badges{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.badge{padding:16px 5px;text-align:center;border-radius:16px;background:#eeedf4;font-size:.8rem}.badge.won{background:var(--mint)}.badge b{display:block;font-size:1.5rem}details{background:#f0edf8;border-radius:12px;padding:18px;margin:24px 0}summary{font-weight:700;cursor:pointer}footer{padding:25px;text-align:center;font-size:.8rem;border-top:1px solid #e6e8ed}[hidden]{display:none!important}@media(max-width:700px){header{padding:18px}.brand span{display:none}main{padding:0 16px}.hero{grid-template-columns:1fr;padding:25px 0;gap:20px}.hero-art{height:230px;max-width:380px;width:100%;margin:auto}.pizza{width:170px;height:170px}.orbit{font-size:2rem}.sticker{font-size:1.4rem}nav{grid-template-columns:repeat(3,1fr)}.lab{padding:20px}.learn{padding:18px}.badges{grid-template-columns:repeat(3,1fr)}.route-top{align-items:flex-start;flex-direction:column;gap:3px}.tiles{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
