@font-face{font-family:Nunito;src:url('assets/nunito.ttf') format('truetype');font-weight:400 900;font-display:swap}
:root{font-family:Nunito,'Trebuchet MS',sans-serif;color:#fff9ef;background:#342742;font-synthesis:none;--lime:#d1ef94;--yellow:#ffdb85;--ink:#39334e;--muted:#d0bfcf;--panel:#3a2c46e6;--token-w:86px;--token-h:99px}
*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}button{font:inherit;cursor:pointer;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #ffe7a0;outline-offset:4px}[hidden]{display:none!important}.icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}main{flex:1;min-width:0}.planet-backdrop{position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#251d3f8a 0%,#3b27414a 32%,#47304750 65%,#342442c4 100%),url('assets/planet.png') center center/cover no-repeat;pointer-events:none}.app-header{height:83px;padding:14px 4.5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(#241d3980,transparent)}.brand{color:#fff6e7;background:none;font-size:23px;letter-spacing:.8px;line-height:1.1;font-weight:900;padding:0;gap:13px;text-align:left}.brand b{color:#daf19b}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:800;color:#d1bdce;margin-top:6px}.brand-mark{width:40px;height:42px;position:relative;display:block;flex-shrink:0}.brand-mark i{position:absolute;width:23px;height:23px;border-radius:50%;background:linear-gradient(140deg,#def6a6,#9cc95f);box-shadow:inset 0 2px 0 #ffffff44,0 3px 0 #527443}.brand-mark i:nth-child(1){top:0;left:0}.brand-mark i:nth-child(2){top:3px;right:0}.brand-mark i:nth-child(3){bottom:0;left:9px}.header-actions,.round-actions{display:flex;align-items:center;gap:9px}.tool-button{min-height:43px;color:#f1e6f2;background:#47384d91;border:1px solid #e0c4d431;border-radius:12px;padding:9px 14px;font-size:14px;font-weight:800;backdrop-filter:blur(8px)}.tool-button.square{width:43px;padding:9px}.tool-button:hover{background:#71576b99}.tool-button[aria-pressed=true]{color:#c0adbb;background:#312936}.app-footer{display:flex;gap:25px;align-items:center;justify-content:center;min-height:39px;padding:9px 16px;color:#ddc9d1;font-size:12px}.app-footer button{color:#e6d1d6;background:none;font-size:12px;padding:0;text-decoration:underline;text-underline-offset:3px}.eyebrow{color:#edc698;display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1.8px;font-weight:900}.home-screen{max-width:1190px;padding:18px 28px 30px;margin:auto;min-height:calc(100dvh - 124px);display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:20px 10px}.welcome-copy{padding:10px 0 5px}.welcome-copy h1{font-weight:900;font-size:clamp(48px,4.6vw,75px);line-height:1.05;letter-spacing:-2.8px;margin:22px 0 23px;text-shadow:0 5px 0 #43273f50}.welcome-copy h1 em{font-style:normal;color:#d8f39d}.welcome-copy>p{font-size:18px;color:#ead3dc;line-height:1.8}.welcome-copy>p b{color:#fff3e4}.welcome-actions{display:flex;gap:13px;align-items:center;margin-top:30px;flex-wrap:wrap}.primary-button{min-height:47px;background:linear-gradient(#e1f8ad,#bddd7d);color:#354327;border:1px solid #e4f7bc;border-radius:13px;box-shadow:0 4px 0 #5a7b3c,0 5px 18px #0f211626;font-size:16px;font-weight:900;padding:12px 23px;transition:transform .13s,filter .13s}.primary-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary-button:active{transform:translateY(2px);box-shadow:0 2px 0 #5a7b3c}.primary-button .icon{stroke-width:2.6}.primary-button.large{min-height:57px;padding:15px 25px;font-size:18px}.primary-button .icon.play{fill:currentColor}.secondary-button{min-height:47px;color:#f8e7ee;border:1px solid #dfc0d54f;background:#5b3c5977;border-radius:12px;padding:11px 20px;font-size:15px;font-weight:800}.secondary-button:hover{background:#7f567666}.home-progress{margin-top:24px;display:flex;align-items:center;gap:10px;color:#cfb4c4;font-size:13px}.welcome-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:425px}.hero-alien{display:block;width:300px;height:315px;object-fit:contain;filter:drop-shadow(0 15px 19px #23302133);transform:rotate(3deg)}.greeting-bubble{position:absolute;top:15px;right:-5px;transform:rotate(5deg);font-size:16px;font-weight:900;text-align:center;padding:16px 20px;border-radius:20px 20px 20px 5px;background:#f1e6d5;color:#55435a;box-shadow:0 4px 0 #63464a44}.trio-example{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #edc8d95c;background:#392a48df;border-radius:23px;padding:19px 25px 43px;position:relative;margin-top:-35px;box-shadow:0 13px 24px #201b3733;transform:rotate(-3deg)}.example-token{min-width:75px;height:83px;border-radius:17px;background:linear-gradient(#d6efa4,#aaca75);border:1px solid #e6f7bd;box-shadow:0 4px 0 #638740;display:flex;align-items:center;justify-content:center;color:#35502d}.fraction{display:inline-flex;flex-direction:column;text-align:center;font-weight:900;line-height:1;min-width:1.05em;align-items:stretch;vertical-align:middle}.fraction>span{padding:0 .1em;display:block}.fraction>span:first-child{padding-bottom:.12em;border-bottom:.065em solid currentColor}.fraction>span:last-child{padding-top:.1em}.example-token .fraction{font-size:28px}.equals{font-size:24px;font-weight:900;color:#e8cabf}.bar-example{display:flex;width:57px;height:25px;border:2px solid #416035;border-radius:3px;overflow:hidden}.bar-example>i{flex:1;background:#e5efbf}.bar-example>i:first-child{background:#835dc7}.bar-example>i+i{border-left:1px solid #416035}.example-caption{position:absolute;bottom:13px;left:0;width:100%;text-align:center;font-size:13px;color:#d4c4dc;font-weight:700}.quick-rules{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid #e1b9ca38;padding:25px 0 0;margin-top:5px}.quick-rules>div{display:flex;align-items:center;justify-content:center;gap:13px}.step-number{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#edbd9b1f;border:1px solid #efceb436;color:#f7d5a5;font-weight:900;flex-shrink:0}.quick-rules b{font-size:15px;display:block;color:#f9e4dc}.quick-rules small{display:block;font-size:13px;color:#cfb6c6;margin-top:4px}
.game-screen{max-width:1500px;margin:0 auto;padding:0 35px 7px}.mission-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:46px}.back-button{color:#e7d4df;background:none;padding:8px 0;font-size:14px;font-weight:800}.back-button .icon{width:18px;height:18px}.mission-steps{display:flex;gap:7px}.mission-step{width:28px;height:28px;border-radius:50%;border:1px solid #d6adcd38;color:#cfb4ce;background:#4f3b5759;font-size:12px;font-weight:900;display:grid;place-items:center}.mission-step.current{background:#d7efaa;color:#47552c;border-color:#ecffca;box-shadow:0 0 0 4px #c3db9b15}.mission-step.done{background:#516a4377;color:#d6f0a6;border-color:#a1bf8559}.round-actions .tool-button{min-height:39px;font-size:13px;padding:8px 12px}.round-actions .tool-button.square{width:39px;padding:8px}.round-actions .icon{width:18px;height:18px}.mission-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:17px 0 15px}.mission-heading h1{font-size:29px;letter-spacing:-.5px;margin:5px 0 0;font-weight:900}.mission-heading .eyebrow{font-size:11px;color:#e6c698}.mission-meters{display:flex;gap:28px}.mission-meters>div{display:flex;align-items:center;gap:10px}.mission-meters>div>.icon{color:#d1e89f;width:27px;height:27px}.mission-meters b{display:block;font-size:19px;font-weight:900;color:#fcf0df}.mission-meters small{display:block;font-size:12px;color:#dbbdcb;margin-top:1px}.attempt-dots{display:flex;gap:4px}.attempt-dots i{width:10px;height:23px;border-radius:4px;background:#ffda8a;border:1px solid #ffe8b2;box-shadow:0 2px 0 #af7b4c}.attempt-dots i.used{background:#83677d;border-color:#aa839b;box-shadow:none;opacity:.6}.instruction{display:flex;align-items:center;gap:12px;border:1px solid #ffddb336;border-radius:13px;background:#3a2941ba;padding:11px 16px;color:#f3e3df;margin-bottom:19px;backdrop-filter:blur(8px)}.instruction>.icon{color:#e1ebae;width:24px;height:24px}.instruction p{font-size:15px;margin:0;line-height:1.5}.instruction .gesture-note{margin-left:auto;font-size:12px;color:#cbb2c7}.zones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.zone{position:relative;border-radius:24px;background:linear-gradient(165deg,#f9e6d9eb,#dfc5d2eb);border:1px solid #fff4e2a1;padding:13px 10px 14px;color:#63516b;box-shadow:0 6px 0 #4b324354,0 10px 25px #301d3d22;min-width:0;transition:border-color .15s,box-shadow .15s,transform .15s}.zone.target-active{outline:3px solid #f3dc8a;outline-offset:3px}.zone.drag-over{transform:translateY(-5px);box-shadow:0 0 0 4px #f8dd80,0 15px 35px #201b3740}.zone.correct{background:linear-gradient(155deg,#e1efc9,#bcdba8);border-color:#e4ffb7}.zone.incorrect{border:2px solid #ffb49d;background:linear-gradient(155deg,#f3dace,#e4b3bb);padding:12px 9px 13px}.zone.revealed{background:linear-gradient(155deg,#eee2fa,#cdb9e3)}.zone-heading{display:flex;justify-content:space-between;align-items:center;padding:0 6px;font-size:12px;letter-spacing:.5px;font-weight:900}.zone-heading .zone-count{font-weight:800;letter-spacing:0;color:#9c7f96}.zone.correct .zone-count{color:#4b733d}.target{display:flex;align-items:center;justify-content:center;position:relative;width:clamp(100px,12vh,146px);height:clamp(100px,12vh,146px);margin:9px auto 10px;filter:drop-shadow(0 4px 0 #96709b2e)}.target svg{display:block;width:100%;height:100%;overflow:visible}.target-value{position:absolute;bottom:0;left:50%;transform:translate(-50%,40%);background:#513c68;color:white;font-size:16px;font-weight:900;padding:3px 12px;border:2px solid #f4e9f7;border-radius:9px;white-space:nowrap}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;position:relative}.slot{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:clamp(73px,8.9vh,102px);border:1.5px dashed #ab8cac;border-radius:16px;background:#7d59800a}.slot.filled{border-color:transparent;background:transparent}.slot-button{position:absolute;inset:0;color:#ac8cac;background:transparent;width:100%;border-radius:15px;display:flex;flex-direction:column;gap:1px}.slot-button .plus{font-size:25px;line-height:1;font-weight:600}.slot-button small{font-size:10px;line-height:1.1}.slot.drop-hover{outline:3px solid #b17fd0;outline-offset:2px}.zone-footer{margin-top:7px;text-align:center;font-size:11px;min-height:14px;color:#967c93}.zone.correct .zone-footer{color:#527c3c;font-weight:800}.zone.incorrect .zone-footer{color:#a45d62;font-weight:800}.zone.revealed .zone-footer{color:#705486}.token{position:relative;width:var(--token-w);height:var(--token-h);min-width:0;color:#294a2b;background:transparent;padding:0;border-radius:22px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;transition:transform .12s;isolation:isolate}.token:active{cursor:grabbing}.token:hover:not(:disabled){transform:translateY(-4px)}.token>img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;filter:drop-shadow(0 3px 2px #36234322)}.token-value{position:absolute;z-index:1;left:14%;right:14%;top:35%;bottom:16%;display:flex;align-items:center;justify-content:center;border-radius:13px;background:#d3ee97f2;box-shadow:0 1px 0 #567d4522;padding:2px}.token-value>.fraction{font-size:25px;line-height:.92}.token-value svg{width:100%;height:40px;overflow:visible}.token.selected{outline:3px solid #ffe28b;outline-offset:3px;background:#fff1b01c;transform:translateY(-4px)}.token.selected::after{content:'';width:8px;height:8px;border-radius:50%;background:#ffe08a;position:absolute;left:calc(50% - 4px);bottom:-8px}.token:disabled{cursor:default}.slot .token{width:100%;height:100%;max-width:91px}.slot .token-value{left:10%;right:10%;top:35%;bottom:13%;border-radius:8px}.slot .token-value>.fraction{font-size:clamp(18px,2.2vh,25px)}.slot .token-value svg{height:30px}.bank{margin-top:22px;border-radius:20px;border:1px solid #f4cdd936;background:#3f2c45cc;padding:13px 18px 10px;backdrop-filter:blur(12px);min-height:150px}.bank-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.bank-heading>div:first-child{display:flex;align-items:center;gap:14px}.bank h2{margin:0;font-size:17px;font-weight:900;color:#f2e2dc}.bank-heading>div>span{font-size:12px;color:#ccb1c4}.bank-tools{display:flex;gap:16px}.text-button{background:none;color:#e3c9da;padding:6px 0;min-height:32px;font-size:12px;font-weight:800;gap:5px}.text-button .icon{width:17px;height:17px}.text-button:disabled{opacity:.4}.token-bank{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 7px;padding:10px 0 4px;min-height:111px}.bank-empty{min-height:111px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:left;color:#cae9a6;font-size:14px;line-height:1.6}.bank-empty>.icon{width:30px;height:30px;border-radius:50%;background:#a3d08224;padding:5px}.bank-empty b{font-size:13px;font-weight:700;color:#ccb8cd}.action-bar{display:flex;align-items:center;gap:25px;margin:16px 0 9px;min-height:65px}.feedback{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.feedback>span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#40304799;color:#f2d39b;flex-shrink:0}.feedback strong{font-size:15px;color:#fff2dc;line-height:1.4;display:block}.feedback p{margin:3px 0 0;font-size:13px;color:#d9c0cc;line-height:1.5}.feedback.error strong{color:#ffe0c9}.feedback.success strong{color:#def4b9}.feedback.success>span{color:#d8f0ab;background:#55754680}.check-button{min-width:219px;flex-shrink:0}.drag-ghost{position:fixed!important;z-index:1000;pointer-events:none;opacity:.95;transform:rotate(5deg)!important;filter:drop-shadow(0 12px 10px #25193255)}.drag-source{opacity:.3}.dragging{cursor:grabbing!important}.paused .zones,.paused .bank{filter:blur(6px);pointer-events:none}
dialog{width:min(680px,calc(100vw - 28px));max-height:90dvh;padding:0;border:1px solid #dac6da55;background:linear-gradient(140deg,#51415c,#30263e);color:#f9edf1;border-radius:24px;box-shadow:0 25px 100px #130f2880}dialog::backdrop{background:#20192999;backdrop-filter:blur(7px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 23px;border-bottom:1px solid #cdb0ca27;gap:15px}.modal-header h2{font-size:23px;font-weight:900;margin:0}.modal-header .tool-button{border:0;background:#cbb0d312}.modal-header .tool-button.square{width:40px;min-height:40px}#modalBody{padding:25px}.modal-copy{color:#dcccdf;font-size:16px;line-height:1.8;margin:0}.modal-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:25px}.help-step{display:flex;gap:13px;margin-bottom:20px;font-size:16px;line-height:1.7;color:#dac8dc}.help-step>.step-number{margin-top:3px}.help-step p{margin:0}.help-step b{color:#fff0df}.help-example{display:flex;align-items:center;gap:18px;justify-content:center;background:#b59db21b;border:1px solid #c5acc22a;border-radius:16px;padding:20px;margin:20px 0}.help-example .fraction{font-size:30px;color:#d0e9a0}.help-example svg{width:86px;height:50px}.help-example>span:not(.fraction){font-size:22px}.help-note{font-size:14px;line-height:1.75;color:#d4bfd6;border:1px solid #d8b9d02e;border-radius:13px;background:#b392b014;padding:14px 17px}.mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.mission-card{display:flex;align-items:center;gap:13px;justify-content:flex-start;text-align:left;background:#b995c214;border:1px solid #dab9e02e;border-radius:14px;padding:14px;color:#f2e2f4;min-height:80px}.mission-card:hover{background:#9bbd681e;border-color:#c9e79380}.mission-card>span:first-child{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:11px;background:#c9e2a623;color:#d5eab5;font-size:17px;font-weight:900}.mission-card b{font-size:14px;font-weight:800;display:block}.mission-card small{display:block;font-size:12px;color:#c9acd2;margin-top:4px}.mission-card .earned{color:#f6d58b}.result-icon{width:70px;height:70px;border-radius:23px;background:#cce8a026;color:#d7efad;display:grid;place-items:center;margin:0 auto 15px}.result-icon .icon{width:38px;height:38px}.result-title{text-align:center;font-size:33px;font-weight:900;color:#eff8d4;line-height:1.15;margin:9px 0}.result-stars{font-size:37px;letter-spacing:8px;text-align:center;color:#ffdf8f;margin:10px 0}.result-copy{text-align:center;color:#dac4dd;font-size:16px;line-height:1.7}.equation-list{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:20px}.equation-chip{display:flex;align-items:center;gap:11px;background:#c0a8c71a;border:1px solid #d7bfe22e;border-radius:12px;padding:10px 13px;color:#ead7f2}.equation-chip .fraction{font-size:20px}.equation-chip svg{width:62px;height:32px}.result-note{font-size:13px;text-align:center;color:#c3a5cd;line-height:1.7;margin:17px 0 0}.teacher-list{font-size:15px;line-height:1.8;color:#dac9dd;padding-left:20px}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:30}.confetti>i{position:absolute;left:var(--left);top:-10%;width:10px;height:15px;background:var(--color);border-radius:2px;animation:fall var(--time) linear var(--delay) forwards}@keyframes fall{to{top:110%;transform:rotate(460deg);opacity:.1}}@keyframes gently{50%{transform:translateY(-5px)}}
@media(min-width:1700px){:root{--token-w:91px;--token-h:109px}.app-header{height:94px}.brand{font-size:27px}.brand small{font-size:12px}.game-screen{max-width:1690px;padding-left:40px;padding-right:40px}.mission-heading{margin:19px 0}.mission-heading h1{font-size:35px}.mission-heading .eyebrow{font-size:13px}.mission-meters b{font-size:22px}.mission-meters small{font-size:14px}.instruction{padding:14px 19px;margin-bottom:23px}.instruction p{font-size:18px}.instruction .gesture-note{font-size:14px}.zones{gap:23px}.zone{padding:16px 14px}.zone.incorrect{padding:15px 13px}.zone-heading{font-size:14px}.target{width:150px;height:150px;margin:12px auto}.slots{gap:10px}.slot{height:104px}.zone-footer{font-size:13px;margin-top:11px}.token-value>.fraction{font-size:28px}.slot .token-value>.fraction{font-size:27px}.bank{padding:16px 22px 14px;margin-top:26px}.bank h2{font-size:20px}.bank-heading>div>span,.text-button{font-size:14px}.token-bank{gap:7px 13px;padding-top:12px;min-height:120px}.bank-empty{min-height:120px}.action-bar{margin-top:20px}.feedback strong{font-size:18px}.feedback p{font-size:15px}.check-button{min-height:54px;font-size:18px;padding-left:28px;padding-right:28px}.app-footer{font-size:13px}.app-footer button{font-size:13px}.home-screen{max-width:1350px}.welcome-copy h1{font-size:81px}.hero-alien{width:360px;height:390px}.welcome-visual{min-height:480px}.greeting-bubble{right:20px;top:35px}}
@media(max-height:850px) and (min-width:1000px){:root{--token-w:73px;--token-h:85px}.app-header{height:66px}.brand{font-size:21px}.brand small{font-size:9px}.game-screen{padding-left:26px;padding-right:26px;max-width:1400px}.mission-toolbar{min-height:40px}.mission-heading{margin:10px 0}.mission-heading h1{font-size:24px}.instruction{padding:9px 13px;margin-bottom:12px}.instruction p{font-size:14px}.target{width:99px;height:99px;margin:7px auto}.zone{padding:10px 8px 9px;border-radius:20px}.zone.incorrect{padding:9px 7px 8px}.slot{height:72px;border-radius:13px}.slot .token-value>.fraction{font-size:19px}.slot-button small{font-size:10px}.zone-footer{font-size:11px;margin-top:5px}.bank{margin-top:15px;padding:9px 14px}.token-bank{min-height:91px;padding-top:5px;gap:4px 5px}.token-value>.fraction{font-size:21px}.bank-empty{min-height:91px}.action-bar{margin-top:10px;min-height:59px;gap:18px}.feedback strong{font-size:14px}.feedback p{font-size:12px}.app-footer{min-height:33px;padding:6px 16px}.home-screen{min-height:calc(100dvh - 99px);padding-top:8px;padding-bottom:17px}.welcome-copy h1{font-size:56px;margin:16px 0}.welcome-copy>p{font-size:16px}.hero-alien{width:245px;height:260px}.welcome-visual{min-height:350px}.greeting-bubble{top:4px;right:20px;font-size:14px}.quick-rules{padding-top:17px}.welcome-actions{margin-top:23px}.home-progress{margin-top:17px}.trio-example{padding-top:13px;padding-bottom:35px}.example-token{height:70px;min-width:65px}.example-token .fraction{font-size:24px}}
@media(max-width:1200px){.game-screen{padding-left:20px;padding-right:20px}.zones{gap:10px}.instruction .gesture-note{display:none}.mission-meters{gap:18px}.slots{gap:2px}.bank-heading>div:first-child{gap:8px}.token-bank{column-gap:7px}.zone-heading{padding:0 2px}.home-screen{padding-left:40px;padding-right:40px}.greeting-bubble{right:0}.welcome-copy h1{font-size:57px}.welcome-copy>p{font-size:16px}.hero-alien{width:280px;height:300px}.quick-rules{gap:10px}}
@media(max-width:999px){:root{--token-w:78px;--token-h:92px}.game-screen{max-width:900px}.zones{grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.zone{grid-column:span 2}.zone:nth-child(4){grid-column:2/span 2}.zone:nth-child(5){grid-column:4/span 2}.target{width:104px;height:104px}.slot{height:79px}.mission-heading h1{font-size:25px}.mission-meters{gap:12px}.mission-meters b{font-size:16px}.attempt-dots i{width:7px;height:20px}.bank-heading>div:first-child{display:block}.bank-heading>div>span{display:block;margin-top:4px}.home-screen{grid-template-columns:1fr 1fr;padding:15px 25px 25px}.welcome-copy h1{font-size:51px}.welcome-copy .eyebrow{font-size:10px;letter-spacing:1px}.hero-alien{width:235px;height:270px}.welcome-visual{min-height:380px}.greeting-bubble{font-size:13px;padding:12px}.trio-example{gap:8px;padding:13px 17px 34px}.example-token{min-width:58px;height:70px}.example-token .fraction{font-size:24px}.bar-example{width:45px;height:23px}.quick-rules b{font-size:13px}.quick-rules small{font-size:12px}.step-number{width:30px;height:30px}.home-progress{flex-wrap:wrap;gap:6px;font-size:12px}.welcome-actions{gap:10px}.primary-button.large{font-size:16px;padding:13px 16px;min-height:50px}}
@media(max-width:650px){.app-header{height:75px;padding:12px 16px;gap:10px}.brand{font-size:18px;gap:8px;letter-spacing:.2px}.brand small{font-size:8px;letter-spacing:1px}.brand-mark{width:31px;height:35px}.brand-mark i{width:19px;height:19px}.brand-mark i:nth-child(3){left:6px}.header-actions{gap:6px}.header-actions .tool-button{min-height:40px;width:40px;padding:8px;border-radius:10px}.header-actions .tool-label{display:none}.home-screen{display:flex;flex-direction:column;padding:17px 24px 25px;gap:20px;text-align:center;min-height:auto}.welcome-copy{order:0}.welcome-copy .eyebrow{justify-content:center;font-size:10px}.welcome-copy h1{font-size:49px;letter-spacing:-2px;margin:19px 0}.welcome-copy>p{font-size:15px}.welcome-actions{justify-content:center;margin-top:20px}.home-progress{justify-content:center;font-size:12px;margin-top:21px}.welcome-visual{order:1;min-height:285px;width:100%;max-width:380px;margin-top:-10px}.hero-alien{width:195px;height:215px}.greeting-bubble{top:3px;right:8px;font-size:13px}.trio-example{margin-top:-26px}.quick-rules{order:2;width:100%;grid-template-columns:1fr;gap:17px;margin-top:3px;text-align:left;padding-top:23px}.quick-rules>div{justify-content:flex-start;max-width:290px;width:100%;margin:auto}.quick-rules b{font-size:15px}.quick-rules small{font-size:13px}.app-footer{font-size:11px;gap:15px;flex-wrap:wrap}.app-footer button{font-size:11px}.game-screen{padding:0 12px 9px}.mission-toolbar{flex-wrap:wrap;gap:11px}.mission-steps{order:2;width:100%;justify-content:center;gap:10px;padding:3px 0 6px}.mission-step{width:26px;height:26px}.back-button{font-size:13px}.round-actions .tool-button{min-height:40px}.mission-heading{align-items:flex-start;flex-direction:column;margin:14px 0;gap:12px}.mission-heading h1{font-size:23px;margin-top:4px}.mission-heading .eyebrow{font-size:11px}.mission-meters{width:100%;justify-content:space-between;gap:15px}.mission-meters b{font-size:16px}.mission-meters small{font-size:12px}.mission-meters>div>.icon{width:23px}.instruction{padding:10px 11px;gap:8px;border-radius:11px;margin-bottom:16px}.instruction p{font-size:13px;line-height:1.55}.instruction>.icon{width:20px}.zones{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.zone,.zone:nth-child(4),.zone:nth-child(5){grid-column:auto;padding:10px 6px;border-radius:18px}.zone:nth-child(5){grid-column:1/-1;width:calc((100% - 10px)/2);justify-self:center}.zone.incorrect{padding:9px 5px}.zone-heading{font-size:12px;padding:0 4px}.target{width:90px;height:90px;margin:7px auto}.slots{gap:2px}.slot{height:64px;border-radius:11px}.slot .token-value>.fraction{font-size:17px}.slot .token-value{left:5%;right:5%;border-radius:6px;bottom:12%;padding:1px}.slot .token-value svg{height:24px}.slot-button small{font-size:9px}.zone-footer{font-size:10px;min-height:14px;margin-top:7px}.token.selected{outline-width:2px;outline-offset:1px}.token.selected::after{width:5px;height:5px;bottom:-5px}.target-value{font-size:13px;padding:2px 9px}.bank{padding:11px 11px 9px;margin-top:19px;border-radius:16px}.bank-heading{flex-direction:column;align-items:stretch;gap:7px}.bank-heading>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:9px}.bank h2{font-size:16px}.bank-heading>div>span{font-size:11px;text-align:right;margin:0}.bank-tools{justify-content:flex-end;gap:18px}.text-button{font-size:12px;min-height:36px}.token-bank{gap:7px 6px;padding-top:8px}.token{width:65px;height:80px}.token-value>.fraction{font-size:20px}.bank-empty{min-height:91px;font-size:13px}.bank-empty b{font-size:12px}.action-bar{flex-direction:column;align-items:stretch;gap:12px;margin:15px 0 8px}.check-button{width:100%;min-height:49px;font-size:16px}.feedback strong{font-size:14px}.feedback p{font-size:12px}.feedback>span{width:31px;height:31px}.feedback{gap:9px;min-height:54px}.modal-header{padding:15px 16px}.modal-header h2{font-size:20px}#modalBody{padding:19px}.mission-grid{gap:9px}.mission-card{padding:11px 8px;gap:8px;min-height:85px}.mission-card b{font-size:12px}.mission-card small{font-size:11px}.mission-card>span:first-child{width:28px;height:31px;font-size:14px}.result-title{font-size:28px}.result-copy,.modal-copy,.help-step{font-size:15px}.modal-actions{gap:10px}.modal-actions .primary-button,.modal-actions .secondary-button{font-size:14px;padding:11px 16px}.equation-chip{gap:8px;padding:9px}.equation-chip .fraction{font-size:18px}.equation-chip svg{width:50px}.home-progress{line-height:1.6}}
@media(max-width:360px){.app-header{padding:10px}.header-actions{gap:4px}.header-actions .tool-button{width:35px}.brand{font-size:16px}.brand small{font-size:7px}.brand-mark{width:27px;height:31px}.brand-mark i{width:17px;height:17px}.mission-steps{gap:8px}.slot{height:59px}.slot .token-value>.fraction{font-size:16px}.token{width:59px;height:75px}.zone-footer{font-size:9px}.target{width:82px;height:82px}.slot-button small{display:none}.mission-grid{grid-template-columns:1fr}.mission-card b{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.confetti{display:none}}

/* Keep the fraction label below the mascot's face, with large touch areas. */
.token-value{top:45%;bottom:2%;left:8%;right:8%;background:#d6ed9bf5;border:1px solid #effcc471}
.slot .token-value{top:44%;bottom:1%;left:4%;right:4%}
.zone-footer,.slot-button small{font-size:12px}.slot-button small{letter-spacing:-.2px}
.round-actions .tool-button,.round-actions .tool-button.square{min-height:42px}.round-actions .tool-button.square{width:42px}
@media(max-width:650px){.zone-footer{font-size:11px}.slot-button small{font-size:10px}.slot .token-value{top:43%;bottom:1%;left:1%;right:1%}.slot .token-value>.fraction{font-size:17px}.text-button{min-height:40px}.token-bank{min-height:96px}.bank-empty{min-height:96px}}
@media(max-width:360px){.slot-button small{display:none}.slot .token-value>.fraction{font-size:16px}}
