.smash-effects{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.smash-effects__sparkle{position:absolute;width:8px;height:8px;border-radius:50%;background:#f1c40f;box-shadow:0 0 8px #f39c12;opacity:0}.smash-effects--merging .smash-effects__sparkle{animation:sparkle-fly .7s ease forwards}@keyframes sparkle-fly{0%{opacity:0;transform:scale(0)}30%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(0) translateY(-24px)}}.smash-effects__burst{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) scale(0);font-size:2.5rem;opacity:0}.smash-effects--active .smash-effects__burst{animation:burst-pop .55s ease .15s forwards}@keyframes burst-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.fraction-circle{display:flex;flex-direction:column;min-height:0;flex:1;background:var(--color-bg)}.fraction-circle__teach{margin:0;padding:1rem 1.25rem;background:var(--color-tutor-bubble);border-bottom:3px solid var(--color-accent)}.fraction-circle__teach-text{margin:0;font-size:1.2rem;line-height:1.45;font-weight:600;color:var(--color-text);text-align:center;max-width:36rem;margin-inline:auto}.fraction-circle__dock{flex-shrink:0;padding:0 1rem 1rem;background:var(--color-surface);border-top:1px solid var(--color-border)}.fraction-circle__prompt{padding:1rem .5rem .75rem;text-align:center}.fraction-circle__prompt-text{margin:0 auto;font-size:1.2rem;line-height:1.45;font-weight:600;color:var(--color-text);max-width:36rem}.fraction-circle__tap-hint{margin:.5rem 0 0;font-size:.95rem;font-weight:600;color:var(--color-muted)}.fraction-circle__actions{display:flex;flex-direction:column;gap:.5rem;padding:0;background:transparent;border-top:none}.fraction-circle__choice{min-height:52px;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:.75rem;background:var(--color-bg);font-size:1.05rem;font-weight:600;text-align:center;cursor:pointer;touch-action:manipulation}.fraction-circle__choice:active{background:var(--color-tutor-bubble);border-color:var(--color-accent)}.fraction-circle__continue{min-height:52px;border:none;border-radius:.75rem;background:var(--color-accent);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;touch-action:manipulation}.fraction-circle__stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;min-height:280px}.fraction-circle__slice--l1-left{fill:#a8d4ec;stroke:#fff;stroke-width:2}.fraction-circle__slice--l1-right{fill:#fcd9b8;stroke:#fff;stroke-width:2}.fraction-circle__stage--aligned .fraction-circle__slice--l1-left{fill:#5ba3d9}.fraction-circle__stage--aligned .fraction-circle__slice--l1-right{fill:#f4a261}.fraction-circle[data-level="2"] .fraction-circle__slice--s0,.fraction-circle[data-level="2"] .fraction-circle__slice--s1,.fraction-circle[data-level="2"] .fraction-circle__slice--s2,.fraction-circle[data-level="2"] .fraction-circle__slice--s3,.fraction-circle[data-level="2"] .fraction-circle__slice--annular{stroke:none}.fraction-circle__slice--s0{fill:#b8e0d2;stroke:#fff;stroke-width:2}.fraction-circle__slice--s1{fill:#d4c4f0;stroke:#fff;stroke-width:2}.fraction-circle__slice--s2{fill:#f9c9a8;stroke:#fff;stroke-width:2}.fraction-circle__stage--aligned .fraction-circle__slice--s0{fill:#7ec8a8}.fraction-circle__stage--aligned .fraction-circle__slice--s1{fill:#b39ddb}.fraction-circle__stage--aligned .fraction-circle__slice--s2{fill:#f4a261}.fraction-circle__slice--s3{fill:#fff3b0;stroke:#fff;stroke-width:2}.fraction-circle__stage--aligned .fraction-circle__slice--s3{fill:#ffe066}.fraction-circle__stage--merging .fraction-circle__half-wrap--left{animation:merge-left .65s ease forwards}.fraction-circle__stage--merging .fraction-circle__half-wrap--right{animation:merge-right .65s ease forwards}@keyframes merge-left{to{transform:translate(6px)}}@keyframes merge-right{to{transform:translate(-6px)}}.fraction-circle__stage--smashed .fraction-circle__svg{animation:circle-pop .5s ease}@keyframes circle-pop{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.fraction-circle__canvas{position:relative;width:min(100%,360px);flex-shrink:0}.fraction-circle__svg{display:block;width:100%;height:auto;touch-action:none}.fraction-circle__rim{fill:var(--color-surface);stroke:var(--color-border);stroke-width:3}.fraction-circle__half-caption{font-size:14px;font-weight:700;fill:var(--color-muted)}.fraction-circle__slices-wrap--merge .fraction-circle__slice-group{animation:slice-merge-pulse .65s ease forwards}@keyframes slice-merge-pulse{50%{transform:scale(1.02)}}.fraction-circle__sector-label{font-size:15px;font-weight:800;fill:#1c2833;pointer-events:none}.fraction-circle__sector-label--compound{font-size:11px}.fraction-circle__unit-label{font-size:12px;font-weight:700;pointer-events:none}.fraction-circle__unit-label--l1-left{fill:#1a5276}.fraction-circle__unit-label--l1-right{fill:#935116}.fraction-circle__unit-label--s0{fill:#1e6b52}.fraction-circle__unit-label--s1{fill:#5b4a8a}.fraction-circle__unit-label--s2{fill:#9c4a1a}.fraction-circle__unit-label--s3{fill:#8a7020}.fraction-circle__sector-label--s0{fill:#1e6b52}.fraction-circle__sector-label--s1{fill:#5b4a8a}.fraction-circle__sector-label--s2{fill:#9c4a1a}.fraction-circle__sector-label--s3{fill:#8a7020}.fraction-circle__subdivision-line{stroke:#ffffffe6;stroke-width:2;stroke-linecap:round;pointer-events:none}.fraction-circle__unit-label--small{font-size:10px}.fraction-circle__slice-line{stroke:#ffffffd9;stroke-width:1.5;pointer-events:none}.fraction-circle__slice-label{font-size:13px;font-weight:800;fill:#1c2833;pointer-events:none;opacity:0;animation:slice-label-enter .55s ease forwards}.fraction-circle__slice-label--left{fill:#1a5276}.fraction-circle__slice-label--right{fill:#935116}@keyframes slice-label-enter{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.fraction-circle__stage--aligned .fraction-circle__slice-label{animation:slice-label-enter .55s ease forwards,slice-label-glow 2s ease-in-out .6s infinite}@keyframes slice-label-glow{0%,to{opacity:1}50%{opacity:.65}}.fraction-circle__partition-group{pointer-events:none}.fraction-circle__partition{stroke-width:5;stroke-linecap:round;pointer-events:none;opacity:.95}.fraction-circle[data-level="2"] .fraction-circle__partition{stroke-width:6}.fraction-circle__partition--aligned{stroke-width:5;opacity:1}.fraction-circle__partition--dragging{stroke-width:5;filter:drop-shadow(0 0 4px rgba(0,0,0,.2))}.fraction-circle__divider{stroke-width:5;stroke-linecap:round;pointer-events:none;transition:stroke .2s}.fraction-circle__divider--dragging{stroke-width:6;filter:drop-shadow(0 0 6px rgba(42,157,143,.55))}.fraction-circle__divider--aligned{stroke:#1e8449;stroke-width:6}.fraction-circle__handle{position:absolute;transform:translate(-50%,-50%);width:64px;height:64px;padding:0;border:none;background:transparent;cursor:grab;touch-action:none;z-index:2;display:flex;align-items:center;justify-content:center}.fraction-circle__handle:active,.fraction-circle__handle--dragging{cursor:grabbing}.fraction-circle__handle-arrows{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;animation:handle-arrows-spin 5s linear infinite}.fraction-circle__handle-arrow-arc,.fraction-circle__handle-arrow-head{stroke:#00b4d8}.fraction-circle__handle--dragging .fraction-circle__handle-arrows{opacity:0}@keyframes handle-arrows-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fraction-circle__handle--dragging .fraction-circle__handle-knob{transform:scale(1.12)}.fraction-circle__handle-knob{position:relative;z-index:1;display:block;width:40px;height:40px;flex-shrink:0;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 12px #00000040}.fraction-circle__handle--hint .fraction-circle__handle-knob{animation:handle-pulse 1.6s ease-in-out infinite}@keyframes handle-pulse{0%,to{transform:scale(1);box-shadow:0 0 8px #00b4d880}50%{transform:scale(1.12);box-shadow:0 0 20px #00e5ffd9}}.fraction-circle__stage--tap-quiz .fraction-circle__slice--tappable{cursor:pointer;stroke:#ffffff59;stroke-width:2}.fraction-circle__stage--tap-quiz .fraction-circle__slice--tappable:focus-visible{outline:3px solid #00e5ff;outline-offset:1px}.fraction-circle__stage--tap-quiz .fraction-circle__slice--tappable:active{filter:brightness(1.15)}.fraction-circle__smash--solo{flex:1 1 100%;min-height:52px;font-size:1.05rem}.slice-face__glow{fill:#ffffff8c;stroke:none}.slice-face__eye{fill:#4a5568}.slice-face__cheer-eye{fill:none;stroke:#4a5568;stroke-width:2;stroke-linecap:round}.slice-face__cheek{fill:#ffa0a073}.slice-face__mouth{stroke:#5c6b7a;stroke-width:2;stroke-linecap:round}.slice-face--excited .slice-face__mouth{stroke:#e07a5f;stroke-width:2.2}.fraction-circle__equiv{margin:0;padding:.5rem 1rem;text-align:center;font-size:1rem;color:var(--color-success);font-weight:600}.fraction-circle__toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.fraction-circle__tool,.fraction-circle__smash{flex:1 1 calc(50% - .25rem);min-height:48px;border-radius:.75rem;font-size:.95rem;font-weight:600;touch-action:manipulation;border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer}.fraction-circle__smash{border:none;background:var(--color-muted);color:#fff}.fraction-circle__smash--ready{background:linear-gradient(135deg,#2a9d8f,#1e8449)}.fraction-circle__smash:disabled,.fraction-circle__tool:disabled{opacity:.45;cursor:not-allowed}.level-menu{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem;gap:1rem}.level-menu__title{margin:0;font-size:1.5rem}.level-menu__sub{margin:0;color:var(--color-muted);text-align:center;max-width:22rem}.level-menu__list{list-style:none;margin:0;padding:0;width:min(100%,360px);display:flex;flex-direction:column;gap:.75rem}.level-menu__card{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.25rem;border:3px solid var(--level-accent, var(--color-accent));border-radius:1rem;background:var(--color-surface);text-align:left;cursor:pointer;touch-action:manipulation}.level-menu__card:disabled{opacity:.45;cursor:not-allowed;border-color:var(--color-border)}.level-menu__card:not(:disabled):active{background:var(--color-tutor-bubble)}.level-menu__badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--level-accent, var(--color-accent))}.level-menu__name{font-size:1.15rem;font-weight:700;color:var(--color-text)}.level-menu__frac{font-size:.95rem;color:var(--color-muted)}.level-menu__equiv{font-size:1rem;font-weight:600;color:var(--color-text)}.level-menu__lock{font-size:.8rem;color:var(--color-muted);margin-top:.25rem}:root{--color-bg: #f0ebe3;--color-surface: #ffffff;--color-text: #1c2833;--color-muted: #5d6d7e;--color-border: #d5d8dc;--color-tutor-bubble: #d6eaf8;--color-accent: #2874a6;--color-success: #1e8449;--color-half: #5ba3d9;--color-quarter: #8ecae6}.lesson-shell{display:flex;flex-direction:column;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.lesson-shell__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.lesson-shell__nav{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.lesson-shell__back{min-height:36px;padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);font-size:.85rem;font-weight:600;cursor:pointer;touch-action:manipulation}.lesson-shell__header h1{margin:0;font-size:1.125rem;font-weight:700;flex:1;min-width:0}.lesson-shell__phase{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--color-accent);background:var(--color-tutor-bubble);padding:.25rem .5rem;border-radius:.35rem}.lesson-shell__main{flex:1;display:flex;flex-direction:column;min-height:0}.lesson-shell[data-game-theme=laser]{background:#0a0e1a;height:100dvh;overflow:hidden}.lesson-shell[data-game-theme=laser] .lesson-shell__main{background:#0a0e1a}.lesson-shell[data-game-theme=laser] .fraction-box--circle{flex:1;min-height:0}.lesson-shell[data-game-theme=laser] .lesson-shell__header{background:#12182b;border-bottom-color:#00b4d8}.lesson-shell[data-game-theme=laser] .lesson-shell__header h1{color:#f0f7ff}.lesson-shell[data-game-theme=laser] .lesson-shell__back{color:#e8f4ff;border-color:#00b4d873;background:#00b4d81f}.lesson-shell[data-game-theme=laser] .level-menu__title{color:#f0f7ff}.lesson-shell[data-game-theme=laser] .level-menu__sub{color:#c5d9e8}.lesson-shell[data-game-theme=laser] .lesson-shell__phase{background:#00b4d826;color:#00e5ff}[data-game-theme=laser].fraction-circle{display:flex;flex-direction:column;flex:1;min-height:0;max-height:100%;overflow:hidden;justify-content:flex-end;background:radial-gradient(ellipse at 50% 55%,#1a2340,#0d1117)}[data-game-theme=laser] .fraction-circle__stage{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 .75rem;overflow:visible}[data-game-theme=laser] .fraction-circle__canvas{width:min(100%,500px);flex-shrink:0;aspect-ratio:1}[data-game-theme=laser] .fraction-circle__stage-gap{display:none}[data-game-theme=laser] .fraction-circle__svg{width:100%;height:auto}[data-game-theme=laser] .fraction-circle__dock{flex-shrink:0;margin-top:0;background:#12182bf7;border-top:2px solid #00b4d8;padding:0 1rem max(.65rem,env(safe-area-inset-bottom))}[data-game-theme=laser] .fraction-circle__equiv{flex-shrink:0;margin:0;padding:.25rem 1rem 0;color:#39ff14}[data-game-theme=laser] .fraction-circle__prompt{padding:.75rem .5rem .6rem}[data-game-theme=laser] .fraction-circle--has-choices .fraction-circle__prompt{padding:.5rem .5rem .4rem}[data-game-theme=laser] .fraction-circle--has-choices .fraction-circle__prompt-text{font-size:1.05rem;line-height:1.35}[data-game-theme=laser] .fraction-circle--has-choices .fraction-circle__choice{min-height:46px;padding:.55rem .85rem;font-size:.98rem}[data-game-theme=laser] .fraction-circle--has-choices .fraction-circle__actions{gap:.4rem}[data-game-theme=laser] .fraction-circle__prompt-text{color:#f0f7ff}[data-game-theme=laser] .fraction-circle__tap-hint{color:#00e5ff}[data-game-theme=laser] .fraction-circle__choice{background:#00b4d814;border-color:#00b4d859;color:#e8f4ff}[data-game-theme=laser] .fraction-circle__choice:active{background:#00b4d838;border-color:#00e5ff}[data-game-theme=laser] .fraction-circle__rim{fill:#0d1525;stroke:#00b4d8}[data-game-theme=laser] .fraction-circle__divider,[data-game-theme=laser] .fraction-circle__partition{stroke:#00e5ff}[data-game-theme=laser] .fraction-circle__divider--aligned,[data-game-theme=laser] .fraction-circle__partition--aligned{stroke:#39ff14;filter:drop-shadow(0 0 6px rgba(57,255,20,.5))}[data-game-theme=laser] .fraction-circle__handle-knob{background:#00b4d8!important;box-shadow:0 0 12px #00e5ff99}[data-game-theme=laser] .fraction-circle__handle-arrow-arc,[data-game-theme=laser] .fraction-circle__handle-arrow-head{stroke:#00e5ff;filter:drop-shadow(0 0 3px rgba(0,229,255,.55))}[data-game-theme=laser] .fraction-circle__smash--ready{background:linear-gradient(135deg,#0077b6,#00b4d8)}[data-game-theme=laser] .fraction-circle__stage--tap-quiz .fraction-circle__slice--tappable{animation:laser-tap-glow 2.2s ease-in-out infinite}@keyframes laser-tap-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}.wedge-circle{display:flex;flex-direction:column;min-height:0;flex:1;background:var(--color-bg)}.wedge-circle__teach{margin:0;padding:1rem 1.25rem;background:var(--color-tutor-bubble);border-bottom:3px solid #457b9d}.wedge-circle__teach-text{margin:0;font-size:1.15rem;line-height:1.45;font-weight:600;color:var(--color-text);text-align:center;max-width:36rem;margin-inline:auto}.wedge-circle__stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:1rem 1rem 5rem;min-height:300px;touch-action:none}.wedge-circle__stage--dragging{-webkit-user-select:none;user-select:none}.wedge-circle__svg{width:min(100%,360px);height:auto;max-height:360px}.wedge-circle__rim{fill:var(--color-surface);stroke:var(--color-border);stroke-width:3}.wedge-circle__slice--l1-left{fill:#a8d4ec;stroke:#fff;stroke-width:2}.wedge-circle__slice--l1-right{fill:#fcd9b8;stroke:#fff;stroke-width:2}.wedge-circle__stage--inserted .wedge-circle__slice--l1-left,.wedge-circle__inserted--l1-left{fill:#5ba3d9}.wedge-circle__stage--inserted .wedge-circle__slice--l1-right,.wedge-circle__inserted--l1-right{fill:#f4a261}.wedge-circle[data-level="2"] .wedge-circle__slice--annular{stroke:none}.wedge-circle__slice--s0{fill:#b8e0d2;stroke:#fff;stroke-width:2}.wedge-circle__slice--s1{fill:#d4c4f0;stroke:#fff;stroke-width:2}.wedge-circle__slice--s2{fill:#f9c9a8;stroke:#fff;stroke-width:2}.wedge-circle__slice--s3{fill:#fff3b0;stroke:#fff;stroke-width:2}.wedge-circle__stage--inserted .wedge-circle__slice--s0,.wedge-circle__inserted--s0{fill:#7ec8a8}.wedge-circle__stage--inserted .wedge-circle__slice--s1,.wedge-circle__inserted--s1{fill:#b39ddb}.wedge-circle__stage--inserted .wedge-circle__slice--s2,.wedge-circle__inserted--s2{fill:#f4a261}.wedge-circle__stage--inserted .wedge-circle__slice--s3,.wedge-circle__inserted--s3{fill:#ffe066}.wedge-circle__gap{fill:#ffffff59;stroke:#457b9d;stroke-width:2.5;stroke-dasharray:6 4;animation:wedge-gap-pulse 1.4s ease-in-out infinite}.wedge-circle[data-level="2"] .wedge-circle__gap.wedge-circle__slice--annular{fill:#d4c4f073;stroke:#457b9d;stroke-width:2}.wedge-circle__gap--hot{fill:#457b9d40;stroke:#1d3557;stroke-width:3}.wedge-circle[data-level="2"] .wedge-circle__gap--hot.wedge-circle__slice--annular{fill:#b39ddb8c}@keyframes wedge-gap-pulse{0%,to{opacity:1}50%{opacity:.65}}.wedge-circle__stage--inserted .wedge-circle__slice--annular{animation:wedge-snap-in .35s ease}@keyframes wedge-snap-in{0%{transform:scale(.88);opacity:.5}to{transform:scale(1);opacity:1}}.wedge-circle__slice-line{stroke:#ffffffd9;stroke-width:2}.wedge-circle__subdivision-line{stroke:#ffffffe6;stroke-width:2;stroke-linecap:round}.wedge-circle__partition{stroke:#81b29a;stroke-width:2.5;stroke-linecap:round;opacity:.85}.wedge-circle__partition--aligned{stroke:#2d6a4f;stroke-width:3.5;opacity:1}.wedge-circle__divider{stroke:#457b9d;stroke-width:3;stroke-linecap:round}.wedge-circle__divider--aligned{stroke:#1d3557;stroke-width:4}.wedge-circle__unit-label{font-size:12px;font-weight:700;pointer-events:none}.wedge-circle__unit-label--l1-0{fill:#1a5276}.wedge-circle__unit-label--l1-1{fill:#935116}.wedge-circle__unit-label--l2-0{fill:#1e6b52}.wedge-circle__unit-label--l2-1{fill:#5b4a8a}.wedge-circle__unit-label--l2-2{fill:#9c4a1a}.wedge-circle__unit-label--l2-3{fill:#8a7020}.wedge-circle__tray{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:.4rem;padding:.5rem .35rem;max-height:130px;overflow-y:auto;background:linear-gradient(to top,var(--color-surface) 85%,transparent);border-top:1px solid var(--color-border)}.wedge-circle__piece-tray{position:relative;left:auto;bottom:auto;transform:none;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.25rem;border:2px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);cursor:grab;touch-action:none}.wedge-circle__piece-tray:active{cursor:grabbing}.wedge-circle__piece-tray--hidden{visibility:hidden;pointer-events:none}.wedge-circle__piece-svg{width:56px;height:56px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}.wedge-circle[data-level="1"] .wedge-circle__piece-svg{width:52px;height:52px}.wedge-circle__piece-hint{font-size:.75rem;font-weight:800;color:#457b9d;letter-spacing:.02em}.wedge-circle__piece-float{position:absolute;pointer-events:none;z-index:4;filter:drop-shadow(0 6px 14px rgba(0,0,0,.22))}.wedge-circle__piece-float--hot{filter:drop-shadow(0 0 12px rgba(29,53,87,.45))}.wedge-circle__piece-float-svg{display:block;width:100%;height:100%;opacity:.92}.wedge-circle__stage--merging .wedge-circle__slices-wrap--merge{animation:wedge-merge-pulse .65s ease forwards}@keyframes wedge-merge-pulse{50%{transform:scale(1.03)}}.wedge-circle__stage--smashed .wedge-circle__svg{animation:wedge-circle-pop .5s ease}@keyframes wedge-circle-pop{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.wedge-circle__equiv{margin:0;padding:.5rem 1rem;text-align:center;font-size:1.35rem;font-weight:800;color:#1d3557;background:#e8f4f8}.wedge-circle__actions{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem;background:var(--color-surface);border-top:1px solid var(--color-border)}.wedge-circle__smash{min-height:52px;border:none;border-radius:.75rem;background:#adb5bd;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;touch-action:manipulation}.wedge-circle__smash--ready{background:#457b9d}.wedge-circle__smash:disabled{cursor:default;opacity:.9}.wedge-circle__continue{min-height:52px;border:none;border-radius:.75rem;background:#457b9d;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;touch-action:manipulation}.wedge-shell[data-game-theme=planet]{background:linear-gradient(180deg,#0b0d18,#151a2e,#1a1040)}.wedge-shell[data-game-theme=planet] .wedge-shell__header{background:#151a2e;border-bottom-color:#7b6cf6}.wedge-shell[data-game-theme=planet] .wedge-shell__header h1,.wedge-shell[data-game-theme=planet] .wedge-shell__phase,.wedge-shell[data-game-theme=planet] .wedge-level-menu__title,.wedge-shell[data-game-theme=planet] .wedge-level-menu__sub{color:#5c4d9e}[data-game-theme=planet].wedge-circle{background:radial-gradient(ellipse at 50% 30%,#1e1638,#0b0d18 65%)}[data-game-theme=planet] .wedge-circle__teach{background:#7b6cf626;border-bottom-color:#7b6cf6}[data-game-theme=planet] .wedge-circle__teach-text{color:#e8e4ff}[data-game-theme=planet] .wedge-circle__planet-body{filter:drop-shadow(0 0 12px rgba(126,200,240,.35))}[data-game-theme=planet] .wedge-circle__planet-shine{mix-blend-mode:screen}[data-game-theme=planet] .wedge-circle__rim{fill:none;stroke:#a8c4ff;stroke-width:4;filter:drop-shadow(0 0 10px rgba(168,196,255,.55))}[data-game-theme=planet] .wedge-circle__slice--l1-left,[data-game-theme=planet] .wedge-circle__inserted--l1-left{fill:#4a7c59;stroke:#2d5a3d}[data-game-theme=planet] .wedge-circle__slice--l1-right,[data-game-theme=planet] .wedge-circle__inserted--l1-right{fill:#c4a35a;stroke:#8b6914}[data-game-theme=planet] .wedge-circle__slice--s0{fill:#2a6eb8}[data-game-theme=planet] .wedge-circle__slice--s1{fill:#5c4d9e}[data-game-theme=planet] .wedge-circle[data-level="2"] .wedge-circle__unit-label--l2-0{fill:#153d66}[data-game-theme=planet] .wedge-circle[data-level="2"] .wedge-circle__unit-label--l2-1{fill:#2e2450}[data-game-theme=planet] .wedge-circle__slice--s2{fill:#4a7c59}[data-game-theme=planet] .wedge-circle__slice--s3{fill:#c4a35a}[data-game-theme=planet] .wedge-circle__stage{background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 60% 70%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 80% 20%,rgba(255,255,255,.3),transparent)}[data-game-theme=planet] .wedge-circle__gap{stroke:#7b6cf6;fill:#5c4d9e33}[data-game-theme=planet] .wedge-circle__smash--ready,[data-game-theme=planet] .wedge-circle__continue{background:linear-gradient(135deg,#5c4d9e,#7b6cf6)}.wedge-level-menu{padding:1.25rem 1rem 2rem;max-width:420px;margin:0 auto}.wedge-level-menu__title{margin:0 0 .35rem;font-size:1.35rem;text-align:center}.wedge-level-menu__sub{margin:0 0 1.25rem;text-align:center;color:var(--color-muted);line-height:1.45;font-size:.95rem}.wedge-level-menu__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.wedge-level-menu__card{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.1rem;border:3px solid var(--level-accent, #457b9d);border-radius:1rem;background:var(--color-surface);text-align:left;cursor:pointer;touch-action:manipulation}.wedge-level-menu__card:disabled{opacity:.55;cursor:not-allowed}.wedge-level-menu__badge{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--level-accent)}.wedge-level-menu__name{font-size:1.1rem;font-weight:700}.wedge-level-menu__frac{font-size:.9rem;color:var(--color-muted)}.wedge-level-menu__equiv{font-size:.85rem;font-weight:600;color:var(--color-text)}.wedge-level-menu__lock{margin-top:.35rem;font-size:.8rem;color:var(--color-muted);font-style:italic}.wedge-shell{display:flex;flex-direction:column;min-height:100dvh}.wedge-shell__header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.wedge-shell__header h1{margin:0;font-size:1.125rem;font-weight:700;flex:1;min-width:0}.wedge-shell__nav{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.wedge-shell__back{min-height:36px;padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);font-size:.85rem;font-weight:600;cursor:pointer;touch-action:manipulation}.wedge-shell__phase{font-size:.8rem;font-weight:700;color:var(--wedge-accent, #457b9d)}.wedge-shell__main{flex:1;display:flex;flex-direction:column;min-height:0}.compare-mode{display:flex;flex-direction:column;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.compare-mode__header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.compare-mode__back{min-height:36px;padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);font-size:.85rem;font-weight:600;cursor:pointer;touch-action:manipulation}.compare-mode__header h1{margin:0;font-size:1.125rem;font-weight:700}.compare-mode__main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.25rem 1rem;max-width:420px;width:100%;margin:0 auto}.compare-mode__blurb{margin:0;text-align:center;font-size:.95rem;line-height:1.45;color:var(--color-muted)}.compare-mode__prompt{margin:0;font-size:1.1rem;font-weight:700;text-align:center}.compare-mode__choices{display:flex;flex-direction:column;gap:.75rem;width:100%}.compare-mode__choice{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;min-height:88px;padding:1rem 1.1rem;border:3px solid var(--game-accent, var(--color-accent));border-radius:1rem;background:var(--color-surface);text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .12s ease}.compare-mode__choice:active{transform:scale(.98)}.compare-mode__choice-icon{font-size:1.5rem;line-height:1}.compare-mode__choice-title{font-size:1.15rem;font-weight:800;color:var(--game-accent, var(--color-accent))}.compare-mode__choice-desc{font-size:.9rem;line-height:1.4;color:var(--color-muted);font-weight:500}.compare-game{display:flex;flex-direction:column;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.compare-game__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.compare-game__back{min-height:36px;padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);font-size:.85rem;font-weight:600;cursor:pointer;touch-action:manipulation}.compare-game__header h1{margin:0;font-size:1.125rem;font-weight:700}.compare-game__header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.compare-game__timer{font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--game-accent, var(--color-accent))}.compare-game__progress{font-size:.75rem;font-weight:700;color:var(--color-muted)}.compare-game__best-hint{margin:0;padding:.35rem 1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;font-size:.85rem;color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.compare-game__best-hint strong{color:var(--game-accent, var(--color-accent))}.compare-game__reset-score{padding:.25rem .5rem;border:none;border-radius:.35rem;background:transparent;font-size:.8rem;font-weight:600;color:var(--color-muted);text-decoration:underline;cursor:pointer;touch-action:manipulation}.compare-game__reset-score:hover{color:var(--color-text)}.compare-game__reset-score--done{margin-top:.25rem}.compare-game__prompt{margin:0;padding:.85rem 1rem;text-align:center;font-size:1rem;line-height:1.45;color:var(--color-text);background:var(--color-tutor-bubble)}.compare-game__main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:1rem;max-width:640px;width:100%;margin:0 auto}.compare-game__row{display:flex;align-items:stretch;gap:.65rem;width:100%}.compare-game__slot{flex-shrink:0;align-self:center;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;border:2px dashed var(--color-border);font-size:2rem;font-weight:800;color:var(--color-muted);background:var(--color-surface)}.compare-game__slot--filled{border-style:solid;color:var(--game-accent, var(--color-accent))}.compare-game__slot--correct{border-color:var(--color-success);color:var(--color-success);background:#e8f8f0}.compare-game__slot--wrong{border-color:#c0392b;color:#c0392b;background:#fdecea}.compare-game__choices{display:flex;gap:.75rem;justify-content:center;width:100%}.compare-game__symbol{flex:1;max-width:120px;min-height:72px;border:3px solid var(--game-accent, var(--color-accent));border-radius:1rem;background:var(--color-surface);font-size:2.5rem;font-weight:800;color:var(--game-accent, var(--color-accent));cursor:pointer;touch-action:manipulation;transition:transform .12s ease,background .12s ease}.compare-game__symbol:active{transform:scale(.96)}.compare-game__symbol--picked{background:color-mix(in srgb,var(--game-accent) 12%,var(--color-surface))}.compare-game__symbol--correct{border-color:var(--color-success);color:var(--color-success);background:#e8f8f0}.compare-game__symbol--wrong{border-color:#c0392b;color:#c0392b;background:#fdecea}.compare-game__symbol:disabled{cursor:default}.compare-game__primary{min-height:48px;padding:.6rem 1.5rem;border:none;border-radius:.75rem;background:var(--game-accent, var(--color-accent));color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;touch-action:manipulation}.compare-game__secondary{min-height:44px;padding:.5rem 1.25rem;border:2px solid var(--color-border);border-radius:.75rem;background:var(--color-surface);font-size:1rem;font-weight:600;cursor:pointer;touch-action:manipulation}.compare-game__done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.compare-game__done-emoji{margin:0;font-size:3rem}.compare-game__done h2{margin:0}.compare-game__times{width:100%;max-width:260px;padding:.85rem 1rem;border-radius:.75rem;background:var(--color-bg);border:2px solid var(--color-border)}.compare-game__time-row{margin:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.95rem;color:var(--color-muted)}.compare-game__time-row+.compare-game__time-row{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.compare-game__time-row strong{font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--color-text)}.compare-game__time-row--record strong{color:var(--color-success)}.compare-game__record-badge{margin:.65rem 0 0;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--color-success)}.circle-frac{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.circle-frac__svg{width:100%;max-width:168px;height:auto;display:block}.circle-frac__rim{fill:var(--color-bg);stroke:var(--color-border);stroke-width:2}.circle-frac__slice{fill:color-mix(in srgb,var(--circle-accent) 18%,var(--color-surface));stroke:none}.circle-frac__slice--filled{fill:var(--circle-accent)}.circle-frac__spoke{stroke:var(--color-border);stroke-width:1.5;stroke-linecap:round}.circle-frac__label{margin:0;display:flex;flex-direction:column;align-items:center;font-weight:800;font-size:1.1rem;line-height:1;color:var(--color-text)}.circle-frac__slash{display:block;width:1.75rem;height:2px;margin:.15rem 0;background:var(--color-text);border-radius:1px}.circle-frac--left .circle-frac__slice--filled{filter:none}.compare-circles-game .compare-game__row{align-items:center}.compare-circles-game[data-game-theme=spotlight]{background:radial-gradient(ellipse at 50% 0%,#3d2c5c,#1a1028 45%,#0d0814)}.compare-circles-game[data-game-theme=spotlight] .compare-game__header{background:#1a1028;border-bottom:3px solid #ffc107}.compare-circles-game[data-game-theme=spotlight] .compare-game__header h1,.compare-circles-game[data-game-theme=spotlight] .compare-game__back{color:#fff8e1}.compare-circles-game[data-game-theme=spotlight] .compare-game__back{border-color:#ffc10773;background:#ffffff14}.compare-circles-game[data-game-theme=spotlight] .compare-game__prompt{background:#2a1f3d;color:#ffe082;border-bottom:2px solid #ffc107}.compare-circles-game[data-game-theme=spotlight] .compare-game__timer,.compare-circles-game[data-game-theme=spotlight] .compare-game__progress{color:#ffc107}.compare-circles-game[data-game-theme=spotlight] .circle-frac__rim{fill:#1e1528;stroke:#ffc107;stroke-width:4;filter:drop-shadow(0 0 8px rgba(255,193,7,.4))}.compare-circles-game[data-game-theme=spotlight] .circle-frac__slice{fill:#2a2038;stroke:#5c4d6e;stroke-width:2}.compare-circles-game[data-game-theme=spotlight] .circle-frac__slice--filled{fill:#ffd54f;stroke:#ffc107;stroke-width:2;filter:drop-shadow(0 0 6px rgba(255,213,79,.7))}.compare-circles-game[data-game-theme=spotlight] .circle-frac__spoke{stroke:#ffe082;stroke-width:2.5;opacity:.9}.compare-circles-game[data-game-theme=spotlight] .compare-game__symbol{border-color:#ffc107;color:#ffe082;background:#1e1528}.compare-circles-game[data-game-theme=spotlight] .compare-game__slot{border-color:#ffc107;background:#2a1f3d;color:#ffe082}.compare-circles-game[data-game-theme=spotlight] .compare-game__primary{background:linear-gradient(135deg,#f9a825,#ffc107);color:#1a1028}.compare-circles-game[data-game-theme=spotlight] .compare-mode{background:radial-gradient(ellipse at 50% 0%,#3d2c5c,#1a1028)}.compare-circles-game[data-game-theme=spotlight] .compare-mode__blurb,.compare-circles-game[data-game-theme=spotlight] .compare-mode__prompt{color:#ffe082}.compare-circles-game[data-game-theme=spotlight] .compare-mode__header{background:#1a1028;border-bottom-color:#ffc107}.compare-circles-game[data-game-theme=spotlight] .compare-mode__header h1,.compare-circles-game[data-game-theme=spotlight] .compare-mode__back{color:#fff8e1}.compare-circles-game[data-game-theme=spotlight] .compare-mode__back{border-color:#ffc10766;background:#ffffff14}.compare-circles-game[data-game-theme=spotlight] .circle-frac__label,.compare-circles-game[data-game-theme=spotlight] .compare-game__done h2{color:#ffe082}.compare-circles-game[data-game-theme=spotlight] .compare-game__slot--correct{border-color:#15803d;border-width:3px;border-style:solid;color:#fff;background:#22c55e;box-shadow:0 0 14px #22c55e8c}.compare-circles-game[data-game-theme=spotlight] .compare-game__slot--wrong{border-color:#b91c1c;border-width:3px;border-style:solid;color:#fff;background:#ef4444;box-shadow:0 0 14px #ef444480}.compare-circles-game[data-game-theme=spotlight] .compare-game__symbol--correct{border-color:#15803d;color:#fff;background:#22c55e;box-shadow:0 0 12px #22c55e73}.compare-circles-game[data-game-theme=spotlight] .compare-game__symbol--wrong{border-color:#b91c1c;color:#fff;background:#ef4444;box-shadow:0 0 12px #ef444473}.frac-display{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem .75rem;border-radius:1rem;background:var(--color-surface);border:2px solid var(--color-border)}.frac-display--left{border-color:color-mix(in srgb,var(--frac-accent) 35%,var(--color-border))}.frac-display--right{border-color:color-mix(in srgb,var(--frac-accent) 55%,var(--color-border))}.frac-display__value{margin:0;display:flex;flex-direction:column;align-items:center;line-height:1}.frac-display__num,.frac-display__den{font-size:2.25rem;font-weight:800;color:var(--color-text)}.frac-display__bar{display:block;width:2.5rem;height:3px;margin:.35rem 0;background:var(--frac-accent, var(--color-accent));border-radius:2px}.frac-display__model{width:100%;max-width:140px;height:28px;border-radius:8px;background:var(--color-bg);border:2px solid var(--color-border);overflow:hidden}.frac-display__model-fill{height:100%;width:var(--frac-pct, 0%);background:var(--frac-accent, var(--color-accent));border-radius:4px 0 0 4px}.frac-display__model--hidden .frac-display__model-fill{width:0}.frac-display__model--revealed .frac-display__model-fill{animation:frac-bar-reveal .55s ease forwards}@keyframes frac-bar-reveal{0%{width:0}to{width:var(--frac-pct, 100%)}}.racing-flag{display:flex;align-items:flex-end;justify-content:center;height:7.5rem;margin-bottom:.25rem}.racing-flag__pole{width:6px;height:6.5rem;border-radius:3px;background:linear-gradient(90deg,#4a4a4a,#1a1a1a 50%,#4a4a4a);box-shadow:1px 2px 4px #00000059}.racing-flag__cloth{position:relative;width:7.5rem;height:5rem;margin-bottom:1.25rem;margin-left:-2px;transform-origin:left center;animation:racing-flag-wave 1.1s ease-in-out infinite;filter:drop-shadow(2px 3px 6px rgba(0,0,0,.25))}.racing-flag__pattern{width:100%;height:100%;border:2px solid #1a1a1a;border-radius:0 4px 4px 0;background-color:#fff;background-image:linear-gradient(45deg,#111 25%,transparent 25%),linear-gradient(-45deg,#111 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#111 75%),linear-gradient(-45deg,transparent 75%,#111 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}@keyframes racing-flag-wave{0%,to{transform:rotate(-2deg) skewY(0)}25%{transform:rotate(4deg) skewY(-6deg)}50%{transform:rotate(-1deg) skewY(4deg)}75%{transform:rotate(5deg) skewY(-4deg)}}@media(prefers-reduced-motion:reduce){.racing-flag__cloth{animation:none;transform:rotate(2deg)}}.compare-racing-game[data-game-theme=racing]{background:linear-gradient(180deg,#1a1a2e,#2d2d44 35%,#e8e8e8)}.compare-racing-game[data-game-theme=racing] .compare-game__header{background:#1a1a2e;border-bottom:4px solid #e63946}.compare-racing-game[data-game-theme=racing] .compare-game__header h1,.compare-racing-game[data-game-theme=racing] .compare-game__back{color:#fff}.compare-racing-game[data-game-theme=racing] .compare-game__back{border-color:#ffffff59;background:#ffffff14}.compare-racing-game[data-game-theme=racing] .compare-game__prompt{background:repeating-linear-gradient(-45deg,#fff 0,#fff 8px,#f5f5f5 8px,#f5f5f5 16px);color:#1a1a2e;border-bottom:3px solid #e63946}.compare-racing-game[data-game-theme=racing] .compare-game__timer{color:#e63946;font-weight:800;font-variant-numeric:tabular-nums}.compare-racing-game[data-game-theme=racing] .compare-game__progress{color:#fff}.compare-racing-game[data-game-theme=racing] .compare-game__symbol{border-color:#1a1a2e;color:#1a1a2e;background:#fff;font-weight:800}.compare-racing-game[data-game-theme=racing] .compare-game__slot{border-color:#e63946;background:linear-gradient(180deg,#fff,#ffe8e8);color:#c1121f}.compare-racing-game[data-game-theme=racing] .frac-display__value{color:#1a1a2e}.compare-racing-game[data-game-theme=racing] .compare-game__primary{background:linear-gradient(135deg,#c1121f,#e63946)}.compare-racing-game[data-game-theme=racing] .compare-mode{background:linear-gradient(180deg,#1a1a2e,#e8e8e8)}.compare-racing-game[data-game-theme=racing] .compare-mode__header{background:#1a1a2e;border-bottom-color:#e63946}.compare-racing-game[data-game-theme=racing] .compare-mode__header h1,.compare-racing-game[data-game-theme=racing] .compare-mode__back{color:#fff}.compare-racing-game[data-game-theme=racing] .compare-mode__back{border-color:#ffffff59;background:#ffffff14}.compare-racing-game[data-game-theme=racing] .compare-mode__blurb,.compare-racing-game[data-game-theme=racing] .compare-mode__prompt{color:#1a1a2e}.compare-racing-game[data-game-theme=racing] .compare-game__slot--correct{border-color:#15803d;border-width:3px;border-style:solid;color:#fff;background:#22c55e;box-shadow:0 0 14px #22c55e8c}.compare-racing-game[data-game-theme=racing] .compare-game__slot--wrong{border-color:#b91c1c;border-width:3px;border-style:solid;color:#fff;background:#ef4444;box-shadow:0 0 14px #ef444480}.compare-racing-game[data-game-theme=racing] .compare-game__symbol--correct{border-color:#15803d;color:#fff;background:#22c55e;box-shadow:0 0 12px #22c55e73}.compare-racing-game[data-game-theme=racing] .compare-game__symbol--wrong{border-color:#b91c1c;color:#fff;background:#ef4444;box-shadow:0 0 12px #ef444473}.compare-racing-game[data-game-theme=racing] .compare-game__done--racing-finish{position:relative}.gator-mouth{display:block;overflow:visible}.gator-mouth--sm{width:56px;height:38px}.gator-mouth--md{width:72px;height:48px}.gator-mouth--lg{width:96px;height:64px}.gator-mouth__jaw{fill:#3d9970;stroke:#1e5631;stroke-width:2;stroke-linejoin:round}.gator-mouth__eye{fill:#f9e79f;stroke:#1e5631;stroke-width:1.5}.gator-mouth__pupil{fill:#1c2833}.gator-mouth__tooth{stroke:#fff;stroke-width:2.5;stroke-linecap:round}.gator-mouth__equals{font-size:28px;font-weight:800;fill:#1e5631}.gator-mouth__body{fill:#52b788;stroke:#1e5631;stroke-width:2}.gator-mouth__jaw-open{fill:#40916c;stroke:#1e5631;stroke-width:2}.gator-mouth__nostril{fill:#1e5631}.gator-mouth__symbol-bg{fill:#e8f5e9;stroke:#2d6a4f;stroke-width:2}.gator-mouth__symbol-text{font-size:26px;font-weight:800;fill:#1e5631}.gator-mouth__symbol-fat{fill:#3d9970;stroke:#1e5631;stroke-width:2;stroke-linejoin:round}.gator-mouth__symbol-jaw-top{fill:#52b788;stroke:#1e5631;stroke-width:1.5}.gator-mouth__symbol-jaw-bottom{fill:#40916c;stroke:#1e5631;stroke-width:1.5}.gator-mouth__symbol-outline{fill:#d8f3dc;stroke:#1e5631;stroke-width:2;stroke-linejoin:round}.gator-mouth__jaw-top{fill:#52b788;stroke:#1e5631;stroke-width:2}.gator-mouth__jaw-bottom{fill:#40916c;stroke:#1e5631;stroke-width:2}.gator-mouth__tooth-fill{fill:#fff}.gator-mouth__smile{stroke:#1e5631;stroke-width:2;stroke-linecap:round}.gator-mouth__profile-snout{fill:#52b788;stroke:#1e5631;stroke-width:2;stroke-linejoin:round}.gator-mouth__equals-sign{fill:#fff;stroke:#1e5631;stroke-width:2}.gator-mouth--chomp{animation:gator-mouth-pop .45s ease}@keyframes gator-mouth-pop{0%{transform:scale(1)}35%{transform:scale(1.12)}65%{transform:scale(1.06)}to{transform:scale(1.04)}}.gator-mouth--chomp .gator-mouth__jaw{transform-origin:30px 24px;animation:gator-triangle-chomp .5s ease-in-out 2}@keyframes gator-triangle-chomp{0%,to{transform:scale(1)}40%{transform:scale(1.14)}55%{transform:scale(1.06)}}.gator-mouth--chomp .gator-mouth__symbol-jaw-top,.gator-mouth--chomp .gator-mouth__jaw-top{transform-origin:10px 24px;animation:gator-jaw-top-chomp .45s ease-in-out 2}.gator-mouth--chomp .gator-mouth__symbol-jaw-bottom,.gator-mouth--chomp .gator-mouth__jaw-bottom{transform-origin:10px 24px;animation:gator-jaw-bottom-chomp .45s ease-in-out 2}@keyframes gator-jaw-top-chomp{0%,to{transform:rotate(0)}40%{transform:rotate(16deg)}55%{transform:rotate(10deg)}}@keyframes gator-jaw-bottom-chomp{0%,to{transform:rotate(0)}40%{transform:rotate(-16deg)}55%{transform:rotate(-10deg)}}.gator-mouth--chomp .gator-mouth__jaw-open{transform-origin:48px 28px;animation:gator-friendly-chomp .5s ease-in-out 2}@keyframes gator-friendly-chomp{0%,to{transform:scale(1)}45%{transform:scale(1.2) translate(4px)}}.gator-mouth--chomp .gator-mouth__profile-snout{transform-origin:42px 26px;animation:gator-profile-chomp .5s ease-in-out 2}@keyframes gator-profile-chomp{0%,to{transform:scaleX(1)}40%{transform:scaleX(1.15)}}.gator-mouth--chomp-equal{animation:gator-equal-happy .6s ease-in-out 2}@keyframes gator-equal-happy{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.08) rotate(-4deg)}50%{transform:scale(1.1) rotate(4deg)}75%{transform:scale(1.06) rotate(-2deg)}}.gator-picker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;background:#1c28338c}.gator-picker__panel{width:min(100%,520px);max-height:min(92dvh,720px);overflow-y:auto;padding:1.25rem 1rem 1rem;border-radius:1rem;background:var(--color-surface);box-shadow:0 12px 40px #0003}.gator-picker__panel h2{margin:0 0 .35rem;font-size:1.25rem;text-align:center}.gator-picker__intro{margin:0 0 1rem;font-size:.9rem;line-height:1.45;color:var(--color-muted);text-align:center}.gator-picker__list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.65rem}.gator-picker__option{width:100%;padding:.75rem;border:3px solid var(--color-border);border-radius:.85rem;background:var(--color-bg);text-align:left;cursor:pointer;touch-action:manipulation}.gator-picker__option--selected{border-color:#2d6a4f;background:#e8f5e9;box-shadow:0 0 0 2px #2d6a4f40}.gator-picker__option-head{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.5rem}.gator-picker__option-name{font-size:1rem;font-weight:800;color:var(--color-text)}.gator-picker__option-blurb{font-size:.8rem;color:var(--color-muted)}.gator-picker__previews{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.gator-picker__preview{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .2rem;border-radius:.5rem;background:var(--color-surface)}.gator-picker__preview span{font-size:.6rem;font-weight:700;text-align:center;line-height:1.2;color:var(--color-muted)}.gator-picker__done{width:100%;min-height:48px;border:none;border-radius:.75rem;background:#2d6a4f;color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;touch-action:manipulation}.gator-game{display:flex;flex-direction:column;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.gator-game__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.gator-game__back{min-height:36px;padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);font-size:.85rem;font-weight:600;cursor:pointer;touch-action:manipulation}.gator-game__header h1{margin:0;font-size:1.125rem;font-weight:700}.gator-game__header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.gator-game__pick-art{min-height:32px;padding:.25rem .6rem;border:1px solid #81c784;border-radius:.45rem;background:#e8f5e9;font-size:.75rem;font-weight:700;color:var(--game-accent, #2d6a4f);cursor:pointer;touch-action:manipulation}.gator-game__progress{font-size:.75rem;font-weight:700;color:var(--game-accent, #2d6a4f)}.gator-game__prompt{margin:0;padding:.85rem 1rem;text-align:center;font-size:1rem;line-height:1.45;background:#e8f5e9;color:var(--color-text)}.gator-game__main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;max-width:680px;width:100%;margin:0 auto}.gator-game__row{display:flex;align-items:center;gap:.5rem;width:100%}.gator-game__frac{flex:1;min-width:0;transition:transform .2s ease}.gator-game__frac--chomped{animation:gator-frac-chomped .5s ease-in-out 2}@keyframes gator-frac-chomped{0%,to{transform:scale(1)}35%{transform:scale(.94)}55%{transform:scale(.97)}}.gator-game__center{flex-shrink:0;width:5.5rem;height:5.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px dashed #81c784;background:#f1f8e9}.gator-game__center--filled{border-style:solid;border-color:var(--game-accent, #2d6a4f)}.gator-game__center--correct{border-color:var(--color-success);background:#e8f8f0}.gator-game__center--wrong{border-color:#c0392b;background:#fdecea}.gator-game__center--chomp-left{animation:gator-center-lunge-left .65s ease-out forwards}.gator-game__center--chomp-right{animation:gator-center-lunge-right .65s ease-out forwards}@keyframes gator-center-lunge-left{0%{transform:translate(0) scale(1)}30%{transform:translate(-32px) scale(1.18)}50%{transform:translate(-26px,-3px) scale(1.14)}70%{transform:translate(-30px) scale(1.12)}to{transform:translate(-24px) scale(1.1)}}@keyframes gator-center-lunge-right{0%{transform:translate(0) scale(1)}30%{transform:translate(32px) scale(1.18)}50%{transform:translate(26px,-3px) scale(1.14)}70%{transform:translate(30px) scale(1.12)}to{transform:translate(24px) scale(1.1)}}.gator-game__choice--chomp{animation:gator-choice-chomp .55s ease-in-out 2}@keyframes gator-choice-chomp{0%,to{transform:scale(1)}40%{transform:scale(1.06)}}.gator-game__center-hint{font-size:2rem;font-weight:800;color:#81c784}.gator-game__legend{margin:0;font-size:.85rem;color:var(--color-muted);text-align:center}.gator-game__legend-item{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:center}.gator-game__choices{display:flex;gap:.65rem;width:100%;justify-content:center}.gator-game__choice{flex:1;max-width:130px;min-height:110px;padding:.65rem .4rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;border:3px solid var(--game-accent, #2d6a4f);border-radius:1rem;background:var(--color-surface);cursor:pointer;touch-action:manipulation;transition:transform .12s ease}.gator-game__choice:active{transform:scale(.97)}.gator-game__choice-caption{font-size:.7rem;font-weight:700;color:var(--color-muted);text-align:center;line-height:1.2}.gator-game__choice-symbol{font-size:1.25rem;font-weight:800;color:var(--game-accent, #2d6a4f)}.gator-game__choice--picked{background:#e8f5e9}.gator-game__choice--correct{border-color:var(--color-success);background:#e8f8f0}.gator-game__choice--wrong{border-color:#c0392b;background:#fdecea}.gator-game__choice:disabled{cursor:default}.gator-game__primary{min-height:48px;padding:.6rem 1.5rem;border:none;border-radius:.75rem;background:var(--game-accent, #2d6a4f);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;touch-action:manipulation}.gator-game__secondary{min-height:44px;padding:.5rem 1.25rem;border:2px solid var(--color-border);border-radius:.75rem;background:var(--color-surface);font-size:1rem;font-weight:600;cursor:pointer;touch-action:manipulation}.gator-game__done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.gator-game__done-gator{margin:0 auto}.gator-game__done h2{margin:0}.gator-game__done-tip{margin:0;max-width:22rem;color:var(--color-muted);line-height:1.45;font-size:.95rem}.lobby{display:flex;flex-direction:column;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--color-bg)}.lobby__header{padding:1.25rem 1rem .5rem;text-align:center}.lobby__title{margin:0;font-size:1.75rem;font-weight:800;color:var(--color-text)}.lobby__sub{margin:.5rem auto 0;max-width:22rem;font-size:.95rem;color:var(--color-muted);line-height:1.45}.lobby__grid{list-style:none;margin:0;padding:1.25rem 1rem 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;max-width:720px;width:100%;align-self:center;flex:1;align-content:start}.lobby__tile{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;min-height:180px;padding:1.15rem 1.2rem;border:3px solid var(--tile-accent, var(--color-accent));border-radius:1.1rem;background:var(--color-surface);text-align:left;cursor:pointer;touch-action:manipulation;box-shadow:0 4px 14px #0000000f;transition:transform .15s ease,box-shadow .15s ease}.lobby__tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.lobby__tile:active{transform:translateY(0)}.lobby__tile-icon{font-size:2rem;line-height:1;color:var(--tile-accent, var(--color-accent))}.lobby__tile-title{font-size:1.2rem;font-weight:800;color:var(--color-text)}.lobby__tile-sub{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--tile-accent, var(--color-accent))}.lobby__tile-desc{font-size:.85rem;line-height:1.4;color:var(--color-muted);flex:1}.lobby__tile-badge{margin-top:.25rem;padding:.2rem .55rem;border-radius:999px;background:var(--color-bg);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}@media(min-width:600px){.lobby__grid{grid-template-columns:repeat(2,1fr)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text)}#root{min-height:100dvh}button{font-family:inherit}
