:root{color:#173f42;font-synthesis:none;text-rendering:optimizelegibility;--ink:#173f42;--ink-soft:#567174;--sea-deep:#155b61;--sea:#207a78;--sea-light:#8bc4bd;--paper:#fbf8f0;--sand:#e7c58b;--coral:#dc7057;--gold:#c99143;--line:#173f421f;--shadow:0 30px 70px #22413e26, 0 8px 24px #42382a14;background:#eee9de;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:#eee9de;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 10% 12%,#ffffffe6,#0000 30%),radial-gradient(circle at 92% 10%,#89beb53d,#0000 28%),linear-gradient(145deg,#f4f0e7 0%,#ede8dd 50%,#e9e5db 100%);min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline-offset:4px;outline:3px solid #207a787a}.app-shell{min-height:100vh;position:relative;overflow:hidden}.app-shell:before{content:"";pointer-events:none;opacity:.2;mix-blend-mode:multiply;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");position:fixed;inset:0}.topbar{z-index:2;justify-content:space-between;align-items:center;width:min(1440px,100% - 64px);height:104px;margin:0 auto;display:flex;position:relative}.brand{color:var(--ink);align-items:center;gap:13px;display:inline-flex}.brand-title{min-height:44px;color:inherit;align-items:center;text-decoration:none;display:flex}.brand-mark-trigger{cursor:default;background:0 0;border:0;border-radius:17px;place-items:center;width:52px;height:52px;padding:0;display:grid}.brand-mark{background:linear-gradient(145deg,#1d7472,#104e58);border-radius:17px;place-items:center;width:52px;height:52px;display:grid;box-shadow:inset 0 1px #ffffff59,0 10px 22px #144a4d38}.brand-mark svg{fill:#f0d392;width:38px}.brand-mark svg path:nth-child(2){fill:#f7f0d9}.brand-mark svg circle{fill:#df7258}.brand span{gap:2px;display:grid}.brand strong{letter-spacing:.08em;font-family:Songti SC,STSong,serif;font-size:24px;line-height:1}.brand small{color:#6c807f;letter-spacing:.13em;font-size:11px}.debug-overlay{z-index:100;-webkit-backdrop-filter:blur(12px);background:#0a272b94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.data-notice-overlay{z-index:110;-webkit-backdrop-filter:blur(12px);background:#0a272b94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.data-notice-panel{color:#355956;text-align:left;background:radial-gradient(circle at 92% 2%,#8bc4bd4d,#0000 34%),#fbf8f0fa;border:1px solid #ffffffbd;border-radius:30px;width:min(680px,100%);max-height:calc(100dvh - 32px);padding:28px;overflow-y:auto;box-shadow:0 34px 90px #07252857,inset 0 1px #ffffffe6}.data-notice-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.data-notice-heading span{color:var(--gold);letter-spacing:.18em;font-size:11px;font-weight:900}.data-notice-heading h2{color:var(--ink);letter-spacing:.04em;margin:4px 0 0;font-family:Songti SC,STSong,serif;font-size:30px}.data-notice-heading button{color:#577172;cursor:pointer;background:#ffffffb8;border:1px solid #173f421f;border-radius:50%;flex:0 0 42px;width:42px;height:42px;font-size:25px;line-height:1}.data-notice-summary{background:#e8f8f3c7;border:1px solid #287d742e;border-radius:18px;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin-top:20px;padding:16px 18px;display:grid}.data-notice-summary>span{color:#3b8c7e;font-size:15px}.data-notice-summary p{margin:0;font-size:13px;line-height:1.6}.data-notice-summary strong{color:#205f59}.data-notice-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.data-notice-grid article{background:#ffffffad;border:1px solid #173f421a;border-radius:17px;padding:15px 17px}.data-notice-grid strong{color:#285f5b;font-size:14px}.data-notice-grid p{color:#617572;margin:6px 0 0;font-size:12px;line-height:1.55}.data-notice-grid .data-loss-card{background:#fff7edc7;border-color:#c271492e}.data-notice-grid .data-loss-card strong{color:#9b5e3e}.data-notice-tip{color:#6d7e7b;margin:14px 0 0;font-size:11px;line-height:1.55}.data-notice-confirm{color:#fff;cursor:pointer;background:linear-gradient(145deg,#2f8d82,#1d706e);border:0;border-radius:13px;min-height:42px;margin:18px 0 0 auto;padding:0 24px;font-weight:850;display:block}.debug-panel{background:radial-gradient(circle at 92% 2%,#8bc4bd4d,#0000 34%),#fbf8f0f5;border:1px solid #ffffffbd;border-radius:30px;width:min(560px,100%);max-height:calc(100dvh - 32px);padding:28px;overflow-y:auto;box-shadow:0 34px 90px #07252857,inset 0 1px #ffffffe6}.debug-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.debug-eyebrow{color:var(--gold);letter-spacing:.18em;font-size:11px;font-weight:900}.debug-panel h2{color:var(--ink);letter-spacing:.06em;margin:4px 0 0;font-family:Songti SC,STSong,serif;font-size:30px}.debug-close{color:#577172;cursor:pointer;background:#ffffffb8;border:1px solid #173f421f;border-radius:50%;width:42px;height:42px;font-size:25px;line-height:1}.debug-tool-card{background:#ffffffb3;border:1px solid #173f421a;border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;transition:border-color .18s,background .18s;display:grid}.debug-tool-card.is-confirming{background:#fff5f0db;border-color:#be4c3b47}.debug-tool-card+.debug-tool-card{margin-top:12px}.debug-complete-card{background:#effaf6c7;border-color:#1d756f2e}.debug-tool-icon{color:#a44b3f;background:#f8dfd6;border-radius:15px;place-items:center;width:46px;height:46px;font-size:25px;font-weight:800;display:grid}.debug-tool-copy strong{color:var(--ink);font-size:16px}.debug-tool-copy p{color:var(--ink-soft);margin:5px 0 0;font-size:12px;line-height:1.65}.debug-tool-copy .debug-error{color:#a43d31;font-weight:700}.debug-complete-icon{color:#176c67;background:#d8f0e8}.debug-danger-button,.debug-cancel-button,.debug-complete-button{cursor:pointer;border-radius:13px;min-height:42px;padding:0 16px;font-size:12px;font-weight:900}.debug-complete-button{color:#fff;background:linear-gradient(145deg,#2b9088,#17645f);border:1px solid #14666133;box-shadow:0 8px 18px #15645e2e}.debug-danger-button{color:#fffaf5;background:linear-gradient(145deg,#d56b58,#a84438);border:1px solid #ae42322e;box-shadow:0 8px 18px #9d3d3133}.debug-cancel-button{color:#496768;background:#fffc;border:1px solid #173f4221}.debug-danger-button:disabled,.debug-cancel-button:disabled,.debug-complete-button:disabled{opacity:.55;cursor:wait}.debug-confirm-actions{gap:8px;display:flex}.debug-footnote{color:#728382;text-align:right;margin:14px 2px 0;font-size:11px}.topbar-meta{align-items:center;gap:12px;display:flex}.map-close-button{color:#275f5e;cursor:pointer;background:#ffffffad;border:1px solid #1c605c21;border-radius:999px;min-height:38px;padding:0 16px;font-size:12px;font-weight:800;box-shadow:0 7px 16px #2e514d12}.course-map-layout{z-index:1;width:min(1260px,100% - 64px);margin:0 auto 36px;position:relative}.course-map-card{min-height:720px;box-shadow:var(--shadow);background:#fbf8f0e6;border:1px solid #ffffffb8;border-radius:36px;padding:30px}.course-map-title-row{justify-content:space-between;align-items:flex-start;gap:24px;min-height:92px;display:flex}.course-map-title-row h1{color:var(--ink);margin:8px 0 0;font-family:Songti SC,STSong,serif;font-size:clamp(32px,4vw,50px);line-height:1.1}.course-map-sea{overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:#27696361 transparent;background:radial-gradient(at 18% 4%,#eefff9b8,#0000 32%),radial-gradient(at 88% 28%,#b0e0d86b,#0000 31%),radial-gradient(at 34% 78%,#14747733,#0000 38%),linear-gradient(172deg,#b7ddd5 0%,#78bcb5 42%,#438f93 100%);border-radius:30px;height:450px;position:relative;overflow:hidden auto;box-shadow:inset 0 1px #ffffffb3,inset 0 -34px 70px #115b6021}.course-map-sea>svg{pointer-events:none;width:100%;height:1100px;position:absolute;inset:0 0 auto}.course-route-shadow,.course-route-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.course-sea-depths{fill:#156b6e14}.course-sea-currents{fill:none;stroke:#ebfffa52;stroke-width:3px;stroke-linecap:round}.course-sea-currents path:nth-child(2n){stroke:#1e777733;stroke-width:2px}.course-sea-sparkles{fill:#f5fff994}.course-route-shadow{stroke:#1b5d5833;stroke-width:18px;filter:url(#routeGlow)}.course-route-line{stroke:#fffdf0f0;stroke-width:7px;stroke-dasharray:15 19}.course-map-ripples{fill:none;stroke:#ffffff6b;stroke-width:4px;stroke-linecap:round}.course-islands{min-height:1100px;margin:0;padding:0;list-style:none;position:relative}.course-island{--island-top:#f1dda8;--island-bottom:#d7b76f;--island-earth:#b6976c;--island-landmark:#4f806d;z-index:1;scroll-snap-align:center;width:clamp(150px,18%,215px);position:absolute}.course-island:first-child{top:40px;left:7%}.course-island:nth-child(2){top:115px;left:36%}.course-island:nth-child(3){top:55px;left:68%}.course-island:nth-child(4){top:285px;left:78%}.course-island:nth-child(5){top:350px;left:57%}.course-island:nth-child(6){top:310px;left:32%}.course-island:nth-child(7){top:385px;left:8%}.course-island:nth-child(8){top:590px;left:12%}.course-island:nth-child(9){top:665px;left:42%}.course-island:nth-child(10){top:600px;left:72%}.course-island:nth-child(11){top:830px;left:78%}.course-island:nth-child(12){top:900px;left:57%}.course-island:nth-child(13){top:850px;left:32%}.course-island:nth-child(14){top:930px;left:8%}.course-island button{isolation:isolate;color:#667c79;width:100%;min-height:150px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:block;position:relative;overflow:visible}.course-island button:before{display:none}.course-island button:after{content:"";z-index:6;pointer-events:none;opacity:0;background:linear-gradient(105deg,#f4faf1c2,#e0ede561 48%,#f7f9efb8),repeating-linear-gradient(170deg,#0000 0 13px,#fff3 14px 17px);border-radius:46% 54% 51% 49%/57% 42% 58% 43%;position:absolute;inset:12px 5px 16px}.course-island-terrain{z-index:0;pointer-events:none;filter:drop-shadow(0 13px 9px #184a483b);width:100%;height:100%;position:absolute;top:-2px;left:0;overflow:visible}.course-island-terrain .terrain-shadow{fill:#195a593d}.course-island-terrain .terrain-shallow{fill:#bdebdbbf}.course-island-terrain .terrain-foam{fill:none;stroke:#f0ffefe0;stroke-width:4px;stroke-linecap:round;stroke-dasharray:none}.course-island-terrain .terrain-sand{fill:var(--island-top)}.course-island-terrain .terrain-sand-light{fill:none;stroke:#fff1beb3;stroke-width:2px;transform-origin:50%;transform:translateY(-2px)scale(.94)}.course-island-terrain .terrain-earth{fill:var(--island-earth);opacity:.94}.course-island-terrain .terrain-earth-light{fill:#dbc0915c}.course-island-terrain .terrain-details{fill:#7d5e3961;stroke:#fff6cc85;stroke-width:2px;stroke-linecap:round}.course-island-art{z-index:3;fill:none;width:clamp(36px,25%,56px);stroke:var(--island-landmark);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.52;position:absolute;top:43%;right:12%;overflow:visible}.course-island-habitat{z-index:2;pointer-events:none;width:82%;height:70%;position:absolute;top:18%;left:4%;overflow:visible}.course-island-habitat .palm-trunk{fill:none;stroke:#80593f;stroke-width:5px;stroke-linecap:round}.course-island-habitat .palm-leaf{fill:#31694ee6;stroke:#275344b8;stroke-width:1.5px;stroke-linejoin:round}.course-island-habitat .palm-coconut{fill:#9b693b}.course-island-habitat .island-shrubs{fill:#3d6f4db8}.course-island-habitat .island-rocks{fill:#766f5475}.course-island-habitat.habitat-2 .island-palm{transform-origin:50%;transform:translate(62px,7px)scale(.72)}.course-island-habitat.habitat-2 .island-shrubs{transform:translate(-66px,3px)}.course-island-habitat.habitat-3 .island-palm{transform-origin:50%;transform:translate(8px,13px)scale(.72)}.course-island-habitat.habitat-3 .island-rocks{transform:translate(-21px,-3px)}.course-island-habitat.habitat-4 .island-palm{transform-origin:50%;transform:translate(70px,10px)scale(.64)}.course-island-habitat.habitat-4 .island-shrubs{transform:translate(-58px,2px)}.course-island-art .island-art-light{fill:#fff6b7d1;stroke:none}.course-island-art .island-art-eye{fill:var(--island-landmark);stroke:none}.course-island-mark,.course-island-sign{z-index:4;position:relative}.island-theme-shell-bank{--island-top:#f4dba4;--island-bottom:#d9ad68;--island-landmark:#b86958}.island-theme-lighthouse{--island-top:#eed29a;--island-bottom:#cf9f5e;--island-landmark:#a45145}.island-theme-palm{--island-top:#e2d79a;--island-bottom:#b9b36c;--island-landmark:#3d735f}.island-theme-twin-reef{--island-top:#e7d1a0;--island-bottom:#c09a69;--island-landmark:#687960}.island-theme-paired-shells{--island-top:#f1d8aa;--island-bottom:#d4a873;--island-landmark:#b96255}.island-theme-three-stars{--island-top:#efd29a;--island-bottom:#cfa263;--island-landmark:#d17155}.island-theme-dock{--island-top:#e8d59d;--island-bottom:#c4a367;--island-landmark:#7c684b}.island-theme-starfish{--island-top:#f2d49f;--island-bottom:#d4a568;--island-landmark:#cf6f58}.island-theme-coral{--island-top:#f0c7a4;--island-bottom:#d99273;--island-landmark:#ad514d}.island-theme-coral-bridge{--island-top:#e9cba0;--island-bottom:#c79c6b;--island-landmark:#b35c50}.island-theme-octopus{--island-top:#dfc9aa;--island-bottom:#b99b78;--island-landmark:#785c70}.island-theme-sunset{--island-top:#f1c19d;--island-bottom:#d17d67;--island-landmark:#a54e49}.island-theme-grand-light{--island-top:#d8d99c;--island-bottom:#a9b46c;--island-landmark:#315f56}.course-island:nth-child(3n+1){--island-earth:#b48e61}.course-island:nth-child(3n+2){--island-earth:#c0a074}.course-island:nth-child(3n){--island-earth:#a98a70}.course-island:nth-child(4n){width:clamp(160px,20%,235px)}.course-island:nth-child(5n){width:clamp(140px,17%,200px)}.course-island.is-unlocked button{color:#255957;cursor:pointer}.course-island.is-main button{filter:drop-shadow(0 0 15px #ffe997e0);transform:translateY(-5px)scale(1.05)}.course-island.is-main .terrain-foam{stroke:#fff2a8;stroke-width:7px;stroke-dasharray:none}.course-island.is-main{z-index:5}.course-current-flag{z-index:7;color:#fffdf2;letter-spacing:.08em;background:linear-gradient(145deg,#e67c5f,#bf5547);border:2px solid #ffffffdb;border-radius:999px;place-items:center;min-width:68px;height:27px;padding:0 10px;font-size:9px;font-weight:900;display:grid;position:absolute;top:7px;left:-18px;transform:rotate(-4deg);box-shadow:0 7px 18px #64372c40}.course-island.is-reviewing button{filter:drop-shadow(0 0 11px #ea8b6ead)}.course-island.is-locked button:after{opacity:.64}.course-island.is-locked .course-island-art{opacity:.1}.course-island.is-locked .course-island-habitat{opacity:.28;filter:grayscale(.6)}.course-island.is-locked .course-island-terrain{opacity:.64;filter:grayscale(.58)drop-shadow(0 10px 8px #2a4e4c29)}.course-current-boat{z-index:4;pointer-events:none;filter:drop-shadow(0 7px 7px #11484b4d);width:66px;animation:3.2s ease-in-out infinite current-boat-bob;position:absolute;bottom:-7px;right:-4px;transform:rotate(-8deg)}@keyframes current-boat-bob{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-4px)rotate(-5deg)}}.course-current-boat svg{width:100%;display:block}.boat-sail{fill:#fff7df;stroke:#2b6865;stroke-width:1.8px;stroke-linejoin:round}.boat-sail-back{fill:#e89a78}.boat-hull{fill:#9b5f3f;stroke:#603e32;stroke-width:1.8px}.course-island-mark{z-index:5;color:#fff;background:linear-gradient(145deg,#348a7d,#1d6063);border-radius:50%;place-items:center;width:38px;height:38px;font-size:18px;font-style:normal;font-weight:900;display:grid;position:absolute;top:27px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #fff6,0 8px 14px #1f5b5533}.course-island.is-locked .course-island-mark{background:#aeb8ae}.course-island-sign{color:#3f5f57;background:linear-gradient(90deg,#ffffff24,#0000 25% 75%,#6b472714),linear-gradient(160deg,#f3dfaa,#d8b875);border:1px solid #6743274d;border-radius:7px;place-items:center;gap:1px;min-width:68%;max-width:82%;min-height:42px;padding:7px 13px 6px;display:grid;position:absolute;bottom:3px;right:50%;transform:translate(50%)rotate(-1deg);box-shadow:0 5px #6b4e2d59,0 10px 14px #2e484129}.course-island:nth-child(2n) .course-island-sign{transform:translate(50%)rotate(1.2deg)}.course-island-sign:before,.course-island-sign:after{content:"";background:#68462a80;border-radius:50%;width:3px;height:3px;position:absolute;top:8px}.course-island-sign:before{left:8px}.course-island-sign:after{right:8px}.course-island strong{font-family:Songti SC,STSong,serif;font-size:15px;line-height:1.1}.course-island small{display:none}.course-island em{color:#7a6546;background:0 0;margin-top:2px;padding:0;font-size:8px;font-style:normal;font-weight:800}.course-map-hint{color:#6d817f;text-align:center;margin:15px 0 0;font-size:12px}.fact-sea-scene{filter:saturate(.94);border-radius:26px;width:100%;max-height:470px;display:block}.scene-action{appearance:none;width:100%;min-width:0;color:inherit;cursor:pointer;text-align:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:26px;grid-area:scene;padding:0;position:relative;overflow:hidden}.scene-action>svg,.scene-action>.times-table{pointer-events:none;width:100%;display:block}.scene-action:after{content:"";border-radius:inherit;pointer-events:none;border:3px solid #fff3c700;transition:border-color .18s,box-shadow .18s;position:absolute;inset:0}.scene-action:hover:after,.scene-action:focus-visible:after{border-color:#ffecb1eb;box-shadow:inset 0 0 0 2px #195b5833,0 0 0 4px #ffecb138}.scene-action:focus-visible{outline-offset:4px;outline:3px solid #174f53}.scene-action-badge{color:#fffdf2;letter-spacing:.04em;white-space:nowrap;pointer-events:none;background:#144c4de6;border:1px solid #ffffffa8;border-radius:999px;align-items:center;gap:9px;min-height:44px;padding:0 18px;font-size:13px;font-weight:850;line-height:1.25;display:inline-flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #0e3c3e33}.scene-action-badge b{color:#235d5b;background:#ffe3a0;border-radius:50%;place-items:center;width:24px;height:24px;font-size:15px;display:grid}.fact-water-caustics{fill:none;stroke:#e9f8f0b8;stroke-width:2px;stroke-linecap:round;opacity:.34}.fact-route-shadow{fill:none;stroke:#0f464b2b;stroke-width:9px;stroke-linecap:round}.fact-route-line{fill:none;stroke:#edfaf4e0;stroke-width:3px;stroke-dasharray:7 12;stroke-linecap:round}.fact-tide-pool{fill:#cdebddc7}.fact-tide-ring{fill:#fff4d380;stroke:#f6fdf6ba;stroke-width:1.5px}.fact-pool-glint{fill:none;stroke:#fffff6ad;stroke-width:2px;stroke-linecap:round}.fact-stop{opacity:.14;filter:grayscale(.35);transition:opacity .26s,filter .26s}.fact-stop.is-active{opacity:1;filter:none}.fact-total circle{fill:#fffcf2f2;stroke:#22676029;stroke-width:2px}.fact-total text{fill:#205b5c;font-size:19px;font-weight:900}.fact-total.is-hidden circle{fill:#ffffff57;stroke-dasharray:4 5}.fact-total.is-hidden text{opacity:0}.fact-scene-guide{fill:#285a5c;letter-spacing:.04em;paint-order:stroke;stroke:#effaf6c2;stroke-width:5px;stroke-linejoin:round;font-size:16px;font-weight:800}.sea-life-silhouette{color:#145d66;fill:currentColor;opacity:.09;pointer-events:none}.sea-life-silhouette .sea-life-detail{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round}.fact-sea-life{opacity:.075}.lesson-step.fact-lesson-step{grid-template:"scene copy""scene answer""scene actions"/minmax(0,1.6fr) minmax(300px,.7fr);align-content:center;align-items:center;column-gap:clamp(20px,3vw,44px);padding:12px 14px 2px;display:grid}.fact-lesson-step .fact-sea-scene{grid-area:scene}.fact-lesson-step .lesson-copy{text-align:left;grid-area:copy;width:100%;margin:0}.fact-lesson-step .lesson-copy h1{font-size:clamp(30px,3.2vw,44px)}.fact-lesson-step .lesson-copy p{margin-left:0}.fact-lesson-step .lesson-actions{grid-area:actions;width:100%;margin:0;padding-top:10px}.fact-strategy-card{color:#335f5d;background:#f0deb68c;border:1px solid #9d713d1f;border-radius:17px;gap:5px;margin-top:14px;padding:13px 15px;display:grid}.fact-strategy-card span{color:#a56f39;letter-spacing:.12em;font-size:10px;font-weight:800}.fact-strategy-card strong{font-size:12px;line-height:1.55}.fact-live-equation,.fact-answer-panel{grid-area:answer;width:100%}.fact-live-equation{color:#6c7e7c;align-items:center;gap:8px;display:flex}.fact-live-equation strong,.fact-live-equation b{color:#755538;background:#f1deb8;border-radius:13px;place-items:center;width:45px;height:45px;font-size:22px;display:grid}.fact-live-equation b{color:#fff;background:#247970}.fact-answer-panel .answer-grid{justify-content:flex-start;margin-top:10px}.fact-answer-panel .answer-feedback{margin-top:7px}.fact-badge span{font-size:42px;font-weight:900}.times-table{grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);gap:4px;width:min(830px,100%);display:grid}.times-table>div{color:#4c6a68;background:#ffffffb3;border:1px solid #1f5c5917;border-radius:11px;align-content:center;place-items:center;min-height:42px;padding:4px 3px;display:grid}.times-table-action .times-table>div:not(.is-lit){background:#e8f4ee57;border-color:#ffffff2e}.times-table-action .times-table>div:not(.is-lit)>*{opacity:.1;filter:blur(2px)}.times-table span{font-size:8px}.times-table strong{color:#22635f;font-size:15px}.times-table small{color:#986a42;font-size:7px;font-weight:700}.review-complete-step .times-table{max-width:700px}.utility-close{color:#245f5c;cursor:pointer;background:#ffffffad;border:1px solid #23696529;border-radius:999px;min-height:42px;padding:8px 14px;font-weight:800}.lesson-step.milestone-arrival-step{grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);grid-template-areas:"scene copy""scene actions";align-items:center;gap:18px 34px;padding:12px;display:grid}.ceremony-scene-action{cursor:pointer;background:0 0;border:0;border-radius:30px;grid-area:scene;width:100%;padding:0;display:block;position:relative;overflow:hidden}.ceremony-scene-action:focus-visible{outline-offset:4px;outline:4px solid #ffce53d9}.grand-lighthouse{width:100%;max-height:calc(100dvh - 180px);display:block}.grand-lighthouse .lighthouse-glow,.grand-lighthouse .lighthouse-beam{opacity:0;transition:opacity .8s}.grand-lighthouse.is-lit .lighthouse-glow{opacity:1;animation:3.4s ease-in-out infinite lighthouse-breathe}.grand-lighthouse.is-lit .lighthouse-beam{opacity:.48}.grand-lighthouse.is-lit .beam-left{transform-origin:260px 110px;animation:5s ease-in-out infinite beam-sweep-left}.grand-lighthouse.is-lit .beam-right{transform-origin:260px 110px;animation:5s ease-in-out infinite beam-sweep-right}.milestone-arrival-step .lesson-copy{text-align:left;grid-area:copy;margin:0}.milestone-arrival-step .lesson-actions{grid-area:actions;width:100%}.milestone-button{color:#4f371a;background:linear-gradient(135deg,#ffe7a2,#f6bd4f);box-shadow:0 12px 28px #bb7d2040}.lesson-step.ceremony-assemble-step{grid-template-columns:minmax(0,1fr) minmax(170px,.28fr);grid-template-areas:"copy pieces""table pieces""actions actions";align-items:center;gap:8px 22px;padding:5px 4%;display:grid}.ceremony-assemble-step .lesson-copy{grid-area:copy;margin:0}.ceremony-assemble-step .times-table{grid-area:table}.ceremony-assemble-step .lesson-actions{grid-area:actions;width:100%}.ceremony-pieces{grid-area:pieces;grid-template-columns:repeat(3,1fr);align-content:center;align-self:stretch;gap:8px;margin:0;padding:5px 0;list-style:none;display:grid}.ceremony-pieces li{color:#748c89;background:#ffffff59;border:1px dashed #31696340;border-radius:14px;align-content:center;place-items:center;min-height:66px;transition:transform .25s,background .25s,color .25s;display:grid}.ceremony-pieces span{font-size:22px;font-weight:900}.ceremony-pieces small{font-size:9px;font-weight:700}.ceremony-pieces .is-next{color:#8a5a24;background:#fff2c8;border-style:solid;border-color:#e5b24e;transform:translateY(-3px);box-shadow:0 8px 18px #9b671f21}.ceremony-pieces .is-placed{color:#fff;background:#2f8a80;border-style:solid;border-color:#2b8178}.ceremony-times-table>div:not(.is-lit){opacity:.16;filter:grayscale()}.ceremony-times-table>div.is-lit{animation:.38s both chart-arrive}.lesson-step.milestone-award-step{isolation:isolate;text-align:left;color:#fff8df;background:radial-gradient(circle at 22% 48%,#ffda7426,#0000 28%),radial-gradient(circle at 76% 28%,#50a3972e,#0000 32%),linear-gradient(145deg,#174f54,#082f38 72%);border-radius:24px;grid-template-columns:minmax(310px,.9fr) minmax(430px,1.1fr);align-items:center;gap:clamp(28px,4vw,64px);min-height:calc(100dvh - 150px);padding:clamp(22px,3.5vw,52px);display:grid;position:relative;overflow:hidden}.milestone-award-step:before{content:"";z-index:-2;opacity:.22;background-image:radial-gradient(circle,#ffffffbf 0 1px,#0000 1.5px);background-size:68px 68px;position:absolute;inset:0}.award-confetti{z-index:6;opacity:0;pointer-events:none;transition:opacity .28s;position:absolute;inset:0;overflow:hidden}.award-confetti i{border-radius:2px;width:8px;height:25px;animation:1.35s cubic-bezier(.16,.72,.38,1) both award-confetti-fall;position:absolute;top:-12%;box-shadow:0 2px 5px #0000001f}.award-confetti i:nth-child(3n){border-radius:999px;width:18px;height:7px}.award-confetti i:nth-child(4n){width:6px;height:32px}.award-phase-confetti .award-confetti{opacity:1}.award-phase-beacon .award-confetti{opacity:.18}.award-intro-beacon{z-index:5;visibility:hidden;opacity:0;pointer-events:none;width:min(720px,72vw);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(.72)}.award-intro-beacon .grand-lighthouse{filter:drop-shadow(0 28px 70px #ffd36b42);border:2px solid #ffeba961;border-radius:30px;width:100%;max-height:68vh}.award-phase-beacon .award-intro-beacon{visibility:visible;animation:1.65s cubic-bezier(.2,.76,.2,1) both award-beacon-to-frame}.award-phase-confetti .award-lighthouse-stage,.award-phase-confetti .award-content,.award-phase-beacon .award-lighthouse-stage,.award-phase-beacon .award-content{visibility:hidden;opacity:0;pointer-events:none}.award-phase-settled .award-lighthouse-stage{animation:.52s cubic-bezier(.2,.75,.25,1) both award-stage-settle}.award-phase-settled .award-content{animation:.62s ease-out .16s both award-content-reveal}.award-lighthouse-stage{isolation:isolate;background:#05262d6b;border:1px solid #ffe7a33d;border-radius:30px;justify-self:center;width:min(520px,100%);padding:14px;position:relative;box-shadow:0 24px 65px #0012184d}.award-lighthouse-stage .grand-lighthouse{z-index:1;border-radius:21px;max-height:none;position:relative;box-shadow:0 12px 35px #00181e47}.award-scene-caption{z-index:1;justify-content:space-between;align-items:baseline;gap:16px;margin:12px 5px 2px;display:flex;position:relative}.award-scene-caption strong{color:#fff3c9;font-size:14px}.award-scene-caption small{color:#ffffff9e;font-size:10px}.award-content{z-index:1;max-width:620px;position:relative}.award-content .lesson-kicker{color:#e7b867;letter-spacing:.16em}.milestone-award-step h1{color:#fff8d7;margin:9px 0 12px;font-size:clamp(38px,4.5vw,58px);line-height:1.06}.award-content>p{color:#ffffffc2;max-width:560px;margin:0 0 18px;font-size:14px;line-height:1.7}.milestone-medallion{z-index:2;color:#583b18;background:radial-gradient(circle at 35% 25%,#fff9cf,#efb84c 75%);border:5px double #ffe09a;border-radius:50%;align-content:center;place-items:center;width:92px;height:92px;display:grid;position:absolute;top:-18px;right:-16px;box-shadow:0 0 0 7px #ffe09a1f,0 14px 34px #00000047}.milestone-medallion span{font-size:23px;font-weight:950}.milestone-medallion small{letter-spacing:.2em;font-size:10px;font-weight:900}.award-scroll{color:#5d4523;background:linear-gradient(105deg,#dfbd74,#fff2c3 12%,#fff7dc 86%,#dab266);border:1px solid #684a1d2e;border-radius:14px;align-content:center;width:100%;min-height:76px;margin:0 0 20px;padding:15px 22px 15px 82px;display:grid;position:relative;box-shadow:0 10px 30px #0003}.award-scroll span{letter-spacing:.14em;border:2px solid #76481e80;border-radius:50%;place-items:center;width:47px;height:47px;font-size:9px;font-weight:900;display:grid;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.award-scroll strong{font-family:Songti SC,STSong,serif;font-size:24px}.award-scroll small{margin-top:2px;font-size:10px}.award-content .lesson-actions{justify-content:flex-start;width:100%;margin:0}.award-content .milestone-button{min-width:230px}.award-rays{z-index:-1;opacity:.18;animation:28s linear infinite award-turn;position:absolute;inset:-42%}.award-rays i{background:conic-gradient(from 0deg, transparent 0 9%, #ffe3a0 10% 15%, transparent 16% 34%, #ffe3a0 35% 40%, transparent 41% 100%);position:absolute;inset:0}.award-rays i:nth-child(2){opacity:.55;transform:rotate(37deg)}.award-rays i:nth-child(3){opacity:.35;transform:rotate(73deg)}.collection-heading,.utility-heading{text-align:left;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.utility-heading{width:100%}.collection-heading{width:min(800px,100%);margin-inline:auto}.collection-heading h1,.utility-heading h1{margin:3px 0}.table-collection-step{padding:5px 4%}.table-collection-step .collection-heading h1{font-size:clamp(34px,3.4vw,44px)}.table-collection-step .times-table{width:min(800px,100%);max-width:800px;margin-inline:auto}.collection-actions{color:#55706d;justify-content:space-between;align-items:center;gap:18px;width:min(800px,100%);margin:8px auto 0;font-size:12px;font-weight:700;display:flex}.lesson-step.practice-home-step{padding:20px 5%;display:block}.practice-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.practice-mode-grid>button,.practice-group-picker{text-align:left;color:#315e5a;background:#ffffffb8;border:1px solid #24676224;border-radius:22px;align-content:center;gap:7px;min-height:145px;padding:20px;display:grid;box-shadow:0 10px 24px #235b5514}.practice-mode-grid>button{cursor:pointer}.practice-mode-grid>.marathon-practice-button{color:#fff;background:linear-gradient(145deg,#2f8d82,#1d6968);border-color:#125c574d}.practice-mode-grid>.marathon-practice-button span{color:#ffe1a0}.practice-mode-grid>button span,.practice-group-picker>span{color:#a57535;letter-spacing:.12em;font-size:10px;font-weight:900}.practice-mode-grid>button strong,.practice-group-picker>strong{font-size:24px}.practice-mode-grid>button small{font-size:12px}.practice-group-picker{grid-column:1/-1;min-height:120px}.practice-group-picker>div{grid-template-columns:repeat(9,minmax(38px,1fr));gap:8px;display:grid}.practice-group-picker button{color:#fff;cursor:pointer;background:#337f77;border:0;border-radius:12px;min-height:44px;font-size:18px;font-weight:900}.compact-utility-heading{width:90%;position:absolute;top:14px;left:5%}.practice-session-step{padding-top:75px;position:relative}.practice-answer-actions{justify-content:center;min-height:44px;margin-top:10px;display:flex}.practice-answer-actions .primary-button{min-height:44px;padding-block:0}.practice-finish-step{min-height:calc(100dvh - 155px)}.practice-finish-mark{color:#fff;background:#2c8278;border-radius:50%;place-items:center;width:96px;height:96px;margin-bottom:10px;font-size:48px;display:grid;box-shadow:0 12px 30px #1f6e6640}@keyframes lighthouse-breathe{50%{opacity:.72;transform-origin:260px 116px;transform:scale(.94)}}@keyframes beam-sweep-left{50%{transform:rotate(-7deg)}}@keyframes beam-sweep-right{50%{transform:rotate(7deg)}}@keyframes chart-arrive{0%{opacity:.2;transform:translateY(7px)scale(.96)}}@keyframes award-turn{to{transform:rotate(360deg)}}@keyframes award-confetti-fall{0%{opacity:0;transform:translateY(-12vh)rotate(0)}12%{opacity:1}78%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift), 112vh, 0) rotate(var(--confetti-turn))}}@keyframes award-beacon-to-frame{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}18%{opacity:1;transform:translate(-50%,-50%)scale(.9)}52%{opacity:1;transform:translate(-50%,-50%)scale(1)}72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(calc(-50% - 27vw),-50%)scale(.54)}}@keyframes award-stage-settle{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes award-content-reveal{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.grand-lighthouse.is-lit .lighthouse-glow,.grand-lighthouse.is-lit .lighthouse-beam,.award-rays,.award-confetti,.award-intro-beacon,.award-phase-settled .award-lighthouse-stage,.award-phase-settled .award-content,.ceremony-times-table>div.is-lit{animation:none}.award-confetti,.award-intro-beacon{display:none}}@media (orientation:landscape) and (height<=600px){.lesson-step.practice-home-step{min-height:calc(100dvh - 70px);padding:5px 4%}.practice-home-step .utility-heading h1{margin:1px 0;font-size:23px}.practice-home-step .utility-heading p{margin-block:3px;font-size:10px}.practice-home-step .utility-close{min-height:36px;padding-block:5px}.practice-mode-grid{grid-template-columns:.8fr .8fr .9fr 1.45fr;gap:8px;margin-top:5px}.practice-mode-grid>button,.practice-group-picker{border-radius:15px;min-height:198px;padding:9px 11px}.practice-mode-grid>button strong,.practice-group-picker>strong{font-size:17px}.practice-mode-grid>button small{font-size:9px}.practice-group-picker{grid-column:auto}.practice-group-picker>div{grid-template-columns:repeat(3,minmax(44px,1fr));gap:4px}.practice-group-picker button{border-radius:9px;min-height:44px;font-size:14px}.lesson-step.milestone-award-step{grid-template-columns:minmax(245px,.8fr) minmax(360px,1.2fr);gap:24px;min-height:calc(100dvh - 129px);padding:10px 22px}.award-lighthouse-stage{border-radius:22px;width:min(390px,100%);padding:8px}.award-lighthouse-stage .grand-lighthouse{border-radius:16px;max-height:calc(100dvh - 185px)}.award-scene-caption{display:none}.milestone-medallion{border-width:4px;width:68px;height:68px;top:-9px;right:-8px}.milestone-medallion span{font-size:18px}.milestone-medallion small{font-size:8px}.milestone-award-step h1{margin-block:5px 7px;font-size:35px}.award-content>p{margin-bottom:8px;font-size:10px;line-height:1.45}.award-scroll{border-radius:11px;min-height:58px;margin-bottom:8px;padding:7px 14px 7px 62px}.award-scroll span{width:37px;height:37px;font-size:8px;left:13px}.award-scroll strong{font-size:19px}.award-scroll small{font-size:8px}.award-content .milestone-button{min-width:190px;min-height:42px}.lesson-step.table-collection-step{min-height:0;padding-block:1px}.table-collection-step .collection-heading h1{margin:0;font-size:21px}.review-complete-step.table-collection-step .times-table>div{min-height:20px}.table-collection-step .collection-actions{margin-top:2px}}@media (orientation:landscape) and (height>=601px){.review-complete-step{padding-block:10px}.review-complete-step h1{margin:7px 0 6px;font-size:clamp(34px,3.8vw,48px)}.review-complete-step .completion-lead{margin-bottom:10px;line-height:1.5}.review-complete-step .times-table{gap:3px}.review-complete-step .times-table>div{border-radius:9px;grid-template-rows:auto auto;grid-template-columns:1fr;min-height:38px;padding:2px 3px;line-height:1}.review-complete-step .times-table span{justify-self:center}.review-complete-step .times-table small{grid-column:1/-1;font-size:9px;font-weight:800;line-height:1.05}.review-complete-step .next-preview{margin-top:8px;padding:10px 16px}}@media (orientation:landscape) and (height>=601px) and (height<=760px){.review-complete-step .completion-lead{display:none}}.rotate-notice{display:none}.save-indicator{letter-spacing:.04em;color:#607677;background:#ffffff6b;border:1px solid #ffffffa8;border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:0 13px;font-size:12px;display:inline-flex}.save-indicator.success{color:#35665f}.save-indicator.danger{color:#a24c3e}.save-dot{background:#9ca8a5;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #6e84801a}.save-indicator.success .save-dot{background:#4b9382;box-shadow:0 0 0 4px #4b93821f}.save-indicator.danger .save-dot{background:#d56f59}.topbar-meta{gap:8px}.topbar-meta .topbar-control{letter-spacing:.02em;white-space:nowrap;border:1px solid #1f5b5726;border-radius:14px;justify-content:center;align-items:center;gap:7px;height:44px;min-height:44px;padding:0 16px;font-size:13px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 6px 16px #1b474314}.topbar-meta button.topbar-control{cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}.topbar-meta button.topbar-control:hover{transform:translateY(-1px);box-shadow:0 8px 18px #1b47431f}.topbar-meta button.topbar-control:active{transform:translateY(0)}.topbar-control-icon{flex:0 0 16px;place-items:center;width:16px;height:16px;line-height:1;display:grid;color:currentColor!important;margin:0!important;font-size:15px!important}.topbar-meta .milestone-nav-button{color:#795526;background:linear-gradient(145deg,#fff6d6,#f8e7b2);border-color:#a97c303d}.topbar-meta .practice-nav-button{color:#fff;background:linear-gradient(145deg,#2f8d82,#1d706e);border-color:#11645d61}.topbar-meta .rewards-nav-button{color:#7d532c;background:linear-gradient(145deg,#fff8e8,#f5dfb7);border-color:#b5773538}.reward-menu-icon{fill:#ffffffb3;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.topbar-meta .review-return-button,.topbar-meta .review-map-button{color:#285f5c;background:#ffffffc7}.topbar-meta .review-return-button{border-color:#1f69623d}.topbar-meta .save-indicator{color:#58706d;box-shadow:none;background:#ffffff75;font-family:inherit;font-weight:700}.reward-collection-step{flex-direction:column;justify-content:center;padding:22px 5%;display:flex}.reward-collection-heading{width:min(980px,100%);margin-inline:auto}.reward-display-case{background:linear-gradient(#cdebe6 0%,#74b9b2 47%,#266f78 100%);border:1px solid #ffffffad;border-radius:34px;width:min(980px,100%);min-height:380px;margin:20px auto 0;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffc,inset 0 -50px 80px #0d434933,0 20px 42px #1f4d4829}.reward-display-case:before{content:"";pointer-events:none;border:1px solid #ffffff40;border-radius:24px;position:absolute;inset:16px}.reward-water-glow{background:radial-gradient(circle at 25% 15%,#ffffff9e,#0000 26%),radial-gradient(circle at 82% 35%,#dcfff433,#0000 25%),repeating-radial-gradient(at 50% -10%,#0000 0 55px,#ffffff1a 57px 59px,#0000 62px 90px);position:absolute;inset:0}.reward-objects{z-index:2;align-content:center;gap:3px;min-height:320px;padding:24px 40px 20px;display:grid;position:relative}.reward-row{justify-content:center;align-items:end;gap:10px;min-height:90px;padding:3px 12px 13px;display:grid;position:relative}.reward-row:after{content:"";background:linear-gradient(#f6e5beeb,#be8e5be6);border-radius:50%;height:9px;position:absolute;bottom:5px;left:50%;transform:translate(-50%);box-shadow:0 5px 10px #14484933,inset 0 2px #ffffff6b}.reward-row-goldenConch{grid-template-columns:repeat(7,minmax(0,112px))}.reward-row-goldenConch:after{width:min(850px,98%)}.reward-row-starfish,.reward-row-shell{grid-template-columns:repeat(5,minmax(0,98px))}.reward-row-starfish:after,.reward-row-shell:after{width:min(540px,96%)}.reward-slot{z-index:1;background:linear-gradient(#eafff91f,#0f555914);border:1px solid #f2fff938;border-radius:22px 22px 12px 12px;place-items:end center;width:100%;height:74px;display:grid;position:relative}.reward-slot-goldenConch{height:78px}.reward-slot.is-filled{filter:drop-shadow(0 8px 8px #0d3c3f33);animation:.36s cubic-bezier(.2,.8,.25,1) both reward-object-arrive}.reward-slot.is-empty{background:#e7fff70f;border-style:dashed}.reward-slot.is-empty .reward-object{opacity:.13;filter:grayscale(.72)saturate(.45)}.reward-stack-count{color:#fff7d4;background:#91601f;border:2px solid #fff4cac7;border-radius:999px;place-items:center;min-width:30px;height:24px;padding:0 7px;font-size:12px;display:grid;position:absolute;top:-5px;right:-5px;box-shadow:0 5px 12px #3f2f1638}.reward-object{width:100%;height:100%;overflow:visible}.reward-object-shadow{fill:#0c363b33;filter:blur(2px)}.reward-shell-body{stroke:#8f806e;stroke-width:2.6px;stroke-linejoin:round}.reward-shell-rim,.reward-shell-rib,.reward-shell-hinge{fill:none;stroke:#b6a58e;stroke-width:2.2px;stroke-linecap:round}.reward-shell-highlight{fill:none;stroke:#ffffffeb;stroke-width:4px;stroke-linecap:round}.reward-starfish-body{stroke:#9f4849;stroke-width:3px;stroke-linejoin:round}.reward-starfish-inner{fill:#ffc48b4d;stroke:#9d434447;stroke-width:1.5px}.reward-starfish-dots{fill:#8e393b7a}.reward-starfish-highlight{fill:none;stroke:#ffdcb9b8;stroke-width:3.5px;stroke-linecap:round}.reward-conch-body,.reward-conch-tip{stroke:#8e511e;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.reward-conch-tip{fill:#d68c2c}.reward-conch-lip{fill:#ffe2807a;stroke:#9c591d;stroke-width:2.5px;stroke-linejoin:round}.reward-conch-spiral,.reward-conch-ridges{fill:none;stroke:#773d18ad;stroke-width:2.3px;stroke-linecap:round}.reward-conch-highlight{fill:none;stroke:#fff8bac2;stroke-width:4px;stroke-linecap:round}.reward-compose-note{color:#657b77;text-align:center;margin:14px auto 0;font-size:12px}.reward-compose-note strong{color:#2d6f68;margin-inline:3px}.reward-toast{z-index:40;color:#6f4d28;background:#fff7ddf5;border:1px solid #b77d3147;border-radius:18px;align-items:center;min-height:46px;padding:0 20px;font-size:13px;font-weight:850;animation:.22s ease-out reward-toast-in;display:flex;position:fixed;bottom:34px;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #244c4433}@keyframes reward-toast-in{0%{opacity:0;transform:translate(-50%,10px)scale(.96)}}@keyframes reward-object-arrive{0%{opacity:0;transform:translateY(12px)scale(.86)}}.learning-layout{z-index:1;width:min(1260px,100% - 64px);margin:0 auto 36px;position:relative}.lesson-card{box-shadow:var(--shadow);border:1px solid #ffffffb8}.lesson-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;line-height:1.2}.lesson-card{background:linear-gradient(#ffffff9e, #ffffff9e), var(--paper);border-radius:36px;min-width:0;min-height:720px;padding:18px 28px 28px;position:relative}.lesson-map{background:#e1f0ebb8;border:1px solid #2469641c;border-radius:17px;justify-content:center;align-items:center;gap:16px;min-height:46px;padding:0 18px;display:flex}.lesson-progress-count{color:#758987;letter-spacing:.06em;white-space:nowrap;font-size:10px;font-weight:800}.lesson-progress-dots{justify-content:space-between;align-items:center;width:min(520px,55vw);margin:0;padding:0;list-style:none;display:flex;position:relative}.lesson-progress-dots:before{content:"";background:#2f686329;height:2px;position:absolute;left:8px;right:8px}.lesson-progress-dots li{z-index:1;background:#b7c9c4;border-radius:50%;place-items:center;width:14px;height:14px;display:grid;position:relative;box-shadow:0 0 0 3px #ffffffad}.lesson-progress-dots li.done{background:#4f8d7c}.lesson-progress-dots li.current{background:#dc715b;width:18px;height:18px;box-shadow:0 0 0 5px #dc715b1f,0 4px 9px #4f48342e}.lesson-progress-back{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:44px;height:44px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.lesson-progress-back:after{content:"";opacity:0;border:2px solid #30766a59;border-radius:50%;width:23px;height:23px;transition:opacity .16s,transform .16s;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(.8)}.lesson-progress-back:hover:after,.lesson-progress-back:focus-visible:after{opacity:1;transform:translate(-50%,-50%)scale(1)}.lesson-progress-back:focus-visible{outline-offset:-8px;outline:2px solid #276f6585}.lesson-progress-current{color:#2d6260;white-space:nowrap;min-width:72px;font-size:10px}.save-error{color:#963f34;text-align:center;background:#fff0ec;border-radius:12px;margin:8px 0;padding:10px 14px;font-size:12px}.lesson-step{flex-direction:column;min-height:570px;animation:.36s both step-in;display:flex}@keyframes step-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.lesson-copy{text-align:center;max-width:760px;margin:23px auto 4px}.lesson-copy.compact-copy{margin-top:12px}.lesson-kicker{color:#b2763c}.lesson-copy h1,.complete-step h1{color:var(--ink);letter-spacing:.02em;margin:13px 0 11px;font-family:Songti SC,STSong,serif;font-size:clamp(34px,4vw,51px);font-weight:700;line-height:1.12}.compact-copy h1{font-size:clamp(30px,3vw,42px)}.lesson-copy p{max-width:620px;color:var(--ink-soft);margin:0 auto;font-size:14px;line-height:1.75}.island-scene{filter:saturate(.94);border-radius:24px;width:100%;max-height:400px;margin:8px auto 0;display:block}.island-scene.is-interactive{touch-action:none;-webkit-user-select:none;user-select:none}.island-scene.is-dragging{cursor:grabbing}.shell-piece{cursor:default;transform-origin:50%;transition:transform .72s cubic-bezier(.3,.9,.24,1.08),filter .18s}.shell-piece[role=button]{cursor:pointer}.shell-hit-area{fill:#0000;pointer-events:all}.shell-piece[role=button]:hover,.shell-piece.is-selected{filter:brightness(1.08)drop-shadow(0 0 10px #ffecb1d9)}.shell-piece.is-selected .shell-shape{transform:translateY(-12px)scale(1.08)}.island-scene.is-dragging .shell-piece.is-selected{filter:brightness(1.08)drop-shadow(0 10px 13px #44301f47);transition:none}.shell-piece.is-placed,.shell-piece.is-placed .shell-hit-area{pointer-events:none}.shell-shape{transition:transform .18s}.pearl-shell-edge{fill:#ad9b89}.pearl-shell-face{fill:url(#pearlShellFill)}.pearl-shell-ribs,.pearl-shell-fine-ribs,.pearl-shell-lip,.pearl-shell-shine{fill:none;stroke-linecap:round}.pearl-shell-ribs{stroke:#bca998;stroke-width:1.65px}.pearl-shell-fine-ribs{stroke:#d4c5b6;stroke-width:1px;opacity:.86}.pearl-shell-lip{stroke:#fff;stroke-width:2px;opacity:.86}.pearl-shell-hinge{fill:#9f8b78;opacity:.85}.pearl-shell-shine{stroke:#fff;stroke-width:1.5px;opacity:.92}.shell-edge{fill:#b66755}.shell-face{fill:url(#shellFace)}.shell-tint-1 .shell-face{filter:hue-rotate(13deg)saturate(.83)}.shell-tint-2 .shell-face{filter:hue-rotate(-13deg)brightness(1.04)}.shell-ribs{fill:none;stroke:#bc7464;stroke-width:2.2px;stroke-linecap:round;opacity:.72}.shell-lip{fill:none;stroke:#fff0d8;stroke-width:3px;stroke-linecap:round;opacity:.7}.shell-shine{fill:#fff;opacity:.24;transform:rotate(-25deg)}.basket-target{transition:filter .18s,transform .18s}.basket-hit-area{fill:#0000}.basket-tray{pointer-events:none}.shallow-tray-shadow{fill:#4e39272b}.shallow-tray-edge{fill:#b8894e}.shallow-tray-surface{stroke:#fffbe6e0;stroke-width:4px}.shallow-tray-glint{fill:none;stroke:#ffffffbd;stroke-width:4px;stroke-linecap:round}.basket-target[role=button]{cursor:pointer}.basket-target.can-receive:hover,.basket-target.can-receive:focus-visible{filter:brightness(1.1)drop-shadow(0 0 10px #ffedb4cc)}.island-scene.is-dragging .basket-target.can-receive{filter:brightness(1.08)drop-shadow(0 0 13px #ffe899d1)}.count-medallion text{fill:var(--ink);font-size:19px;font-weight:800}.water-line{fill:none;stroke:#fff6;stroke-width:3px;stroke-linecap:round;stroke-dasharray:34 18;animation:12s linear infinite drift}.water-line-b{opacity:.7;animation-duration:16s;animation-direction:reverse}@keyframes drift{to{stroke-dashoffset:-104px}}.scene-hint rect{fill:#124144e6;stroke:#fff3}.scene-hint text{fill:#fff;letter-spacing:.04em;font-size:13px;font-weight:600}.scene-start-guide text{fill:#fffdf5;letter-spacing:.03em;paint-order:stroke;stroke:#19595e7a;stroke-width:7px;stroke-linejoin:round;font-size:21px;font-weight:900;animation:1.8s ease-in-out infinite guide-breathe}@keyframes guide-breathe{0%,to{opacity:.82}50%{opacity:1}}.lesson-actions{align-items:center;gap:16px;min-height:70px;margin-top:auto;padding:12px 8px 0;display:flex}.primary-actions{flex-direction:column;justify-content:center;gap:9px}.split-actions{justify-content:space-between}.primary-button,.text-button,.answer-option,.number-answer{cursor:pointer;border:0}.primary-button{color:#fffdf7;letter-spacing:.03em;background:linear-gradient(145deg,#247b77,#15545d);border-radius:16px;justify-content:center;align-items:center;gap:22px;min-height:52px;padding:0 24px;font-weight:700;transition:transform .16s,box-shadow .16s,opacity .16s;display:inline-flex;box-shadow:0 12px 25px #144c5033,inset 0 1px #ffffff3d}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 28px #144c5040,inset 0 1px #ffffff3d}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled,.text-button:disabled{cursor:not-allowed;opacity:.38}.text-button{color:#547273;background:0 0;min-height:44px;padding:0 15px;font-size:13px;font-weight:600}.text-button:hover:not(:disabled){color:#175c61}.action-hint{color:#899694;letter-spacing:.04em;font-size:10px}.discovery-strip{color:#6d7f7e;background:#ffffff91;border:1px solid #1861601a;border-radius:18px;align-items:center;gap:12px;width:min(680px,100% - 24px);min-height:58px;margin:-8px auto 0;padding:8px 12px 8px 18px;display:flex}.discovery-strip.is-revealed{background:#e2f2ebc7;border-color:#2e80692e}.discovery-label{color:#a97840;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}.discovery-strip strong{color:var(--ink);font-size:14px}.group-pills{gap:6px;margin-left:auto;display:inline-flex}.group-pills i{color:#fff;background:#2a7b72;border-radius:50%;place-items:center;width:31px;height:31px;font-size:12px;font-style:normal;font-weight:800;display:grid;box-shadow:inset 0 1px #ffffff47}.explain-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:18px;min-height:330px;margin-top:8px;display:grid}.explain-layout .island-scene{margin:0}.answer-panel{gap:10px;display:grid}.answer-option{color:#34585a;text-align:left;background:#ffffffb8;border:1px solid #174e4f1f;border-radius:17px;grid-template-columns:36px 1fr;align-items:center;gap:12px;min-height:72px;padding:12px 16px;transition:all .16s;display:grid}.answer-option:hover{background:#fff;border-color:#1f706c59}.answer-option.correct{background:#e5f2eb;border-color:#72a995}.answer-option.try-again,.number-answer.try-again{background:#fff2e9;border-color:#daa08b}.option-letter{color:#936f43;background:#f4e4c5;border-radius:10px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid}.answer-feedback{color:#8c614f;min-height:38px;margin:0;font-size:12px;line-height:1.55}.success-copy{color:#347164}.math-bridge{color:#657a79;justify-content:center;align-items:center;gap:10px;width:min(560px,100% - 30px);min-height:68px;margin:2px auto 0;display:flex;position:relative}.math-bridge span,.math-bridge strong{color:#6e5434;background:#f2e1bf;border-radius:13px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.math-bridge strong{color:#fff;background:#247971}.math-bridge small{white-space:nowrap;color:#899795;font-size:10px;position:absolute;top:58px;left:50%;transform:translate(-50%)}.centered-copy{max-width:800px}.equation-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:380px;display:flex}.equation-card{color:#5b6f6e;align-items:center;gap:clamp(12px,2.6vw,30px);font-size:clamp(28px,4vw,48px);font-weight:400;display:flex}.factor,.answer-slot{aspect-ratio:1;color:#174e53;background:linear-gradient(145deg,#f0e0be,#e5c487);border-radius:28px;place-items:center;width:clamp(78px,10vw,112px);font-size:clamp(38px,6vw,63px);font-weight:700;display:grid;position:relative;box-shadow:0 15px 28px #78592d26,inset 0 1px #ffffffa6}.each-factor{color:#8d4d3e;background:linear-gradient(145deg,#f5d6c5,#e9a58e)}.factor small{letter-spacing:.16em;font-size:10px;position:absolute;bottom:9px}.answer-slot{color:#7e9290;box-shadow:none;background:0 0;border:2px dashed #174f5138}.answer-grid{gap:12px;margin-top:30px;display:flex}.number-answer{color:#2d5759;background:#fff;border:1px solid #1a535421;border-radius:15px;width:66px;height:54px;font-size:21px;font-weight:800;box-shadow:0 8px 18px #2c494514}.number-answer.correct{color:#fff;background:#277a70;border-color:#277a70}.equation-stage .answer-feedback{text-align:center;margin-top:14px}.complete-step{text-align:center;justify-content:center;align-items:center;padding:24px 5%}.completion-glow{color:#fff7de;background:radial-gradient(circle at 35% 30%,#eaa174,#be6856 67%,#924e47);border-radius:50%;place-items:center;width:86px;height:86px;margin-bottom:16px;font-size:34px;display:grid;box-shadow:0 0 0 9px #deb26821,0 17px 30px #7b50342e}.complete-step h1{margin-top:14px}.completion-lead{max-width:560px;color:var(--ink-soft);margin:0 auto 25px;font-size:14px;line-height:1.75}.learning-summary{grid-template-columns:repeat(3,1fr);gap:10px;width:min(650px,100%);display:grid}.learning-summary div{background:#ffffffb3;border:1px solid #1b59581a;border-radius:19px;align-content:center;place-items:center;gap:7px;min-height:86px;padding:15px 10px;display:grid}.learning-summary span{color:#83918f;letter-spacing:.08em;font-size:10px}.learning-summary strong{color:#1e605f;font-family:Songti SC,STSong,serif;font-size:20px}.next-preview{color:#fff;text-align:left;background:linear-gradient(140deg,#1f6e6c,#194e59);border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:3px 16px;width:min(650px,100%);margin-top:14px;padding:15px 20px;display:grid}.next-preview span{color:#efd398;letter-spacing:.14em;border-right:1px solid #ffffff2e;grid-row:1/3;padding-right:16px;font-size:10px;font-weight:800}.next-preview strong{font-size:13px}.next-preview small{color:#eff7f4a6;font-size:10px}.completion-actions{flex-direction:row;margin-top:12px}.array-scene{filter:saturate(.94);border-radius:26px;width:100%;max-height:470px;display:block}.array-shell-edge{fill:#b66755}.array-shell-face{fill:url(#arrayShell)}.array-shell-tint-1 .array-shell-face{filter:hue-rotate(12deg)saturate(.86)}.array-shell-tint-2 .array-shell-face{filter:hue-rotate(-10deg)brightness(1.04)}.array-shell-ribs{fill:none;stroke:#b97364;stroke-width:3px;stroke-linecap:round;opacity:.72}.array-shell-lip{fill:none;stroke:#fff0d7;stroke-width:4px;stroke-linecap:round;opacity:.8}.array-basket-memory text,.array-column-label text,.array-side-label,.array-addition-ribbon text{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}.array-basket-memory text{fill:#fffdf5eb;letter-spacing:.06em;font-size:19px;font-weight:700}.array-memory-basket{opacity:.95}.array-board>rect{stroke:#5464521f;stroke-width:2px}.array-row-guide rect{fill:#5f9d8f1a;stroke:#407c7324;stroke-width:1.5px}.array-row-guide text{fill:#68837d;font-size:15px;font-weight:800}.array-brace{fill:none;stroke:#d17b5e;stroke-width:5px;stroke-linecap:round}.array-side-label{fill:#fff9e9;writing-mode:vertical-rl;letter-spacing:.12em;font-size:20px;font-weight:800}.array-column-label path{fill:none;stroke:#fffbeccc;stroke-width:3px;stroke-linecap:round}.array-column-label text{fill:#fffdf5;letter-spacing:.08em;font-size:18px;font-weight:800}.array-shell-arriving{animation:.68s cubic-bezier(.24,.86,.26,1.12) both array-arrive;animation-delay:var(--array-delay);transform-origin:50%}@keyframes array-arrive{0%{opacity:.2;transform:translate(var(--array-from-x), var(--array-from-y)) scale(.76) rotate(-8deg)}70%{opacity:1;transform:translateY(-7px)scale(1.04)rotate(2deg)}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}.array-addition-ribbon rect{fill:#164e4eeb;stroke:#ffffff3d;stroke-width:2px}.array-addition-ribbon text{fill:#fff8e6;font-size:20px;font-weight:800}.array-multiplication-bridge text{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}.stage-multiplication .array-brace,.stage-multiplication .array-side-label{opacity:0}.array-multiplication-bridge .bridge-panel{fill:#fffcf2e0;stroke:#ffffffb8;stroke-width:2px;filter:url(#arraySoftShadow)}.bridge-caption{fill:#657a76;letter-spacing:.08em;font-size:15px;font-weight:700}.bridge-addition rect{fill:#f2dfba;stroke:#8c64361f}.bridge-addition text{fill:#725438;font-size:20px;font-weight:800}.bridge-arrow{fill:none;stroke:#ca785f;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:38;animation:.7s .52s both bridge-draw}.bridge-product rect{fill:url(#arraySky);stroke:#266e672e;stroke-width:2px}.bridge-product text{fill:#174f53;font-size:23px;font-weight:900}@keyframes bridge-draw{0%{opacity:0;stroke-dashoffset:38px}to{opacity:1;stroke-dashoffset:0}}.array-lesson-step{grid-template:"scene copy""scene answer""scene actions"/minmax(0,1.6fr) minmax(300px,.7fr);align-content:center;align-items:center;column-gap:clamp(20px,3vw,44px);padding:12px 14px 2px;display:grid}.array-lesson-step .array-scene{grid-area:scene;align-self:center}.transfer-lesson-step .transfer-scene{border-radius:34px;grid-area:scene;align-self:center;width:100%}.transfer-group-label rect{fill:#fffcf0e6;stroke:#1e5b5933}.transfer-group-label text{fill:#275d5c;font-size:17px;font-weight:800}.transfer-answer-panel{grid-area:answer}.transfer-proof{color:#315c5b;background:#ffffffb3;border:1px solid #20605c24;border-radius:22px;flex-wrap:wrap;grid-area:answer;justify-content:center;align-items:center;gap:8px;padding:18px 12px;font-size:15px;font-weight:700;display:flex}.transfer-proof strong{color:#fffaf0;background:#247971;border-radius:12px;padding:8px 12px}.array-lesson-step .lesson-copy{text-align:left;grid-area:copy;align-self:center;width:100%;margin:0}.array-lesson-step .lesson-copy h1{font-size:clamp(30px,3.2vw,44px)}.array-lesson-step .lesson-copy p{margin-left:0}.array-lesson-step .lesson-actions{grid-area:actions;width:100%;margin:0;padding:10px 0 0}.array-welcome-step{grid-template-rows:auto auto;grid-template-areas:"scene copy""scene actions"}.array-welcome-step .primary-actions{align-self:start;align-items:stretch}.array-welcome-step .primary-button{width:100%}.symbol-welcome-step .primary-actions{align-items:stretch}.symbol-welcome-step .primary-button{width:100%}.array-answer-block,.array-description-panel,.array-equation-panel{grid-area:answer;width:100%}.array-answer-block .answer-grid,.array-equation-panel .answer-grid{justify-content:flex-start;margin-top:16px}.array-answer-block .answer-feedback,.array-equation-panel .answer-feedback{margin:10px 0 0}.array-description-panel{margin-top:14px}.inline-equation{color:#697d7b;align-items:center;gap:8px;margin-top:14px;font-size:20px;font-weight:700;display:flex}.inline-equation span,.inline-equation strong{color:#725539;background:#f2dfba;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.inline-equation strong{color:#fff;background:#247971}.array-badge span{letter-spacing:.18em;font-size:19px;line-height:.78;transform:translate(2px)}.choice-equation{color:#1f5c5d;letter-spacing:.08em;white-space:nowrap;font-size:24px;font-weight:800}.answer-slot.is-solved{color:#fff;background:linear-gradient(145deg,#2c847a,#195c62);border-color:#0000;box-shadow:0 15px 28px #1b59572e}.symbol-badge span{font-family:Songti SC,STSong,serif;font-size:46px;line-height:1}.symbol-complete-step .learning-summary strong{font-size:18px}.pairs-scene{filter:saturate(.95);border-radius:26px;width:100%;max-height:470px;display:block}.pairs-route{fill:none;stroke:#ffffffd6;stroke-width:5px;stroke-linecap:round;stroke-dasharray:10 14}.pair-stop{opacity:.18;filter:grayscale(.3);transition:opacity .28s,filter .28s}.pair-stop.is-active{opacity:1;filter:none}.pair-stop.is-newest .pair-shells{transform-origin:50%;animation:.52s cubic-bezier(.25,.9,.25,1.15) both pair-pop}.pair-tide-pool{fill:#cdebddc7}.pair-tide-ring{fill:#fff4d380;stroke:#f6fdf6ba;stroke-width:1.5px}@keyframes pair-pop{0%{opacity:0;transform:translateY(-28px)scale(.72)}to{opacity:1;transform:translateY(0)scale(1)}}.pair-shell-edge{fill:#b66755}.pair-shell-face{fill:url(#pairShell)}.pair-shell-ribs{fill:none;stroke:#ba7161;stroke-width:2.5px;stroke-linecap:round;opacity:.73}.pair-shell-lip{fill:none;stroke:#fff1db;stroke-width:3px;stroke-linecap:round;opacity:.8}.pair-total circle{fill:#fffcf2f0;stroke:#22676029;stroke-width:2px}.pair-total text{fill:#205b5c;font-size:20px;font-weight:900}.pair-total.is-hidden circle{fill:#ffffff5c;stroke-dasharray:4 5}.pair-total.is-hidden text{opacity:0}.pair-index{fill:#8b633e;font-size:14px;font-weight:900}.pairs-lesson-step{grid-template:"scene copy""scene answer""scene actions"/minmax(0,1.6fr) minmax(300px,.7fr);align-content:center;align-items:center;column-gap:clamp(20px,3vw,44px);padding:12px 14px 2px;display:grid}.pairs-lesson-step .pairs-scene{grid-area:scene}.pairs-lesson-step .lesson-copy{text-align:left;grid-area:copy;width:100%;margin:0}.pairs-lesson-step .lesson-copy h1{font-size:clamp(30px,3.2vw,44px)}.pairs-lesson-step .lesson-copy p{margin-left:0}.pairs-lesson-step .lesson-actions{grid-area:actions;width:100%;margin:0;padding:10px 0 0}.pairs-welcome-step .primary-actions{align-items:stretch}.pairs-welcome-step .primary-button{width:100%}.pair-live-equation,.pair-pattern-panel{grid-area:answer;width:100%}.pair-live-equation{color:#6c7e7c;align-items:center;gap:9px;margin-top:14px;font-size:20px;display:flex}.pair-live-equation strong,.pair-live-equation b{color:#745536;background:#f1deb8;border-radius:14px;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.pair-live-equation b{color:#fff;background:#247970}.pair-number-trail{gap:7px;margin-top:15px;display:flex}.pair-number-trail span,.pair-number-trail strong{color:#765638;background:#f2dfbb;border-radius:13px;place-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:grid}.pair-number-trail strong{color:#697c7a;background:0 0;border:2px dashed #1f5c5b38}.pair-pattern-panel .answer-grid{justify-content:flex-start;margin-top:12px}.pair-pattern-panel .answer-feedback{margin-top:8px}.facts-ribbon{grid-template-columns:repeat(5,1fr);gap:8px;width:min(760px,100%);display:grid}.facts-ribbon div{background:#ffffffb3;border:1px solid #1d5e5a1c;border-radius:18px;align-content:center;place-items:center;gap:5px;min-height:82px;display:grid}.facts-ribbon span{color:#7a8b88;font-size:11px}.facts-ribbon strong{color:#21635f;font-size:25px}.facts-ribbon small{color:#9a6a3f;font-size:10px;font-weight:700}.pairs-badge span{font-size:42px;font-weight:900}.ones-scene{filter:saturate(.94);border-radius:26px;width:100%;max-height:470px;display:block}.one-clear-group{animation:.44s cubic-bezier(.2,.8,.2,1) both one-group-arrive}@keyframes one-group-arrive{0%{opacity:0}to{opacity:1}}.one-group-name{fill:#225f5e;font-size:17px;font-weight:900}.one-group-quantity rect{fill:#fffdf6f0;stroke:#28686324}.one-group-quantity text{fill:#1d5d5c;font-size:17px;font-weight:900}.ones-count-strip rect{fill:#144c4de6;stroke:#ffffff3d}.ones-count-strip text{fill:#f7f3df;font-size:18px;font-weight:700}.ones-count-strip .count-strong{fill:#ffe098;font-size:21px;font-weight:900}.ones-lesson-step{grid-template:"scene copy""scene answer""scene actions"/minmax(0,1.6fr) minmax(300px,.7fr);align-content:center;align-items:center;column-gap:clamp(20px,3vw,44px);padding:12px 14px 2px;display:grid}.ones-lesson-step .ones-scene{grid-area:scene}.ones-lesson-step .lesson-copy{text-align:left;grid-area:copy;width:100%;margin:0}.ones-lesson-step .lesson-copy h1{font-size:clamp(30px,3.2vw,44px)}.ones-lesson-step .lesson-copy p{margin-left:0}.ones-lesson-step .lesson-actions{grid-area:actions;width:100%;margin:0;padding:10px 0 0}.ones-welcome-step .primary-actions{align-items:stretch}.ones-welcome-step .primary-button{width:100%}.ones-build-panel,.ones-meaning-panel{grid-area:answer;width:100%}.ones-build-panel{background:#ffffffb3;border:1px solid #1b5d591f;border-radius:20px;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px;padding:10px;display:grid}.ones-build-panel div{text-align:center;gap:3px;min-width:0;display:grid}.ones-build-panel span{color:#708783;font-size:10px;font-weight:700}.ones-build-panel strong{color:#1f5c5a;font-size:19px}.ones-build-panel>b{color:#8a9c98;font-size:17px}.ones-build-panel .ones-build-total strong{color:#c3614f}.ones-meaning-panel{gap:8px;margin-top:6px;display:grid}.ones-meaning-panel .answer-grid{justify-content:flex-start;margin:0}.ones-equation-reveal{background:linear-gradient(135deg,#fff8e1f2,#ffffffd1);border:1px solid #ca804833;border-radius:17px;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:9px 13px;display:grid}.ones-equation-reveal span{color:#667d79;grid-column:1/-1;font-size:11px;font-weight:700}.ones-equation-reveal strong{color:#174f50;font-size:22px}.ones-equation-reveal small{color:#a56636;font-size:12px;font-weight:800}.ones-facts-grid{grid-template-columns:repeat(3,1fr);gap:7px;width:min(760px,100%);display:grid}.ones-facts-grid div{background:#ffffffb3;border:1px solid #1d5e5a1c;border-radius:16px;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:1px 8px;min-height:58px;padding:7px 12px;display:grid}.ones-facts-grid span{color:#718784;font-size:11px}.ones-facts-grid strong{color:#21635f;grid-area:1/2/3;font-size:24px}.ones-facts-grid small{color:#9a6a3f;font-size:10px;font-weight:700}.ones-badge span{font-size:42px;font-weight:900}.site-footer{color:#84918e;letter-spacing:.05em;justify-content:space-between;align-items:center;width:min(1440px,100% - 64px);min-height:50px;margin:0 auto;font-size:10px;display:flex}@media (width<=1050px){.explain-layout{grid-template-columns:1fr}.explain-layout .island-scene{max-height:270px}.answer-panel{grid-template-columns:1fr 1fr}.answer-feedback{grid-column:1/-1}}@media (orientation:landscape){.topbar{height:68px}.learning-layout{margin-bottom:0}.lesson-card{min-height:calc(100dvh - 68px);padding:8px 14px 12px}.lesson-map{border-radius:15px;min-height:44px;padding:0 12px}.lesson-step{min-height:calc(100dvh - 152px)}.welcome-step,.group-step{grid-template:"scene copy""scene detail"1fr"scene actions"/minmax(0,2fr) minmax(260px,.55fr);align-items:center;column-gap:clamp(18px,2.5vw,36px);padding:8px 12px 2px;display:grid}.welcome-step{grid-template-rows:1fr 1fr;grid-template-areas:"scene copy""scene actions"}.welcome-step .lesson-copy,.group-step .lesson-copy{text-align:left;grid-area:copy;width:100%;margin:0}.welcome-step .lesson-copy{align-self:end;padding-bottom:10px}.welcome-step .lesson-copy h1,.group-step .lesson-copy h1{font-size:clamp(32px,3.2vw,44px)}.welcome-step .lesson-copy p,.group-step .lesson-copy p{margin-left:0}.welcome-step .island-scene,.group-step .island-scene{grid-area:scene;max-height:calc(100dvh - 154px);margin:0}.group-step .discovery-strip{flex-wrap:wrap;grid-area:detail;align-self:start;width:100%;margin:12px 0 0}.welcome-step .lesson-actions,.group-step .lesson-actions{grid-area:actions;width:100%;margin:0;padding:10px 0 0}.welcome-step .lesson-actions{align-self:start;padding-top:0}.welcome-step .primary-actions{align-items:stretch}.welcome-step .primary-button{width:100%}.explain-step .lesson-copy{margin-top:8px}.explain-step .explain-layout{grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr)}.site-footer{display:none}}@media (orientation:landscape) and (height>=601px) and (height<=760px){.ones-complete-step{min-height:500px;padding-block:8px}.ones-complete-step .completion-glow{display:none}.ones-complete-step h1{margin:7px 0;font-size:34px}.ones-complete-step .completion-lead{margin-bottom:10px;line-height:1.5}.ones-complete-step .next-preview{margin-top:8px;padding-block:10px}.ones-complete-step .completion-actions{margin-top:7px}}@media (orientation:landscape) and (height<=600px){html,body,#root,.app-shell{min-height:var(--app-viewport-height,100dvh);height:var(--app-viewport-height,100dvh)}.topbar,.learning-layout{width:calc(100% - 16px)}.topbar{height:48px}.brand-mark{border-radius:12px;width:36px;height:36px}.brand-mark-trigger{border-radius:12px;width:44px;height:44px}.brand-mark svg{width:28px}.brand strong{font-size:18px}.brand small{display:none}.topbar-meta .topbar-control{border-radius:10px;gap:4px;height:44px;min-height:44px;padding-inline:9px;font-size:9px}.topbar-control-icon{flex-basis:12px;width:12px;height:12px;font-size:12px!important}.reward-collection-step{padding:10px 4%}.reward-collection-step .utility-heading h1{margin-block:2px;font-size:26px}.reward-collection-step .utility-heading p{margin:2px 0;font-size:10px}.reward-display-case{border-radius:22px;min-height:270px;margin-top:7px}.reward-display-case:before{border-radius:16px;inset:9px}.reward-objects{gap:0;min-height:240px;padding:9px 22px 7px}.reward-row{gap:5px;min-height:71px;padding:2px 7px 11px}.reward-row:after{height:7px;bottom:4px}.reward-row-goldenConch{grid-template-columns:repeat(7,minmax(0,72px))}.reward-row-starfish,.reward-row-shell{grid-template-columns:repeat(5,minmax(0,64px))}.reward-slot,.reward-slot-goldenConch{border-radius:15px 15px 8px 8px;height:56px}.reward-stack-count{min-width:24px;height:19px;padding-inline:5px;font-size:9px;top:-4px;right:-4px}.reward-compose-note{margin-top:6px;font-size:9px}.reward-toast{min-height:38px;font-size:11px;bottom:12px}.debug-overlay,.data-notice-overlay{padding:10px}.data-notice-panel{border-radius:22px;width:min(720px,96vw);padding:16px 18px}.data-notice-heading h2{font-size:22px}.data-notice-heading button{flex-basis:36px;width:36px;height:36px}.data-notice-summary{margin-top:10px;padding:10px 12px}.data-notice-summary p{font-size:10px;line-height:1.45}.data-notice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:8px}.data-notice-grid article{border-radius:12px;padding:9px 10px}.data-notice-grid strong{font-size:11px}.data-notice-grid p{margin-top:3px;font-size:9px;line-height:1.4}.data-notice-tip{margin-top:8px;font-size:9px}.data-notice-confirm{border-radius:10px;min-height:34px;margin-top:8px;padding-inline:18px;font-size:11px}.debug-panel{border-radius:22px;width:min(620px,92vw);padding:18px 20px}.debug-panel-heading{margin-bottom:12px}.debug-panel h2{font-size:24px}.debug-tool-card{gap:12px;padding:13px 16px}.debug-tool-icon{width:40px;height:40px}.debug-tool-copy p{margin-top:2px;line-height:1.45}.debug-tool-card{padding:14px}.debug-footnote{margin-top:8px}.course-map-layout{width:calc(100% - 16px);margin-bottom:7px}.course-map-card{border-radius:22px;min-height:calc(100dvh - 55px);padding:8px 10px}.course-map-title-row{align-items:center;min-height:48px}.course-map-title-row .lesson-kicker{display:none}.course-map-title-row h1{margin:0;font-size:23px}.map-close-button{min-height:34px;padding-inline:12px;font-size:10px}.course-map-sea{border-radius:18px;height:calc(100dvh - 133px);min-height:238px}.course-islands{min-height:1100px;padding:0}.course-island{width:clamp(132px,18%,175px)}.course-island:nth-child(odd),.course-island:nth-child(2n){transform:none}.course-island:nth-child(4n){width:clamp(142px,20%,190px)}.course-island:nth-child(5n){width:clamp(125px,17%,165px)}.course-island button{min-height:132px;box-shadow:none;padding:0}.course-island.is-main button{filter:drop-shadow(0 0 11px #ffe997d1)}.course-island-mark{width:30px;height:30px;font-size:14px;top:25px}.course-current-flag{min-width:58px;padding-inline:7px;font-size:8px;left:-34px}.course-island-sign{min-height:34px;padding:5px 9px 4px}.course-island strong{font-size:11px}.course-island small{display:none}.course-island em{font-size:8px}.course-map-hint{display:none}.lesson-step.fact-lesson-step{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);column-gap:14px;min-height:calc(100dvh - 129px);padding:5px 8px 0}.fact-lesson-step .fact-sea-scene{border-radius:17px;max-height:calc(100dvh - 132px)}.fact-lesson-step .lesson-copy h1{font-size:23px}.fact-strategy-card{margin-top:5px;padding:7px 9px}.fact-strategy-card strong{font-size:9px}.fact-live-equation strong,.fact-live-equation b{width:35px;height:35px;font-size:17px}.fact-answer-panel .answer-grid{margin-top:5px}.fact-answer-panel .answer-feedback{min-height:20px;margin-top:2px;font-size:9px}.fact-complete-step,.review-complete-step{padding-block:5px}.fact-complete-step .completion-glow,.review-complete-step .completion-glow,.fact-complete-step>.lesson-kicker,.review-complete-step>.lesson-kicker,.fact-complete-step .completion-lead,.review-complete-step .completion-lead{display:none}.fact-complete-step h1,.review-complete-step h1{margin:2px 0 5px}.fact-complete-step .ones-facts-grid div{min-height:35px;padding:2px 9px}.fact-complete-step .next-preview,.review-complete-step .next-preview{margin-top:3px;padding:5px 12px}.times-table{gap:2px}.times-table>div{border-radius:6px;min-height:22px;padding:1px}.times-table span{font-size:6px}.times-table strong{font-size:10px}.times-table small{display:none}.review-complete-step .times-table{gap:1px}.review-complete-step .times-table>div{min-height:23px;padding-block:0}.review-complete-step .times-table span{white-space:nowrap;font-size:5.5px;line-height:1;display:inline}.review-complete-step .times-table strong{font-size:8px}.review-complete-step .times-table small{white-space:nowrap;font-size:7px;line-height:1.05;display:block}.review-complete-step .next-preview{display:none}.lesson-card{min-height:calc(var(--app-viewport-height,100dvh) - 55px);border-radius:22px;padding:7px 9px 9px}.lesson-map{border-radius:13px;min-height:38px;padding:0 8px}.lesson-progress-current{min-width:60px;font-size:9px}.lesson-progress-count{font-size:9px}.lesson-progress-dots{width:min(430px,52vw)}.lesson-step{min-height:calc(var(--app-viewport-height,100dvh) - 120px)}.welcome-step,.group-step{grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);column-gap:14px;padding:6px 10px 0}.welcome-step{min-height:0;height:calc(var(--app-viewport-height,100dvh) - 104px);grid-template-rows:minmax(0,1fr) auto}.welcome-step .island-scene,.group-step .island-scene{max-height:calc(var(--app-viewport-height,100dvh) - 139px);border-radius:16px}.lesson-copy h1,.complete-step h1{margin:6px 0;font-size:24px}.lesson-copy p{font-size:11px;line-height:1.55}.lesson-kicker{font-size:9px}.group-step .discovery-strip{min-height:44px;margin-top:4px;padding:6px 8px}.discovery-label,.action-hint{display:none}.group-pills{margin-left:0}.group-pills i{width:25px;height:25px}.lesson-actions{min-height:48px}.primary-button{border-radius:13px;min-height:44px;padding-inline:16px}.explain-step .lesson-copy{display:none}.explain-step .explain-layout{grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);min-height:0}.explain-step .island-scene{max-height:calc(100dvh - 210px)}.answer-option{min-height:54px}.math-bridge{min-height:50px;margin-top:-10px;transform:scale(.78)}.equation-stage{min-height:160px}.array-lesson-step{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);column-gap:14px;min-height:calc(100dvh - 120px);padding:5px 8px 0}.array-lesson-step .array-scene,.transfer-lesson-step .transfer-scene{border-radius:17px;max-height:calc(100dvh - 132px)}.transfer-answer-panel .answer-option{grid-template-columns:28px 1fr;gap:6px;min-height:48px;padding:6px 8px;font-size:10px}.transfer-answer-panel .answer-feedback{min-height:25px;font-size:9px}.transfer-proof{gap:5px;padding:10px 8px;font-size:10px}.array-lesson-step .lesson-copy h1{font-size:23px}.array-description-panel{margin-top:7px}.array-description-panel .answer-option{min-height:50px;padding:7px 10px}.symbol-choice-panel .answer-option,.meaning-choice-panel .answer-option{grid-template-columns:28px 1fr;gap:6px;min-height:50px;padding:7px 8px}.symbol-choice-panel .option-letter,.meaning-choice-panel .option-letter{width:28px;height:28px}.symbol-choice-panel .choice-equation{letter-spacing:0;font-size:19px}.meaning-choice-panel{grid-template-columns:1fr;gap:6px}.meaning-choice-panel .answer-option{font-size:10px}.array-answer-block .answer-grid,.array-equation-panel .answer-grid{margin-top:7px}.array-answer-block .answer-feedback,.array-equation-panel .answer-feedback{min-height:28px;margin-top:4px;font-size:10px}.array-lesson-step .number-answer{width:52px;height:43px}.inline-equation{margin-top:6px;font-size:16px}.inline-equation span,.inline-equation strong{border-radius:10px;width:34px;height:34px}.array-complete-step{padding-block:8px}.array-complete-step .completion-glow{width:58px;height:58px;margin-bottom:7px}.array-complete-step .completion-lead{margin-bottom:10px;font-size:11px}.array-complete-step .learning-summary div{min-height:62px;padding:8px}.array-complete-step .next-preview{margin-top:8px;padding:10px 14px}.symbol-recall-step .lesson-copy{margin:3px auto 0}.symbol-recall-step .lesson-copy h1{margin-block:4px;font-size:21px}.symbol-recall-step .lesson-copy p{display:none}.symbol-recall-step .equation-stage{justify-content:flex-start;min-height:132px}.symbol-recall-step .factor,.symbol-recall-step .answer-slot{border-radius:19px;width:66px;font-size:38px}.symbol-recall-step .answer-grid{margin-top:8px}.symbol-recall-step .lesson-actions{min-height:44px;padding-top:0}.pairs-lesson-step,.ones-lesson-step{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);column-gap:14px;min-height:calc(100dvh - 120px);padding:5px 8px 0}.ones-lesson-step .ones-scene{border-radius:17px;max-height:calc(100dvh - 132px)}.ones-lesson-step .lesson-copy h1{font-size:23px}.ones-build-panel{border-radius:14px;gap:3px;padding:6px}.ones-build-panel span{font-size:8px}.ones-build-panel strong{font-size:14px}.ones-build-panel>b{font-size:12px}.ones-meaning-panel{gap:6px;margin-top:5px}.ones-meaning-panel .answer-grid{margin-top:0}.ones-equation-reveal{padding:6px 9px}.ones-equation-reveal span{font-size:8px}.ones-equation-reveal strong{font-size:17px}.ones-equation-reveal small{font-size:9px}.ones-complete-step{padding-block:5px}.ones-complete-step .completion-glow,.ones-complete-step>.lesson-kicker,.ones-complete-step .completion-lead{display:none}.ones-complete-step h1{margin:2px 0 5px}.ones-complete-step .ones-facts-grid{gap:4px;max-width:680px}.ones-complete-step .ones-facts-grid div{border-radius:11px;min-height:35px;padding:2px 9px}.ones-complete-step .ones-facts-grid span,.ones-complete-step .ones-facts-grid small{font-size:8px}.ones-complete-step .ones-facts-grid strong{font-size:17px}.ones-complete-step .next-preview{margin-top:3px;padding:5px 12px}.ones-complete-step .completion-actions{min-height:42px;margin-top:3px}.ones-complete-step .primary-button{min-height:40px}.pairs-lesson-step .pairs-scene{border-radius:17px;max-height:calc(100dvh - 132px)}.pairs-lesson-step .lesson-copy h1{font-size:23px}.pair-live-equation{margin-top:6px}.pair-live-equation strong,.pair-live-equation b{border-radius:10px;width:36px;height:36px;font-size:18px}.pair-number-trail{margin-top:6px}.pair-number-trail span,.pair-number-trail strong{width:35px;height:35px;font-size:15px}.pair-pattern-panel .answer-grid{margin-top:6px}.pair-pattern-panel .answer-feedback{min-height:24px;margin:3px 0 0;font-size:10px}.full-fact-practice-step .lesson-copy{margin:3px auto 0}.full-fact-practice-step .lesson-copy h1{margin-block:4px;font-size:21px}.full-fact-practice-step .lesson-copy p{display:none}.full-fact-practice-step .equation-stage{justify-content:flex-start;min-height:132px}.full-fact-practice-step .factor,.full-fact-practice-step .answer-slot{border-radius:19px;width:66px;font-size:38px}.full-fact-practice-step .answer-grid{margin-top:8px}.full-fact-practice-step .lesson-actions{min-height:44px;padding-top:0}.pairs-complete-step{padding-block:7px}.pairs-complete-step .completion-glow,.pairs-complete-step>.lesson-kicker,.pairs-complete-step .completion-lead{display:none}.pairs-complete-step h1{margin:3px 0 7px}.pairs-complete-step .facts-ribbon div{min-height:62px}.pairs-complete-step .facts-ribbon span,.pairs-complete-step .facts-ribbon small{font-size:8px}.pairs-complete-step .facts-ribbon strong{font-size:19px}.pairs-complete-step .next-preview{margin-top:7px;padding:9px 13px}}@media (orientation:landscape) and (height<=600px) and (width<=900px){.course-map-sea{scroll-snap-type:y proximity;-webkit-overflow-scrolling:touch;overflow:hidden auto}.course-islands{width:100%;min-height:1100px;padding:0}.course-island{scroll-snap-align:center}.course-island button{min-height:132px;padding:0}.course-island-mark{width:30px;height:30px;font-size:14px}.course-island strong{font-size:11px}.course-island em{font-size:7px}}@media (orientation:portrait) and (width<=1000px){.topbar{width:calc(100% - 30px);height:82px}.brand small{display:none}.debug-tool-card{grid-template-columns:auto minmax(0,1fr)}.debug-tool-card>.debug-danger-button,.debug-tool-card>.debug-complete-button,.debug-confirm-actions{grid-column:1/-1;justify-self:stretch}.debug-tool-card>.debug-danger-button,.debug-tool-card>.debug-complete-button,.debug-confirm-actions>button{flex:1}.learning-layout,.course-map-layout,.site-footer{display:none}.rotate-notice{z-index:2;width:min(430px,100% - 38px);min-height:480px;box-shadow:var(--shadow);text-align:center;background:#fffdf7c7;border:1px solid #ffffffc7;border-radius:38px;flex-direction:column;justify-content:center;align-items:center;margin:clamp(40px,10vh,110px) auto 0;padding:54px 36px;display:flex;position:relative}.rotate-device{border:5px solid #256d6d;border-radius:19px;place-items:center;width:118px;height:72px;margin-bottom:34px;display:grid;position:relative;transform:rotate(-8deg);box-shadow:0 18px 30px #225d592b}.rotate-device:before{content:"";background:#e2bf78;border-radius:50%;width:8px;height:8px;position:absolute;right:7px}.rotate-device i{background:#d8bd72;border-radius:50%;width:42px;height:28px;box-shadow:0 0 0 16px #76bab03d}.rotate-notice h1{color:var(--ink);margin:12px 0 14px;font-family:Songti SC,STSong,serif;font-size:clamp(34px,8vw,48px)}.rotate-notice p{max-width:320px;color:var(--ink-soft);margin:0;font-size:15px;line-height:1.8}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
