@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--sky-100:#effcff;--sky-200:#ccf4ff;--sky-300:#8edff3;--sea-400:#35bddf;--sea-500:#168fb8;--sea-700:#075d7c;--sand-100:#fffced;--sand-200:#fff0b9;--sand-300:#ffd76b;--coral-400:#ff8172;--coral-500:#e95d55;--mango-400:#ffbc36;--mango-500:#e99319;--leaf-400:#65cf7a;--leaf-500:#34a85c;--leaf-700:#1c7040;--grape-400:#a989e8;--grape-500:#7656bf;--ink-900:#153f50;--ink-700:#2c6073;--ink-500:#5c7e8c;--white:#fff;--danger:#dc4e55;--success:#258d50;--warning:#b66e0d;--surface:#fffffff2;--border-soft:#153f5021;--shadow-sm:0 5px 0 #0c536a14, 0 13px 28px #0c536a1a;--shadow-md:0 8px 0 #0c536a1a, 0 22px 50px #0c536a29;--shadow-button:0 5px 0 #563a1233;--radius-sm:14px;--radius-md:22px;--radius-lg:32px;--content-width:1120px;--font-body:"Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", system-ui, -apple-system, BlinkMacSystemFont, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--ink-900);font-family:var(--font-body);background:radial-gradient(circle at 11% 7%, #ffffffe6 0 4.6rem, transparent 4.75rem), radial-gradient(circle at 18% 9%, #ffffffdb 0 2.8rem, transparent 2.95rem), radial-gradient(circle at 88% 13%, #ffffffd1 0 4rem, transparent 4.15rem), linear-gradient(180deg, var(--sky-200) 0%, #e8fbff 43%, #61cbe7 43.2%, #27a7ce 100%);background-attachment:fixed;margin:0;font-size:16px;line-height:1.65;overflow-x:hidden}body:before{z-index:-2;content:"";pointer-events:none;opacity:.27;background:radial-gradient(at 10% 68%,#0000 0 24px,#ffffffd1 25px 28px,#0000 29px) 0 0/240px 120px,radial-gradient(at 44% 77%,#0000 0 33px,#ffffffa6 34px 37px,#0000 38px) 0 0/310px 150px,radial-gradient(at 84% 61%,#0000 0 28px,#ffffffb8 29px 32px,#0000 33px) 0 0/270px 135px;animation:22s linear infinite ocean-drift;position:fixed;inset:0}button,input,select,textarea{color:inherit;font:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}button:not(:disabled),[role=button]:not([aria-disabled=true]){cursor:pointer}button:disabled,[aria-disabled=true]{cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline-offset:4px;outline:4px solid #ffbf38e6}h1,h2,h3,p{margin-top:0}p:last-child{margin-bottom:0}.app-shell{isolation:isolate;min-height:100vh;padding:0 max(16px, env(safe-area-inset-right)) max(42px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));position:relative}.sky-decor{z-index:-1;pointer-events:none;max-height:720px;position:absolute;inset:0;overflow:hidden}.sun{aspect-ratio:1;background:#ffdb61;border:9px solid #fff6;border-radius:50%;width:clamp(70px,9vw,118px);position:absolute;top:108px;right:max(5vw,28px);box-shadow:0 0 0 18px #ffde6033}.cloud{opacity:.62;background:#fff;border-radius:999px;width:clamp(90px,12vw,150px);height:34px;position:absolute}.cloud:before,.cloud:after{content:"";background:#fff;border-radius:50%;position:absolute;bottom:0}.cloud:before{width:48px;height:48px;left:20%}.cloud:after{width:62px;height:62px;right:17%}.cloud-one{top:126px;left:4%}.cloud-two{top:280px;right:16%;scale:.72}.cloud-three{top:420px;left:44%;scale:.56}.topbar{z-index:20;width:min(100%, var(--content-width));justify-content:space-between;align-items:center;gap:18px;min-height:82px;margin:0 auto;display:flex;position:relative}.brand{align-items:center;gap:11px;min-height:48px;display:inline-flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--mango-400), var(--coral-400));width:46px;min-width:46px;height:46px;box-shadow:var(--shadow-sm);border:3px solid #fff;border-radius:16px;place-items:center;font-size:1.55rem;font-weight:900;line-height:1;display:grid}.brand-copy{flex-direction:column;min-width:0;line-height:1.25;display:flex}.brand-copy strong{letter-spacing:.02em;font-size:clamp(1.1rem,2.2vw,1.35rem);font-weight:900}.brand-copy small{color:var(--ink-700);margin-top:3px;font-size:.76rem;font-weight:700}.top-actions{flex:none;align-items:center;gap:9px;display:flex}.stat-pill,.sound-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border:2px solid #ffffffeb;border-radius:999px;justify-content:center;align-items:center;min-height:44px;display:inline-flex;box-shadow:0 5px 16px #0b52671a}.stat-pill{gap:6px;padding:7px 15px}.stat-pill strong{min-width:1.5ch;font-size:1.1rem}.sound-button{width:46px;padding:0;font-size:1.15rem}.primary-button,.secondary-button,.ghost-button,.danger-button,.back-button{text-align:center;border:2px solid #0000;border-radius:15px;justify-content:center;align-items:center;min-height:48px;padding:11px 20px;font-weight:900;line-height:1.25;transition:translate .16s,box-shadow .16s,filter .16s;display:inline-flex}.primary-button{color:#543b09;box-shadow:var(--shadow-button);background:linear-gradient(#ffd866,#ffb92f);border-color:#f3a519}.primary-button.large{gap:12px;min-height:56px;padding-inline:clamp(20px,4vw,30px);font-size:clamp(1rem,2vw,1.14rem)}.secondary-button{color:var(--sea-700);background:#ffffffe6;border-color:#075d7c38;box-shadow:0 4px #075d7c1c}.ghost-button{color:var(--ink-700);background:#ffffff9e;border-color:#153f502b}.danger-button{color:#fff;background:linear-gradient(#ee6c72,#d94c54);border-color:#b8323d;box-shadow:0 4px #a52f39}.back-button{color:var(--sea-700);background:#fff;border-color:#075d7c29;justify-content:flex-start;gap:9px;box-shadow:0 3px #075d7c1a}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.danger-button:hover:not(:disabled),.back-button:hover:not(:disabled){filter:saturate(1.04);translate:0 -2px}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.ghost-button:active:not(:disabled),.danger-button:active:not(:disabled),.back-button:active:not(:disabled){box-shadow:none;translate:0 2px}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.danger-button:disabled{opacity:.52;box-shadow:none}.eyebrow{min-height:30px;color:var(--sea-700);letter-spacing:.06em;background:#ffffffb8;border-radius:999px;align-items:center;margin-bottom:13px;padding:4px 12px;font-size:.8rem;font-weight:900;display:inline-flex}.hero{width:min(100%, var(--content-width));grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);align-items:center;gap:clamp(34px,6vw,76px);min-height:min(670px,100vh - 82px);margin:0 auto;padding:clamp(42px,8vw,92px) 0 clamp(56px,8vw,88px);display:grid}.hero-copy{min-width:0}.hero-title{letter-spacing:-.055em;text-wrap:balance;max-width:760px;margin-bottom:20px;font-size:clamp(2.6rem,7vw,5.8rem);font-weight:950;line-height:1.04}.hero-title span{color:var(--coral-500);text-shadow:0 4px #ffffffb8;display:block}.hero-subtitle{max-width:650px;color:var(--ink-700);margin-bottom:28px;font-size:clamp(1.05rem,2.2vw,1.28rem);font-weight:700;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:stretch;gap:13px;margin-bottom:22px;display:flex}.hero-note{color:var(--ink-700);flex-wrap:wrap;gap:8px 18px;margin:0;font-size:.86rem;font-weight:800;display:flex}.hero-note span{white-space:nowrap}.hero-card{border-radius:var(--radius-lg);width:min(100%,410px);box-shadow:var(--shadow-md);background:linear-gradient(150deg,#fffffff2,#fff9d8e6);border:4px solid #ffffffe0;justify-self:end;padding:clamp(26px,4vw,38px);position:relative;transform:rotate(1.5deg)}.mascot{background:linear-gradient(145deg,#ffe9a5,#ffb447);border:7px solid #fff;border-radius:50%;place-items:center;width:128px;height:128px;margin:-78px auto 10px;display:grid;position:relative;box-shadow:0 8px #dd831b38}.mascot-face{font-size:4.8rem;line-height:1}.mascot-tail{color:var(--coral-500);font-size:2.7rem;font-weight:900;position:absolute;bottom:3px;right:-20px;transform:rotate(38deg)}.speech-bubble{text-align:center;flex-direction:column;align-items:center;margin-bottom:25px;display:flex}.speech-bubble strong{color:var(--ink-900);margin-bottom:6px;font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:950}.speech-bubble span{color:var(--ink-700);font-size:.94rem;font-weight:700}.progress-overview{background:#ffffff9e;border:2px dashed #153f5026;border-radius:18px;padding:17px}.progress-overview>div:first-child,.question-count{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.progress-overview span{color:var(--ink-700);font-size:.83rem;font-weight:800}.progress-overview strong{font-size:.92rem;font-weight:950}.progress-bar,.mini-progress{background:#153f501f;border-radius:999px;width:100%;height:11px;position:relative;overflow:hidden}.progress-bar.compact{height:9px;margin-bottom:22px}.progress-fill,.mini-progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--mango-400), var(--coral-400));width:0;height:100%;transition:width .5s;display:block}.adventure-map,.bridge-section,.badge-section{width:min(100%, var(--content-width));border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffde;border:3px solid #ffffffbf;margin:0 auto clamp(42px,7vw,80px);padding:clamp(24px,4vw,48px)}.section-heading{justify-content:space-between;align-items:flex-end;gap:26px;margin-bottom:34px;display:flex}.section-heading .eyebrow{background:var(--sand-200);margin-bottom:8px}.section-heading h2,.branch-heading h2{letter-spacing:-.025em;margin-bottom:0;font-size:clamp(1.55rem,3.6vw,2.35rem);font-weight:950;line-height:1.25}.section-heading>p,.branch-heading>p{max-width:410px;color:var(--ink-700);text-align:right;margin:0;font-size:.94rem;font-weight:700}.main-route{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:24px;display:grid;position:relative}.main-route:before{z-index:-1;content:"";background:repeating-linear-gradient(90deg, var(--sky-300) 0 16px, transparent 16px 28px);border-radius:999px;height:5px;position:absolute;top:48%;left:5%;right:5%}.route-card{z-index:1;border:3px solid var(--island-color);flex-direction:column;min-width:0;min-height:360px;padding:22px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.route-card{border:3px solid color-mix(in srgb, var(--island-color) 55%, white)}}.route-card{background:linear-gradient(165deg, white 0 44%, var(--island-soft,#effcff) 100%);box-shadow:var(--shadow-sm);border-radius:26px;transition:translate .18s,box-shadow .18s}.route-card:hover:not(.locked){box-shadow:var(--shadow-md);translate:0 -5px}.route-card.completed{border-color:var(--island-color);background:linear-gradient(165deg, white 0 34%, var(--island-soft,#effcff) 100%)}.route-card.locked{box-shadow:none;background:linear-gradient(165deg,#f4f8f9,#e9f0f2);border-color:#153f5021}.main-route .route-card:nth-child(2),.main-route .route-card:nth-child(5){translate:0 18px}.main-route .route-card:nth-child(2):hover:not(.locked),.main-route .route-card:nth-child(5):hover:not(.locked){translate:0 13px}.route-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.route-number{color:#fff;letter-spacing:.08em;background:var(--island-color);border-radius:999px;align-items:center;min-height:31px;padding:4px 10px;font-size:.75rem;font-weight:950;display:inline-flex}.route-status{color:var(--island-deep,var(--ink-700));text-align:right;font-size:.76rem;font-weight:900}.route-icon{background:var(--island-color);border:4px solid #fff;border-radius:27px;place-items:center;width:82px;height:82px;margin-bottom:16px;font-size:2.7rem;line-height:1;display:grid}@supports (color:color-mix(in lab, red, red)){.route-icon{background:color-mix(in srgb, var(--island-color) 22%, white)}}.route-icon{box-shadow:0 6px 0 var(--island-color)}@supports (color:color-mix(in lab, red, red)){.route-icon{box-shadow:0 6px 0 color-mix(in srgb, var(--island-color) 25%, transparent)}}.route-icon{transform:rotate(-3deg)}.route-card.locked .route-icon{filter:grayscale();opacity:.6}.route-copy{flex:1;min-width:0}.route-copy small{color:var(--island-deep,var(--ink-700));margin-bottom:4px;font-size:.75rem;font-weight:900;display:block}.route-copy h3{overflow-wrap:anywhere;margin-bottom:9px;font-size:clamp(1.2rem,2.2vw,1.48rem);font-weight:950;line-height:1.3}.route-copy p{color:var(--ink-700);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:15px;font-size:.88rem;font-weight:650;line-height:1.65;display:-webkit-box;overflow:hidden}.mini-progress{height:8px;margin:3px 0 17px}.mini-progress>span{background:var(--island-color)}.route-action{border:2px solid var(--island-color);justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:10px 15px;display:flex}@supports (color:color-mix(in lab, red, red)){.route-action{border:2px solid color-mix(in srgb, var(--island-color) 50%, white)}}.route-action{color:var(--island-deep,var(--ink-900));box-shadow:0 4px 0 var(--island-color);background:#fff;border-radius:14px;font-weight:950}@supports (color:color-mix(in lab, red, red)){.route-action{box-shadow:0 4px 0 color-mix(in srgb, var(--island-color) 24%, transparent)}}.route-action:hover:not(:disabled){color:#fff;background:var(--island-color)}.route-action:active:not(:disabled){box-shadow:none;translate:0 2px}.route-action:disabled{color:var(--ink-500);box-shadow:none;background:#ffffff94;border-color:#153f5021}.unlock-hint{color:var(--ink-500);text-align:center;overflow-wrap:anywhere;margin:10px 0 0;font-size:.76rem;font-weight:800}.branch-heading{border-top:2px dashed #153f5021;justify-content:space-between;align-items:center;gap:24px;margin:42px 0 22px;padding-top:30px;display:flex}.branch-heading>div{align-items:center;gap:13px;display:flex}.branch-heading>div>span{background:var(--sand-200);border-radius:17px;flex:none;place-items:center;width:52px;height:52px;font-size:1.55rem;display:grid}.branch-heading small{color:var(--ink-500);font-size:.76rem;font-weight:900;display:block}.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.route-card.project{border-style:dashed;min-height:330px}.review-route{width:min(100%,720px);margin:52px auto 4px;padding-top:24px;position:relative}.review-route:before{content:"";background:repeating-linear-gradient(180deg, var(--grape-400) 0 10px, transparent 10px 18px);width:5px;height:52px;position:absolute;top:-34px;left:50%}.route-ribbon{z-index:3;color:#fff;letter-spacing:.08em;background:var(--grape-500);border-radius:999px;padding:7px 15px;font-size:.78rem;font-weight:950;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.route-card.review{border-width:4px;min-height:310px;padding:clamp(22px,4vw,32px)}.route-card.review .route-icon{width:92px;height:92px;font-size:3rem}.route-card.review .route-copy p{display:block}.compact-heading{margin-bottom:22px}.bridge-section{background:repeating-linear-gradient(-45deg,#ffffffd9 0 14px,#f0fcffd9 14px 28px)}.bridge-wrap{width:min(100%,720px);margin:auto}.route-card.bridge{min-height:300px}.badge-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.badge-card{min-width:0;min-height:92px;color:var(--ink-500);background:#edf5f7b8;border:2px dashed #153f502e;border-radius:19px;align-items:center;gap:12px;padding:15px;display:flex}.badge-card>span{width:51px;min-width:51px;height:51px;color:var(--ink-500);background:#ffffffbf;border-radius:50%;place-items:center;font-size:1.55rem;font-weight:950;display:grid}.badge-card div{min-width:0}.badge-card small,.badge-card strong{overflow-wrap:anywhere;display:block}.badge-card small{font-size:.7rem;font-weight:850}.badge-card strong{color:inherit;font-size:.9rem;font-weight:950;line-height:1.3}.badge-card.earned{color:var(--leaf-700);background:#effcf1;border-style:solid;border-color:#34a85c59}.badge-card.earned>span{background:#dff7e4;box-shadow:0 4px #34a85c21}.badge-card.treasure{color:#93620f;background:var(--sand-100);border-color:#e9931959}.footer-note{width:min(100%, var(--content-width));box-shadow:var(--shadow-sm);background:#ffffffde;border:3px solid #ffffffbf;border-radius:25px;justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:26px clamp(22px,4vw,36px);display:flex}.footer-note>div{min-width:0}.footer-note strong{margin-bottom:3px;font-size:1.08rem;font-weight:950;display:block}.footer-note p{color:var(--ink-700);margin-bottom:3px;font-size:.84rem;font-weight:650}.footer-note small{color:var(--ink-500);font-size:.76rem;font-weight:700}.course-page{width:min(100%, var(--content-width));border-radius:var(--radius-lg);min-height:calc(100vh - 110px);box-shadow:var(--shadow-md);background:#ffffffed;border:3px solid #ffffffc7;margin:clamp(18px,4vw,38px) auto 0;padding:clamp(18px,3.5vw,38px)}.course-toolbar{border-bottom:2px dashed #153f5021;justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px;padding-bottom:18px;display:flex}.course-status{border:2px solid var(--island-color);justify-content:center;align-items:center;min-height:44px;padding:8px 15px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.course-status{border:2px solid color-mix(in srgb, var(--island-color) 30%, white)}}.course-status{color:var(--island-deep);background:var(--island-soft);text-align:center;border-radius:999px;font-size:.82rem;font-weight:950}.course-content,.course-content>*,.lesson-layout>*,.question-wrap>*,.unit-summary>*,.takeaway>div,.feedback>*{min-width:0;max-width:100%}.course-page [tabindex="-1"]{scroll-margin-top:24px}.unit-summary{border:3px solid var(--island-color);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;margin-bottom:28px;padding:clamp(22px,4vw,34px);display:grid}@supports (color:color-mix(in lab, red, red)){.unit-summary{border:3px solid color-mix(in srgb, var(--island-color) 42%, white)}}.unit-summary{background:radial-gradient(circle at 94% 12%, var(--island-color) 0 80px, transparent 82px), linear-gradient(145deg, white, var(--island-soft));border-radius:25px}@supports (color:color-mix(in lab, red, red)){.unit-summary{background:radial-gradient(circle at 94% 12%, color-mix(in srgb, var(--island-color) 13%, transparent) 0 80px, transparent 82px), linear-gradient(145deg, white, var(--island-soft))}}.unit-summary{gap:clamp(18px,3vw,28px)}.unit-summary-icon{background:var(--island-color);border:5px solid #fff;border-radius:30px;place-items:center;width:clamp(78px,10vw,105px);height:clamp(78px,10vw,105px);font-size:clamp(2.5rem,5vw,3.6rem);line-height:1;display:grid}@supports (color:color-mix(in lab, red, red)){.unit-summary-icon{background:color-mix(in srgb, var(--island-color) 24%, white)}}.unit-summary-icon{box-shadow:0 7px 0 var(--island-color)}@supports (color:color-mix(in lab, red, red)){.unit-summary-icon{box-shadow:0 7px 0 color-mix(in srgb, var(--island-color) 22%, transparent)}}.unit-summary .eyebrow{color:var(--island-deep);background:#fff;margin-bottom:7px}.unit-summary h2{letter-spacing:-.03em;overflow-wrap:anywhere;margin-bottom:8px;font-size:clamp(1.65rem,4vw,2.7rem);font-weight:950;line-height:1.2}.unit-summary p{color:var(--ink-700);margin-bottom:10px;font-size:clamp(.96rem,1.8vw,1.06rem);font-weight:650}.unit-goal{color:var(--island-deep);font-size:.87rem;font-weight:900;display:block}.unit-stars,.result-stars{flex-wrap:nowrap;gap:4px;display:flex}.unit-stars span,.result-stars span{color:#153f5026;font-size:clamp(1.45rem,3.5vw,2.15rem);line-height:1}.unit-stars span.earned,.result-stars span.earned{color:#ffb824;text-shadow:0 2px #d17e13}.stage-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.stage-card{min-height:88px;color:var(--ink-900);text-align:left;background:#fff;border:2px solid #153f501f;border-radius:19px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px;display:grid;box-shadow:0 4px #153f5014}.stage-card:hover:not(:disabled){border-color:var(--island-color)}@supports (color:color-mix(in lab, red, red)){.stage-card:hover:not(:disabled){border-color:color-mix(in srgb, var(--island-color) 55%, white)}}.stage-card:hover:not(:disabled){translate:0 -2px}.stage-card.current{border-color:var(--island-color);background:var(--island-soft)}.stage-card.done{background:#f3fff5;border-color:#34a85c4d}.stage-card.locked,.stage-card:disabled{color:var(--ink-500);box-shadow:none;opacity:.72;background:#edf3f4}.stage-icon{background:var(--island-soft);border-radius:15px;place-items:center;width:48px;height:48px;font-size:1.35rem;display:grid}.stage-card.done .stage-icon{color:#fff;background:var(--leaf-500)}.stage-copy{flex-direction:column;min-width:0;display:flex}.stage-copy small{color:var(--ink-500);font-size:.72rem;font-weight:900}.stage-copy strong{overflow-wrap:anywhere;font-size:clamp(.92rem,1.8vw,1.04rem);font-weight:950;line-height:1.35}.lesson-layout{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:start;gap:clamp(20px,4vw,38px);display:grid}.lesson-card,.demo-card,.question-card,.result-card{box-shadow:var(--shadow-sm);background:#fff;border:2px solid #153f501f;border-radius:24px}.lesson-card,.question-card,.result-card{padding:clamp(22px,4.5vw,42px)}.lesson-card h2,.question-card h2,.result-card h2{letter-spacing:-.025em;overflow-wrap:anywhere;margin-bottom:16px;font-size:clamp(1.55rem,3.6vw,2.35rem);font-weight:950;line-height:1.32}.lesson-card>p{color:var(--ink-700);font-size:clamp(1rem,1.8vw,1.08rem);font-weight:650}.lesson-example,.takeaway,.activity-prompt,.hint-box,.feedback{overflow-wrap:anywhere}.lesson-example{border-left:6px solid var(--island-color);background:var(--island-soft);border-radius:4px 17px 17px 4px;margin:22px 0 16px;padding:18px}.lesson-example small,.takeaway small{color:var(--island-deep);margin-bottom:4px;font-size:.75rem;font-weight:950;display:block}.lesson-example p{color:var(--ink-900);margin:0;font-weight:800}.takeaway{background:var(--sand-100);border:2px solid #e9931938;border-radius:17px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;margin-bottom:17px;padding:18px;display:grid}.takeaway>span{font-size:1.45rem}.takeaway strong{font-size:.96rem;line-height:1.6;display:block}.activity-prompt{background:var(--sky-100);border-radius:14px;margin-bottom:22px;padding:13px 16px;color:var(--sea-700)!important;font-size:.9rem!important;font-weight:850!important}.demo-card{border-color:var(--island-color);padding:clamp(19px,3vw,28px);position:sticky;top:18px}@supports (color:color-mix(in lab, red, red)){.demo-card{border-color:color-mix(in srgb, var(--island-color) 32%, white)}}.demo-card{background:linear-gradient(155deg, white, var(--island-soft))}.demo-heading{align-items:center;gap:10px;margin-bottom:18px;display:flex}.demo-heading>span{background:#fff;border-radius:15px;place-items:center;width:46px;height:46px;font-size:1.35rem;display:grid}.demo-heading small,.demo-heading strong{display:block}.demo-heading small{color:var(--ink-500);font-size:.72rem;font-weight:900}.demo-heading strong{font-size:1.08rem;font-weight:950}.visual-demo{background:#ffffffd6;border:2px solid #153f501a;border-radius:19px;min-width:0;padding:clamp(14px,3vw,22px)}.demo-placeholder{text-align:center;background:#fff;border:2px dashed #153f502e;border-radius:19px;place-items:center;min-height:230px;padding:24px;display:grid}.demo-placeholder span{font-size:4rem}.demo-placeholder p{color:var(--ink-700);margin:12px 0 0;font-weight:800}.demo-tip{color:var(--ink-700);text-align:center;margin:14px 0 0;font-size:.78rem;font-weight:750}.control-row{grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:10px;margin-top:20px;display:grid}.control-row label,.control-row output{font-size:.78rem;font-weight:900}.control-row output{min-width:68px;color:var(--sea-700);background:var(--sky-100);text-align:center;border-radius:9px;padding:5px 8px}.control-row input[type=range]{width:100%;min-height:44px;accent-color:var(--island-color)}.compact-controls{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:8px;margin-top:18px;display:flex}.compact-controls button{border:2px solid var(--island-color);min-height:44px;padding:8px 12px}@supports (color:color-mix(in lab, red, red)){.compact-controls button{border:2px solid color-mix(in srgb, var(--island-color) 38%, white)}}.compact-controls button{color:var(--island-deep);background:#fff;border-radius:12px;font-size:.78rem;font-weight:900}.compact-controls button[aria-pressed=true]{color:#fff;background:var(--island-color)}.compact-controls button:disabled{opacity:.45}.question-wrap{width:min(100%,850px);margin:0 auto}.question-count{color:var(--ink-700);font-weight:850}.question-count strong{color:var(--island-deep);font-size:1.05rem}.question-card .eyebrow{color:var(--island-deep);background:var(--island-soft)}.visual-card{border:2px solid var(--island-color);margin:0 auto 24px;padding:clamp(12px,3vw,22px)}@supports (color:color-mix(in lab, red, red)){.visual-card{border:2px solid color-mix(in srgb, var(--island-color) 25%, white)}}.visual-card{background:var(--island-soft);border-radius:20px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:24px;display:grid}.choice-button{min-width:0;min-height:58px;color:var(--ink-900);overflow-wrap:anywhere;background:#fff;border:3px solid #153f5021;border-radius:16px;padding:12px 16px;font-size:clamp(.96rem,1.8vw,1.06rem);font-weight:900;line-height:1.4;box-shadow:0 4px #153f5014}.choice-button:hover:not(:disabled),.choice-button.selected{border-color:var(--island-color);background:var(--island-soft)}.choice-button.correct{border-color:var(--success);color:#176a3a;background:#e6faeb}.choice-button.wrong{border-color:var(--danger);color:#942f37;background:#fff0f1}.choice-button:disabled{opacity:1}.question-actions,.result-actions{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:11px;margin-top:22px;display:flex}.hint-box{color:var(--sea-700);background:var(--sky-100);border:2px dashed #168fb84d;border-radius:15px;margin:20px 0 0;padding:15px 17px;font-weight:800}.feedback{border:2px solid #153f501f;border-radius:17px;margin-top:22px;padding:18px}.feedback.correct{background:#ebfaef;border-color:#258d504d}.feedback.wrong{background:#fff0f1;border-color:#dc4e5542}.feedback>strong{margin-bottom:5px;font-size:1.08rem;font-weight:950;display:block}.feedback p{margin-bottom:0;font-weight:700}.feedback .primary-button{margin-top:15px}.result-card{text-align:center;width:min(100%,760px);margin:0 auto}.result-card.passed{background:radial-gradient(circle at 10% 10%,#ffd76b47,#0000 28%),linear-gradient(145deg,#fff,#effcf2);border-color:#34a85c57}.celebration{color:var(--mango-500);letter-spacing:.3em;margin-bottom:8px;font-size:1.35rem}.result-icon{margin-bottom:8px;font-size:clamp(3.5rem,8vw,5rem);line-height:1;display:block}.result-card p{color:var(--ink-700);font-weight:700}.result-stars{justify-content:center;margin:20px 0 6px}.result-stars span{font-size:clamp(2rem,6vw,3.4rem)}.result-card .result-actions{justify-content:center}.clock-wrap{place-items:center;display:grid}.clock-face{aspect-ratio:1;background:#fff;border:clamp(7px,2vw,11px) solid #f4ad2c;border-radius:50%;width:min(100%,250px);position:relative;box-shadow:inset 0 0 0 4px #fff3ca,0 8px #bc710f24}.clock-number{width:26px;height:26px;color:var(--ink-700);place-items:center;font-size:clamp(.7rem,2vw,.92rem);font-weight:950;display:grid;position:absolute;transform:translate(-50%,-50%)}.clock-hand{z-index:2;background:var(--ink-900);transform-origin:50% 100%;border-radius:999px;width:6px;position:absolute;bottom:50%;left:50%}.hour-hand{height:26%}.minute-hand{background:var(--coral-500);height:36%}.clock-center{z-index:3;background:var(--ink-900);border:4px solid #fff;border-radius:50%;width:15px;height:15px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ruler{min-width:0;padding:30px 9px 0}.ruler-track{background:#ffe99e;border:3px solid #dfa831;border-radius:10px;width:100%;height:66px;position:relative}.ruler-fill{background:#3dbbdd59;border-radius:7px 0 0 7px;position:absolute;top:0;bottom:0;left:0}.ruler-tick{flex-direction:column;align-items:center;height:100%;display:flex;position:absolute;top:-2px;transform:translate(-50%)}.ruler-tick:first-of-type{transform:none}.ruler-tick:last-of-type{transform:translate(-100%)}.ruler-tick i{background:var(--ink-700);width:2px;height:28px}.ruler-tick b{margin-top:3px;font-size:clamp(.58rem,2vw,.75rem);line-height:1}.ruler>p{color:var(--ink-700);text-align:center;margin:12px 0 0;font-weight:950}.fraction-group-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px;display:grid}.fraction-demo{text-align:center;min-width:0}.fraction-shape{border:3px solid var(--ink-700);background:#fff;border-radius:15px;width:100%;min-height:82px;display:grid;overflow:hidden}.fraction-piece{background:#fff;border:0;border-right:2px solid #153f506b;min-width:0;min-height:44px;padding:0}.fraction-piece:last-child{border-right:0}.fraction-piece.filled{background:radial-gradient(circle at 30% 30%, #ffffff80 0 6px, transparent 7px), var(--coral-400)}.fraction-label{color:var(--ink-900);background:var(--sand-200);border-radius:10px;margin-top:8px;padding:4px 12px;font-size:1.12rem;display:inline-block}.object-view{place-items:center;min-width:0;display:grid}.block-grid{gap:7px;width:min(100%,310px);transition:transform .22s;display:grid}.object-view-left .block-grid{transform:perspective(500px)rotateY(12deg)}.object-view-right .block-grid{transform:perspective(500px)rotateY(-12deg)}.object-view-top .block-grid{transform:perspective(500px)rotateX(14deg)}.block-cell{aspect-ratio:1;border:2px dashed #153f501f;border-radius:8px;place-items:center;display:grid}.block-cell.filled{color:#075d7c;background:linear-gradient(135deg,#ffffffb8 0 28%,#0000 29%),#7ed9ef;border-style:solid;border-color:#158caf;box-shadow:inset -6px -6px #075d7c1f,0 4px #075d7c21}.block-cell b{font-size:.9rem}.view-label{color:var(--sea-700);background:var(--sky-100);border-radius:999px;margin-top:13px;padding:4px 10px;font-size:.78rem;display:inline-block}.cube-net{place-content:center;width:100%;min-height:180px;transition:transform .26s;display:grid}.cube-net.folded{transform:perspective(500px)rotateX(42deg)rotate(16deg)scale(.82)}.net-cell{color:#59348d;background:#e8dbff;border:2px solid #8b62ca;place-items:center;min-width:36px;min-height:36px;font-size:.78rem;font-weight:950;display:grid;box-shadow:inset -4px -4px #59348d14}.operation-expression{min-height:116px;color:var(--ink-900);letter-spacing:.04em;overflow-wrap:anywhere;text-align:center;justify-content:center;align-items:center;padding:16px;font-size:clamp(1.55rem,5vw,2.6rem);font-weight:950;line-height:1.4;display:flex}.operation-expression mark{border:3px solid var(--coral-400);color:inherit;background:#fff0c7;border-radius:12px;padding:2px 8px}.multiplication-visual{text-align:center}.group-grid{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:9px;display:grid}.dot-group{background:var(--sand-100);border:2px solid #e1b343;border-radius:13px;grid-template-columns:repeat(3,10px);place-items:center;gap:5px;min-height:64px;padding:8px;display:grid}.dot-group i{background:var(--coral-400);border-radius:50%;width:10px;height:10px}.number-factors{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;min-height:100px;display:flex}.number-factors strong{color:var(--sea-700);background:var(--sky-100);border-radius:13px;padding:10px 15px}.number-factors span{font-size:1.5rem;font-weight:950}.multiplication-visual>p{color:var(--ink-900);margin:13px 0 0;font-size:1.18rem;font-weight:950}.line-angle-demo{place-items:center;min-height:180px;display:grid}.line-angle-demo>strong{color:var(--sea-700);margin-top:14px;font-size:1rem}.line-angle-shape{width:min(100%,250px);height:110px;display:block;position:relative}.line-angle-shape i{background:var(--ink-900);transform-origin:0;border-radius:999px;height:6px;display:block;position:absolute}.line-angle-shape b{font-size:.75rem;position:absolute}.line-angle-shape.segment .arm-one,.line-angle-shape.ray .arm-one,.line-angle-shape.line .arm-one{width:calc(100% - 48px);top:52px;left:24px}.line-angle-shape.segment .arm-one:before,.line-angle-shape.segment .arm-one:after,.line-angle-shape.ray .arm-one:before{content:"";background:var(--coral-500);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translateY(-50%)}.line-angle-shape.segment .arm-one:before,.line-angle-shape.ray .arm-one:before{left:-3px}.line-angle-shape.segment .arm-one:after{right:-3px}.line-angle-shape.ray .arm-one:after,.line-angle-shape.line .arm-one:before,.line-angle-shape.line .arm-one:after{content:"";border-top:10px solid #0000;border-bottom:10px solid #0000;width:0;height:0;position:absolute;top:-7px}.line-angle-shape.ray .arm-one:after,.line-angle-shape.line .arm-one:after{border-left:15px solid var(--ink-900);right:-11px}.line-angle-shape.line .arm-one:before{border-right:15px solid var(--ink-900);left:-11px}.line-angle-shape.segment .point-one,.line-angle-shape.ray .point-one,.line-angle-shape.line .point-one{top:63px;left:20px}.line-angle-shape.segment .point-two,.line-angle-shape.ray .point-two,.line-angle-shape.line .point-two{top:63px;right:20px}.line-angle-shape.right .arm-one,.line-angle-shape.acute .arm-one,.line-angle-shape.obtuse .arm-one,.line-angle-shape.right .arm-two,.line-angle-shape.acute .arm-two,.line-angle-shape.obtuse .arm-two{width:42%;bottom:24px;left:50%}.line-angle-shape.right .arm-two{transform:rotate(-90deg)}.line-angle-shape.acute .arm-two{transform:rotate(-52deg)}.line-angle-shape.obtuse .arm-two{transform:rotate(-132deg)}.line-angle-shape.right .point-one,.line-angle-shape.acute .point-one,.line-angle-shape.obtuse .point-one{bottom:3px;left:48%}.line-angle-shape.right .point-two,.line-angle-shape.acute .point-two,.line-angle-shape.obtuse .point-two{bottom:3px;right:4%}.balance{min-height:210px;padding-top:20px;position:relative}.balance-items{grid-template-columns:1fr 1fr;align-items:end;gap:20%;min-height:86px;padding:0 8%;display:grid}.balance-items>span{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-width:0;display:flex}.balance-items b{background:var(--sand-100);overflow-wrap:anywhere;border:2px solid #e3ad37;border-radius:9px;padding:4px 7px;font-size:clamp(.65rem,2vw,.78rem)}.balance-beam{background:var(--ink-700);border-radius:999px;height:7px;position:absolute;top:113px;left:8%;right:8%}.balance-stand{background:var(--ink-700);border-radius:999px 999px 0 0;width:9px;position:absolute;top:116px;bottom:16px;left:50%;transform:translate(-50%)}.balance-stand:after{content:"";background:var(--ink-700);border-radius:999px;width:82px;height:10px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.balance-pans{justify-content:space-between;display:flex;position:absolute;top:117px;left:5%;right:5%}.balance-pans i{border-bottom:6px solid var(--sea-500);border-radius:0 0 50% 50%;width:38%;height:31px}.code-visual{padding:18px 0}.code-strip{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:6px;display:flex}.code-strip>span{border:2px solid var(--grape-400);color:#56398b;text-align:center;background:#f2ebff;border-radius:12px;flex-direction:column;flex:78px;min-width:70px;padding:10px;display:flex}.code-strip small{font-size:.68rem;font-weight:850}.code-strip strong{overflow-wrap:anywhere;font-size:clamp(.9rem,2.5vw,1.16rem)}.reset-backdrop{z-index:100;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#073041a8;place-items:center;display:grid;position:fixed;inset:0}.reset-dialog{overscroll-behavior:contain;background:var(--surface);text-align:center;border:4px solid #fff;border-radius:26px;width:min(100%,500px);max-height:min(720px,100dvh - 36px);padding:clamp(24px,5vw,38px);animation:.22s cubic-bezier(.2,.9,.25,1.12) both dialog-in;overflow:auto;box-shadow:0 28px 80px #03273559}.reset-icon{margin-bottom:7px;font-size:3.3rem;line-height:1;display:block}.reset-dialog h2{margin-bottom:11px;font-size:clamp(1.45rem,4vw,2rem);font-weight:950;line-height:1.3}.reset-dialog p{color:var(--ink-700);overflow-wrap:anywhere;font-weight:700}.reset-dialog .result-actions{justify-content:center}@keyframes ocean-drift{to{background-position:240px 0,-310px 0,270px 0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px)scale(.96)}}@media (max-width:960px){.hero{grid-template-columns:minmax(0,1fr) minmax(270px,.72fr)}.lesson-layout{grid-template-columns:minmax(0,1fr)}.demo-card{position:static}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.hero{grid-template-columns:minmax(0,1fr);min-height:auto;padding-top:48px}.hero-card{justify-self:start;width:min(100%,620px);margin-top:42px}.main-route{grid-template-columns:repeat(2,minmax(0,1fr))}.main-route:before{background:repeating-linear-gradient(180deg, var(--sky-300) 0 16px, transparent 16px 28px);width:5px;height:auto;top:5%;bottom:5%;left:50%;transform:translate(-50%)}.main-route .route-card:nth-child(2),.main-route .route-card:nth-child(5),.main-route .route-card:nth-child(2):hover:not(.locked),.main-route .route-card:nth-child(5):hover:not(.locked){translate:0}.section-heading{flex-direction:column;align-items:flex-start;gap:9px}.section-heading>p{text-align:left;max-width:620px}}@media (max-width:680px){body{background:radial-gradient(circle at 86% 8%, #ffffffc7 0 3rem, transparent 3.1rem), linear-gradient(180deg, var(--sky-200) 0%, #e8fbff 36%, #61cbe7 36.2%, #27a7ce 100%)}.app-shell{padding-inline:max(12px, env(safe-area-inset-left))}.topbar{min-height:72px}.brand-copy small{display:none}.stat-pill{padding-inline:10px}.hero{padding:38px 4px 58px}.hero-title{margin-bottom:16px;font-size:clamp(2.35rem,13vw,4rem)}.hero-actions,.hero-actions>*{width:100%}.hero-card{padding:27px 20px 22px}.mascot{width:105px;height:105px;margin-top:-70px}.mascot-face{font-size:3.8rem}.adventure-map,.bridge-section,.badge-section{border-radius:24px;padding:21px 15px}.main-route,.branch-grid{grid-template-columns:minmax(0,1fr)}.main-route{padding-left:15px}.main-route:before{top:3%;bottom:3%;left:2px;transform:none}.route-card,.route-card.project,.route-card.review,.route-card.bridge{min-height:0;padding:18px}.route-icon{border-radius:22px;width:70px;height:70px;font-size:2.25rem}.route-copy p{display:block;overflow:visible}.branch-heading{flex-direction:column;align-items:flex-start}.branch-heading>p{text-align:left}.review-route{margin-top:48px}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-card{text-align:center;flex-direction:column;align-items:center;min-height:116px}.footer-note{flex-direction:column;align-items:stretch;padding:21px}.course-page{border-radius:24px;min-height:calc(100vh - 86px);margin-top:10px;padding:14px}.course-toolbar{align-items:stretch;margin-bottom:18px}.course-status{flex:0 auto;padding-inline:10px}.unit-summary{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:15px;padding:19px}.unit-summary-icon{border-radius:21px;width:66px;height:66px;font-size:2rem}.unit-stars{grid-column:1/-1;justify-content:center}.stage-list,.choice-grid{grid-template-columns:minmax(0,1fr)}.lesson-card,.question-card,.result-card{padding:20px 17px}.demo-card,.visual-card{padding:16px 13px}.question-actions,.result-actions{flex-direction:column;align-items:stretch}.question-actions>*,.result-actions>*{width:100%}.control-row{grid-template-columns:minmax(0,1fr) auto}.control-row label{grid-column:1/-1}.operation-expression{letter-spacing:0;padding-inline:4px;font-size:clamp(1.25rem,7vw,2rem)}}@media (max-width:420px){.app-shell{padding-inline:max(9px, env(safe-area-inset-left))}.brand{gap:7px}.brand-mark{border-radius:13px;width:41px;min-width:41px;height:41px;font-size:1.25rem}.brand-copy strong{font-size:1rem}.top-actions{gap:5px}.stat-pill{min-height:42px;padding:6px 8px}.sound-button{width:42px;min-height:42px}.hero{padding-top:30px}.hero-subtitle{font-size:1rem}.hero-note{flex-direction:column;gap:3px}.section-heading h2,.branch-heading h2{font-size:1.45rem}.route-card{border-radius:20px;padding:16px}.route-card-top{align-items:flex-start}.route-status{max-width:46%}.route-icon{width:62px;height:62px;font-size:2rem}.badge-grid{grid-template-columns:minmax(0,1fr)}.badge-card{text-align:left;flex-direction:row;min-height:82px}.course-page{border-width:2px;padding:10px}.course-toolbar{flex-direction:column;align-items:stretch}.course-toolbar .back-button,.course-status{width:100%}.unit-summary{text-align:center;grid-template-columns:minmax(0,1fr)}.unit-summary-icon{margin:0 auto}.unit-summary .eyebrow{justify-content:center}.stage-card{grid-template-columns:auto minmax(0,1fr);padding:12px}.stage-card>:last-child{display:none}.lesson-card,.question-card,.result-card,.demo-card{border-radius:19px}.compact-controls{flex-direction:column;align-items:stretch}.compact-controls button{width:100%}.clock-face{width:min(100%,220px)}.ruler{padding-inline:3px}.ruler-tick b{font-size:.55rem}.fraction-shape{min-height:70px}.reset-backdrop{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.reset-dialog{border-radius:22px;max-height:calc(100dvh - 20px);padding:22px 16px}}@media (hover:none) and (pointer:coarse){.primary-button,.secondary-button,.ghost-button,.danger-button,.back-button,.route-action,.choice-button,.compact-controls button{min-height:48px}.route-card:hover:not(.locked),.main-route .route-card:nth-child(2):hover:not(.locked),.main-route .route-card:nth-child(5):hover:not(.locked){translate:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
