:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#fafaf4;--color-surface:#fffef9;--color-surface-strong:#fffefa;--color-white:#fff;--color-text:#253e50;--color-text-muted:#536b7b;--color-primary:#287898;--color-primary-strong:#24779b;--color-primary-dark:#1e607e;--color-primary-hover:#1f6583;--color-primary-shadow:#1c536a;--color-primary-shadow-hover:#153f54;--color-focus:#145f93;--color-mint:#dceee2;--color-mint-strong:#388466;--color-border:#c1d3d2;--color-border-control:#bacdcb;--color-border-control-hover:#65978c;--color-control-hover:#ecf5ed;--color-control-text:#365869;--color-success-soft:#d3ebdb;--color-success-text:#346b4d;--color-danger-text:#7a3e36;--color-brand-accent:#346a6c;--color-caption:#5a706d;--color-eyebrow:#5a6f79;--color-eyebrow-number:#276c87;--color-title-accent:#c09a36;--color-meta-text:#3b6654;--color-step-text:#69797d;--color-step-surface:#edf1ed;--color-step-current-text:#275e77;--color-step-current-surface:#286f8e;--color-count-text:#60747e;--color-panel-kicker:#397c68;--color-copy:#4c636e;--color-note:#5d706c;--color-guide-border:#dce5db;--color-guide-name:#407b72;--color-footer-text:#5c716f;--color-action-text:#48676e;--color-instruction-border:#cbd8c7;--color-dialog-border:#b8d4d0;--color-dialog-copy:#526973;--color-demo-surface:#eef5df;--color-demo-pointer:#294654;--color-demo-step-surface:#e0efe5;--color-demo-step-text:#346657;--color-demo-note:#5b6c60;--color-clear-sparkle-white:#fff;--color-clear-sparkle-yellow:#fff6d9;--color-surface-panel:#fffef9f5;--color-surface-instruction:#fffef9f2;--color-surface-timer:#fffef9a8;--color-surface-label:#fffef4f0;--color-surface-counter:#fffef6ee;--color-instruction-shadow:#284b560b;--background:var(--color-canvas);--foreground:var(--color-text);--popover:var(--color-surface-strong);--muted-foreground:var(--color-text-muted);--primary:var(--color-primary-strong);--mint:var(--color-mint);--radius:1rem;--font-family-sans:"Yu Gothic", "Meiryo", sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-button:19px;--font-size-title:34px;--font-size-panel-title:30px;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extra-bold:800;--line-height-body:1.6;--line-height-copy:1.9;--layout-header-max:1280px;--layout-content-max:1200px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:40px;--radius-control:12px;--radius-button:16px;--radius-card:26px;--radius-dialog:24px;--radius-panel:28px;--radius-pill:999px;--shadow-card:0 7px 0 #e9ede4;--shadow-brand:3px 3px 0 #d6e8de;--shadow-button:0 4px 0 var(--color-primary-shadow);--shadow-button-hover:0 4px 0 var(--color-primary-shadow-hover);--shadow-panel:0 12px 40px #284b5620;--shadow-dialog:0 20px 80px #203e4e30;--duration-fast:.15s;--duration-scene:.45s;--layer-content:1;--layer-status:3;--layer-overlay:50}.lesson-l01{--lesson-playfield:#f2f5e7;--lesson-accent:#ffd451;--lesson-accent-line:#8f681e;--lesson-accent-dark:#bb8920;--lesson-accent-soft:#fff9db;--lesson-accent-hover:#ffeb8a;--lesson-accent-complete:#f9d872;--lesson-complete-surface:#edfbddcc;--lesson-complete-line:#83ae83;--lesson-wash-start:#fffefa00;--lesson-wash-end:#fffefa19;--lesson-timer-text:#203e4e;--lesson-timer-value:#145f73;--lesson-emblem-surface:#fff0b5;--lesson-emblem:#c68d20;--lesson-emblem-mini:#508676;--lesson-target-line:#ae8d33;--lesson-target-shadow:#7d692318;--lesson-target-icon-shadow:#dcb641;--lesson-target-label-text:#5b501e;--lesson-target-hover-line:#bd8c1c;--lesson-complete-icon-line:#7c986b;--lesson-counter-line:#ccd6c3;--lesson-counter-text:#45665c;--lesson-result-star:#edbd42;--lesson-result-star-line:#ab7d23;--lesson-demo-star:#ffd45f;--lesson-demo-star-line:#997324;--lesson-demo-glow:#ffb600;--lesson-demo-glow-fill:#ffe984}.lesson-l02{--lesson-playfield:#edf7ea;--lesson-accent-dark:#a9576c;--lesson-timer-text:#294b49;--lesson-timer-value:#1f6d6b;--lesson-emblem-surface:#f9e4e9;--lesson-emblem:#b65772;--lesson-emblem-mini:#4e8a68;--flower-shop-sky:#dff4f4;--flower-shop-wall:#fff8e7;--flower-shop-floor:#e6d7ba;--flower-shop-line:#365b60;--flower-shop-awning:#e98991;--flower-shop-awning-alt:#fff9e9;--flower-shop-window:#d4eef1;--flower-shop-window-shine:#ffffff7d;--flower-shop-counter:#d9ad78;--flower-shop-shelf:#b7855e;--flower-shop-pot:#c87d55;--flower-shop-pot-rim:#8e553f;--flower-shop-stem:#4f8e61;--flower-target-surface:#fffcebd9;--flower-target-line:#8fae74;--flower-target-shadow:#355e471f;--flower-target-label:#3e6658;--flower-yellow:#f2bf3f;--flower-yellow-line:#946d1d;--flower-coral:#ef8273;--flower-coral-line:#9d5149;--flower-blue:#70aeca;--flower-blue-line:#3f7085;--flower-pink:#e989ae;--flower-pink-line:#984d70;--flower-violet:#9a8bc4;--flower-violet-line:#645a88;--flower-result:#d96f8e;--flower-result-line:#8d4c62;--flower-demo-surface:#edf6df;--flower-demo-bud:#4f8e61;--flower-demo-bloom:#e989ae;--flower-demo-bloom-line:#984d70}.lesson-l03{--lesson-playfield:#f7f1e2;--lesson-accent-dark:#3f6b5e;--lesson-timer-text:#3f5a4f;--lesson-timer-value:#2f6e5c;--lesson-emblem-surface:#e7f1e4;--lesson-emblem:#3f8a6c;--lesson-emblem-mini:#c68d20;--library-shelf:#6b8f7a;--library-shelf-line:#3f6b5e;--book-target-surface:#fffcebd9;--book-target-line:#8fae74;--book-target-shadow:#355e471f;--book-target-label:#3e6658;--book-yellow:#f2bf3f;--book-yellow-line:#946d1d;--book-coral:#ef8273;--book-coral-line:#9d5149;--book-blue:#70aeca;--book-blue-line:#3f7085;--book-pink:#e989ae;--book-pink-line:#984d70;--book-violet:#9a8bc4;--book-violet-line:#645a88;--book-result:#3f8a6c;--book-result-line:#2c6350;--book-demo-surface:#eef6e8}.lesson-l04{--lesson-playfield:#eaf4f8;--lesson-accent-dark:#a35f29;--lesson-timer-text:#274656;--lesson-timer-value:#2c7291;--lesson-emblem-surface:#d9eff4;--lesson-emblem:#2a7594;--lesson-emblem-mini:#d18a36;--station-train:#efb849;--station-train-line:#865329;--station-train-window:#d9f1f3;--station-train-shadow:#173d4c36;--station-goal:#4d9ab1;--station-goal-soft:#e2f5f7d9;--station-goal-line:#276a83;--station-guide:#fffa;--station-result:#e3a642;--station-result-line:#875529;--station-demo-surface:#e6f3f2}.lesson-l05{--lesson-playfield:#eceafb;--lesson-accent-dark:#4c4487;--lesson-timer-text:#3b3768;--lesson-timer-value:#5850a6;--lesson-emblem-surface:#e3e0fa;--lesson-emblem:#5850a6;--lesson-emblem-mini:#d18a36;--tower-elevator:#6d63b6;--tower-elevator-line:#423a76;--tower-elevator-window:#e7e4fa;--tower-elevator-shadow:#221d4636;--tower-goal:#7a6fd0;--tower-goal-soft:#ece9fbd9;--tower-goal-line:#4c4487;--tower-guide:#fffa;--tower-result:#6d63b6;--tower-result-line:#423a76;--tower-demo-surface:#ece9f7}.lesson-l06{--lesson-playfield:#e9f5f1;--lesson-accent-dark:#26747a;--lesson-timer-text:#274f55;--lesson-timer-value:#247d82;--lesson-emblem-surface:#dff3ec;--lesson-emblem:#277c72;--lesson-emblem-mini:#cf8b32;--delivery-teal:#237f88;--delivery-teal-dark:#174e60;--delivery-yellow:#f5c84d;--delivery-yellow-dark:#9c6b1f;--delivery-coral:#e97868;--delivery-cream:#fff9e8;--delivery-slot:#e9f3ef;--delivery-slot-line:#356b70;--delivery-warning:#d98725;--delivery-danger:#b94f45;--delivery-result:#33877a;--delivery-result-line:#245e59;--delivery-demo-surface:#e7f3e8}.lesson-l07{--lesson-playfield:#eef7e4;--lesson-accent-dark:#395c22;--lesson-timer-text:#35502a;--lesson-timer-value:#4a7a3c;--lesson-emblem-surface:#e3f2d6;--lesson-emblem:#4a7a3c;--lesson-emblem-mini:#cf8b32;--supermarket-green:#6a9c3f;--supermarket-green-dark:#395c22;--supermarket-yellow:#f5c84d;--supermarket-yellow-dark:#9c6b1f;--supermarket-coral:#e97868;--supermarket-cream:#fff9e8;--supermarket-slot:#eef6ea;--supermarket-slot-line:#4a7a3c;--supermarket-warning:#d98725;--supermarket-danger:#b94f45;--supermarket-result:#4a8a3f;--supermarket-result-line:#2f5c28;--supermarket-demo-surface:#eef6e0}.lesson-l08{--lesson-playfield:#e8f3e7;--lesson-accent-dark:#285f68;--lesson-timer-text:#284e55;--lesson-timer-value:#26737c;--lesson-emblem-surface:#dff1e8;--lesson-emblem:#2f7d72;--lesson-emblem-mini:#d78a32;--city-road-surface:#86a7ad;--city-road-surface-dark:#315964;--city-road-sidewalk:#fff4d8;--city-road-centerline:#fff8cb;--city-road-progress:#72c8ae;--city-road-warning:#d98725;--city-road-danger:#b94f45;--city-road-result:#2e8277;--city-road-result-line:#245f5a;--city-road-demo-surface:#e8f2e5}.town-screen{--town-sky:#dff4fb;--town-card:#fffef9f2;--town-card-border:#739f98;--town-card-shadow:#315f652e;--town-card-disabled:#f5f2e8ed;--town-card-disabled-border:#a9b9b5;--town-number:#286f8e;--town-status:#397c68;--town-map-border:#9ebfbb}@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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;--tw-duration:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-xl:.75rem;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-family-sans);--default-mono-font-family:var(--font-mono);--color-primary:var(--primary)}}@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{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-1\/2{top:50%}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-50{z-index:50}.flex{display:flex}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.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}.flex-wrap{flex-wrap:wrap}.gap-4{gap:calc(var(--spacing) * 4)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-popover{background-color:var(--popover)}.p-4{padding:calc(var(--spacing) * 4)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--foreground)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.filter{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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.outline-none{--tw-outline-style:none;outline-style:none}.\!paused{animation-play-state:paused!important}.paused{animation-play-state:paused}.running{animation-play-state:running}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (width>=40rem){.sm\:max-w-sm{max-width:var(--container-sm)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--background);color:var(--foreground);font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);-webkit-font-smoothing:antialiased;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}button:active{transform:translateY(2px)}button svg{flex-shrink:0}.site-header{height:86px;max-width:var(--layout-header-max);padding:0 var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-5);margin:auto;display:flex;position:relative}.utility-actions{align-items:center;gap:var(--space-2);display:flex}.brand{text-align:left;align-items:center;gap:var(--space-3);color:var(--color-text);background:0 0;border:0;padding:0;text-decoration:none;display:flex}.brand-mark{border:2px solid var(--color-text);border-radius:var(--radius-button);background:var(--color-white);width:48px;height:48px;box-shadow:var(--shadow-brand);place-items:center;display:grid}.brand-label{font-size:var(--font-size-sm);letter-spacing:1px;color:var(--color-brand-accent);line-height:1.2;font-weight:var(--font-weight-extra-bold);display:block}.header-caption{font-size:var(--font-size-sm);letter-spacing:.1em;color:var(--color-caption);position:absolute;left:50%;transform:translate(-50%)}.main-content{max-width:var(--layout-content-max);margin:0 auto;padding:12px 28px 10px}.lesson-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin:4px 4px 23px;display:flex}.eyebrow{align-items:center;gap:var(--space-3);color:var(--color-eyebrow);font-size:var(--font-size-sm);letter-spacing:.045em;margin-bottom:6px;display:flex}.eyebrow>span{color:var(--color-eyebrow-number);font-size:var(--font-size-xs);letter-spacing:.13em}h1{font-size:var(--font-size-title);letter-spacing:.1em;line-height:1.5;font-weight:var(--font-weight-extra-bold);align-items:center;gap:15px;margin:0;display:flex}.title-spark{color:var(--color-title-accent)}.lesson-meta{background:var(--color-mint);font-size:var(--font-size-sm);color:var(--color-meta-text);border-radius:30px;align-items:center;gap:9px;padding:11px 17px;display:flex}.game-card{border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-white);box-shadow:var(--shadow-card);overflow:hidden}.game-topbar{justify-content:space-between;align-items:center;gap:15px;height:66px;padding:0 27px;display:flex}.stage-steps{align-items:center;gap:22px;display:flex}.step{color:var(--color-step-text);font-size:var(--font-size-sm);align-items:center;gap:8px;display:flex}.step-number{background:var(--color-step-surface);width:27px;height:27px;font-size:var(--font-size-sm);border-radius:50%;place-items:center;display:grid}.step.current{color:var(--color-step-current-text);font-weight:var(--font-weight-extra-bold)}.step.current .step-number{background:var(--color-step-current-surface);color:var(--color-white)}.step.done .step-number{background:var(--color-success-soft);color:var(--color-success-text)}.star-count{white-space:nowrap;font-size:var(--font-size-sm);align-items:center;gap:6px;display:flex}.star-count svg{color:var(--lesson-accent-dark);margin-right:4px}.star-count strong{font-size:22px}.star-count>span{color:var(--color-count-text)}.plaza{background:var(--lesson-playfield);-webkit-user-select:none;user-select:none;cursor:default;height:clamp(380px,52vh,550px);min-height:380px;position:relative;overflow:hidden}.plaza-background{object-fit:cover;object-position:center 39%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.plaza-background-complete{opacity:0;transition:opacity var(--duration-scene) ease-out}.plaza-background-complete.is-visible{opacity:1}.plaza-wash{background:linear-gradient(180deg, var(--lesson-wash-start) 15%, var(--lesson-wash-end) 70%);pointer-events:none;position:absolute;inset:0}.practice-timer{z-index:var(--layer-status);color:var(--lesson-timer-text);background:var(--color-surface-timer);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);white-space:nowrap;border-radius:16px;align-items:baseline;gap:10px;padding:9px 15px 10px;display:flex;position:absolute;top:18px;left:18px}.practice-timer strong{color:var(--lesson-timer-value);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:30px}.scene-panel{text-align:center;background:var(--color-surface-panel);border:2px solid var(--color-white);border-radius:var(--radius-panel);width:min(490px,90%);box-shadow:var(--shadow-panel);padding:22px 26px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.welcome-emblem{background:var(--lesson-emblem-surface);width:58px;height:58px;color:var(--lesson-emblem);border-radius:50%;place-items:center;margin:0 auto 10px;display:grid;position:relative}.emblem-mini{color:var(--lesson-emblem-mini);position:absolute;top:1px;right:-9px}.panel-kicker{font-size:var(--font-size-sm);color:var(--color-panel-kicker);letter-spacing:.08em;margin:0 0 6px}.scene-panel h2{font-size:var(--font-size-panel-title);font-weight:var(--font-weight-extra-bold);letter-spacing:.07em;margin:0 0 12px;line-height:1.35}.panel-description{font-size:var(--font-size-base);line-height:var(--line-height-copy);color:var(--color-copy);margin:0 0 17px}.primary-button{justify-content:center;align-items:center;gap:var(--space-5);background:var(--color-primary);min-height:58px;color:var(--color-white);border:2px solid var(--color-primary-dark);border-radius:var(--radius-button);box-shadow:var(--shadow-button);font-size:var(--font-size-button);font-weight:var(--font-weight-extra-bold);min-width:230px;margin:0 auto;padding:12px 26px;display:flex}.primary-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-button-hover)}.timer-note{color:var(--color-panel-kicker);font-size:13px;font-weight:var(--font-weight-bold);margin-top:12px;display:block}.guide-bar{align-items:center;gap:var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-guide-border);min-height:92px;padding:9px 28px 9px 22px;display:flex}.guide-robot{object-fit:contain;width:76px;height:76px}.guide-copy{flex:1}.guide-name{font-size:var(--font-size-xs);color:var(--color-guide-name)}.guide-copy output{font-size:var(--font-size-base);line-height:var(--line-height-body);margin:5px 0 0;display:block}.guide-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.guide-actions .utility-button{padding-inline:12px}.utility-button{justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-surface);border:1.5px solid var(--color-border-control);border-radius:var(--radius-control);min-height:43px;font-size:var(--font-size-sm);color:var(--color-control-text);white-space:nowrap;padding:9px 15px;display:flex}.utility-button:hover{background:var(--color-control-hover);border-color:var(--color-border-control-hover)}.lesson-footer{color:var(--color-footer-text);font-size:var(--font-size-xs);justify-content:space-between;align-items:center;gap:15px;margin:20px 5px 0;display:flex}.lesson-footer>span{align-items:center;gap:8px;display:flex}.text-button{color:var(--color-action-text);font-size:var(--font-size-sm);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:7px 6px;display:flex}.text-button:hover{text-decoration:underline}.play-instruction{background:var(--color-surface-instruction);border:1px solid var(--color-instruction-border);white-space:nowrap;box-shadow:0 3px 0 var(--color-instruction-shadow);border-radius:40px;align-items:center;gap:9px;padding:11px 22px;font-size:18px;display:flex;position:absolute;top:17px;left:50%;transform:translate(-50%)}.star-target{width:var(--target-size);height:var(--target-size);cursor:default;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.target-disc{background:var(--lesson-accent-soft);border:2px dashed var(--lesson-target-line);box-shadow:0 5px 0 var(--lesson-target-shadow);border-radius:50%;position:absolute;inset:0}.target-icon{width:69%;height:69%;color:var(--lesson-accent);stroke:var(--lesson-accent-line);filter:drop-shadow(0 3px 0 var(--lesson-target-icon-shadow));position:relative}.target-label{color:var(--lesson-target-label-text);background:var(--color-surface-label);white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:12px;position:absolute;bottom:-23px}.star-target.hovering .target-disc{background:var(--lesson-accent-hover);border:3px solid var(--lesson-target-hover-line)}.star-target.lit .target-disc{background:var(--lesson-complete-surface);border:1.5px solid var(--lesson-complete-line);box-shadow:none}.star-target.lit .target-icon{color:var(--lesson-accent-complete);stroke:var(--lesson-complete-icon-line);filter:none;opacity:.8}.lit-check{background:var(--color-mint-strong);border:2px solid var(--color-white);width:23px;height:23px;color:var(--color-white);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:4px;right:0}.stage-counter{background:var(--color-surface-counter);border:1px solid var(--lesson-counter-line);font-size:var(--font-size-sm);color:var(--lesson-counter-text);border-radius:30px;padding:5px 13px;position:absolute;bottom:16px;right:20px}.result-stars{color:var(--lesson-result-star);justify-content:center;align-items:center;gap:13px;margin:8px 0 15px;display:flex}.result-stars svg{stroke:var(--lesson-result-star-line);stroke-width:1.4px}.result-panel h2{font-size:27px}.result-panel .text-button{margin:12px auto 0}.result-actions-secondary{flex-wrap:wrap;justify-content:center;gap:2px 18px;margin-top:8px;display:flex}.result-panel .result-actions-secondary .text-button{margin:0}.practice-time{color:var(--color-panel-kicker);margin:-4px 0 17px;font-size:15px;font-weight:700}.lesson-dialog[data-slot=dialog-content]{border-radius:var(--radius-dialog);border:2px solid var(--color-dialog-border);width:calc(100% - 32px);max-width:510px;box-shadow:var(--shadow-dialog);gap:var(--space-4);max-height:calc(100dvh - 32px);padding:28px;overflow:auto}.dialog-heading{font-size:23px;line-height:1.6;font-weight:var(--font-weight-extra-bold)}.dialog-description{font-size:var(--font-size-base);color:var(--color-dialog-copy);line-height:1.8}.demo{--demo-pointer-easing:cubic-bezier(.4, 0, .2, 1);background:var(--color-demo-surface);border-radius:18px;height:145px;position:relative;overflow:hidden}.hikari-demo{--lesson-accent:#ffd451;--lesson-accent-line:#8f681e;--lesson-accent-soft:#fff9db;--lesson-accent-hover:#ffeb8a;--lesson-accent-complete:#f9d872;--lesson-complete-surface:#edfbdd;--lesson-complete-line:#83ae83;--lesson-target-line:#ae8d33;--lesson-target-shadow:#7d692318;--lesson-target-icon-shadow:#dcb641;--lesson-target-label-text:#5b501e;--lesson-target-hover-line:#bd8c1c;--lesson-complete-icon-line:#7c986b;--lesson-demo-glow:#ffb600;--lesson-demo-glow-fill:#ffe984}.hikari-demo-target{--target-size:92px;top:50%;left:70%}.hikari-demo-target .target-disc{animation:4s linear infinite hikari-demo-disc}.hikari-demo-star{animation:4s linear infinite demo-glow}.demo-pointer{animation:demo-move 4s var(--demo-pointer-easing) infinite;position:absolute;top:65%;left:20%}.demo-pointer-root{color:var(--color-demo-pointer);display:inline-flex;position:relative}.demo-pointer-icon{display:block}.demo-pointer-icon-normal{z-index:1;position:relative}.demo-pointer-icon-pressed{z-index:2;opacity:0;transform-origin:87.5% 87.5%;position:absolute;top:0;left:0;transform:scale(1.42)}.demo-success-check{z-index:12;border:2px solid var(--color-white);background:var(--color-mint-strong);width:25px;height:25px;color:var(--color-white);opacity:0;pointer-events:none;filter:drop-shadow(0 3px 2px #1c806538);border-radius:50%;place-items:center;display:grid;position:absolute}.hikari-demo-check{animation:4s linear infinite hikari-demo-check;bottom:2px;right:-3px}.demo-steps{font-size:var(--font-size-base);gap:11px;margin:0;padding:0;list-style:none;display:grid}.demo-steps li{align-items:center;gap:10px;display:flex}.demo-steps span{background:var(--color-demo-step-surface);width:25px;height:25px;color:var(--color-demo-step-text);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.demo-note{text-align:center;color:var(--color-demo-note);font-size:var(--font-size-sm);margin:0}.clear-sparkle-effect{pointer-events:none;position:absolute;inset:0;overflow:hidden}.clear-sparkle{opacity:0;filter:drop-shadow(0 0 5px);animation-name:clear-sparkle-pop;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute;transform:translate(-50%,-50%)scale(.3)}.clear-sparkle-white{color:var(--color-clear-sparkle-white)}.clear-sparkle-yellow{color:var(--color-clear-sparkle-yellow)}@keyframes clear-sparkle-pop{0%,to{opacity:0;transform:translate(-50%,-50%)scale(.3)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}}@media (prefers-reduced-motion:reduce){.clear-sparkle{opacity:.55;animation:none;transform:translate(-50%,-50%)scale(.9)}}.exit-dialog .utility-button{width:100%;margin-top:5px}.exit-dialog .primary-button{width:100%}.help-button.is-emphasized{background:var(--lesson-emblem-surface);border-color:var(--lesson-emblem);box-shadow:0 0 0 4px var(--lesson-emblem-surface);animation:1.1s ease-in-out infinite alternate help-emphasis}.flower-shop{isolation:isolate;background:var(--lesson-playfield)}.flower-shop-background{object-fit:cover;object-position:center 47%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.flower-shop-background-complete{opacity:0;transition:opacity var(--duration-scene) ease-out}.flower-shop-background-complete.is-visible{opacity:1}.flower-shop-wash{z-index:0;background:linear-gradient(180deg, var(--color-white) 0, transparent 19%, var(--color-surface-panel) 115%);opacity:.22;pointer-events:none;position:absolute;inset:0}.flower-shop .play-instruction,.flower-shop .practice-timer,.flower-shop .scene-panel{z-index:var(--layer-status)}.flower-target{z-index:var(--layer-content);left:var(--flower-x);top:var(--flower-y);width:var(--flower-size);height:var(--flower-size);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.flower-target.pressed{transform:translate(-50%,-50%)scale(.96)}.flower-focus-ring{border:2px dashed var(--flower-target-line);background:var(--flower-target-surface);box-shadow:0 5px 0 var(--flower-target-shadow);border-radius:50%;position:absolute;inset:0}.flower-target.active:hover .flower-focus-ring,.flower-target.pressed .flower-focus-ring{background:var(--lesson-emblem-surface);border-style:solid;border-width:3px}.flower-stem{z-index:1;border-radius:var(--radius-pill);background:var(--flower-shop-stem);width:5%;min-width:3px;height:28%;position:absolute;top:45%;left:50%;transform:translate(-50%)}.flower-pot{z-index:2;border:2px solid var(--flower-shop-pot-rim);background:var(--flower-shop-pot);border-radius:6px 6px 14px 14px;width:38%;height:24%;position:absolute;bottom:13%;left:31%}.flower-pot:before{content:"";border:2px solid var(--flower-shop-pot-rim);background:var(--flower-shop-pot);border-radius:6px;width:116%;height:7px;position:absolute;top:-5px;left:-8%}.flower-bud,.flower-icon{z-index:2;width:52%;height:52%;color:var(--flower-color);stroke:var(--flower-line);filter:drop-shadow(0 3px 0 var(--flower-target-shadow));margin-top:-27%;position:relative}.flower-bud{color:var(--flower-shop-stem)}.flower-icon{fill:var(--flower-color)}.flower-target.resolving .flower-icon{animation:flower-bloom-pop var(--duration-scene) ease-out both}.flower-target.bloomed{pointer-events:none;opacity:.86}.flower-target.bloomed .flower-focus-ring{border-style:solid;border-color:var(--color-success-text);background:var(--color-success-soft);box-shadow:none;opacity:.72}.flower-check{z-index:4;border:2px solid var(--color-white);background:var(--color-mint-strong);width:23px;height:23px;color:var(--color-white);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:8%;right:3%}.flower-target-label{z-index:5;border-radius:var(--radius-pill);background:var(--color-surface-label);color:var(--flower-target-label);font-size:var(--font-size-xs);white-space:nowrap;padding:2px 9px;position:absolute;bottom:-21px}.flower-yellow{--flower-color:var(--flower-yellow);--flower-line:var(--flower-yellow-line)}.flower-coral{--flower-color:var(--flower-coral);--flower-line:var(--flower-coral-line)}.flower-blue{--flower-color:var(--flower-blue);--flower-line:var(--flower-blue-line)}.flower-pink{--flower-color:var(--flower-pink);--flower-line:var(--flower-pink-line)}.flower-violet{--flower-color:var(--flower-violet);--flower-line:var(--flower-violet-line)}.result-flowers{color:var(--flower-result);justify-content:center;align-items:center;gap:10px;margin:2px 0 10px;display:flex}.result-flowers svg{stroke:var(--flower-result-line);stroke-width:1.4px}.flower-demo{--flower-demo-surface:#edf6df;--lesson-emblem-surface:#f9e4e9;--flower-shop-pot:#c87d55;--flower-shop-pot-rim:#8e553f;--flower-shop-stem:#4f8e61;--flower-target-surface:#fffceb;--flower-target-line:#8fae74;--flower-target-shadow:#355e471f;--flower-target-label:#3e6658;--flower-pink:#e989ae;--flower-pink-line:#984d70;background:var(--flower-demo-surface)}.flower-demo-target{--flower-x:68%;--flower-y:50%;--flower-size:92px;animation:4s linear infinite flower-demo-target}.flower-demo-target .flower-focus-ring{animation:4s linear infinite flower-demo-ring}.flower-demo-bud,.flower-demo-bloom{grid-area:1/1}.flower-demo-bud{opacity:1;animation:4s linear infinite flower-demo-bud}.flower-demo-bloom{opacity:0;animation:4s infinite flower-demo-bloom}.flower-demo-pointer{z-index:10;animation:flower-demo-pointer 4s var(--demo-pointer-easing) infinite;position:absolute;top:67%;left:20%}.flower-demo-check{animation:4s linear infinite flower-demo-check;bottom:5px;right:-3px}.flower-demo-pointer .demo-pointer-icon-normal{animation:4s infinite flower-demo-pointer-normal}.flower-demo-pointer .demo-pointer-icon-pressed{animation:4s infinite flower-demo-pointer-press}@keyframes help-emphasis{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes flower-bloom-pop{0%{opacity:0;transform:scale(.35)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes flower-demo-pointer{0%,16%{top:67%;left:20%;transform:scale(1)}52%,66%{top:50%;left:67%;transform:scale(.88)}78%,to{top:50%;left:67%;transform:scale(1)}}@keyframes flower-demo-pointer-normal{0%,50%,68%,to{opacity:1}52%,66%{opacity:0}}@keyframes flower-demo-pointer-press{0%,50%,68%,to{opacity:0}52%,66%{opacity:1}}@keyframes flower-demo-target{0%,50%,68%,to{transform:translate(-50%,-50%)scale(1)}52%,66%{transform:translate(-50%,-50%)scale(.96)}}@keyframes flower-demo-ring{0%,50%{border:2px dashed var(--flower-target-line);background:var(--flower-target-surface)}52%,to{border:3px solid var(--flower-target-line);background:var(--lesson-emblem-surface)}}@keyframes flower-demo-bud{0%,64%{opacity:1;transform:scale(1)}72%,to{opacity:0;transform:scale(.35)}}@keyframes flower-demo-bloom{0%,64%{opacity:0;transform:scale(.35)}72%,92%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.35)}}@keyframes flower-demo-check{0%,66%{opacity:0;transform:scale(.5)}74%,94%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@keyframes demo-move{0%,16%{top:65%;left:20%}52%,90%{top:45%;left:71%}to{top:65%;left:20%}}@keyframes hikari-demo-disc{0%,50%{border:2px dashed var(--lesson-target-line);background:var(--lesson-accent-soft);box-shadow:0 5px 0 var(--lesson-target-shadow)}54%,62%{border:3px solid var(--lesson-target-hover-line);background:var(--lesson-accent-hover);box-shadow:0 5px 0 var(--lesson-target-shadow)}70%,to{border:1.5px solid var(--lesson-complete-line);background:var(--lesson-complete-surface);box-shadow:none}}@keyframes hikari-demo-check{0%,64%{opacity:0;transform:scale(.5)}72%,94%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@keyframes demo-glow{0%,58%,to{filter:none}66%,90%{filter:drop-shadow(0 0 12px var(--lesson-demo-glow));fill:var(--lesson-demo-glow-fill)}}.library{isolation:isolate;background:var(--lesson-playfield)}.library-background{object-fit:cover;object-position:center 47%;width:100%;height:100%;position:absolute;inset:0}.library-background-complete{opacity:0;transition:opacity var(--duration-scene) ease-out}.library-background-complete.is-visible{opacity:1}.library-wash{z-index:0;background:linear-gradient(180deg, var(--color-white) 0, transparent 19%, var(--color-surface-panel) 115%);opacity:.22;pointer-events:none;position:absolute;inset:0}.library .play-instruction,.library .practice-timer,.library .scene-panel{z-index:var(--layer-status)}.book-target{z-index:var(--layer-content);left:var(--book-x);top:var(--book-y);width:var(--book-size);height:var(--book-size);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.book-niche{border:2px dashed var(--book-target-line);background:var(--book-target-surface);box-shadow:0 5px 0 var(--book-target-shadow);border-radius:16%;position:absolute;inset:4%}.book-target.active:hover .book-niche,.book-target.awaiting .book-niche{background:var(--lesson-emblem-surface);border-style:solid;border-width:3px}.book-target.active:not(.awaiting):not(.resolving) .book-niche{animation:1.6s ease-in-out infinite book-glow}.book-icon-closed{z-index:2;width:56%;height:56%;color:var(--library-shelf);stroke:var(--library-shelf-line);filter:drop-shadow(0 3px 0 var(--book-target-shadow));position:relative}.book-icon{z-index:2;width:56%;height:56%;color:var(--book-color);stroke:var(--book-line);fill:var(--book-color);filter:drop-shadow(0 3px 0 var(--book-target-shadow));position:relative}.book-target.resolving .book-icon{animation:book-open-pop var(--duration-scene) ease-out both}.book-target.opened{pointer-events:none;opacity:.86}.book-target.opened .book-niche{border-style:solid;border-color:var(--color-success-text);background:var(--color-success-soft);box-shadow:none;opacity:.72}.book-check{z-index:4;background:var(--color-success-text);width:24px;height:24px;color:var(--color-white);border-radius:50%;place-items:center;display:grid;position:absolute;top:2%;right:4%}.book-target-label{z-index:5;border-radius:var(--radius-pill);background:var(--color-surface-label);color:var(--book-target-label);font-size:var(--font-size-xs);white-space:nowrap;padding:2px 9px;position:absolute;bottom:-21px}.book-yellow{--book-color:var(--book-yellow);--book-line:var(--book-yellow-line)}.book-coral{--book-color:var(--book-coral);--book-line:var(--book-coral-line)}.book-blue{--book-color:var(--book-blue);--book-line:var(--book-blue-line)}.book-pink{--book-color:var(--book-pink);--book-line:var(--book-pink-line)}.book-violet{--book-color:var(--book-violet);--book-line:var(--book-violet-line)}.result-books{color:var(--book-result);justify-content:center;align-items:center;gap:10px;margin:2px 0 10px;display:flex}.result-books svg{stroke:var(--book-result-line);stroke-width:1.4px}.library-demo{--lesson-emblem-surface:#e7f1e4;--library-shelf:#6b8f7a;--library-shelf-line:#3f6b5e;--book-target-surface:#fffcebd9;--book-target-line:#8fae74;--book-target-shadow:#355e471f;--book-target-label:#3e6658;--book-blue:#70aeca;--book-blue-line:#3f7085;--book-demo-surface:#eef6e8;background:var(--book-demo-surface)}.library-demo-target{--book-x:66%;--book-y:50%;--book-size:92px}.library-demo-target .book-icon-closed,.library-demo-target .book-icon{grid-area:1/1}.demo .book-target.active.library-demo-target:not(.awaiting):not(.resolving) .book-niche{border:2px dashed var(--book-target-line);background:var(--book-target-surface);box-shadow:0 5px 0 var(--book-target-shadow);animation:4s infinite library-demo-niche}.library-demo-book-closed{color:var(--library-shelf);stroke:var(--library-shelf-line);opacity:1;animation:4s infinite library-demo-book-closed}.library-demo-book-opened{color:var(--book-color);stroke:var(--book-line);fill:var(--book-color);opacity:0;animation:4s infinite library-demo-book-opened}.library-demo-check{opacity:0;animation:4s infinite library-demo-check}.library-demo-pointer{z-index:6;animation:library-demo-pointer 4s var(--demo-pointer-easing) infinite;position:absolute;top:67%;left:20%}.library-demo-pointer .demo-pointer-icon-normal{animation:4s infinite library-demo-pointer-normal}.library-demo-pointer .demo-pointer-icon-pressed{animation:4s infinite library-demo-pointer-press}@keyframes book-glow{0%,to{box-shadow:0 5px 0 var(--book-target-shadow)}50%{box-shadow:0 5px 0 var(--book-target-shadow), 0 0 16px var(--book-color)}}@keyframes book-open-pop{0%{opacity:0;transform:scale(.35)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes library-demo-pointer{0%,16%{top:67%;left:20%;transform:scale(1)}52%,57%{top:57%;left:71%;transform:scale(.88)}61%,65%{top:57%;left:71%;transform:scale(1)}68%,72%{top:57%;left:71%;transform:scale(.88)}76%,to{top:57%;left:71%;transform:scale(1)}}@keyframes library-demo-niche{0%,50%{border-style:dashed;border-width:2px;border-color:var(--book-target-line);background:var(--book-target-surface);box-shadow:0 5px 0 var(--book-target-shadow);border-radius:16%}52%,78%{background:var(--lesson-emblem-surface);box-shadow:0 5px 0 var(--book-target-shadow), 0 0 16px var(--book-color);border-style:solid;border-width:3px}84%,to{border-style:solid;border-width:3px;border-color:var(--color-success-text);background:var(--color-success-soft);box-shadow:none;border-radius:16%}}@keyframes library-demo-book-closed{0%,78%{opacity:1;transform:scale(1)}86%,to{opacity:0;transform:scale(.35)}}@keyframes library-demo-book-opened{0%,80%{opacity:0;transform:scale(.35)}88%,to{opacity:1;transform:scale(1)}}@keyframes library-demo-check{0%,84%{opacity:0;transform:scale(.5)}92%,to{opacity:1;transform:scale(1)}}@keyframes library-demo-pointer-normal{0%,53%,59%,66%,74%,to{opacity:1}56%,71%{opacity:0}}@keyframes library-demo-pointer-press{0%,53%,59%,66%,74%,to{opacity:0}56%,71%{opacity:1}}.station{isolation:isolate;background:var(--lesson-playfield)}.station-background{object-fit:cover;object-position:center 51%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.station-background-complete{opacity:0;transition:opacity var(--duration-scene) ease-out}.station-background-complete.is-visible{opacity:1}.station-wash{z-index:0;pointer-events:none;background:linear-gradient(#fffdf480 0,#0000 38%,#f5fbff38 100%);position:absolute;inset:0}.station .play-instruction,.station .practice-timer,.station .scene-panel{z-index:var(--layer-status)}.station-instruction{color:#36586a}.station-direction-guide{z-index:1;pointer-events:none;place-items:center;width:72px;height:72px;display:grid;position:absolute;top:70%;left:50%;transform:translate(-50%,-50%)}.station-direction-guide svg{grid-area:1/1;display:block}.station-direction-outline{z-index:0;color:#fffdf3;filter:drop-shadow(0 5px 3px #173d4c66);position:relative}.station-direction-icon{z-index:1;color:#3f8495;position:relative}.station-destination{z-index:2;top:70%;left:var(--station-destination-x);width:min(var(--station-train-size), 50%);aspect-ratio:1860/845;color:var(--station-goal-line);pointer-events:none;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.station-destination-train{opacity:.3;filter:grayscale()sepia(.45)saturate(1.5)hue-rotate(118deg)brightness(1.1);width:100%;height:auto;transform:scaleX(var(--station-train-direction));transform-origin:bottom;pointer-events:none;display:block}.station-destination span{z-index:1;border-radius:var(--radius-pill);color:#386a79;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap;background:#fffef4ec;padding:3px 12px;position:absolute;top:-29px}.station-goal-pin-outline,.station-goal-pin,.station-arrival-check{z-index:1;position:absolute}.station-goal-pin-outline{color:#fffdf3;fill:#fffdf3;filter:drop-shadow(0 4px 3px #173d4c66)}.station-goal-pin{color:var(--station-goal)}.station-arrival-check{color:#319d83;filter:drop-shadow(0 3px 2px #1c806538)}.station-destination.is-arrived{z-index:4;color:#277c6c;animation:.7s ease-out both station-goal-arrive}.station-destination.is-arrived .station-destination-train{opacity:0}.station-destination.is-arrived span{color:#277c6c;border-color:#2c8b78}.station-train{z-index:3;top:70%;left:var(--station-train-x);width:min(var(--station-train-size), 50%);aspect-ratio:1860/845;transform:translate(calc(-50% + var(--station-train-offset)), -50%);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;position:absolute}.station-train:before{content:"";z-index:-1;opacity:0;background:#fff8cc54;border:3px solid #0000;border-radius:46%;transition:opacity .16s ease-out,border-color .16s ease-out;position:absolute;inset:-13% -8%}.station-train-art{filter:drop-shadow(0 6px 4px #173d4c38);width:100%;height:auto;transform:scaleX(var(--station-train-direction));transform-origin:bottom;-webkit-user-select:none;user-select:none;pointer-events:none;display:block}.station-train-label{border-radius:var(--radius-pill);color:#5a5132;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap;background:#fffef4e8;padding:3px 11px;position:absolute;bottom:-31px}.station-train:hover,.station-train.is-dragging{z-index:4}.station-train:hover:before,.station-train.is-dragging:before{opacity:1;border-color:#fff3b0}.station-train.is-dragging{cursor:grabbing}.station-train.is-returning{transition:transform .25s ease-out}.station-train.is-arrived{cursor:default;pointer-events:none}.station-train.is-arrived:before{opacity:1;border-color:#e8fff5}.station-train.is-arrived .station-train-art{animation:.7s cubic-bezier(.2,.75,.28,1) both station-train-arrive}.station-arrival-glint{z-index:4;top:59%;left:var(--station-destination-x);color:#ffe277;filter:drop-shadow(0 2px #4e957f80);pointer-events:none;animation:.7s ease-out both station-arrival-glint;position:absolute}.station-arrival-message{z-index:5;top:45%;left:clamp(26%, var(--station-destination-x), 74%);border-radius:var(--radius-pill);color:#277c6c;font-size:clamp(18px,2.3vw,27px);font-weight:var(--font-weight-bold);letter-spacing:.06em;white-space:nowrap;pointer-events:none;background:#fffef5;border:3px solid #2c8b78;margin:0;padding:5px 16px;animation:.7s cubic-bezier(.2,.75,.28,1) both station-arrival-message;position:absolute;transform:translate(-50%);box-shadow:0 5px #1d765b38}@keyframes station-goal-arrive{0%{transform:translate(-50%,-50%)scale(.86)}55%{transform:translate(-50%,-50%)scale(1.08)}to{transform:translate(-50%,-50%)scale(1)}}@keyframes station-train-arrive{0%{transform:scaleX(var(--station-train-direction)) scale(1)}52%{transform:scaleX(var(--station-train-direction)) scale(1.08, .92)}78%{transform:scaleX(var(--station-train-direction)) scale(.97, 1.04)}to{transform:scaleX(var(--station-train-direction)) scale(1)}}@keyframes station-arrival-glint{0%{opacity:0;transform:translate(-50%,18px)scale(.35)rotate(-18deg)}42%{opacity:1;transform:translate(-50%)scale(1.18)rotate(8deg)}to{opacity:.86;transform:translate(-50%,-8px)scale(.9)rotate(0)}}@keyframes station-arrival-message{0%{opacity:0;transform:translate(-50%,14px)scale(.78)}45%{opacity:1;transform:translate(-50%,-2px)scale(1.08)}to{opacity:1;transform:translate(-50%)scale(1)}}.station-welcome-panel{border-color:#fff9e5}.result-trains{color:var(--station-result);justify-content:center;align-items:center;gap:10px;margin:2px 0 10px;display:flex}.result-trains svg{stroke:var(--station-result-line);stroke-width:1.6px}.station-demo{background:var(--station-demo-surface)}.station-demo-train{z-index:2;aspect-ratio:1860/845;width:84px;animation:station-demo-train 4s var(--demo-pointer-easing) infinite;position:absolute;top:40%;left:21%;transform:translate(-50%)}.station-demo-destination{z-index:1;aspect-ratio:1860/845;place-items:center;width:84px;display:grid;position:absolute;top:40%;left:65%;transform:translate(-50%)}.station-demo-destination-train{opacity:.3;filter:grayscale()sepia(.45)saturate(1.5)hue-rotate(118deg)brightness(1.1);grid-area:1/1;width:100%;height:auto;display:block}.station-demo-check{animation:4s linear infinite station-demo-check;top:calc(40% + 16px);left:calc(65% + 34px)}.station-demo-pointer{z-index:3;animation:station-demo-pointer 4s var(--demo-pointer-easing) infinite;position:absolute;top:62%;left:10%;transform:translate(-50%)scale(1)}.station-demo-pointer .demo-pointer-icon-normal{animation:4s linear infinite station-demo-pointer-normal}.station-demo-pointer .demo-pointer-icon-pressed{animation:4s linear infinite station-demo-pointer-press}@keyframes station-demo-train{0%,12%{left:21%}48%,99.9%{left:65%}to{left:21%}}@keyframes station-demo-pointer{0%,6%{top:62%;left:10%;transform:translate(-50%)scale(1)}12%{top:52%;left:21%;transform:translate(-50%)scale(.85)}48%{top:52%;left:65%;transform:translate(-50%)scale(.85)}58%,99.9%{top:46%;left:65%;transform:translate(-50%)scale(1)}to{top:62%;left:10%;transform:translate(-50%)scale(1)}}@keyframes station-demo-pointer-normal{0%,10%,50%,to{opacity:1}12%,48%{opacity:0}}@keyframes station-demo-pointer-press{0%,10%,50%,to{opacity:0}12%,48%{opacity:1}}@keyframes station-demo-check{0%,52%{opacity:0;transform:scale(.5)}60%,94%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.tower{isolation:isolate;background:var(--lesson-playfield)}.tower-background{object-fit:cover;object-position:center 50%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tower-background-complete{opacity:0;transition:opacity var(--duration-scene) ease-out}.tower-background-complete.is-visible{opacity:1}.tower-wash{z-index:0;pointer-events:none;background:linear-gradient(#fffdf480 0,#0000 38%,#f5f2ff38 100%);position:absolute;inset:0}.tower .play-instruction,.tower .practice-timer,.tower .scene-panel{z-index:var(--layer-status)}.tower-instruction{color:#423a76}.tower-direction-guide{z-index:1;left:50%;top:var(--tower-direction-y);pointer-events:none;place-items:center;width:36px;height:36px;display:grid;position:absolute;transform:translate(-50%,-50%)}.tower-direction-guide svg{grid-area:1/1;display:block}.tower-direction-outline{z-index:0;color:#fffdf3;filter:drop-shadow(0 5px 3px #221d4666);position:relative}.tower-direction-icon{z-index:1;color:#6d63b6;position:relative}.tower-destination{z-index:2;top:var(--tower-destination-y);width:min(var(--tower-elevator-size), 45%);aspect-ratio:1402/1122;color:var(--tower-goal-line);pointer-events:none;place-items:center;display:grid;position:absolute;left:50%;transform:translate(-50%,-50%)}.tower-destination-elevator{opacity:.35;filter:saturate(1.15)brightness(1.05);pointer-events:none;width:100%;height:auto;display:block}.tower-goal-marker{z-index:1;pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tower-goal-marker-pin{width:27px;height:27px;position:relative}.tower-goal-pin-outline,.tower-goal-pin{position:absolute;top:0;left:0}.tower-goal-pin-outline{color:#fffdf3;fill:#fffdf3;filter:drop-shadow(0 4px 3px #221d4666)}.tower-goal-pin{color:var(--tower-goal)}.tower-goal-marker-label{border-radius:var(--radius-pill);color:#4c4487;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap;background:#fffef4ec;padding:3px 12px}.tower-destination.is-arrived{z-index:4;color:#4c4487;animation:.7s ease-out both tower-goal-arrive}.tower-destination.is-arrived .tower-destination-elevator{opacity:0}.tower-destination.is-arrived .tower-goal-marker-label{color:#4c4487}.tower-elevator{z-index:3;top:var(--tower-elevator-y);width:min(var(--tower-elevator-size), 45%);aspect-ratio:1402/1122;transform:translate(-50%, calc(-50% + var(--tower-elevator-offset)));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;position:absolute;left:50%}.tower-elevator-art{filter:drop-shadow(0 6px 4px #221d4638);-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:auto;display:block}.tower-elevator-hint{z-index:1;border-radius:var(--radius-pill);color:#423a76;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap;pointer-events:none;background:#fffef4e8;padding:3px 11px;position:absolute;bottom:2%;left:50%;transform:translate(-50%)}.tower-elevator:after{content:"";z-index:-1;opacity:0;background:#fff8cc54;border:3px solid #0000;border-radius:32%;transition:opacity .16s ease-out,border-color .16s ease-out;position:absolute;inset:-13% -8%}.tower-elevator:hover,.tower-elevator.is-dragging{z-index:4}.tower-elevator:hover:after,.tower-elevator.is-dragging:after{opacity:1;border-color:#fff3b0}.tower-elevator.is-dragging{cursor:grabbing}.tower-elevator.is-returning{transition:transform .25s ease-out}.tower-elevator.is-arrived{cursor:default;pointer-events:none}.tower-elevator.is-arrived:after{opacity:1;border-color:#e8e5ff}.tower-elevator.is-arrived .tower-elevator-art{animation:.7s cubic-bezier(.2,.75,.28,1) both tower-elevator-arrive}.tower-arrival-glint{z-index:4;top:clamp(20%, calc(var(--tower-destination-y) - 8%), 80%);color:#ffe277;filter:drop-shadow(0 2px #4c448780);pointer-events:none;animation:.7s ease-out both tower-arrival-glint;position:absolute;left:50%;transform:translate(-50%)}.tower-arrival-message{z-index:5;top:clamp(20%, var(--tower-destination-y), 80%);border-radius:var(--radius-pill);color:#4c4487;font-size:clamp(18px,2.3vw,27px);font-weight:var(--font-weight-bold);letter-spacing:.06em;white-space:nowrap;pointer-events:none;background:#fffef5;border:3px solid #5850a6;margin:0;padding:5px 16px;animation:.7s cubic-bezier(.2,.75,.28,1) both tower-arrival-message;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 5px #3c336638}@keyframes tower-goal-arrive{0%{transform:translate(-50%,-50%)scale(.86)}55%{transform:translate(-50%,-50%)scale(1.08)}to{transform:translate(-50%,-50%)scale(1)}}@keyframes tower-elevator-arrive{0%{transform:scale(1)}52%{transform:scale(1.08,.92)}78%{transform:scale(.97,1.04)}to{transform:scale(1)}}@keyframes tower-arrival-glint{0%{opacity:0;transform:translate(-50%,18px)scale(.35)rotate(-18deg)}42%{opacity:1;transform:translate(-50%)scale(1.18)rotate(8deg)}to{opacity:.86;transform:translate(-50%,-8px)scale(.9)rotate(0)}}@keyframes tower-arrival-message{0%{opacity:0;transform:translate(-50%,14px)scale(.78)}45%{opacity:1;transform:translate(-50%,-2px)scale(1.08)}to{opacity:1;transform:translate(-50%)scale(1)}}.tower-welcome-panel{border-color:#ece9fa}.result-towers{color:var(--tower-result);justify-content:center;align-items:center;gap:10px;margin:2px 0 10px;display:flex}.result-towers svg{stroke:var(--tower-result-line);stroke-width:1.6px}.tower-demo{background:var(--tower-demo-surface)}.tower-demo-elevator{z-index:2;aspect-ratio:1402/1122;width:62px;animation:tower-demo-elevator 4s var(--demo-pointer-easing) infinite;display:block;position:absolute;top:68%;left:45%;transform:translate(-50%,-50%)}.tower-demo-destination{z-index:1;aspect-ratio:1402/1122;place-items:center;width:62px;display:grid;position:absolute;top:24%;left:45%;transform:translate(-50%,-50%)}.tower-demo-destination-elevator{opacity:.35;filter:saturate(1.15)brightness(1.05);grid-area:1/1;width:100%;height:auto;display:block}.tower-demo-pointer{z-index:3;animation:tower-demo-pointer 4s var(--demo-pointer-easing) infinite;position:absolute;top:84%;left:45%;transform:translate(-50%)scale(1)}.tower-demo-pointer .demo-pointer-icon-normal{animation:4s linear infinite tower-demo-pointer-normal}.tower-demo-pointer .demo-pointer-icon-pressed{animation:4s linear infinite tower-demo-pointer-press}.tower-demo-check{animation:4s linear infinite tower-demo-check;top:calc(24% + 20px);left:calc(45% + 26px)}@keyframes tower-demo-elevator{0%,12%{top:68%}48%,99.9%{top:24%}to{top:68%}}@keyframes tower-demo-pointer{0%,6%{top:84%;left:45%;transform:translate(-50%)scale(1)}12%{top:74%;left:45%;transform:translate(-50%)scale(.85)}48%{top:30%;left:45%;transform:translate(-50%)scale(.85)}58%,99.9%{top:24%;left:45%;transform:translate(-50%)scale(1)}to{top:84%;left:45%;transform:translate(-50%)scale(1)}}@keyframes tower-demo-pointer-normal{0%,10%,50%,to{opacity:1}12%,48%{opacity:0}}@keyframes tower-demo-pointer-press{0%,10%,50%,to{opacity:0}12%,48%{opacity:1}}@keyframes tower-demo-check{0%,52%{opacity:0;transform:scale(.5)}60%,94%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.lesson-coordinate-stage{z-index:2;aspect-ratio:3/2;max-width:100%;height:100%;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.delivery-center{isolation:isolate;background:var(--lesson-playfield);width:100%}.delivery-background{z-index:0;object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.delivery-background-complete{opacity:0;transition:opacity var(--duration-scene) ease-out}.delivery-background-complete.is-visible{opacity:1}.delivery-wash{z-index:1;pointer-events:none;background:linear-gradient(#fffdf459 0,#0000 44%,#f0fff63d 100%);position:absolute;inset:0}.delivery-center .clear-sparkle-effect{z-index:3}.delivery-center .play-instruction,.delivery-center .practice-timer,.delivery-center .scene-panel{z-index:var(--layer-status)}.delivery-instruction{color:var(--delivery-teal-dark)}.delivery-belt{z-index:1;filter:drop-shadow(0 7px 5px #173d4c3d);pointer-events:none;width:88%;height:auto;position:absolute;top:67%;left:50%;transform:translate(-50%,-50%)}.delivery-track-guide{z-index:2;width:86%;height:var(--delivery-tolerance-height);border-radius:var(--radius-pill);pointer-events:none;transition:border-color var(--duration-fast) ease-out, background var(--duration-fast) ease-out;background:#fff2a82b;border:2px solid #e8b83dbd;position:absolute;top:61.5%;left:7%;transform:translateY(-50%);box-shadow:inset 0 0 0 2px #fffbe06b}.delivery-track-guide-line{border-top:2px dashed #a7772e80;position:absolute;top:50%;left:2%;right:2%;transform:translateY(-50%)}.delivery-track-alert{z-index:5;width:46px;height:46px;color:var(--delivery-danger);filter:drop-shadow(0 2px 2px #5d431a3d);background:#fffdf1;border-radius:50%;place-items:center;animation:.32s cubic-bezier(.2,.8,.3,1.15) both delivery-track-alert-pop;display:grid;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.delivery-track-alert svg{width:30px;height:30px;overflow:visible}.delivery-center[data-track-state=warning] .delivery-track-guide{border-color:var(--delivery-warning);background:#ffd97442}.delivery-center[data-track-state=off-track] .delivery-track-guide{border-style:solid;border-color:var(--delivery-danger);background:#f7a29b45;animation:.24s ease-in-out 2 delivery-track-warning}.delivery-shelf{z-index:3;top:61.5%;left:var(--delivery-shelf-x);width:var(--delivery-shelf-width);aspect-ratio:1.14;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.delivery-shelf-header{z-index:2;border:3px solid var(--delivery-teal-dark);background:var(--delivery-yellow);border-radius:10px 10px 4px 4px;width:86%;height:22%;position:absolute;top:0;left:7%;box-shadow:0 4px #173d4c21}.delivery-shelf-header:before,.delivery-shelf-header:after{content:"";border:2px solid var(--delivery-teal-dark);background:var(--delivery-teal);width:10%;height:300%;position:absolute;top:100%}.delivery-shelf-header:before{left:4%}.delivery-shelf-header:after{right:4%}.delivery-shelf-header span{border-radius:var(--radius-pill);background:#fff7c6;position:absolute;inset:25% 14%}.delivery-shelf-slot{z-index:1;border:3px solid var(--delivery-slot-line);background:linear-gradient(180deg, #d8eae7e8, var(--delivery-slot));border-radius:10px 10px 14px 14px;place-items:center;display:grid;position:absolute;inset:14% 0 0;box-shadow:inset 0 7px #1b4e5736,0 6px #164b5530}.delivery-shelf-symbol{aspect-ratio:1;background:var(--delivery-cream);width:52%;color:var(--delivery-coral);border:3px solid #fffef2;border-radius:18%;place-items:center;display:grid;box-shadow:0 3px #1f58632e}.delivery-shelf-symbol svg{width:68%;height:68%;stroke:var(--delivery-teal-dark)}.delivery-shelf.is-receiving{z-index:5;animation:.7s ease-out both delivery-shelf-receive}.delivery-shelf.is-receiving .delivery-shelf-slot{background:#e8fff0;border-color:#2c8b78}.delivery-package{z-index:4;width:var(--delivery-package-width);aspect-ratio:1;transform:translate(calc(-50% + var(--delivery-package-offset-x)), calc(-50% + var(--delivery-package-offset-y)));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;position:absolute;top:61.5%;left:50%}.delivery-package:before{content:"";z-index:-1;opacity:0;transition:opacity var(--duration-fast) ease-out, border-color var(--duration-fast) ease-out;background:#fff8cc45;border:3px solid #0000;border-radius:20%;position:absolute;inset:-8%}.delivery-package-art{object-fit:contain;filter:drop-shadow(0 6px 4px #173d4c38);pointer-events:none;width:100%;height:100%;display:block}.delivery-package-symbol{width:48%;height:39%;color:var(--delivery-coral);pointer-events:none;place-items:center;display:grid;position:absolute;top:59%;left:50%;transform:translate(-50%,-50%)}.delivery-package-symbol svg{width:82%;height:82%;stroke:var(--delivery-teal-dark)}.delivery-package:hover:before,.delivery-package.is-dragging:before{opacity:1;border-color:#fff0a6}.delivery-package.is-dragging{z-index:6;cursor:grabbing}.delivery-package.is-returning{transition:transform .25s ease-out}.delivery-package.is-sorted{z-index:6;cursor:default;pointer-events:none}.delivery-package.is-sorted .delivery-package-art{animation:.7s cubic-bezier(.2,.75,.28,1) both delivery-package-arrive}.delivery-package.is-sorted .delivery-package-symbol{animation:.7s cubic-bezier(.2,.75,.28,1) both delivery-package-symbol-arrive}.delivery-center[data-track-state=warning] .delivery-package:before{border-color:var(--delivery-warning);opacity:1;background:#ffd97442}.delivery-center[data-track-state=off-track] .delivery-package:before{border-color:var(--delivery-danger);opacity:1;background:#f7a29b45;animation:.26s ease-in-out 2 delivery-package-off-track}.delivery-arrival-glint{z-index:6;color:#ffe277;filter:drop-shadow(0 2px #4e957f80);pointer-events:none;animation:.7s ease-out both delivery-arrival-glint;position:absolute;top:43%;left:50%}.delivery-arrival-message{z-index:7;border-radius:var(--radius-pill);color:#277c6c;font-size:clamp(18px,2.3vw,27px);font-weight:var(--font-weight-bold);white-space:nowrap;pointer-events:none;background:#fffef5;border:3px solid #2c8b78;margin:0;padding:5px 16px;animation:.7s cubic-bezier(.2,.75,.28,1) both delivery-arrival-message;position:absolute;top:35%;left:50%;transform:translate(-50%);box-shadow:0 5px #1d765b38}.delivery-welcome-panel{border-color:#dbeee8}.result-packages{color:var(--delivery-result);justify-content:center;align-items:center;gap:10px;margin:2px 0 10px;display:flex}.result-packages svg{stroke:var(--delivery-result-line);stroke-width:1.7px}.delivery-demo{--delivery-demo-duration:5.6s;--delivery-teal:#237f88;--delivery-teal-dark:#174e60;--delivery-yellow:#f5c84d;--delivery-coral:#e97868;--delivery-cream:#fff9e8;--delivery-slot:#e9f3ef;--delivery-slot-line:#356b70;--delivery-danger:#b94f45;--delivery-package-width:17%;--delivery-shelf-width:18%;--delivery-package-offset-x:0px;--delivery-package-offset-y:0px;--delivery-tolerance-height:31%;background:var(--delivery-demo-surface);height:166px}.delivery-demo-track-guide{width:88%;animation:delivery-demo-track-guide var(--delivery-demo-duration) linear infinite;top:53%;left:6%}.delivery-demo-alert{color:var(--delivery-danger);opacity:0;animation:delivery-demo-alert var(--delivery-demo-duration) linear infinite;background:#fffdf1;top:29%}.delivery-demo-alert svg{stroke:currentColor}.delivery-demo-shelf{z-index:6;width:var(--delivery-shelf-width);opacity:1;isolation:isolate;top:53%}.delivery-demo-shelf:before{content:"";z-index:0;background:var(--delivery-slot);border-radius:8px 8px 11px 11px;position:absolute;inset:14% 0 0}.delivery-demo-shelf-start{--delivery-shelf-x:18%}.delivery-demo-shelf-target{--delivery-shelf-x:82%;animation:delivery-demo-shelf-target var(--delivery-demo-duration) linear infinite}.delivery-demo .delivery-shelf-header{background-color:var(--delivery-yellow);background-image:none;border-width:2px;border-radius:8px 8px 3px 3px}.delivery-demo .delivery-shelf-header:before,.delivery-demo .delivery-shelf-header:after{background:var(--delivery-teal);border-width:1.5px}.delivery-demo .delivery-shelf-header span{background:#fff7c6}.delivery-demo .delivery-shelf-slot{background:linear-gradient(180deg, #d8eae7, var(--delivery-slot));border-width:2px;border-radius:8px 8px 11px 11px;box-shadow:inset 0 7px #1b4e5736,0 6px #164b5530}.delivery-demo .delivery-shelf-symbol{background:var(--delivery-cream);border-width:2px;border-radius:16%}.delivery-demo-package{z-index:8;width:var(--delivery-package-width);animation:delivery-demo-package var(--delivery-demo-duration) var(--demo-pointer-easing) infinite;position:absolute;top:53%;left:20%;transform:translate(-50%,-50%)}.delivery-demo-package:before{display:none}.delivery-demo-package .delivery-package-art{filter:drop-shadow(0 4px 3px #173d4c38)}.delivery-demo-package .delivery-package-symbol svg{stroke-width:3px}.delivery-demo-track-guide .delivery-track-guide-line{animation:delivery-demo-track-guide-line var(--delivery-demo-duration) linear infinite}.delivery-demo-pointer{z-index:10;animation:delivery-demo-pointer var(--delivery-demo-duration) var(--demo-pointer-easing) infinite;position:absolute;top:78%;left:12%;transform:translate(-50%)scale(1)}.delivery-demo-pointer .demo-pointer-icon-normal{animation:delivery-demo-pointer-normal var(--delivery-demo-duration) linear infinite}.delivery-demo-pointer .demo-pointer-icon-pressed{animation:delivery-demo-pointer-press var(--delivery-demo-duration) linear infinite}.delivery-demo-check{animation:delivery-demo-check var(--delivery-demo-duration) linear infinite;top:60%;left:88%}@keyframes delivery-track-warning{50%{transform:translateY(-50%)scaleY(1.12)}}@keyframes delivery-track-alert-pop{0%{transform:translate(-50%,-50%)scale(.65)}45%{transform:translate(-50%,-50%)scale(1.15,.9)rotate(-7deg)}72%{transform:translate(-50%,-50%)scale(.95,1.08)rotate(5deg)}to{transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes delivery-package-off-track{0%,to{transform:translate(0)scale(1)}28%{transform:translate(-3%)scale(1.04,.96)}55%{transform:translate(3%)scale(.98,1.04)}78%{transform:translate(-2%)scale(1.02,.98)}}@keyframes delivery-shelf-receive{45%{transform:translate(-50%,-50%)scale(1.08)}}@keyframes delivery-package-arrive{0%{transform:scale(1)}52%{transform:scale(1.1,.9)}78%{transform:scale(.97,1.04)}to{transform:scale(1)}}@keyframes delivery-package-symbol-arrive{0%{transform:translate(-50%,-50%)scale(1)}52%{transform:translate(-50%,-50%)scale(1.1,.9)}78%{transform:translate(-50%,-50%)scale(.97,1.04)}to{transform:translate(-50%,-50%)scale(1)}}@keyframes delivery-arrival-glint{0%{opacity:0;transform:translate(-50%,18px)scale(.35)rotate(-18deg)}42%{opacity:1;transform:translate(-50%)scale(1.18)rotate(8deg)}to{opacity:.86;transform:translate(-50%,-8px)scale(.9)rotate(0)}}@keyframes delivery-arrival-message{0%{opacity:0;transform:translate(-50%,14px)scale(.78)}45%{opacity:1;transform:translate(-50%,-2px)scale(1.08)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes delivery-demo-package{0%,9%{top:53%;left:20%}23%{top:53%;left:40%}36%{top:70%;left:55%}54%{top:53%;left:64%}72%,99.9%{top:53%;left:82%}to{top:53%;left:20%}}@keyframes delivery-demo-track-guide{0%,24%,55%,to{background:#fff2a82b;border-color:#e8b83dbd;transform:translateY(-50%)scaleY(1)}34%,46%{border-style:solid;border-color:var(--delivery-danger);background:#f7a29b45;transform:translateY(-50%)scaleY(1.12)}}@keyframes delivery-demo-track-guide-line{0%,24%,55%,to{border-top-color:#a7772e80}34%,46%{border-top-color:var(--delivery-danger)}}@keyframes delivery-demo-alert{0%,30%,50%,to{opacity:0;transform:translate(-50%,-50%)scale(.65)}34%{opacity:1;transform:translate(-50%,-50%)scale(1.12,.9)rotate(-7deg)}41%{opacity:1;transform:translate(-50%,-50%)scale(.95,1.08)rotate(5deg)}46%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes delivery-demo-shelf-target{0%,67%,to{transform:translate(-50%,-50%)scale(1)}75%{transform:translate(-50%,-50%)scale(1.08)}}@keyframes delivery-demo-pointer{0%,7%{top:78%;left:12%;transform:translate(-50%)scale(1)}9%{top:63%;left:20%;transform:translate(-50%)scale(.85)}23%{top:63%;left:40%;transform:translate(-50%)scale(.85)}36%{top:78%;left:55%;transform:translate(-50%)scale(.85)}54%{top:63%;left:64%;transform:translate(-50%)scale(.85)}72%{top:63%;left:82%;transform:translate(-50%)scale(.85)}82%,99.9%{top:53%;left:82%;transform:translate(-50%)scale(1)}to{top:78%;left:12%;transform:translate(-50%)scale(1)}}@keyframes delivery-demo-pointer-normal{0%,8%,74%,to{opacity:1}10%,72%{opacity:0}}@keyframes delivery-demo-pointer-press{0%,8%,74%,to{opacity:0}10%,72%{opacity:1}}@keyframes delivery-demo-check{0%,78%{opacity:0;transform:scale(.5)}86%,96%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.supermarket{isolation:isolate;background:var(--lesson-playfield);width:100%}.supermarket-background{z-index:0;object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.supermarket-background-complete{opacity:0;transition:opacity var(--duration-scene) ease-out}.supermarket-background-complete.is-visible{opacity:1}.supermarket-wash{z-index:1;pointer-events:none;background:linear-gradient(#fffdf459 0,#0000 44%,#f0fff63d 100%);position:absolute;inset:0}.supermarket .clear-sparkle-effect{z-index:3}.supermarket .practice-timer,.supermarket .scene-panel{z-index:var(--layer-status)}.supermarket .play-instruction{z-index:4}.supermarket-instruction{color:var(--supermarket-green-dark)}.supermarket-track-guide{z-index:2;width:var(--supermarket-tolerance-width);border-radius:var(--radius-pill);pointer-events:none;height:78%;transition:border-color var(--duration-fast) ease-out, background var(--duration-fast) ease-out;background:#fff2a82b;border:2px solid #e8b83dbd;position:absolute;top:15%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 2px #fffbe06b}.supermarket-rack-frame{z-index:1;pointer-events:none;width:56%;position:absolute;top:17%;bottom:3.5%;left:50%;transform:translate(-50%)}.supermarket-rack-back{z-index:0;background:linear-gradient(#fbf5e9 0%,#f2e7d3 100%);border:1px solid #cfbd9b;border-bottom:0;border-radius:8px 8px 0 0;position:absolute;inset:0;box-shadow:inset 0 1px #fff,inset 0 0 18px #b9986030}.supermarket-rack-upright{z-index:1;background:linear-gradient(90deg,#d7bd8e,#f2dfbb 48%,#c3a474);border:1px solid #aa8d63;border-radius:5px;width:clamp(5px,1.4%,9px);position:absolute;top:0;bottom:0;box-shadow:inset 1px 0 #fff8e8,0 3px 5px #59432829}.supermarket-rack-upright.is-left{left:0}.supermarket-rack-upright.is-right{right:0}.supermarket-track-alert{z-index:5;width:46px;height:46px;color:var(--supermarket-danger);filter:drop-shadow(0 2px 2px #5d431a3d);background:#fffdf1;border-radius:50%;place-items:center;animation:.32s cubic-bezier(.2,.8,.3,1.15) both supermarket-track-alert-pop;display:grid;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.supermarket-track-alert svg{width:30px;height:30px;overflow:visible}.supermarket[data-track-state=warning] .supermarket-track-guide{border-color:var(--supermarket-warning);background:#ffd97442}.supermarket[data-track-state=off-track] .supermarket-track-guide{border-style:solid;border-color:var(--supermarket-danger);background:#f7a29b45;animation:.24s ease-in-out 2 supermarket-track-warning}.supermarket-shelf{z-index:3;top:var(--supermarket-shelf-y);width:100%;height:var(--supermarket-shelf-row-height);pointer-events:none;position:absolute;left:0;transform:translateY(-50%)}.supermarket-shelf-visual{z-index:1;width:58%;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.supermarket-shelf-visual:before{content:"";z-index:1;clip-path:polygon(2% 0,98% 0,100% 100%,0 100%);background:linear-gradient(#f1dfbd 0%,#fff9eb 100%);border:1px solid #b89a6d;border-bottom:0;height:12%;position:absolute;bottom:19%;left:0;right:0;box-shadow:inset 0 4px 6px #9b78432b}.supermarket-shelf-stock{z-index:2;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;display:grid;position:absolute;inset:0 4% 19%}.supermarket-shelf-item{object-fit:contain;grid-row:1;place-self:end center;width:80%;height:90%;min-height:0;max-height:90%}.supermarket-stock-product{filter:drop-shadow(0 3px 2px #5a422b35);position:relative}.supermarket-stock-product-art{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.supermarket-stock-product-art.is-back{z-index:0;filter:brightness(.82)saturate(.82);transform:translate(12%,-7%)scale(.96)}.supermarket-stock-product-art.is-front{z-index:1}.supermarket-shelf-plank{z-index:3;background:linear-gradient(#fff8e8 0 38%,#ead4ac 42% 100%);border:1px solid #9f8056;border-radius:5px;height:17%;min-height:8px;position:absolute;bottom:2%;left:0;right:0;box-shadow:inset 0 2px #ffffffb8,0 4px #b49467,0 7px 8px #654b3024}.supermarket-shelf-slot{z-index:4;width:var(--supermarket-shelf-width);border-radius:10px;position:absolute;top:0;bottom:10%;left:50%;transform:translate(-50%)}.supermarket-shelf-placeholder{opacity:.25;filter:grayscale(.3)saturate(.65)}.supermarket-shelf.is-receiving{z-index:5}.supermarket-shelf.is-receiving .supermarket-shelf-visual{animation:.7s ease-out both supermarket-shelf-receive}.supermarket-shelf.is-receiving .supermarket-shelf-placeholder{opacity:0}.supermarket-product{z-index:4;width:var(--supermarket-product-width);aspect-ratio:1;transform:translate(calc(-50% + var(--supermarket-product-offset-x)), calc(-50% + var(--supermarket-product-offset-y)));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;position:absolute;top:50%;left:50%}.supermarket-product:before{content:"";z-index:-1;opacity:0;transition:opacity var(--duration-fast) ease-out, border-color var(--duration-fast) ease-out;background:#fff8cc45;border:3px solid #0000;border-radius:20%;position:absolute;inset:-8%}.supermarket-product-art{object-fit:contain;filter:drop-shadow(0 6px 4px #173d4c38);pointer-events:none;width:100%;height:100%;display:block}.supermarket-product:hover:before,.supermarket-product.is-dragging:before{opacity:1;border-color:#fff0a6}.supermarket-product.is-dragging{z-index:6;cursor:grabbing}.supermarket-product.is-returning{transition:transform .25s ease-out}.supermarket-product.is-sorted{z-index:6;cursor:default;pointer-events:none}.supermarket-product.is-sorted .supermarket-product-art{animation:.7s cubic-bezier(.2,.75,.28,1) both supermarket-product-arrive}.supermarket[data-track-state=warning] .supermarket-product:before{border-color:var(--supermarket-warning);opacity:1;background:#ffd97442}.supermarket[data-track-state=off-track] .supermarket-product:before{border-color:var(--supermarket-danger);opacity:1;background:#f7a29b45;animation:.26s ease-in-out 2 supermarket-product-off-track}.supermarket-arrival-glint{z-index:6;color:#ffe277;filter:drop-shadow(0 2px #4e957f80);pointer-events:none;animation:.7s ease-out both supermarket-arrival-glint;position:absolute;top:43%;left:50%}.supermarket-arrival-check{z-index:8;border:2px solid var(--color-white);background:var(--color-mint-strong);width:28px;height:28px;color:var(--color-white);filter:drop-shadow(0 3px 2px #1c806538);pointer-events:none;border-radius:50%;place-items:center;animation:.7s cubic-bezier(.2,.75,.28,1) both supermarket-arrival-check;display:grid;position:absolute;left:50%}.supermarket-arrival-message{z-index:7;border-radius:var(--radius-pill);color:#277c6c;font-size:clamp(18px,2.3vw,27px);font-weight:var(--font-weight-bold);white-space:nowrap;pointer-events:none;background:#fffef5;border:3px solid #2c8b78;margin:0;padding:5px 16px;animation:.7s cubic-bezier(.2,.75,.28,1) both supermarket-arrival-message;position:absolute;top:35%;left:50%;transform:translate(-50%);box-shadow:0 5px #1d765b38}.supermarket-welcome-panel{border-color:#e4efd8}.result-goods{color:var(--supermarket-result);justify-content:center;align-items:center;gap:10px;margin:2px 0 10px;display:flex}.result-goods svg{stroke:var(--supermarket-result-line);stroke-width:1.7px}.supermarket-demo{--supermarket-demo-duration:5.6s;--supermarket-green:#6a9c3f;--supermarket-green-dark:#395c22;--supermarket-yellow:#f5c84d;--supermarket-yellow-dark:#9c6b1f;--supermarket-coral:#e97868;--supermarket-cream:#fff9e8;--supermarket-slot:#eef6ea;--supermarket-slot-line:#4a7a3c;--supermarket-danger:#b94f45;--supermarket-product-width:13%;--supermarket-shelf-row-height:34%;--supermarket-shelf-width:24%;--supermarket-product-offset-x:0px;--supermarket-product-offset-y:0px;--supermarket-tolerance-width:11%;background:var(--supermarket-demo-surface);height:166px}.supermarket-demo-track-guide{height:94%;animation:supermarket-demo-track-guide var(--supermarket-demo-duration) linear infinite;top:3%;left:53%}.supermarket-demo-alert{color:var(--supermarket-danger);opacity:0;animation:supermarket-demo-alert var(--supermarket-demo-duration) linear infinite;background:#fffdf1;top:50%;left:53%}.supermarket-demo-alert svg{stroke:currentColor}.supermarket-demo-shelf{z-index:6;width:100%;height:var(--supermarket-shelf-row-height);opacity:1;isolation:isolate;left:0;transform:translateY(-50%)}.supermarket-demo-shelf-target{--supermarket-shelf-y:65%;animation:supermarket-demo-shelf-target var(--supermarket-demo-duration) linear infinite}.supermarket-demo .supermarket-shelf-visual{width:58%;left:53%}.supermarket-demo .supermarket-shelf-slot{left:53%}.supermarket-demo-product{z-index:8;width:var(--supermarket-product-width);animation:supermarket-demo-product var(--supermarket-demo-duration) var(--demo-pointer-easing) infinite;position:absolute;top:20%;left:53%;transform:translate(-50%,-50%)}.supermarket-demo-product:before{display:none}.supermarket-demo-product .supermarket-product-art{filter:drop-shadow(0 4px 3px #173d4c38)}.supermarket-demo-pointer{z-index:10;transform-origin:12% 12%;animation:supermarket-demo-pointer var(--supermarket-demo-duration) var(--demo-pointer-easing) infinite;position:absolute;top:20%;left:53%;transform:translate(-12%,-12%)scale(1)}.supermarket-demo-pointer .demo-pointer-icon-normal{animation:supermarket-demo-pointer-normal var(--supermarket-demo-duration) linear infinite}.supermarket-demo-pointer .demo-pointer-icon-pressed{animation:supermarket-demo-pointer-press var(--supermarket-demo-duration) linear infinite}.supermarket-demo-check{animation:supermarket-demo-check var(--supermarket-demo-duration) linear infinite;top:71%;left:60%}@keyframes supermarket-track-warning{50%{transform:translate(-50%)scaleX(1.12)}}@keyframes supermarket-track-alert-pop{0%{transform:translate(-50%,-50%)scale(.65)}45%{transform:translate(-50%,-50%)scale(1.15,.9)rotate(-7deg)}72%{transform:translate(-50%,-50%)scale(.95,1.08)rotate(5deg)}to{transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes supermarket-product-off-track{0%,to{transform:translateY(0)scale(1)}28%{transform:translateY(-3%)scale(.96,1.04)}55%{transform:translateY(3%)scale(1.04,.98)}78%{transform:translateY(-2%)scale(.98,1.02)}}@keyframes supermarket-shelf-receive{45%{transform:translate(-50%)scale(1.035)}}@keyframes supermarket-product-arrive{0%{transform:scale(1)}52%{transform:scale(calc(var(--supermarket-arrival-scale) * .92))}78%{transform:scale(calc(var(--supermarket-arrival-scale) * 1.04))}to{transform:scale(var(--supermarket-arrival-scale))}}@keyframes supermarket-arrival-glint{0%{opacity:0;transform:translate(-50%,18px)scale(.35)rotate(-18deg)}42%{opacity:1;transform:translate(-50%)scale(1.18)rotate(8deg)}to{opacity:.86;transform:translate(-50%,-8px)scale(.9)rotate(0)}}@keyframes supermarket-arrival-check{0%{opacity:0;transform:translate(55%,-160%)scale(.35)}48%{opacity:1;transform:translate(55%,-160%)scale(1.16)}to{opacity:1;transform:translate(55%,-160%)scale(1)}}@keyframes supermarket-arrival-message{0%{opacity:0;transform:translate(-50%,14px)scale(.78)}45%{opacity:1;transform:translate(-50%,-2px)scale(1.08)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes supermarket-demo-product{0%,9%{top:20%;left:53%}23%{top:40%;left:53%}36%{top:55%;left:70%}54%{top:64%;left:53%}72%,99.9%{top:65%;left:53%}to{top:20%;left:53%}}@keyframes supermarket-demo-track-guide{0%,24%,55%,to{background:#fff2a82b;border-color:#e8b83dbd;transform:translate(-50%)scaleX(1)}34%,46%{border-style:solid;border-color:var(--supermarket-danger);background:#f7a29b45;transform:translate(-50%)scaleX(1.12)}}@keyframes supermarket-demo-alert{0%,30%,50%,to{opacity:0;transform:translate(-50%,-50%)scale(.65)}34%{opacity:1;transform:translate(-50%,-50%)scale(1.12,.9)rotate(-7deg)}41%{opacity:1;transform:translate(-50%,-50%)scale(.95,1.08)rotate(5deg)}46%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes supermarket-demo-shelf-target{0%,67%,to{transform:translateY(-50%)scale(1)}75%{transform:translateY(-50%)scale(1.04)}}@keyframes supermarket-demo-pointer{0%,7%{top:20%;left:53%;transform:translate(-12%,-12%)scale(1)}9%{top:20%;left:53%;transform:translate(-12%,-12%)scale(.85)}23%{top:40%;left:53%;transform:translate(-12%,-12%)scale(.85)}36%{top:55%;left:70%;transform:translate(-12%,-12%)scale(.85)}54%{top:64%;left:53%;transform:translate(-12%,-12%)scale(.85)}72%{top:65%;left:53%;transform:translate(-12%,-12%)scale(.85)}82%,99.9%{top:65%;left:53%;transform:translate(-12%,-12%)scale(1)}to{top:20%;left:53%;transform:translate(-12%,-12%)scale(1)}}@keyframes supermarket-demo-pointer-normal{0%,8%,74%,to{opacity:1}10%,72%{opacity:0}}@keyframes supermarket-demo-pointer-press{0%,8%,74%,to{opacity:0}10%,72%{opacity:1}}@keyframes supermarket-demo-check{0%,78%{opacity:0;transform:scale(.5)}86%,96%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.city-road{isolation:isolate;background:var(--lesson-playfield);width:100%}.city-road-background{z-index:0;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:opacity .55s ease-out;position:absolute;inset:0}.city-road-background.is-normal{opacity:1}.city-road-background.is-complete,.lesson-l08[data-phase=complete] .city-road-background.is-normal{opacity:0}.lesson-l08[data-phase=complete] .city-road-background.is-complete{opacity:1}.lesson-l09[data-phase=complete] .city-road-background.is-normal{opacity:0}.lesson-l09[data-phase=complete] .city-road-background.is-complete{opacity:1}.city-road-wash{z-index:1;pointer-events:none;background:linear-gradient(#fffdf045,#0000 38%,#eaffed2e);position:absolute;inset:0}.city-road .clear-sparkle-effect{z-index:3}.city-road .practice-timer,.city-road .scene-panel{z-index:var(--layer-status)}.city-road .play-instruction{z-index:8}.city-road-instruction{color:var(--lesson-accent-dark)}.city-road-svg{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.city-road-sidewalk,.city-road-outline,.city-road-surface,.city-road-texture,.city-road-progress,.city-road-demo-progress{fill:none;stroke-linecap:round;stroke-linejoin:round}.city-road-sidewalk{stroke:var(--city-road-sidewalk);stroke-width:var(--city-road-sidewalk-width,112);filter:drop-shadow(0 6px 4px #304d5038)}.city-road-outline{stroke:var(--city-road-surface-dark);stroke-width:var(--city-road-outline-width,96)}.city-road-surface{stroke:var(--city-road-surface);stroke-width:var(--city-road-surface-width,88);transition:stroke var(--duration-fast) ease-out}.city-road-texture{stroke-width:var(--city-road-texture-width,78);opacity:.5;pointer-events:none;transition:opacity var(--duration-fast) ease-out}.large-park-paving-grain{fill:none;stroke:#796641;stroke-width:1.8px;stroke-linecap:round;opacity:.24}.large-park-paving-highlight{fill:none;stroke:#fff6d2;stroke-width:1.5px;stroke-linecap:round;opacity:.58}.large-park-paving-speck{fill:#77633e;opacity:.23}.city-road-direction-arrows{pointer-events:none}.city-road-direction-arrow line,.city-road-direction-arrow polyline{fill:none;stroke:var(--city-road-centerline);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.city-road-progress,.city-road-demo-progress{stroke:var(--city-road-progress);stroke-width:13px;opacity:.82}.city-road-progress-trail{transition:stroke-dasharray .12s linear}.city-road[data-track-state=warning] .city-road-surface{stroke:#b8a66f}.city-road[data-track-state=warning] .city-road-texture{opacity:.3}.city-road[data-track-state=off-road] .city-road-surface{stroke:#b77e7c}.city-road[data-track-state=off-road] .city-road-texture{opacity:.18}.city-road-goal{z-index:4;aspect-ratio:1;pointer-events:none;width:8%;top:var(--city-road-goal-y);left:var(--city-road-goal-x);color:#26786f;background:#dff5e9de;border:3px solid #2d756d;border-radius:50%;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 4px #ffffffb5,0 4px #255d5a42}.city-road-goal.is-arrived{animation:.7s ease-out both city-road-goal-arrive}.city-road-goal-label{border-radius:var(--radius-pill);color:#26786f;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap;background:#fffef4ec;padding:3px 12px;line-height:1.25;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 3px 2px #255d5a30}.city-road-vehicle{z-index:6;top:var(--city-road-start-y);left:var(--city-road-start-x);aspect-ratio:1;width:5.82%;transform:translate(calc(-50% + var(--city-road-vehicle-offset-x)), calc(-50% + var(--city-road-vehicle-offset-y)));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;position:absolute}.city-road-vehicle.is-dragging{z-index:7;cursor:grabbing}.city-road-vehicle.is-returning{transition:transform .26s ease-out}.city-road-vehicle.is-arrived{pointer-events:none}.city-road-vehicle.is-arrived .city-road-vehicle-art{animation:.7s cubic-bezier(.2,.75,.28,1) both city-road-vehicle-arrive}.city-road-vehicle-art{object-fit:contain;width:100%;height:100%;transform:rotate(var(--city-road-vehicle-rotation));filter:drop-shadow(0 3px 2px #21455555);pointer-events:none;-webkit-user-select:none;user-select:none;transition:transform .15s ease-out;position:absolute;inset:0}.city-road-vehicle-fallback{transform:rotate(var(--city-road-vehicle-rotation));pointer-events:none;background:linear-gradient(90deg,#fff0b5 0 58%,#f4b949 59% 100%);border:2px solid #344e65;border-radius:28% 34% 34% 28%;transition:transform .15s ease-out;display:block;position:absolute;inset:13% 7%;box-shadow:0 3px 2px #21455555}.city-road-vehicle-fallback:before{content:"";background:#bce2ea;border:1px solid #344e65;border-radius:35%;width:24%;height:68%;position:absolute;top:16%;right:8%}.city-road-vehicle-fallback:after{content:"";border-block:4px solid #293b4d;width:27%;height:120%;position:absolute;top:-10%;left:18%}.city-road[data-track-state=warning] .city-road-vehicle-art{filter:drop-shadow(0 0 2px var(--city-road-warning)) drop-shadow(0 3px 2px #21455555);animation:.13s linear infinite city-road-vehicle-warning}.city-road[data-track-state=off-road] .city-road-vehicle-art{filter:drop-shadow(0 0 2px var(--city-road-danger)) drop-shadow(0 3px 2px #21455555)}.city-road-alert{z-index:9;top:var(--city-road-start-y);left:var(--city-road-start-x);width:27px;height:27px;transform:translate(calc(30% + var(--city-road-alert-offset-x)), calc(-140% + var(--city-road-alert-offset-y)));background:var(--city-road-danger);color:#fff;font-size:18px;font-weight:var(--font-weight-extra-bold);pointer-events:none;border:2px solid #fff;border-radius:50%;place-items:center;animation:.24s ease-out both city-road-alert-pop;display:grid;position:absolute;box-shadow:0 3px 2px #5b332e40}.city-road-arrival-check{z-index:9;top:var(--city-road-goal-y);left:var(--city-road-goal-x);background:var(--color-mint-strong);color:#fff;pointer-events:none;border:2px solid #fff;border-radius:50%;place-items:center;width:29px;height:29px;animation:.7s ease-out both city-road-arrival-check;display:grid;position:absolute;transform:translate(45%,-150%);box-shadow:0 3px 2px #1c806538}.city-road-arrival-message{z-index:9;border-radius:var(--radius-pill);color:#277c6c;font-size:clamp(18px,2.3vw,27px);font-weight:var(--font-weight-bold);white-space:nowrap;pointer-events:none;background:#fffef5;border:3px solid #2c8b78;margin:0;padding:5px 16px;animation:.7s ease-out both city-road-arrival-message;position:absolute;top:34%;left:50%;transform:translate(-50%);box-shadow:0 5px #1d765b38}.city-road-welcome-panel{border-color:#dcece4}.city-road-result-icons{color:var(--city-road-result);justify-content:center;align-items:center;gap:10px;margin:2px 0 10px;display:flex}.city-road-result-icons svg{stroke:var(--city-road-result-line);stroke-width:1.7px}.city-road-demo{--city-road-demo-duration:5s;--city-road-surface:#86a7ad;--city-road-surface-dark:#315964;--city-road-sidewalk:#fff4d8;--city-road-centerline:#fff8cb;--city-road-progress:#72c8ae;--city-road-demo-surface:#e8f2e5;background:var(--city-road-demo-surface);height:180px;overflow:hidden}.city-road-demo-svg{z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.city-road-demo .city-road-sidewalk{stroke-width:54px;filter:drop-shadow(0 3px 2px #304d5038)}.city-road-demo .city-road-outline{stroke-width:45px}.city-road-demo .city-road-surface{stroke-width:39px}.city-road-demo .city-road-texture{stroke-width:31px;opacity:.46}.city-road-demo .city-road-direction-arrow line,.city-road-demo .city-road-direction-arrow polyline{stroke-width:3.5px}.city-road-demo-progress{stroke-width:7px;stroke-dasharray:420;stroke-dashoffset:420px;animation:city-road-demo-progress var(--city-road-demo-duration) linear infinite}.city-road-demo-goal{z-index:4;color:#26786f;background:#dff5e9;border:2px solid #2d756d;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:78%;left:68.4%;transform:translate(-50%,-50%)}.city-road-demo-goal .city-road-goal-label{padding:2px 7px;font-size:10px;top:calc(100% + 2px);box-shadow:0 2px 1px #255d5a2b}.city-road-demo-vehicle{--city-road-vehicle-rotation:0deg;z-index:6;width:40px;height:40px;animation:city-road-demo-vehicle var(--city-road-demo-duration) var(--demo-pointer-easing) infinite;position:absolute;top:25%;left:15%;transform:translate(-50%,-50%)}.city-road-demo-pointer{z-index:8;transform-origin:12% 12%;animation:city-road-demo-pointer var(--city-road-demo-duration) var(--demo-pointer-easing) infinite;position:absolute;top:25%;left:15%;transform:translate(-12%,-12%)}.city-road-demo-pointer .demo-pointer-icon-normal{animation:city-road-demo-pointer-normal var(--city-road-demo-duration) linear infinite}.city-road-demo-pointer .demo-pointer-icon-pressed{animation:city-road-demo-pointer-press var(--city-road-demo-duration) linear infinite}.city-road-demo-check{animation:city-road-demo-check var(--city-road-demo-duration) linear infinite;top:69%;left:72%}@keyframes city-road-alert-pop{0%{opacity:0;transform:translate(calc(30% + var(--city-road-alert-offset-x)), calc(-140% + var(--city-road-alert-offset-y)))}to{opacity:1;transform:translate(calc(30% + var(--city-road-alert-offset-x)), calc(-140% + var(--city-road-alert-offset-y)))}}@keyframes city-road-vehicle-warning{0%,to{transform:rotate(var(--city-road-vehicle-rotation)) rotate(0deg)}25%{transform:rotate(var(--city-road-vehicle-rotation)) rotate(-4deg)}75%{transform:rotate(var(--city-road-vehicle-rotation)) rotate(4deg)}}@keyframes city-road-goal-arrive{45%{transform:translate(-50%,-50%)scale(1.08)}}@keyframes city-road-vehicle-arrive{0%,to{transform:rotate(var(--city-road-vehicle-rotation)) scale(1)}48%{transform:rotate(var(--city-road-vehicle-rotation)) scale(1.11, 1.06)}74%{transform:rotate(var(--city-road-vehicle-rotation)) scale(.98, 1.02)}}@keyframes city-road-arrival-check{0%{opacity:0;transform:translate(45%,-130%)scale(.35)}48%{opacity:1;transform:translate(45%,-150%)scale(1.16)}to{opacity:1;transform:translate(45%,-150%)scale(1)}}@keyframes city-road-arrival-message{0%{opacity:0;transform:translate(-50%,14px)scale(.78)}45%{opacity:1;transform:translate(-50%,-2px)scale(1.08)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes city-road-demo-vehicle{0%,8%{top:25%;left:15%;transform:translate(-50%,-50%)rotate(0)}58%{top:25%;left:68.4%;transform:translate(-50%,-50%)rotate(0)}64%{top:25%;left:68.4%;transform:translate(-50%,-50%)rotate(90deg)}82%,99.9%{top:78%;left:68.4%;transform:translate(-50%,-50%)rotate(90deg)}to{top:25%;left:15%;transform:translate(-50%,-50%)rotate(0)}}@keyframes city-road-demo-pointer{0%,6%{top:25%;left:15%;transform:translate(-12%,-12%)scale(1)}8%{top:25%;left:15%;transform:translate(-12%,-12%)scale(.85)}58%{top:25%;left:68.4%;transform:translate(-12%,-12%)scale(.85)}82%{top:78%;left:68.4%;transform:translate(-12%,-12%)scale(.85)}86%,99.9%{top:78%;left:68.4%;transform:translate(-12%,-12%)scale(1)}to{top:25%;left:15%;transform:translate(-12%,-12%)scale(1)}}@keyframes city-road-demo-pointer-normal{0%,7%,85%,to{opacity:1}9%,83%{opacity:0}}@keyframes city-road-demo-pointer-press{0%,7%,85%,to{opacity:0}9%,83%{opacity:1}}@keyframes city-road-demo-progress{0%,8%{stroke-dashoffset:420px}82%,96%{stroke-dashoffset:0}to{stroke-dashoffset:420px}}@keyframes city-road-demo-check{0%,84%{opacity:0;transform:scale(.5)}89%,96%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.lesson-l09{--lesson-accent:#58a98a;--lesson-accent-dark:#286f61;--lesson-accent-soft:#e4f5e9;--lesson-playfield:#e8f4dc;--lesson-wash-start:#fffdf046;--lesson-wash-end:#e9ffe836;--lesson-timer-text:#205e55;--lesson-emblem-surface:#e3f3de;--lesson-emblem:#2e806c;--lesson-emblem-mini:#d88b45;--city-road-surface:#c9b987;--city-road-surface-dark:#6f5034;--city-road-centerline:#fff9cf;--city-road-progress:#70c8a3;--city-road-warning:#d98725;--city-road-danger:#b94f45;--city-road-result:#2d8069;--city-road-result-line:#245f54}.large-park .city-road-background{object-position:center center}.large-park .city-road-outline{filter:drop-shadow(0 4px 3px #49331f38)}.large-park .city-road-wash{background:linear-gradient(#fffef044,#0000 34%,#edffe835)}.large-park .city-road-vehicle{width:4.37%}.large-park-wagon-art{transition:transform 90ms linear}.large-park-wagon-fallback{transform:rotate(var(--city-road-vehicle-rotation));pointer-events:none;background:radial-gradient(circle at 28% 35%,#ff786d 0 11%,#0000 12%),radial-gradient(circle at 58% 35%,#ffd353 0 11%,#0000 12%),radial-gradient(circle at 43% 67%,#f49ac2 0 11%,#0000 12%),#79bd45;border:2px solid #31594f;border-radius:22%;transition:transform 90ms linear;display:block;position:absolute;inset:6%;box-shadow:0 3px 2px #21455555}.large-park-wagon-fallback:after{content:"";border:2px solid #31594f;border-left:0;border-radius:0 8px 8px 0;width:34%;height:22%;position:absolute;top:36%;left:100%}.large-park-progress{stroke-linecap:round;transition:stroke-dasharray .12s linear}.large-park-goal{color:#2c7b68;background:#f4ead1e8}.large-park-demo{--city-road-demo-duration:6.1s;--city-road-surface-dark:#6f5034;--city-road-sidewalk-width:54;--city-road-outline-width:45;--city-road-surface-width:39}.large-park-demo-goal{top:30.5%;left:85%}.large-park-demo-wagon,.large-park-demo-pointer{offset-path:path("M 82 128 C 160 20 262 24 310 88 C 358 152 440 145 510 55");offset-path:shape(from 13.6667% 71.1111%, curve to 51.6667% 48.8889% with 26.6667% 11.1111% / 43.6667% 13.3333%, curve to 85% 30.5556% with 59.6667% 84.4444% / 73.3333% 80.5556%);offset-distance:0%;offset-rotate:auto;animation:large-park-demo-motion var(--city-road-demo-duration) linear infinite;top:0;left:0}.large-park-demo-wagon{offset-anchor:50% 50%;width:36px;height:36px;transform:none}.large-park-demo-wagon .large-park-wagon-art{transition:none;transform:none}.large-park-demo-pointer{offset-anchor:12% 12%;offset-rotate:0deg;animation-name:large-park-demo-pointer-motion;transform:translate(42px,-36px)scale(1)}.large-park-demo-pointer .demo-pointer-icon-normal{animation-name:large-park-demo-pointer-normal}.large-park-demo-pointer .demo-pointer-icon-pressed{animation-name:large-park-demo-pointer-press}.large-park-demo-check{animation-name:large-park-demo-check;top:20%;left:88%}@keyframes large-park-demo-motion{0%,17.7%{offset-distance:0%;animation-timing-function:cubic-bezier(.37,0,.63,1)}76.98%,99.9%{offset-distance:99%}to{offset-distance:0%}}@keyframes large-park-demo-pointer-motion{0%,3.54%{offset-distance:0%;animation-timing-function:cubic-bezier(.34,1.15,.64,1);transform:translate(42px,-36px)scale(1)}12.39%{offset-distance:0%;transform:translate(0)scale(1)}14.16%,17.7%{offset-distance:0%;animation-timing-function:cubic-bezier(.37,0,.63,1);transform:translate(0)scale(.85)}76.98%{offset-distance:99%;transform:translate(0)scale(.85)}87.61%,99.9%{offset-distance:99%;transform:scale(1)}to{offset-distance:0%;transform:translate(42px,-36px)scale(1)}}@keyframes large-park-demo-pointer-normal{0%,12.39%,78.75%,to{opacity:1}14.16%,76.98%{opacity:0}}@keyframes large-park-demo-pointer-press{0%,12.39%,78.75%,to{opacity:0}14.16%,76.98%{opacity:1}}@keyframes large-park-demo-check{0%,80.52%{opacity:0;transform:scale(.5)}84.07%,94.69%{opacity:1;transform:scale(1)}98.23%,to{opacity:0;transform:scale(.5)}}@media (width>=1000px) and (height<=800px){.site-header{height:70px}.main-content{padding-top:5px}.lesson-heading{margin-bottom:16px}h1{font-size:31px}.plaza{height:400px}.delivery-center .scene-panel{padding:13px 22px 10px}.delivery-center .welcome-emblem{width:48px;height:48px;margin-bottom:6px}.delivery-center .scene-panel h2{margin-bottom:7px;font-size:26px}.delivery-center .panel-description{margin-bottom:9px;line-height:1.65}.delivery-center .primary-button{min-height:50px;padding-block:8px}.delivery-center .timer-note{margin-top:6px}.supermarket .scene-panel{padding:13px 22px 10px}.supermarket .welcome-emblem{width:48px;height:48px;margin-bottom:6px}.supermarket .scene-panel h2{margin-bottom:7px;font-size:26px}.supermarket .panel-description{margin-bottom:9px;line-height:1.65}.supermarket .primary-button{min-height:50px;padding-block:8px}.supermarket .timer-note{margin-top:6px}.city-road .scene-panel{padding:13px 22px 10px}.city-road .welcome-emblem{width:48px;height:48px;margin-bottom:6px}.city-road .scene-panel h2{margin-bottom:7px;font-size:26px}.city-road .panel-description{margin-bottom:9px;line-height:1.65}.city-road .primary-button{min-height:50px;padding-block:8px}.city-road .timer-note{margin-top:6px}.game-topbar{height:57px}.guide-bar{min-height:80px}.guide-robot{width:66px;height:66px}.lesson-footer{margin-top:15px}}@media (width<=800px){.site-header{padding:0 22px}.header-caption{display:none}.main-content{padding:4px 18px 18px}.stage-steps{gap:13px}.step-label{display:none}.game-topbar{height:58px;padding:0 20px}.lesson-meta{display:none}.guide-bar{gap:10px;padding:12px 16px}.guide-copy output{font-size:14px}.guide-robot{width:62px;height:62px}.help-button{padding:9px 11px}.guide-actions{gap:6px}}@media (width<=480px){.site-header{gap:8px;height:76px;padding:0 16px}.brand{gap:8px}.brand-mark{border-radius:13px;width:40px;height:40px}.sound-button{padding:8px 10px;font-size:12px}.utility-actions{gap:5px}.timer-button{padding:8px 10px;font-size:12px}.main-content{padding:0 10px 18px}h1{font-size:28px}.eyebrow{gap:8px;font-size:12px}.lesson-heading{margin-bottom:17px}.game-card{border-radius:20px}.plaza{height:425px}.delivery-center{aspect-ratio:3/2;height:auto;min-height:0}.delivery-center .scene-panel{border-radius:18px;width:92%;padding:9px 10px}.delivery-center .welcome-emblem{display:none}.delivery-center .panel-kicker{margin-bottom:2px;font-size:10px}.delivery-center .scene-panel h2{margin-bottom:4px;font-size:17px;line-height:1.3}.delivery-center .panel-description{margin-bottom:6px;font-size:11px;line-height:1.45}.delivery-center .primary-button{min-width:160px;min-height:38px;padding:6px 15px;font-size:15px}.delivery-center .timer-note,.delivery-center .result-packages{display:none}.delivery-center .play-instruction{max-width:78%;padding:6px 9px;font-size:10px;top:7px}.delivery-arrival-message{padding:3px 9px;font-size:13px;top:30%}.supermarket{aspect-ratio:3/2;height:auto;min-height:0}.supermarket .scene-panel{border-radius:18px;width:92%;padding:9px 10px}.supermarket .welcome-emblem{display:none}.supermarket .panel-kicker{margin-bottom:2px;font-size:10px}.supermarket .scene-panel h2{margin-bottom:4px;font-size:17px;line-height:1.3}.supermarket .panel-description{margin-bottom:6px;font-size:11px;line-height:1.45}.supermarket .primary-button{min-width:160px;min-height:38px;padding:6px 15px;font-size:15px}.supermarket .timer-note,.supermarket .result-packages{display:none}.supermarket .play-instruction{max-width:78%;padding:6px 9px;font-size:10px;top:7px}.supermarket-arrival-message{padding:3px 9px;font-size:13px;top:30%}.city-road{aspect-ratio:3/2;height:auto;min-height:0}.city-road .scene-panel{border-radius:18px;width:92%;padding:9px 10px}.city-road .welcome-emblem{display:none}.city-road .panel-kicker{margin-bottom:2px;font-size:10px}.city-road .scene-panel h2{margin-bottom:4px;font-size:17px;line-height:1.3}.city-road .panel-description{margin-bottom:6px;font-size:11px;line-height:1.45}.city-road .primary-button{min-width:160px;min-height:38px;padding:6px 15px;font-size:15px}.city-road .timer-note,.city-road .city-road-result-icons{display:none}.city-road .play-instruction{max-width:78%;padding:6px 9px;font-size:10px;top:7px}.city-road-arrival-message{padding:3px 9px;font-size:13px;top:30%}.scene-panel{padding:23px 12px}.scene-panel h2{font-size:26px}.panel-description{font-size:14px}.guide-bar{flex-wrap:wrap}.guide-copy{min-width:180px}.guide-actions{width:100%;margin-left:0}.guide-actions .utility-button{flex:1;min-width:0;padding:8px 7px;font-size:12px}.guide-robot{width:48px;height:58px}.guide-copy output{font-size:14px}.play-instruction{gap:5px;padding:10px 13px;font-size:14px}.practice-timer{gap:7px;padding:7px 10px 8px;font-size:12px;top:14px;left:14px}.practice-timer strong{font-size:25px}.star-target{width:max(20px, calc(var(--target-size) * .75));height:max(20px, calc(var(--target-size) * .75))}.flower-target{width:max(62px, calc(var(--flower-size) * .78));height:max(62px, calc(var(--flower-size) * .78))}.flower-target-label{font-size:10px;bottom:-18px}.lesson-footer{flex-direction:column;align-items:flex-start;gap:4px}.lesson-dialog[data-slot=dialog-content]{padding:21px}.dialog-heading{font-size:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.demo-pointer{top:45%;left:71%}.large-park-demo-wagon,.large-park-demo-pointer{offset-distance:55%;top:0;left:0}}.town-screen{background:linear-gradient(180deg, var(--town-sky) 0, var(--color-canvas) 62%), var(--color-canvas);min-height:100vh}.town-header .brand{cursor:default}.town-main{max-width:var(--layout-content-max);padding:0 var(--space-7) 6px;margin:0 auto}.town-intro{align-items:center;gap:var(--space-4);width:min(100%,150vh - 285px,1120px);min-width:760px;min-height:78px;margin:0 auto 10px;display:flex}.town-intro img{object-fit:contain;width:72px;height:72px}.town-intro p{color:var(--color-guide-name);font-size:var(--font-size-sm);letter-spacing:.07em;margin:0 0 2px}.town-intro h1{font-size:clamp(27px,2.3vw,34px);line-height:1.25}.town-sequence{border:1px solid var(--color-border-control);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-caption);white-space:nowrap;margin-left:auto;padding:9px 14px;font-size:13px}.town-map{aspect-ratio:3/2;border:2px solid var(--town-map-border);border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,150vh - 285px,1120px);min-width:760px;box-shadow:var(--shadow-card), 0 18px 50px var(--town-card-shadow);margin:0 auto;position:relative;overflow:hidden}.town-map-visual{position:absolute;inset:0}.town-map-sound{z-index:4;box-shadow:none;background:#fffef9b8;position:absolute;bottom:14px;right:14px}.town-map-sound:hover{box-shadow:none;background:#fffef9db}.town-map-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.town-stops{position:absolute;inset:0}.town-stop{border:2px solid var(--town-card-border);background:var(--town-card);width:clamp(196px,17.5vw,210px);min-height:72px;color:var(--color-text);text-align:left;box-shadow:0 5px 0 #315f6552, 0 10px 24px var(--town-card-shadow);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--layer-content);border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:9px 12px;display:grid;position:absolute;transform:translate(-50%,-50%)}.town-stop:not(:disabled):hover{background:var(--color-white);border-color:var(--color-primary-dark);box-shadow:0 5px 0 var(--color-primary-dark), 0 12px 28px #315f6540;transform:translate(-50%,calc(-50% - 2px))}.town-stop:disabled{cursor:default;border-color:var(--town-card-disabled-border);background:var(--town-card-disabled);color:var(--color-text-muted);box-shadow:0 4px #6f827b42,0 8px 18px #315f6524}.town-stop-icon{width:44px;height:44px;color:var(--color-primary-dark);place-items:center;display:grid}.town-stop-icon svg{width:34px;height:34px}.town-stop:disabled .town-stop-icon{color:var(--color-text-muted)}.town-stop-body{flex-direction:column;gap:2px;min-width:0;display:flex}.town-stop-headline{align-items:center;gap:5px;min-width:0;display:flex}.town-stop-number{border-radius:var(--radius-pill);background:var(--town-number);min-width:30px;height:25px;color:var(--color-white);font-size:18px;font-weight:var(--font-weight-extra-bold);letter-spacing:.04em;place-items:center;padding:0 7px;display:grid;position:absolute;top:-13px;left:10px}.town-stop:disabled .town-stop-number{background:#9fb0a9}.town-stop-headline strong{min-width:0;font-size:clamp(12px,1.15vw,15px);line-height:1.2;font-weight:var(--font-weight-extra-bold);white-space:nowrap}.town-stop-skill{color:var(--color-copy);font-size:clamp(10px,.85vw,11px);line-height:1.2}.town-stop-status{color:var(--town-status);font-size:11px;font-weight:var(--font-weight-extra-bold);align-items:center;gap:4px;margin-top:1px;display:flex}.town-stop:disabled .town-stop-status{color:var(--color-text-muted)}.town-stop-l01{top:47%;left:50%}.town-stop-l02{top:47%;left:17%}.town-stop-l03{top:20%;left:17%}.town-stop-l04{top:20%;left:50%}.town-stop-l05{top:20%;left:83%}.town-stop-l06{top:47%;left:83%}.town-stop-l07{width:clamp(210px,19vw,232px);top:79%;left:83%}.town-stop-l08{top:79%;left:50%}.town-stop-l09{top:79%;left:17%}.town-audio-notice{min-height:20px;color:var(--color-danger-text);font-size:var(--font-size-sm);text-align:center;margin:9px auto 0}.town-guidance{border-top:1px solid var(--color-border-control);border-bottom:1px solid var(--color-border-control);background:var(--color-surface);grid-template-columns:minmax(220px,1fr) minmax(0,632px);grid-template-areas:"heading slots""note slots";align-items:center;gap:8px 24px;width:min(100%,1120px);margin:18px auto 0;padding:18px 20px;display:grid}@supports (color:color-mix(in lab, red, red)){.town-guidance{background:color-mix(in srgb, var(--color-surface) 82%, transparent)}}.town-guidance{color:var(--color-copy)}.town-guidance-heading{grid-area:heading;align-items:center;gap:11px;display:flex}.town-guidance-icon{background:var(--color-primary-soft);width:42px;height:42px;color:var(--color-primary-dark);border-radius:50%;flex:0 0 42px;place-items:center;display:grid}.town-guidance-heading p,.town-guidance-heading h2{letter-spacing:0;margin:0}.town-guidance-heading p{color:var(--color-caption);font-size:12px;font-weight:var(--font-weight-bold);margin-bottom:2px}.town-guidance-heading h2{font-size:17px;line-height:1.35}.town-guidance-pr{border:1px solid var(--color-caption);letter-spacing:.05em;vertical-align:1px;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:10px}.town-ad-slots{flex-wrap:wrap;grid-area:slots;justify-content:flex-end;gap:16px;margin:0;padding:0;list-style:none;display:flex}.town-ad-slot,.town-ad-slot img{border-radius:10px;width:300px;height:50px;display:block}.town-ad-slot:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.town-guidance-note{color:var(--color-caption);grid-area:note;align-items:center;gap:7px;padding-left:53px;font-size:11px;line-height:1.5;display:flex}.town-guidance-note svg{color:var(--color-primary-dark);flex:none}@media (width<=1100px){.town-guidance{grid-template-columns:1fr;grid-template-areas:"heading""slots""note";gap:14px}.town-ad-slots{justify-content:center}.town-guidance-note{justify-content:center;padding-left:0}}.town-footer{color:var(--color-footer-text);font-size:var(--font-size-xs);justify-content:space-between;align-items:center;gap:15px;margin-top:18px;display:flex}.town-footer>span{white-space:nowrap}.town-footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 20px;display:flex}.town-footer-link{color:var(--color-footer-text);align-items:center;gap:5px;text-decoration:none;display:flex}.town-footer-link:hover,.town-footer-link:focus-visible{text-decoration:underline}.device-guidance-screen{background:radial-gradient(circle at 50% 28%, #ffffffc7 0, transparent 42%), linear-gradient(180deg, var(--town-sky) 0, var(--color-canvas) 72%);min-height:100vh}.device-guidance-main{place-items:center;min-height:calc(100vh - 86px);padding:22px 20px 36px;display:grid}.device-guidance-card{border:2px solid var(--color-border);width:min(100%,620px);box-shadow:var(--shadow-card);text-align:center;background:#fffef9ed;border-radius:28px;padding:30px 42px 28px}.device-guidance-robot{object-fit:contain;width:104px;height:104px}.device-guidance-kicker{color:var(--color-guide-name);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.07em;margin:-2px 0 4px}.device-guidance-card h1{letter-spacing:.06em;margin:0;font-size:clamp(28px,4vw,38px);line-height:1.35}.device-guidance-devices{background:var(--color-mint);width:112px;height:78px;color:var(--color-primary-dark);border-radius:24px;justify-content:center;align-items:flex-end;gap:2px;margin:20px auto 14px;display:flex}.device-guidance-copy{color:var(--color-text-muted);font-size:18px;font-weight:var(--font-weight-bold);margin:0;line-height:1.9}.device-guidance-continue{min-width:230px;margin-top:22px}.device-guidance-note{color:var(--color-caption);margin:15px 0 0;font-size:13px;line-height:1.7}@media (width<=800px){.town-main{padding:0 14px 28px}.town-intro{gap:10px;width:100%;min-width:0;min-height:82px}.town-intro img{width:58px;height:64px}.town-intro p{font-size:12px}.town-intro h1{font-size:clamp(23px,6vw,29px)}.town-sequence{display:none}.town-map{aspect-ratio:auto;width:100%;min-width:0;overflow:hidden}.town-map-visual{position:relative;inset:auto}.town-map-image{aspect-ratio:3/2;height:auto;display:block;position:relative}.town-stops{background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px;padding:16px;display:grid;position:relative}.town-stop,.town-stop:not(:disabled):hover{width:100%;min-height:78px;position:static;transform:none}.town-stop-l07{width:100%}.town-stop-headline strong{font-size:14px}.town-stop-skill{font-size:11px}.town-guidance{padding:16px}}@media (width<=480px){.town-footer{text-align:center;flex-direction:column-reverse;gap:6px}.town-footer-links{flex-direction:column;gap:6px}.device-guidance-main{min-height:calc(100vh - 76px);padding:10px 14px 24px}.device-guidance-card{border-radius:22px;padding:22px 18px 20px}.device-guidance-robot{width:82px;height:82px}.device-guidance-card h1{font-size:27px}.device-guidance-devices{width:100px;height:68px;margin-block:15px 11px}.device-guidance-copy{font-size:16px}.device-guidance-continue{width:100%;min-width:0;margin-top:18px}.device-guidance-note{font-size:12px}.town-intro{flex-wrap:wrap;margin-bottom:8px}.town-intro img{width:50px}.town-intro h1{letter-spacing:.04em;font-size:22px}.town-stops{grid-template-columns:1fr}}.large-park-checkpoint{z-index:5;aspect-ratio:1;color:#253e50;pointer-events:none;background:#fffef9;border:2px solid #253e50;border-radius:50%;place-items:center;width:clamp(24px,4.6%,38px);display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 4px #21455533}.large-park-checkpoint svg{fill:#fff;width:62%;height:62%}.large-park-checkpoint.is-reached{background:#fff4c7;border-color:#8a6a12}.large-park-checkpoint.is-reached svg{fill:#ffd35c;animation:.52s cubic-bezier(.2,.8,.3,1.4) both large-park-checkpoint-pop}.large-park-checkpoint-check{aspect-ratio:1;color:#fff;background:#388466;border:2px solid #fff;border-radius:50%;place-items:center;width:55%;display:grid;position:absolute;bottom:-28%;right:-28%}.large-park-checkpoint-check svg{fill:none;width:80%;height:80%;animation:none}@keyframes large-park-checkpoint-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}to{transform:scale(1)}}.large-park-wagon.is-returning{transition:transform .26s ease-out,top .26s ease-out,left .26s ease-out}.large-park-alert-anchor{display:contents}@media (prefers-reduced-motion:reduce){.large-park-checkpoint.is-reached svg{animation:none}}.large-park-checkpoint-line{stroke:#fffef9;stroke-width:7px;stroke-dasharray:7 5;stroke-linecap:butt;filter:drop-shadow(0 0 1.5px #253e5099)}.large-park-checkpoint-line.is-reached{stroke:#ffd35c;stroke-dasharray:none}.brand-mark.brand-mark-logo{box-shadow:none;background:0 0;border:0;border-radius:0}.brand-mark-logo img{object-fit:contain;width:100%;height:100%;display:block}.brand-text{display:block}.brand-wordmark{width:auto;height:26px;margin-top:3px;display:block}@media (width<=480px){.brand-wordmark{height:22px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
