:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-purple:#5200ff;--brand-purple-dark:#3700b3;--brand-aqua:#3dffd0;--bg:#f8f7f3;--card:#fff;--ink:#160033;--muted:#625b70;--border:#e2ddea;--motion-fast:.15s;--motion-medium:.26s;--motion-slow:.52s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}input[type=checkbox]{accent-color:var(--brand-purple);block-size:18px;inline-size:18px}select{appearance:none;border:1px solid var(--brand-purple);background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235200FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;min-block-size:44px;min-inline-size:5.5rem;max-inline-size:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;padding:10px 40px 10px 14px;font-weight:650;line-height:1.3}select:hover:not(:disabled){border-color:var(--brand-purple-dark);background-color:#f1ebff}select:focus-visible{outline:3px solid var(--brand-purple-dark);outline-offset:4px}select:disabled{color:var(--muted);border-color:var(--border);background-color:var(--bg);cursor:not-allowed;opacity:.7}label:has(select){flex-direction:column;align-items:flex-start;gap:6px;max-inline-size:100%;display:inline-flex}.toolbar:has(select){align-items:flex-end}.toolbar>label:has(input[type=checkbox]){align-items:center;gap:8px;min-block-size:44px;display:inline-flex}@supports (appearance:base-select){select:not([multiple]):not([size]){appearance:base-select}select:not([multiple]):not([size])::picker(select){appearance:base-select}select:not([multiple]):not([size]){background-image:none;gap:20px;padding-inline-end:14px}select::picker-icon{color:var(--brand-purple)}select:open{border-color:var(--brand-purple-dark)}select::picker(select){border:1px solid var(--brand-purple);background:var(--card);color:var(--ink);font:inherit;border-radius:12px;max-block-size:min(20rem,70vh);max-inline-size:calc(100vw - 32px);margin-block-start:6px;padding:6px;overflow:auto;box-shadow:0 12px 32px #16003329}select option{white-space:normal;border-radius:8px;gap:12px;min-block-size:44px;padding:10px 12px}select option:hover,select option:focus-visible{color:var(--ink);outline:2px solid var(--brand-purple);outline-offset:-2px;background:#f1ebff}select option:checked{background:var(--brand-purple);color:#fff;font-weight:650}select option:checked:hover,select option:checked:focus-visible{background:var(--brand-purple-dark);color:#fff}select option::checkmark{color:inherit}select option:disabled{color:var(--muted);background:var(--bg)}}.file-field{gap:6px;min-inline-size:0;max-inline-size:100%;display:grid}.file-control{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;min-inline-size:0;max-inline-size:100%;padding:6px;display:flex}.file-pick{flex-shrink:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.file-pick:before{content:"";background:currentColor;block-size:18px;inline-size:18px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4m-5 5 5-5 5 5M4 16v4h16v-4'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4m-5 5 5-5 5 5M4 16v4h16v-4'/%3E%3C/svg%3E") 50%/contain no-repeat}.file-name{color:var(--muted);overflow-wrap:anywhere;min-inline-size:0;max-inline-size:32ch;padding-inline-end:6px;font-size:14px}@media (forced-colors:active){select,select:not([multiple]):not([size]){appearance:auto;background-image:none;border-color:buttontext}.file-control{border-color:buttontext}.file-pick:before{display:none}}input[type=number],input[type=text],input:not([type]){box-sizing:border-box;border:1px solid var(--brand-purple);background:var(--card);min-block-size:44px;color:var(--ink);font:inherit;border-radius:12px;max-inline-size:100%;padding:10px 12px;line-height:1.3}input[type=number]{inline-size:7rem}input[type=number]:hover:not(:disabled),input[type=text]:hover:not(:disabled),input:not([type]):hover:not(:disabled){border-color:var(--brand-purple-dark)}input[type=number]:focus-visible,input[type=text]:focus-visible,input:not([type]):focus-visible{outline:3px solid var(--brand-purple-dark);outline-offset:4px}label:has(input[type=number]){flex-direction:column;align-items:start;gap:6px;display:inline-flex}.editor-grid-settings{align-items:end;gap:16px}.grid-custom{align-items:end;gap:12px}.grid-custom[hidden]{display:none}.navigation-control{align-items:center;gap:14px;margin:6px 0 12px;display:flex}.navigation-toggle{justify-content:center;align-items:center;gap:10px;display:inline-flex}.hamburger-icon{gap:4px;width:19px;display:grid}.hamburger-icon i{background:currentColor;border-radius:2px;width:100%;height:2px;display:block}.navigation-current{color:var(--ink);font-size:14px;font-weight:650}.navigation-drawer{border:1px solid var(--border);background:var(--card);width:min(340px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:16px;margin:0;padding:20px;position:fixed;overflow:auto;box-shadow:0 16px 60px #16003330}.navigation-drawer::backdrop{background:#16003355}.drawer-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.drawer-header h2{margin:0;font-size:22px}.drawer-close{width:44px;padding:6px;font-size:26px;line-height:1}.navigation-drawer nav{gap:8px;margin:0;display:grid}.navigation-drawer nav button{text-align:left;width:100%}.navigation-drawer nav button[aria-current],.navigation-drawer nav button[aria-current]:hover{background:var(--brand-purple-dark);color:#fff}.navigation-drawer nav .menu-reset{border-color:var(--border);color:var(--muted);margin-top:16px}.global-drawer{top:16px;left:max(12px,50vw - 584px)}.exercise-drawer{border-radius:0 16px 16px 0;top:50%;left:0;transform:translateY(-50%)}.global-drawer[open]{animation:menu-enter var(--motion-medium) var(--ease-out)}.exercise-drawer[open]{animation:exercise-enter var(--motion-medium) var(--ease-out)}.exercise-toggle{z-index:5;writing-mode:vertical-rl;border-radius:0 12px 12px 0;width:44px;min-height:132px;padding:16px 10px;position:fixed;top:50%;left:0;transform:translateY(-50%);box-shadow:0 4px 16px #16003315}.exercise-toggle:hover:not(:disabled){transform:translateY(-50%)}.exercise-navigation{margin:8px 0 12px}.app-shell.has-exercises{padding-left:60px}@keyframes menu-enter{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes exercise-enter{0%{opacity:0;transform:translate(-100%,-50%)}to{opacity:1;transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.navigation-drawer[open]{animation:none}.exercise-toggle:hover:not(:disabled){transform:translateY(-50%)}}.app-shell .app-stage,.app-shell .app-stage *{min-width:0}.app-shell{position:relative}.app-shell .global-navigation{margin:0 0 8px}.app-shell .saved-indicator{min-height:0;margin:0;font-size:12px;position:absolute;top:18px;right:18px}.saved-indicator:before{content:"●";color:var(--brand-purple);margin-right:6px}.app-stage p{margin:8px 0;line-height:1.5}.app-stage .card{padding:16px}.app-stage .toolbar{gap:8px;margin:10px 0}.app-stage h1{font-size:clamp(26px,3vw,34px)}.app-stage h2{margin:4px 0 8px}.app-stage .learning-shell,.app-stage .car-learning{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;display:grid}.app-stage .car-learning>header{grid-column:1/-1;padding:8px 12px}.app-stage .car-learning>header h1{font-size:21px}.app-stage .exercise-menu{margin:0}.app-stage #lesson-prompt,.app-stage .car-lesson-prompt{align-self:center;margin:0}.app-stage #lesson-prompt .context-help,.app-stage .car-lesson-prompt .context-help{border:0;padding:0}.app-stage #lesson-prompt:has(details[open]){grid-column:1/-1}.app-stage .car-lesson-prompt:has(details[open]){grid-column:1/-1}.app-stage #learning-content,.app-stage .car-learning-stage,.app-stage .lesson-guidance,.app-stage .lesson-actions{grid-column:1/-1}.lesson-guidance:empty{display:none}.lesson-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;margin:6px 0;display:flex}.lesson-actions:empty{display:none}.app-stage .context-help{margin-top:8px;padding:8px 0}.app-stage .car-play{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-content:start;gap:8px 16px;display:grid}.app-stage .car-play>:not(canvas){grid-column:2;margin:0}.app-stage .car-play>canvas{object-fit:contain;grid-area:1/1/span 12;align-self:start;max-height:58svh;margin:0 auto;width:min(100%,58svh)!important}.app-stage .car-play .toolbar{align-content:start}.app-stage .car-play .muted{font-size:12px}.app-stage .car-imitation>h2,.app-stage .car-teach>h2{font-size:20px}.app-stage .car-teach{gap:8px;padding:8px}.app-stage .car-teach>h2,.app-stage .car-teach>p{margin:0}.app-stage .car-teach__list{max-height:250px;padding:4px;overflow:auto}.app-stage .teach__columns{grid-template-columns:minmax(240px,310px) minmax(0,1fr);gap:16px}.app-stage .teach__game{gap:6px}.app-stage .teach__game>h2{display:none}.app-stage .teach__game #teach-role{grid-row:1;margin:0}.app-stage .teach__game canvas{grid-row:2;margin:auto;width:min(100%,260px)!important}.app-stage .teach__game .teach__actions{grid-row:3;gap:6px}.app-stage .teach__game p{font-size:13px}.app-stage .teach__panel{gap:8px}.app-stage .teach__panel h2{font-size:19px}.app-stage .teach__panel .card{padding:12px}.app-stage .dataset-view__list{max-height:230px;overflow:auto}.app-stage .duel-header{margin-bottom:8px}.app-stage .duel-header .eyebrow{display:none}.app-stage .duel-header h1{font-size:27px}.app-stage .duel-header p{font-size:14px}.app-stage .duel-stage{padding:10px}.app-stage .duel-panel{padding:8px}.app-stage .duel-panel canvas{width:min(100%,240px)!important}.app-stage .duel-status{margin:4px 0}.app-stage .duel-stage>.muted{font-size:12px}.app-stage [style*=overflow-x\:auto],.app-stage [style*="overflow-x: auto"]{min-width:0;max-width:100%}.app-stage .circuit-workspace{padding:0}.app-stage .tile-tool-icon{width:26px;height:26px}.app-stage #tile-straight,.app-stage #tile-turn{align-items:center;gap:8px;display:inline-flex}.app-stage [aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--brand-aqua)}.app-stage .track-grid-scroll{max-height:56svh}.app-stage #track-grid{max-width:660px;margin:auto}.app-stage .circuit-files{margin-top:8px}.mode-badge{border-radius:8px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.learning-mode{background:var(--brand-purple);color:#fff}.watching-mode{background:var(--brand-aqua);color:var(--ink)}.practice-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:18px;display:grid}.app-stage .flock-panel{background:var(--bg)}.app-stage .flock-panel canvas{max-width:245px;margin:auto}.app-stage .flock-panel h3{margin:8px 0}.app-stage .practice-training{padding:8px 0}.app-stage .delete-game,.app-stage .confirm-delete{color:#8b1733;background:var(--card);border-color:#8b1733}.app-stage .delete-game{justify-self:start;margin-top:16px}.app-stage .storage-state{display:none}.app-stage .game-home{padding:24px 0}.game-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0;display:grid}.app-stage .game-card{grid-template-rows:160px 1fr;padding:0;display:grid;overflow:hidden}.game-preview{place-items:center;display:grid;position:relative}.flappy-preview{background:#70c5ce}.flappy-preview img{image-rendering:pixelated;transform:translate(-50px)}.preview-pipe{background:url(./pipe-green-B931Rfjb.png) top/52px;width:52px;height:90px;position:absolute;bottom:0;right:20%}.car-preview{background:var(--bg)}.car-preview svg{max-width:100%;height:140px}.game-card-copy{flex-direction:column;align-items:start;gap:8px;padding:20px;display:flex}.game-card-copy h2{margin:0}.game-card-copy button{margin-top:auto}@media (width<=800px){.app-stage .car-play{grid-template-columns:minmax(0,1fr)}.app-stage .car-play>:not(canvas){grid-column:1}.app-stage .car-play>canvas{order:-1;grid-area:auto/1;max-height:50svh}.app-stage .teach__columns,.practice-layout{grid-template-columns:minmax(0,1fr)}.app-stage .learning-shell,.app-stage .car-learning{column-gap:8px}.app-stage .lesson-actions button{font-size:13px}}@media (width<=600px){.app-shell .saved-indicator{margin:2px 0 6px;font-size:11px;position:static}.app-stage .game-cards{grid-template-columns:1fr}.app-stage .game-home{padding:8px 0}.app-stage .car-play .toolbar button{padding:8px 10px}.app-stage .learning-shell,.app-stage .car-learning{grid-template-columns:minmax(0,1fr)}.app-stage #lesson-prompt,.app-stage .car-lesson-prompt{grid-column:1}}.result-chart{border:1px solid var(--border);background:var(--card);border-radius:12px;margin:12px 0;padding:12px}.result-chart h3{margin:0 0 6px;font-size:17px}.result-chart>p{color:var(--muted);font-size:13px}.chart-rows{gap:12px;padding:0;list-style:none;display:grid}.chart-row{grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:12px;font-size:13px;display:grid}.chart-values{gap:6px;display:grid}.chart-value{gap:4px;display:grid}.chart-number{font-variant-numeric:tabular-nums}.chart-track{background:var(--bg);border-radius:3px;height:10px;display:block;position:relative}.chart-bar{border:1px solid #16003350;border-radius:3px;height:10px;display:block;position:absolute}.chart-zero{background:var(--muted);width:1px;height:14px;position:absolute;top:-2px}@media (width<=600px){.chart-row{grid-template-columns:minmax(0,1fr);gap:5px}}.confirmation-dialog{border:1px solid var(--border);max-width:min(480px,100vw - 32px);color:var(--ink);background:var(--card);border-radius:16px;padding:24px}.confirmation-dialog::backdrop{background:#16003355}.confirmation-dialog h2{margin-top:0}.confirmation-dialog .toolbar{justify-content:end}.app-stage .danger{color:#8b1733;background:#fff;border-color:#8b1733}.app-stage .editor-secondary{flex-wrap:wrap;gap:20px;display:flex}.app-stage #editor-selection{color:var(--muted);font-size:12px}.app-stage #editor-status:empty,.app-stage #editor-errors:empty{display:none}.app-stage .track-grid-scroll{padding:6px}.evolution-layout{grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);align-items:start;gap:20px;display:grid}.app-stage .evo-live-scene canvas{object-fit:contain;max-height:52svh;margin:auto}.app-stage .evo-live-scene h3{margin:4px 0}@media (width<=800px){.evolution-layout{grid-template-columns:minmax(0,1fr)}.app-stage .evo-live-scene{grid-row:1}}@media (width>=1000px){.app-stage .car-imitation{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:10px 16px;display:grid}.app-stage .car-imitation>h2,.app-stage .car-imitation>p:not(.car-fit-status),.app-stage .car-imitation>details,.app-stage .car-imitation>.car-clone{grid-column:1/-1}.app-stage .car-imitation>.toolbar{grid-area:3/2;margin-top:0}.app-stage .car-imitation>.car-fit-status{grid-area:4/2}.app-stage .car-imitation>.car-collector{grid-area:3/1/span 4}.app-stage .car-imitation .car-play{grid-template-columns:minmax(0,1fr) 190px;gap:6px;padding:8px}.app-stage .car-imitation .car-play button{padding:8px 10px;font-size:13px}.app-stage .car-imitation .car-play>p{font-size:12px}.app-stage .car-imitation .car-teach>h2,.app-stage .car-imitation .car-clone:empty{display:none}.app-stage .car-imitation .car-play>canvas{max-height:43svh;width:min(100%,43svh)!important}}@media (width<=999px){.app-stage .car-imitation{flex-direction:column;gap:8px;display:flex}.app-stage .car-imitation>h2,.app-stage .car-imitation>p:not(.car-fit-status){order:0}.app-stage .car-imitation>.car-collector{order:1}.app-stage .car-imitation>.toolbar{order:2}.app-stage .car-imitation>.car-fit-status{order:3}.app-stage .car-imitation>.car-clone{order:4}.app-stage .car-imitation>details{order:5}}.app-stage .car-imitation .car-teach>h2{display:none}.app-stage .car-imitation .car-teach>p{font-size:12px}*{box-sizing:border-box}body{min-width:300px;margin:0}main{max-width:1120px;margin:0 auto;padding:clamp(16px,4vw,44px)}h1,h2,h3{letter-spacing:-.025em;line-height:1.15}h1{margin:.3em 0;font-size:clamp(28px,4vw,42px)}h2{font-size:22px}p{line-height:1.65}button,input,select{font:inherit}button{border:1px solid var(--brand-purple);background:var(--brand-purple);color:#fff;cursor:pointer;min-height:44px;transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:12px;padding:11px 18px;font-weight:650}button:hover:not(:disabled){background:var(--brand-purple-dark);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:var(--brand-purple);background:var(--card)}button.secondary:hover:not(:disabled){background:#f1ebff}:focus-visible{outline:3px solid var(--brand-purple-dark);outline-offset:4px}a{color:var(--brand-purple-dark);text-underline-offset:3px}.muted{color:var(--muted)}.eyebrow{color:var(--brand-purple-dark);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:750}.card{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:20px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0;display:flex}.badge{color:var(--ink);background:var(--brand-aqua);border-radius:8px;padding:5px 9px;font-size:13px;font-weight:650;display:inline-block}canvas{border-radius:12px;max-width:100%;height:auto;display:block}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}button:hover:not(:disabled){transform:none}}.app-shell{max-width:1200px;margin:auto;padding:16px}.app-nav{gap:10px;position:relative}.app-nav [aria-current=page]{background:var(--brand-purple-dark);color:#fff}.app-storage{min-height:1.6em}.car-learning{gap:18px;display:grid}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px}.population-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:0;list-style:none;display:grid}.population-grid li{border:1px solid var(--border);border-radius:12px;gap:8px;padding:12px;display:grid}.population-grid meter{width:100%}.context-help{border-top:1px solid var(--border);margin-top:12px;padding:12px 0}.context-help>summary{cursor:pointer;color:var(--brand-purple-dark);min-height:32px;padding:5px 0;font-weight:650}.context-help>p{max-width:72ch;margin:10px 0}.context-help[open]>summary{margin-bottom:10px}.car-lesson-prompt:empty{display:none}.car-learning>.car-lesson-prompt{background:0 0;border:0;padding:0}.car-learning>.car-lesson-prompt .context-help{margin:0}.learning-shell #lesson-prompt{background:0 0;border:0;padding:0}.learning-shell #lesson-prompt .context-help{margin:0}.car-learning,.car-learning-stage>main{padding:0}.learning-shell>nav{margin:12px 0}.toolbar:empty{display:none}.car-learning nav button[aria-current=step],.app-nav button[aria-current=page].secondary:hover:not(:disabled),.learning-shell nav button[aria-current=step].secondary:hover:not(:disabled),.car-learning nav button[aria-current=step].secondary:hover:not(:disabled){background:var(--brand-purple-dark);color:#fff}.app-nav{margin:6px 0 10px}.app-storage{color:var(--muted);margin:8px 0;font-size:13px}.car-learning>header{grid-template-columns:1fr auto;align-items:center;gap:8px;padding:16px;display:grid}.car-learning>header>.eyebrow{display:none}.car-learning>header h1{margin:0;font-size:clamp(26px,3vw,34px)}.car-learning>header>details{border:0;margin:0;padding:0;font-size:14px}.car-learning>header>details[open]{grid-column:1/-1}.car-learning>header>nav{grid-column:1/-1;gap:8px;margin:8px 0 0}.car-learning>header>nav button{padding:9px 12px;font-size:14px}@media (width<=600px){.car-learning>header{grid-template-columns:1fr}}.demo-artwork{text-align:center;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2vh,24px);width:100%;height:100%;min-height:0;margin:0;display:grid}.demo-artwork__image{object-fit:contain;width:100%;height:100%;min-height:0;max-height:100%;display:block}.demo-artwork__caption{color:var(--ink);margin:0;font-size:clamp(20px,2vw,38px);font-weight:650;line-height:1.3}.demo-artwork__labels{grid-template-columns:repeat(var(--labels),minmax(0,1fr));gap:8px;display:grid}.demo-artwork__labels span{min-width:0}.demo-artwork__fallback{max-width:48ch;color:var(--muted);margin:auto;font-size:clamp(20px,2vw,38px);line-height:1.4}.demo-artwork[aria-busy=true]{min-height:160px}@media (width<=1000px){.demo-artwork{height:auto}.demo-artwork__image{height:auto;max-height:58svh}}@media (width<=600px){.demo-artwork__caption{font-size:18px}.demo-artwork__labels{gap:4px;font-size:clamp(13px,3.5vw,18px)}}.game-fullscreen:fullscreen{box-sizing:border-box;background:var(--bg,#f8f7f3);width:100%;max-width:none;height:100%;padding:clamp(12px,2vw,28px);overflow:auto}:is(.game-fullscreen:fullscreen .duel-panel canvas,.game-fullscreen:fullscreen .teach__game canvas){max-width:none;width:min(100%,75svh - 180px)!important}.game-fullscreen:fullscreen .arena-canvas{width:min(100%,75svh - 165px)!important}.game-fullscreen:fullscreen .model-match-field canvas{width:min(100%,75svh - 165px)!important}.game-fullscreen:fullscreen .race-canvas{max-height:70vh}.game-fullscreen:fullscreen .car-game-canvas{width:min(100%,var(--game-screen-width))!important}.game-fullscreen-button{margin:8px 0}.app-stage .car-play>.game-fullscreen{grid-column:1/-1;min-width:0}.app-stage .car-play .car-game-canvas{max-width:100%;height:auto;margin:auto;display:block}.app-stage .flappy-lesson .duel-stage:fullscreen .duel-panel canvas{max-width:none;width:min(100%,75svh - 180px)!important}.app-stage .flappy-lesson .teach__game:fullscreen canvas{max-width:none;width:min(100%,75svh - 180px)!important}.game-fullscreen:fullscreen>.muted{display:none}.game-fullscreen:fullscreen #practice-reset-baseline{display:none}.app-stage .parallel-practice .parallel-canvas{width:min(100%,75svh - 165px)!important}.game-fullscreen:fullscreen .parallel-feedback{padding:12px}.app-stage .flappy-arena .game-fullscreen:fullscreen .arena-canvas{width:min(100%,75svh - 165px)!important}.app-stage .model-match .game-fullscreen:fullscreen .model-match-field canvas{width:min(100%,75svh - 165px)!important}:is(.app-shell:has(.duel-stage),.app-shell:has(.teach__game),.app-shell:has(.parallel-practice),.app-shell:has(.car-play),.app-shell:has(.car-race),.app-shell:has(.evo-live-scene),.app-shell:has(.model-match),.app-shell:has(.flappy-arena)),:is(.app-stage .flappy-lesson:has(.duel-stage),.app-stage .flappy-lesson:has(.teach__game),.app-stage .flappy-lesson:has(.parallel-practice)),.app-stage .model-match{max-width:none}.app-stage .evo-live-scene canvas{max-height:70svh}:is(.app-stage .car-lesson:has(.car-play),.app-stage .car-lesson:has(.car-race),.app-stage .car-lesson:has(.evo-live-scene)){max-width:none;padding-inline:clamp(12px,1.5vw,28px)}.game-fullscreen:fullscreen .car-game-canvas{object-fit:contain;width:auto!important;max-width:100%!important;height:calc(100svh - 200px)!important}.game-fullscreen:fullscreen .vehicle-choice{display:none}.show-floor{--demo-gap:clamp(8px,1.2vh,18px);background:var(--bg);max-width:none;min-height:100svh;color:var(--ink);margin:0;padding:clamp(14px,1.8vw,32px)}.demo-presentation{gap:var(--demo-gap);grid-template-rows:auto auto auto minmax(0,1fr) auto;width:100%;min-height:calc(100svh - 64px);display:grid;position:relative}.demo-presentation:fullscreen{background:var(--bg);min-height:100svh;padding:clamp(14px,1.8vw,32px);overflow:auto}.show-floor [hidden]{display:none!important}.demo-header{align-items:center;gap:20px;min-height:38px;display:flex}.demo-brand{color:var(--brand-purple);font-size:clamp(20px,1.7vw,32px);font-weight:800;text-decoration:none}.demo-chapter{color:var(--muted);margin:0;font-size:clamp(14px,1.1vw,24px)}.demo-operators{z-index:20;margin-left:auto;position:relative}.demo-operators summary{cursor:pointer;color:var(--muted);border-radius:12px;padding:10px 12px;font-size:14px}.demo-operators summary:focus-visible{outline:3px solid var(--brand-purple);outline-offset:3px}.demo-menu-panel{border:1px solid var(--border);background:#fff;border-radius:14px;gap:10px;width:min(380px,100vw - 40px);max-height:75svh;padding:18px;display:grid;position:absolute;top:100%;right:0;overflow:auto;box-shadow:0 12px 36px #16003322}.demo-menu-panel button{font-size:14px}.demo-menu-panel p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.demo-menu-panel .demo-details{border-top:1px solid var(--border);padding-top:12px}.demo-heading{text-align:center}.demo-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(32px,4.3vw,88px);line-height:1.05}.demo-body{max-width:65ch;margin:10px auto 0;font-size:clamp(18px,1.75vw,38px);line-height:1.35}.demo-state{color:var(--brand-purple-dark);background:#f1ebff;border:1px solid #5200ff30;border-radius:999px;margin-bottom:8px;padding:4px 12px;font-size:clamp(14px,1.2vw,24px);font-weight:750;display:inline-block}.demo-track{align-items:center;gap:18px;display:flex}.demo-progress{background:var(--border);border-radius:20px;flex:1;height:10px;position:relative;overflow:hidden}.demo-progress>span{background:var(--brand-purple);height:100%;display:block;position:relative}.demo-progress>span:after{content:"";background:repeating-linear-gradient(110deg,#0000 0 18px,#ffffff70 20px 32px,#0000 34px 50px);animation:1.3s linear infinite demo-flow;position:absolute;inset:0}.demo-time{font-variant-numeric:tabular-nums;text-align:right;min-width:4ch;font-size:clamp(24px,2.3vw,48px);font-weight:800}.demo-screen{align-items:center;min-width:0;min-height:0;display:grid;position:relative}.demo-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(18px,1.55vw,32px);display:flex}.demo-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.demo-a{color:#1c603b;width:1.8em;height:1.8em;box-shadow:none;background:#e9fff0;border:2px solid #1c603b;border-radius:50%;place-items:center;font:800 1em/1 system-ui,sans-serif;display:inline-grid}.demo-drive-cue{color:var(--muted);margin-left:12px;font-size:.85em}.demo-count{color:var(--brand-purple-dark);font-variant-numeric:tabular-nums;margin:0;font-weight:750}.demo-notice{z-index:10;border:1px solid var(--brand-purple);text-align:center;background:#fffdf7f5;border-radius:14px;justify-self:center;max-width:80%;margin:0;padding:12px 20px;font-size:clamp(18px,1.4vw,30px);position:absolute;bottom:60px;box-shadow:0 8px 24px #16003320}.demo-bird-fields{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:center;gap:clamp(8px,1.1vw,24px);display:grid}.demo-bird-panel{border:3px solid var(--seat);background:#fff;border-radius:16px;min-width:0;overflow:hidden}.demo-field{background:#70c5ce;place-items:center;display:grid;position:relative}.demo-bird-fields canvas{border-radius:0;height:auto;margin:auto;width:min(100%,75svh - 195px)!important;max-width:none!important}.demo-bird-panel footer{grid-template-columns:1fr auto;align-items:center;gap:5px 10px;padding:clamp(10px,1vw,20px);font-size:clamp(15px,1.2vw,26px);display:grid}.demo-bird-panel strong{color:var(--seat);font-size:clamp(18px,1.5vw,32px)}.demo-source{width:max-content;color:var(--muted);background:#f1ebff;border-radius:999px;grid-area:2/1/auto/-1;justify-self:start;padding:2px 8px;font-size:clamp(12px,.9vw,20px)}.demo-score{white-space:nowrap;grid-area:1/2}.demo-player-out{color:#fff;background:#160033dd;border-radius:12px;padding:6px 12px;font-size:clamp(13px,1vw,20px);position:absolute;bottom:12px}.demo-round-banner{border:2px solid var(--brand-purple);color:var(--brand-purple);text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffdf7ee;border-radius:18px;padding:24px;font-size:clamp(38px,5vw,90px);font-weight:800;position:absolute;inset:30% 12% auto}.demo-car-canvas{object-fit:contain;border:1px solid var(--border);background:var(--bg);max-height:64svh;margin:auto;display:block;width:100%!important;max-width:none!important;height:auto!important}.demo-car-hud{justify-content:center;gap:16px;padding-top:12px;font-size:clamp(17px,1.3vw,30px);display:flex}.demo-car-hud>div{border-bottom:3px solid var(--seat);grid-template-columns:1fr auto;align-items:center;gap:6px 18px;min-width:15%;padding:4px 10px;display:grid}.demo-car-hud strong{color:var(--seat)}.demo-training-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);place-items:center;gap:4vw;display:grid}.demo-training-layout .demo-flock{width:min(100%,75svh - 195px)!important;max-width:none!important}.demo-training-model{align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid}.demo-splash-art{text-align:center;width:100%;max-width:none;height:100%;min-height:0;margin:auto}@keyframes demo-flow{to{background-position:100px 0}}.show-floor[data-paused=true] *,.show-floor[data-paused=true] :after{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.show-floor *,.show-floor :after{transition:none!important;animation:none!important}}@media (width>=2400px){.demo-heading h1{font-size:104px}}@media (width<=1000px){.demo-bird-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-bird-fields canvas{width:100%!important}.demo-car-hud{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.demo-drive-cue{margin-left:0}}@media (width<=600px){.demo-header{flex-wrap:wrap;gap:8px}.demo-chapter{font-size:13px}.demo-presentation{min-height:calc(100svh - 28px)}.demo-heading h1{font-size:32px}.demo-training-layout{grid-template-columns:1fr}.demo-training-model{width:100%;max-width:600px;height:auto;margin:auto}.demo-training-layout .demo-flock{width:min(100%,300px)!important}.demo-screen .demo-round-banner{font-size:30px;inset:30% 4% auto}.demo-menu-panel{position:fixed;top:70px;right:14px}.demo-notice{max-width:95%;bottom:80px}.demo-source{font-size:11px}.demo-bird-panel footer{gap:4px;padding:7px;font-size:12px}.demo-bird-panel strong{font-size:16px}}@media (width>=1001px){.show-floor{--demo-pad:clamp(14px,1.8vw,32px);padding:var(--demo-pad)}.demo-presentation{height:calc(100svh - 2*var(--demo-pad));min-height:0}.demo-presentation:fullscreen{height:100svh;min-height:0}.demo-bird-fields{height:100%;min-height:0}.demo-bird-panel{flex-direction:column;min-height:0;display:flex}.demo-field{flex:1;min-height:0}.demo-bird-fields canvas{object-fit:contain;max-height:100%;width:100%!important;height:100%!important}.demo-bird-panel footer{flex-shrink:0;min-height:clamp(76px,6vw,125px)}.demo-screen:has(.demo-car-canvas){grid-template-rows:minmax(0,1fr) auto}.demo-car-canvas{min-height:0;max-height:100%;height:100%!important}.demo-training-layout{height:100%;min-height:0}.demo-training-layout .demo-flock{object-fit:contain;width:auto!important;max-width:100%!important;height:100%!important}}.demo-car-hud:empty{display:none}.demo-car-training-canvas{object-fit:contain;background:#f8f7f3;min-width:0;min-height:0;max-height:100%;margin:auto;display:block;width:100%!important;max-width:none!important;height:100%!important}@media (width<=1000px){.demo-car-training-canvas{aspect-ratio:1;width:min(100%,68svh)!important;height:auto!important}}.demo-split-option{align-items:center;gap:.5em;display:flex}.demo-split-help:empty{display:none}.demo-car-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,2vw,24px);width:100%;min-width:0;height:100%;min-height:0;display:grid}.demo-car-split-pane{text-align:center;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;font-size:clamp(14px,1.3vw,24px);display:grid}.demo-car-split-pane .demo-car-training-canvas{min-width:0;min-height:0;width:100%!important;height:100%!important}@media (width<=600px){.demo-car-split{gap:8px}.demo-car-split-pane{font-size:14px}}.app-shell.is-landing{max-width:none;padding:0}.app-shell.is-landing>.app-navigation,.app-shell.is-landing>.toolbar,.app-shell.is-landing>footer{display:none}.landing-page{color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.landing-page a{text-decoration:none}.landing-page a:focus-visible,.landing-page button:focus-visible{outline:3px solid var(--brand-purple-dark);outline-offset:4px}.landing-page main{max-width:none;margin:0;padding:0}.landing-page .lp-skip{z-index:30;background:var(--brand-purple);color:#fff;border-radius:10px;padding:12px;position:fixed;top:-100px;left:16px}.landing-page .lp-skip:focus{top:12px}.landing-page .lp-header{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffed;position:sticky;top:0}.landing-page .lp-nav{justify-content:space-between;align-items:center;gap:24px;max-width:1180px;margin:auto;padding:16px 22px;display:flex}.landing-page .lp-brand{color:var(--ink);line-height:1.25;display:grid}.landing-page .lp-brand strong{font-weight:850}.landing-page .lp-brand span{color:var(--muted);font-size:13px}.landing-page .lp-nav-panel{align-items:center;gap:22px;display:flex}.landing-page .lp-nav-links{align-items:center;gap:4px;display:flex}.landing-page .lp-nav-links a{color:var(--muted);border-radius:12px;padding:10px;font-size:14px;font-weight:700}.landing-page .lp-nav-links a:hover{color:var(--brand-purple);background:#f1ebff}.landing-page .lp-menu{min-width:44px;color:var(--brand-purple);background:#fff;padding:8px;font-size:22px;display:none}.landing-page .lp-menu:hover{background:var(--brand-purple);color:#fff}.landing-page .lp-section{max-width:1180px;margin:auto;padding:68px 22px;scroll-margin-top:100px}.landing-page .lp-hero{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:50px;padding-top:68px;padding-bottom:78px;display:grid}.landing-page .lp-hero h1{color:var(--brand-purple-dark);letter-spacing:-.035em;margin:0;font-size:clamp(42px,4.7vw,64px);font-weight:800;line-height:.98}.landing-page .lp-hero h1 span{display:block}.landing-page .lp-hero-copy>p{color:var(--muted);margin:26px 0 0;font-size:18px;line-height:1.6}.landing-page .lp-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.landing-page .lp-button{min-height:48px;transition:transform var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:13px 20px;font-size:14px;font-weight:800;line-height:1.3;display:inline-flex}.landing-page .lp-button:hover{transform:translateY(-1px)}.landing-page .lp-primary{color:#fff;background:var(--brand-purple);box-shadow:0 12px 24px #5200ff24}.landing-page .lp-primary:hover{background:var(--brand-purple-dark)}.landing-page .lp-secondary{color:var(--brand-purple);background:#fff;border-color:#5200ff30}.landing-page .lp-secondary:hover{background:#f1ebff}.landing-page .lp-light{color:var(--brand-purple);background:#fff}.landing-page .lp-preview{background:var(--ink);color:#fff;border-radius:24px;margin:0;padding:22px;box-shadow:0 18px 55px #16003320}.landing-page .lp-window{background:#ffffff09;border:1px solid #ffffff24;border-radius:16px;overflow:hidden}.landing-page .lp-window-bar{color:#e2ddea;background:#ffffff08;align-items:center;gap:12px;padding:14px;font-size:12px;font-weight:700;display:flex}.landing-page .lp-window-dots{gap:5px;display:flex}.landing-page .lp-window-dots i{background:#a397b4;border-radius:50%;width:7px;height:7px}.landing-page .lp-window-games{grid-template-columns:.85fr 1.15fr;gap:12px;padding:14px;display:grid}.landing-page .lp-bird-scene{background:#70c5ce;border-radius:12px;height:235px;position:relative;overflow:hidden}.landing-page .lp-bird-scene img{width:42px;height:auto;image-rendering:pixelated;position:absolute;top:43%;left:18%}.landing-page .lp-pipe{background:url(./pipe-green-B931Rfjb.png) top/40px;width:40px;position:absolute;right:12%}.landing-page .lp-pipe-top{height:70px;top:0;transform:rotate(180deg)}.landing-page .lp-pipe-bottom{height:65px;bottom:20px}.landing-page .lp-ground{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVAAAABwCAYAAABIMyhbAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAItSURBVHhe7dshTlxhGIbRuV0KpiFN0OwAU1lE19EN4NE4FsAuWAUBDIp0F00rGDBNv977qJnkHDNXvfL5PzPLt/OL3zsANvu0/wVgo+X117ULFCBwgQJEy4/7s00X6OnnL/uvdR6fH/Zf69if2Z/Zn9mfbd13gQJEqy9QL9fM/sz+zP7sUPddoADRfy9QL9fM/sz+zP7s0PddoADRPy9QL9fM/sz+zP7sWPZdoADRXxeol2Vmf2Z/Zn92bPsuUIDo4wL1sszsz+zP7M+Odd8FChAttz+/r/on0jsv18z+zP7M/uzQ9l2gANFyeXWy6QIF4I0LFCBaHu++ukABAhcoQLS8PN24QAECFyhAJKAAkYACRAIKEAkoQCSgAJGAAkQCChAJKEAkoACRgAJEAgoQCShAJKAAkYACRAIKEAkoQCSgAJGAAkQCChAJKEAkoACRgAJEAgoQCShAJKAAkYACRAIKEAkoQCSgAJGAAkQCChAJKEAkoACRgAJEAgoQCShAJKAAkYACRAIKEAkoQCSgAJGAAkQCChAJKEAkoACRgAJEAgoQCShAJKAAkYACRAIKEAkoQCSgAJGAAkQCChAJKEAkoACRgAJEAgoQCShAJKAAkYACRAIKEAkoQCSgAJGAAkQCChAJKEAkoACRgAJEAgoQCShAJKAAkYACRAIKEAkoQCSgAJGAAkQCChAJKEAkoACRgAJEAgoQCShAJKAAkYACRAIKEAkoQLLb/QEAzkI/RFMimQAAAABJRU5ErkJggg==) 0 0/200px;height:20px;position:absolute;bottom:0;left:0;right:0}.landing-page .lp-track-scene{background:var(--bg);border-radius:12px;place-items:center;min-height:0;display:grid}.landing-page .lp-track-scene svg{width:100%;max-height:235px;display:block}.landing-page .lp-preview-route{flex-wrap:wrap;justify-content:center;gap:8px;padding:0 12px 14px;display:flex}.landing-page .lp-preview-route span{color:#e2ddea;background:#ffffff10;border-radius:8px;padding:6px 9px;font-size:12px}.landing-page .lp-preview-route span:first-child{color:var(--ink);background:var(--brand-aqua)}.landing-page .lp-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--brand-purple-dark);margin:0 0 10px;font-size:12px;font-weight:750}.landing-page .lp-section h2{letter-spacing:-.03em;color:var(--brand-purple-dark);margin:0 0 14px;font-size:clamp(29px,3.8vw,44px);line-height:1.08}.landing-page .lp-section h3{letter-spacing:-.015em;margin:0 0 10px;font-size:20px;line-height:1.25}.landing-page .lp-lede{max-width:760px;color:var(--muted);margin:0 0 26px;font-size:17px;line-height:1.6}.landing-page .lp-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 28px #16003308}.landing-page .lp-card p{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.landing-page .lp-game-section{border-block:1px solid var(--border)}.landing-page .lp-game-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;display:grid}.landing-page .lp-game-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.landing-page .lp-game-art{background:#eee9e0;height:220px}.landing-page .lp-game-art .lp-bird-scene,.landing-page .lp-game-art .lp-track-scene{border-radius:0;height:100%}.landing-page .lp-game-copy{flex-direction:column;flex:1;align-items:start;gap:14px;padding:24px;display:flex}.landing-page .lp-game-copy h3{margin:0;font-size:24px}.landing-page .lp-game-copy .lp-button{margin-top:auto}.landing-page .lp-small-note{background:var(--brand-aqua);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700}.landing-page .lp-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0 0;padding:0;list-style:none;display:grid}.landing-page .lp-path li{border-top:2px solid var(--brand-purple);border-right:1px solid var(--border);background:#fff;padding:18px}.landing-page .lp-step-number{color:var(--brand-purple-dark);margin-bottom:12px;font-size:12px;font-weight:800;display:block}.landing-page .lp-path p{color:var(--muted);font-size:14px;line-height:1.6}.landing-page .lp-teacher-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:24px;display:grid}.landing-page .lp-teacher-points{gap:14px;margin:24px 0 0;padding:0;list-style:none;display:grid}.landing-page .lp-teacher-points li{color:var(--muted);padding-left:18px;font-size:15px;position:relative}.landing-page .lp-teacher-points li:before{content:"";background:var(--brand-purple);border-radius:50%;width:7px;height:7px;position:absolute;top:.5em;left:0}.landing-page .lp-classroom{background:#f1ebff;border:1px solid #e2d5ff;border-radius:16px;padding:28px}.landing-page .lp-classroom p{color:var(--muted);margin:12px 0;font-size:15px;line-height:1.7}.landing-page .lp-literacy{padding-top:16px}.landing-page .lp-literacy-goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px;margin:0 0 24px;padding:0;list-style:none;display:grid}.landing-page .lp-literacy-goals li{border-left:3px solid var(--border);padding-left:18px}.landing-page .lp-literacy-goals p{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.landing-page .lp-goal-reference{color:var(--muted);margin-top:8px;font-size:12px;display:block}.landing-page .lp-framework-source{color:var(--brand-purple-dark);text-underline-offset:3px;font-size:14px;text-decoration:underline}@media (width<=600px){.landing-page .lp-literacy-goals{grid-template-columns:minmax(0,1fr)}}.landing-page .lp-last-section{padding-top:16px}.landing-page .lp-closing{background:var(--brand-purple-dark);color:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:28px;padding:36px;display:flex}.landing-page .lp-closing h2{color:#fff;font-size:32px}.landing-page .lp-closing .lp-button{flex-shrink:0}.landing-page .lp-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;max-width:1180px;margin:auto;padding:30px 22px 40px;display:flex}.landing-page .lp-footer strong{font-size:16px}.landing-page .lp-footer p{color:var(--muted);font-size:13px;line-height:1.6}.landing-page .lp-footer nav{flex-wrap:wrap;gap:12px 20px;display:flex}.landing-page .lp-footer a{color:var(--muted);text-underline-offset:3px;font-size:13px;text-decoration:underline}@media (width<=1050px){.landing-page .lp-nav{gap:14px}.landing-page .lp-nav-panel{gap:12px}.landing-page .lp-nav-links a{padding:8px}.landing-page .lp-hero{gap:30px}}@media (width<=1100px){.landing-page .lp-nav{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:12px 18px;display:grid}.landing-page .lp-menu{grid-area:1/1;justify-content:center;align-items:center;display:inline-flex}.landing-page .lp-brand{grid-area:1/2}.landing-page .lp-brand span{display:none}.landing-page .lp-nav-panel{border:1px solid var(--border);background:#fff;border-radius:12px;grid-column:1/-1;padding:14px;display:none}.landing-page .lp-nav-panel.is-open{gap:14px;display:grid}.landing-page .lp-nav-links{display:grid}.landing-page .lp-hero{grid-template-columns:1fr;gap:36px}.landing-page .lp-hero h1{font-size:clamp(38px,7.5vw,64px)}.landing-page .lp-preview{justify-self:center;width:100%;max-width:540px}.landing-page .lp-card{padding:20px}.landing-page .lp-game-art{height:160px;min-height:0}.landing-page .lp-game-art .lp-track-scene svg{max-height:150px}.landing-page .lp-teacher-grid{grid-template-columns:1fr}.landing-page .lp-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.landing-page .lp-path li{border-right:0;border-radius:0 0 12px 12px}.landing-page .lp-closing{flex-direction:column;align-items:start}}@media (width<=600px){.landing-page .lp-section{padding:48px 18px;scroll-margin-top:80px}.landing-page .lp-hero{padding-top:44px}.landing-page .lp-hero-copy>p{margin-top:22px;font-size:17px}.landing-page .lp-actions{grid-template-columns:1fr;width:100%;margin-top:24px;display:grid}.landing-page .lp-button{width:100%}.landing-page .lp-game-cards,.landing-page .lp-path{grid-template-columns:minmax(0,1fr)}.landing-page .lp-preview{border-radius:20px;padding:14px}.landing-page .lp-window-games{gap:8px;padding:10px}.landing-page .lp-bird-scene{height:200px}.landing-page .lp-bird-scene img{width:34px}.landing-page .lp-window-bar{gap:8px;padding:12px;font-size:11px}.landing-page .lp-preview-route{gap:5px;padding:0 6px 10px}.landing-page .lp-preview-route span{padding:5px 7px;font-size:11px}.landing-page .lp-game-copy{padding:20px}.landing-page .lp-closing{padding:26px 22px}.landing-page .lp-footer{flex-direction:column;align-items:start}}@media (prefers-reduced-motion:reduce){.landing-page .lp-button{transition:none}.landing-page .lp-button:hover{transform:none}}.landing-page .lp-hero-copy>.lp-kicker{color:var(--brand-purple-dark);margin:0 0 18px;font-size:12px}.landing-page .lp-bird-scene .lp-bird-0{opacity:.45;top:30%;left:14%}.landing-page .lp-bird-scene .lp-bird-1{top:48%;left:25%}.landing-page .lp-bird-scene .lp-bird-2{opacity:.65;top:62%;left:8%}.landing-page .lp-path li{border-right:0;border-radius:0 0 12px 12px}.landing-page .lp-anchor{scroll-margin-top:100px;display:block}@media (width<=600px){.landing-page .lp-hero-copy>.lp-kicker{margin-bottom:14px}.landing-page .lp-game-art{height:200px}.landing-page .lp-game-art .lp-track-scene svg{max-height:195px}}.landing-page .lp-family-tree{border:1px solid var(--border);background:#ffffffe0;border-radius:24px;margin-top:34px;padding:24px;font-size:16px;line-height:normal;box-shadow:0 10px 30px #20143614}.landing-page .lp-tree-root{justify-content:center;margin-bottom:24px;display:flex}.landing-page .lp-tree-node{border:1px solid var(--border);min-width:0;color:inherit;overflow-wrap:anywhere;transition:transform var(--motion-medium) var(--ease-out), box-shadow var(--motion-medium) var(--ease-out), border-color var(--motion-fast) var(--ease-standard);background:#fff;border-radius:18px;padding:18px;display:block;box-shadow:0 10px 28px #5200ff14}.landing-page .lp-tree-node strong{color:var(--brand-purple-dark);margin-bottom:5px;font-size:1.05rem;font-weight:900;display:block}.landing-page .lp-tree-node span{color:var(--muted);line-height:1.45;display:block}.landing-page .lp-tree-node.root{border-color:var(--brand-purple);background:var(--brand-purple);text-align:center;width:min(560px,100%)}.landing-page .lp-tree-node.root strong,.landing-page .lp-tree-node.root span{color:#fff}.landing-page .lp-tree-node:hover,.landing-page .lp-tree-node:focus-visible{border-color:var(--brand-purple);transform:translateY(-2px);box-shadow:0 18px 38px #5200ff24}.landing-page .lp-tree-branches{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid;position:relative}.landing-page .lp-tree-branches:before{content:"";background:var(--brand-purple);opacity:.32;width:2px;height:24px;position:absolute;top:-24px;left:50%}.landing-page .lp-tree-branch{background:linear-gradient(#f7f3ffeb,#fffffff0);border:1.5px dashed #5200ff47;border-radius:24px;min-width:0;padding:18px;position:relative}.landing-page .lp-tree-branch:before{content:"";border-top:2px solid #5200ff52;width:50%;height:17px;position:absolute;top:-17px}.landing-page .lp-tree-branch:first-child:before{border-left:2px solid #5200ff52;border-radius:14px 0 0;right:0}.landing-page .lp-tree-branch:last-child:before{border-right:2px solid #5200ff52;border-radius:0 14px 0 0;left:0}.landing-page .lp-branch-title{background:var(--brand-aqua);color:#0d2130;border-radius:999px;margin-bottom:14px;padding:8px 13px;font-weight:900;display:inline-flex}.landing-page .lp-tree-stack{gap:12px;display:grid}.landing-page .lp-tree-node.current{border-color:var(--brand-purple);box-shadow:0 0 0 4px #5200ff14,0 16px 32px #5200ff24}.landing-page .lp-tree-node.dodona{background:linear-gradient(135deg,#fff,#dffff7);border-color:#03ddefb8}.landing-page .lp-delphi-dodona-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}@media (width<=980px){.landing-page .lp-tree-branches,.landing-page .lp-delphi-dodona-pair{grid-template-columns:minmax(0,1fr)}.landing-page .lp-tree-branches:before,.landing-page .lp-tree-branch:before{display:none}}@media (width<=560px){.landing-page .lp-family-tree{padding:16px}}@media (prefers-reduced-motion:reduce){.landing-page .lp-tree-node{transition:none}.landing-page .lp-tree-node:hover,.landing-page .lp-tree-node:focus-visible{transform:none}}.landing-page .lp-privacy-list{gap:14px;margin-top:28px;display:grid}.landing-page .lp-privacy-details summary{cursor:pointer;color:var(--brand-purple-dark);font-size:18px;font-weight:750}.landing-page .lp-privacy-details summary:focus-visible{outline:3px solid var(--brand-purple-dark);outline-offset:4px}.landing-page .lp-privacy-content{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.landing-page .lp-privacy-content p+p{margin-top:14px}.landing-page .lp-privacy-content a{color:var(--brand-purple-dark);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.landing-page .lp-language{background:#fff;border:1px solid #5200ff38;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px;display:inline-flex}.landing-page .lp-language a{min-width:44px;min-height:36px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:8px 10px;font-size:.86rem;font-weight:900}.landing-page .lp-language a[aria-current=page]{color:#fff;background:#5200ff}.landing-page .lp-language a:focus-visible{outline-offset:3px;outline:3px solid #5200ff}@media (width<=1100px){.landing-page .lp-nav{grid-template-columns:44px minmax(0,1fr) auto}.landing-page .lp-language{grid-area:1/3}.landing-page .lp-menu{grid-area:1/1}.landing-page .lp-brand{grid-area:1/2}}dialog.training-gym{--gym-lilac:#f1ebff;--gym-line:#d8ccef;box-sizing:border-box;border:1px solid var(--border);width:min(560px,100vw - 32px);max-width:560px;max-height:calc(100dvh - 32px);color:var(--ink);background:var(--bg);border-radius:16px;padding:clamp(18px,3.5vw,28px);overflow:auto;box-shadow:0 18px 56px #16003330}dialog.training-gym[open]{display:block}dialog.training-gym::backdrop{background:#16003388}.training-gym,.training-gym *{box-sizing:border-box}.training-gym .gym-kicker{color:var(--brand-purple-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:12px;font-weight:750}.training-gym .gym-heading{color:var(--brand-purple-dark);letter-spacing:-.025em;margin:0;font-size:clamp(23px,4vw,30px);line-height:1.12}.training-gym .gym-scene{border:1px solid var(--gym-line);background:radial-gradient(ellipse at 50% 90%, #e1d4ff 0, transparent 62%), linear-gradient(180deg, #fff 0%, var(--gym-lilac) 100%);border-radius:14px;place-items:center;height:154px;margin:15px 0 10px;display:grid;position:relative;overflow:hidden}.training-gym .gym-wall-label{color:var(--brand-purple-dark);letter-spacing:.15em;background:#fff;border:1px solid #d8ccef;border-radius:8px;padding:4px 10px;font-size:10px;font-weight:800;position:absolute;top:12px;left:50%;transform:translate(-50%)}.training-gym .gym-floor{background:#b9a8db;height:2px;position:absolute;bottom:18px;left:0;right:0}.training-gym .gym-mat{background:#c5b0f4;border:1px solid #9c82cf;border-radius:5px;width:176px;height:12px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.training-gym .gym-lifter{width:112px;height:112px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.training-gym .gym-bird{object-fit:contain;width:88px;height:88px;image-rendering:pixelated;transform-origin:50% 90%;position:absolute;bottom:1px;left:12px}.training-gym .gym-barbell{z-index:1;transform-origin:50% 100%;width:112px;height:auto;position:absolute;top:2px;left:0;overflow:visible}.training-gym .gym-metaphor{color:var(--muted);text-align:center;margin:0 0 14px;font-size:13px;line-height:1.45}.training-gym .gym-explanation{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:14px 16px}.training-gym .gym-explanation h3{color:var(--brand-purple-dark);margin:0 0 8px;font-size:15px}.training-gym .gym-loop{gap:7px;margin:0;padding-left:22px;font-size:14px;line-height:1.5;display:grid}.training-gym .gym-loop li::marker{color:var(--brand-purple);font-weight:800}.training-gym .gym-loop strong{margin-right:4px}.training-gym .gym-progress-row{align-items:center;gap:10px;margin:14px 0 5px;display:flex}.training-gym progress{width:100%;height:10px;accent-color:var(--brand-purple);background:#e9e2f3;border:0;border-radius:99px;flex:1;display:block;overflow:hidden}.training-gym progress::-webkit-progress-bar{background:#e9e2f3;border-radius:99px}.training-gym progress::-webkit-progress-value{background:var(--brand-purple);border-radius:99px}.training-gym progress::-moz-progress-bar{background:var(--brand-purple);border-radius:99px}.training-gym .gym-count{min-width:74px;color:var(--muted);text-align:right;font-size:12px}.training-gym .gym-status,.training-gym .gym-result-copy{min-height:1.4em;color:var(--muted);margin:0;font-size:13px;line-height:1.4}.training-gym[data-state=error] .gym-status{color:#9b1c31}.training-gym[data-state=complete] .gym-status{color:#17643d}.training-gym .gym-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.training-gym .gym-actions button{min-width:44px;min-height:44px;font:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:10px;padding:9px 14px;font-size:14px;font-weight:650}.training-gym .gym-actions button:hover:not(:disabled){transform:translateY(-1px)}.training-gym .gym-actions button:focus-visible{outline:3px solid var(--brand-purple-dark);outline-offset:3px}.training-gym .gym-actions button.secondary{border:1px solid var(--brand-purple);color:var(--brand-purple-dark);background:var(--card)}.training-gym .gym-actions button:not(.secondary){border:1px solid var(--brand-purple);color:#fff;background:var(--brand-purple)}.training-gym .gym-actions button:not(.secondary):hover:not(:disabled){background:var(--brand-purple-dark)}.training-gym .gym-actions button:disabled{cursor:default;opacity:.58}@keyframes gym-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-4px)rotate(2deg)}}@keyframes gym-lift{0%,to{transform:rotate(0)translateY(0)}48%{transform:rotate(-8deg)translateY(-11px)}72%{transform:rotate(3deg)translateY(-5px)}}.training-gym[data-state=running][data-animation=playing] .gym-bird{animation:1.8s ease-in-out infinite gym-bob}.training-gym[data-state=running][data-animation=playing] .gym-barbell{animation:2.2s ease-in-out infinite gym-lift}@media (width<=560px){dialog.training-gym{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:16px}.training-gym .gym-scene{height:142px;margin-top:12px}.training-gym .gym-explanation{padding:12px}.training-gym .gym-actions{justify-content:stretch}.training-gym .gym-actions button{flex:auto}}@media (height<=650px){dialog.training-gym{padding-block:14px}.training-gym .gym-scene{height:126px;margin-block:10px 7px}.training-gym .gym-lifter{transform-origin:bottom;transform:translate(-50%)scale(.86)}.training-gym .gym-metaphor{margin-bottom:9px}.training-gym .gym-explanation{padding-block:10px}.training-gym .gym-actions{margin-top:10px}}@media (prefers-reduced-motion:reduce){.training-gym *,.training-gym :before,.training-gym :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.training-gym [hidden]{display:none!important}.training-gym .gym-wall-label{left:14px;transform:none}.training-gym .gym-lifter:before,.training-gym .gym-lifter:after{content:"";transform-origin:bottom;background:#d65a3b;border:1px solid #703722;width:6px;height:44px;position:absolute;top:17px}.training-gym .gym-lifter:before{left:29px;transform:rotate(12deg)}.training-gym .gym-lifter:after{right:29px;transform:rotate(-12deg)}.training-gym .gym-bird{z-index:1}.training-gym .gym-barbell{z-index:2}.training-gym .gym-lifter:before,.training-gym .gym-lifter:after{z-index:0}@keyframes gym-wing-left{50%{transform:translateY(-4px)rotate(12deg)scaleY(1.16)}}@keyframes gym-wing-right{50%{transform:translateY(-4px)rotate(-12deg)scaleY(1.16)}}.training-gym[data-state=running][data-animation=playing] .gym-barbell{animation-duration:1.8s}.training-gym[data-state=running][data-animation=playing] .gym-lifter:before{animation:1.8s ease-in-out infinite gym-wing-left}.training-gym[data-state=running][data-animation=playing] .gym-lifter:after{animation:1.8s ease-in-out infinite gym-wing-right}.practice-gym .practice-gym-metrics{color:var(--ink);margin:8px 0;font-size:14px;font-weight:650}.practice-gym .gym-actions{justify-content:flex-start}.practice-gym .gym-loop strong{display:inline}.parallel-fast-note{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:14px 16px;line-height:1.5}.parallel-fast-note strong{color:var(--brand-purple-dark);display:block}.parallel-practice .parallel-layout[hidden],.parallel-fast-note[hidden]{display:none!important}.parallel-fast-result{border:1px solid var(--border);background:var(--bg);border-radius:14px;margin-top:20px;padding:20px}.parallel-fast-result[hidden]{display:none!important}.parallel-fast-result p{margin:0 0 12px}.parallel-practice{padding:clamp(16px,3vw,28px)!important}.parallel-controls{flex-wrap:wrap;gap:16px;margin:20px 0 12px;display:flex}.parallel-controls label{flex:170px;gap:8px;font-weight:650;display:grid}.parallel-epoch{color:var(--muted);max-width:75ch;font-size:15px}.parallel-layout{grid-template-columns:minmax(260px,1fr) minmax(260px,.85fr);align-items:start;gap:28px;margin-top:24px;display:grid}.parallel-game{text-align:center}.app-stage .parallel-practice .parallel-canvas{margin:16px auto;width:min(100%,440px)!important}.parallel-agents{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.parallel-agents span{border:1px solid var(--brand-purple);background:#ece4ff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;display:grid}.parallel-agents .is-finished{background:var(--bg);color:var(--muted);border-color:var(--border)}.parallel-feedback{border:1px solid var(--border);background:var(--bg);text-align:center;border-radius:16px;padding:24px}.parallel-model{background:var(--card);border:2px solid var(--border);border-radius:14px;justify-items:center;gap:10px;padding:20px;display:grid}.parallel-model .se-chip{width:200px;max-width:100%;height:auto}.parallel-model.is-updating{border-color:var(--brand-purple);box-shadow:0 0 0 5px #5200ff18}.parallel-model.is-updating svg{animation:.4s infinite alternate learning-pulse}.parallel-flow-arrow{color:var(--brand-purple);margin:10px;font-size:28px;display:block}.parallel-numbers{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.parallel-numbers p{gap:5px;font-size:14px;display:grid}.parallel-numbers strong{color:var(--brand-purple-dark);font-size:26px}.parallel-feedback progress{width:100%;margin-top:18px}@keyframes learning-pulse{to{opacity:.5;transform:scale(1.02)}}@media (width<=760px){.parallel-layout{grid-template-columns:minmax(0,1fr)}.parallel-feedback{padding:16px}}@media (prefers-reduced-motion:reduce){.parallel-practice *{transition:none!important;animation:none!important}}.model-match{--match-ink:var(--ink,#160033);--match-muted:var(--muted,#625b70);--match-border:var(--border,#e2ddea);color:var(--match-ink);max-width:1440px;margin:0 auto;padding:clamp(1rem,3vw,2rem)}.model-match header{text-align:center;max-width:780px;margin:0 auto 1.25rem}.model-match h1{margin:.25rem 0 .65rem}.model-match header p:last-child{color:var(--match-muted)}.model-match-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;margin:1rem auto;display:flex}.model-match-status{text-align:center;flex:100%;min-height:1.5em;font-weight:650}.model-match-controls button,.model-match-missing button{min-height:44px}.model-match-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1.25rem);display:grid}.model-match-player{border:1px solid var(--match-border);background:var(--card,#fff);border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 2px 10px #1600330c}.model-match-field{background:#eef9f7;place-items:center;min-height:180px;padding:.4rem;display:grid;position:relative}.model-match-field canvas{aspect-ratio:3/4;border-radius:9px;width:100%;max-width:360px;height:auto;display:block}.model-match-out{color:#fff;background:#160033e8;border-radius:999px;padding:.35rem .55rem;font-size:.85rem;position:absolute;inset:auto .65rem .65rem}.model-match-player footer{gap:.3rem;padding:.8rem .9rem;display:grid}.model-match-player footer strong{align-items:center;gap:.5rem;display:flex}.model-match-dot{background:var(--player-color);border-radius:50%;flex:none;width:.75rem;height:.75rem}.model-match-score,.model-match-state{color:var(--match-muted);font-size:.9rem}.model-match-red{--player-color:#dc3925}.model-match-blue{--player-color:#2054b4}.model-match-yellow{--player-color:#8a6700}.model-match-purple{--player-color:#5200ff}.model-match-player.is-out .model-match-field canvas{opacity:.68}.model-match-player.is-out .model-match-state{color:var(--match-ink);font-weight:650}.model-match-missing,.model-match-results{border:1px solid var(--match-border);background:var(--card,#fff);border-radius:14px;max-width:900px;margin:1rem auto;padding:1rem 1.2rem}.model-match-missing p{margin:.4rem 0 .8rem}.model-match-hint{text-align:center;color:var(--match-muted);font-size:.9rem}.model-match :focus-visible{outline:3px solid var(--brand-purple,#5200ff);outline-offset:3px}@media (width<=900px){.model-match-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.model-match{padding:.9rem}.model-match-fields{grid-template-columns:minmax(0,1fr);max-width:420px;margin:auto}.model-match-controls{gap:.5rem}.model-match-controls button{flex:auto}.model-match-field{min-height:220px}}@media (prefers-reduced-motion:no-preference){.model-match-player{transition:transform var(--motion-fast,.15s) var(--ease-standard,cubic-bezier(.2,0,0,1)),box-shadow var(--motion-fast,.15s) var(--ease-standard,cubic-bezier(.2,0,0,1))}.model-match-player:hover{transform:translateY(-1px);box-shadow:0 5px 16px #16003318}}.app-shell:has(.model-match){max-width:1920px}.app-stage .flappy-lesson:has(.model-match){max-width:none}.model-match{max-width:1800px;padding:8px 0}.model-match-field canvas{max-width:none;width:min(100%,75svh - 255px)!important}.model-match-player{border:2px solid var(--player-color)}.model-match-player footer{border-top:2px solid var(--player-color)}@media (width<=900px){.model-match-field canvas{width:min(100%,360px)!important}}.model-match-results ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.model-match-results li{gap:4px;display:grid}@media (width<=520px){.model-match-results ul{grid-template-columns:1fr}}.lesson-illustration{--li-paper:#fbfaf6;--li-ink:#292536;--li-purple:#7655aa;--li-line:#867c8f;color:var(--li-ink);background:var(--li-paper);border:1px solid #ded9e2;border-radius:14px;padding:clamp(14px,3vw,24px);font:500 14px/1.4 system-ui,sans-serif;overflow:hidden}.lesson-illustration *,.lesson-illustration :before,.lesson-illustration :after{box-sizing:border-box}.lesson-illustration p{margin:0}.li-eyebrow,.li-scene-label{color:#625b70;letter-spacing:.02em;font-size:.78rem;font-weight:700;display:block}.li-play-layout{grid-template-columns:minmax(120px,.8fr) minmax(180px,1fr);align-items:center;gap:16px;min-height:250px;display:grid;position:relative}.li-play-copy{align-self:start;max-width:190px;padding-top:22px}.li-play-copy p{margin-top:8px;font-size:1.05rem}.li-game{background:linear-gradient(#e7f0eb 0 78%,#e5d7b4 78%);border:1px solid #d7d7c9;border-radius:12px;width:100%;max-width:250px;height:220px;margin:auto;position:relative;overflow:hidden}.li-game .li-bird{z-index:2;object-fit:contain;width:44px;height:31px;image-rendering:pixelated;animation:1.25s ease-in-out infinite li-flap;position:absolute;top:44%;left:29%}.li-pipe{z-index:1;background:#8caf61;border:2px solid #52663f;width:48px;position:absolute;right:8%}.li-pipe:after{content:"";background:#8caf61;border:2px solid #52663f;width:58px;height:12px;position:absolute;left:-7px}.li-pipe-top{height:31%;top:0}.li-pipe-top:after{bottom:0}.li-pipe-bottom{height:27%;bottom:22%}.li-pipe-bottom:after{top:0}.li-opening{border-left:1px dashed #655b6c;width:17%;height:20%;position:absolute;top:31%;right:0}.li-ground{background:repeating-linear-gradient(135deg,#d6c49c 0 9px,#e4d4ad 9px 18px);border-top:2px solid #a18c69;width:100%;height:22%;position:absolute;bottom:0}.li-cloud{opacity:.8;background:#fffdf7;border-radius:50%;width:42px;height:14px;animation:5s linear infinite li-cloud-drift;position:absolute}.li-cloud:before{content:"";background:inherit;border-radius:50%;width:20px;height:18px;position:absolute;top:-8px;left:8px}.li-cloud-one{top:18%;left:12%}.li-cloud-two{animation-delay:-2.5s;top:10%;left:62%}.li-action{color:var(--li-purple);align-items:center;gap:8px;animation:1.25s ease-in-out infinite li-attend;display:flex;position:absolute;top:38%;left:43%}.li-look{font-size:22px}.li-action-line{border-top:2px dotted;width:36px}.li-flap-mark{font-size:24px;font-weight:800}.li-teach-flow{grid-template-columns:minmax(130px,1.2fr) 24px minmax(90px,.8fr) minmax(180px,1.2fr) 24px minmax(100px,.8fr);align-items:center;gap:8px;display:grid}.li-human,.li-observer,.li-notes,.li-folder{text-align:center;min-width:0}.li-human .li-game{max-width:180px;height:146px;margin-top:8px}.li-human .li-game .li-bird{width:34px;height:24px}.li-human .li-pipe{width:34px}.li-human .li-pipe:after{width:42px}.li-controller{background:#eee9f3;border:2px solid #5e5366;border-radius:10px 10px 15px 15px;width:72px;height:28px;margin:5px auto 0;position:relative}.li-controller span:first-child{border-top:3px solid #5e5366;width:14px;position:absolute;top:11px;left:10px}.li-controller span:nth-child(2){border-left:3px solid #5e5366;height:13px;position:absolute;top:6px;left:15px}.li-controller i{background:var(--li-purple);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:12px}.li-flow-arrow{color:var(--li-purple);text-align:center;font-size:22px;font-weight:700}.li-computer{width:76px;margin:15px auto 0}.li-screen{background:#f1edf6;border:3px solid #514c57;border-radius:7px;place-items:center;height:56px;display:grid}.li-computer-base{border-top:7px solid #74697a;border-left:8px solid #0000;border-right:8px solid #0000;width:88px;margin-left:-6px}.li-eye{border:2px solid var(--li-purple);border-radius:100% 0;place-items:center;width:34px;height:20px;display:grid;position:relative;transform:rotate(45deg)}.li-eye i{background:var(--li-purple);border-radius:50%;width:8px;height:8px}.li-notes ul{text-align:left;background:#fffefa;border:1px solid #ded5c9;border-radius:9px;margin:8px 0 0;padding:10px 12px;font-size:.78rem;list-style:none;box-shadow:2px 3px #e8e2d7}.li-notes li{border-bottom:1px solid #eee9e1;padding:3px 0}.li-notes li:last-child{border:0}.li-folder-shape{background:#ead7ad;border:2px solid #aa8650;border-radius:5px 8px 8px;max-width:110px;margin:15px auto 0;padding:28px 8px 12px;font-weight:700;position:relative}.li-folder-shape:before{content:"";background:#ead7ad;border:2px solid #aa8650;border-bottom:0;border-radius:5px 5px 0 0;width:42px;height:10px;position:absolute;top:-10px;left:-2px}.li-caption{text-align:center;color:#4f4858;margin-top:16px!important}.li-practice-flow{grid-template-columns:minmax(145px,1fr) 24px minmax(140px,1fr) 24px minmax(155px,1fr);align-items:center;gap:8px;min-height:190px;display:grid;position:relative}.li-model{text-align:center;width:max-content;max-width:100%;margin:auto}.li-model svg{width:144px;max-width:100%;margin:auto;display:block}.li-weights path{fill:none;stroke:#92889a;stroke-width:1.5px}.li-weights circle{fill:#fdfbf7;stroke:var(--li-purple);stroke-width:2px}.li-model span{margin-top:4px;font-size:.8rem;font-weight:700;display:block}.li-flock{text-align:center;grid-template-columns:repeat(2,1fr);align-items:center;gap:8px 4px;display:grid}.li-flock-bird{background:#fffefa;border:1px solid #e3dfe7;border-radius:8px;padding:5px 2px}.li-flock-bird img{object-fit:contain;width:34px;height:24px;image-rendering:pixelated;margin:0 auto 3px;display:block}.li-flock>.li-scene-label{grid-column:1/-1}.li-feedback>div{gap:8px;margin-top:10px;display:grid}.li-success,.li-failure{background:#fffefa;border:1px solid #dcd6df;border-radius:8px;padding:7px 9px;font-size:.76rem}.li-success{color:#315d45}.li-failure{color:#65534e}.li-practice-model{position:relative}.li-return-arrow{display:none}.li-page-hidden *,.li-page-hidden :before,.li-page-hidden :after{animation-play-state:paused!important}@keyframes li-flap{0%,to{transform:translateY(0)rotate(5deg)}50%{transform:translateY(-13px)rotate(-9deg)}}@keyframes li-attend{0%,to{opacity:.65;transform:translateY(2px)}50%{opacity:1;transform:translateY(-3px)}}@keyframes li-cloud-drift{0%{translate:0}to{translate:18px}}@media (width>=700px){.li-practice-flow:after{content:"";pointer-events:none;border-bottom:2px dashed #aa9db5;border-radius:0 0 50% 50%;height:26px;position:absolute;top:calc(50% + 55px);left:9%;right:9%}.li-return-arrow{display:block;position:absolute;bottom:12px;left:5%;transform:rotate(-25deg)}}@media (width<=760px){.li-teach-flow{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:14px 7px}.li-teach-flow>:first-child{grid-column:1}.li-teach-flow>:nth-child(2){grid-column:2}.li-teach-flow>:nth-child(3){grid-column:3}.li-teach-flow>:nth-child(4){grid-area:2/1/auto/3}.li-teach-flow>:nth-child(5){grid-area:2/3}.li-teach-flow>:nth-child(6){grid-area:3/1/auto/4}.li-teach-flow .li-human .li-game{height:128px}.li-notes ul{max-width:240px;margin-left:auto;margin-right:auto}.li-practice-flow{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:16px 5px}.li-practice-flow>:first-child{grid-area:1/1}.li-practice-flow>:nth-child(2){grid-area:1/2}.li-practice-flow>:nth-child(3){grid-area:1/3}.li-practice-flow>:nth-child(4),.li-practice-flow>:nth-child(5){display:none}.li-feedback{grid-area:2/1/auto/4;width:100%}.li-feedback>div{grid-template-columns:1fr 1fr}.li-return-arrow{display:none}}@media (width<=390px){.lesson-illustration{padding:12px}.li-play-layout{grid-template-columns:1fr;gap:10px}.li-play-copy{padding-top:0}.li-game{height:190px}.li-action{top:42%;left:auto;right:22%}.li-teach-flow{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:12px 5px}.li-teach-flow .li-scene-label{font-size:.7rem}.li-teach-flow .li-notes ul{padding:8px;font-size:.72rem}.li-practice-flow{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}.li-model svg{width:122px}.li-success,.li-failure{padding:6px 5px;font-size:.68rem}}@media (prefers-reduced-motion:reduce){.lesson-illustration *,.lesson-illustration :before,.lesson-illustration :after{scroll-behavior:auto!important;animation:none!important}}.li-practice .li-model svg{background:#ffffff70;border:1px solid #92889a;border-radius:10px;padding:5px}.li-flock{grid-template-columns:repeat(4,minmax(0,1fr))}.li-flock-bird img{width:26px;height:19px}.li-flock-bird span{font-size:.65rem}.li-flock-bird{min-width:0}.li-flock-bird img{width:100%;max-width:26px;height:auto}@media (width<=560px){.li-flock{grid-template-columns:repeat(3,minmax(0,1fr))}}.sch-flow{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:start;gap:14px;margin:18px 0;display:grid}.sch-flow--three{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr)}.sch-object{text-align:center;min-width:0}.sch-label{color:#25221d;margin:0 0 12px;font:700 15px/1.4 system-ui,sans-serif;display:block}.sch-platform{isolation:isolate;color:#25221d;background:#fffdf7;border:1px solid #958b7a;border-radius:12px;min-height:110px;margin-bottom:14px;padding:18px 14px 22px;position:relative}.sch-platform:after{content:"";z-index:-1;background:#d9d1c2;border:1px solid #958b7a;border-top:0;border-radius:0 0 8px 8px;height:22px;position:absolute;bottom:-9px;left:8px;right:-5px;transform:skew(-20deg)}.sch-object.is-active .sch-platform{border-color:var(--brand-purple-dark);box-shadow:inset 0 0 0 1px var(--brand-purple-dark);background:#f0e9ff}.sch-arrow{text-align:center;color:var(--brand-purple-dark);align-self:center;font:700 27px/1 system-ui,sans-serif}.sch-object svg{width:100%;height:auto;display:block}.sch-object .sch-big{font-size:28px;font-weight:750;line-height:1.3;display:block}.sch-object .sch-small{margin-top:8px;font:14px/1.5 system-ui,sans-serif;display:block}@media (width<=600px){.sch-flow,.sch-flow--three{grid-template-columns:minmax(0,1fr);gap:12px}.sch-arrow{margin:3px 0;transform:rotate(90deg)}.sch-platform{min-height:88px}}@media (prefers-reduced-motion:reduce){.sch-flow *{transition:none!important;animation:none!important}}.sch-platform .se-chip{width:120px;max-width:100%;height:86px;margin:auto;display:block}.se-explainer{--se-paper:#f2eee4;--se-ink:#25221d;background:var(--se-paper);color:var(--se-ink);border:1px solid var(--border);border-radius:14px;gap:16px;margin:20px 0;padding:clamp(16px,3vw,24px);display:grid}.se-explainer>h2{margin:0;font:700 clamp(22px,3.5vw,28px)/1.2 ui-monospace,Consolas,monospace}.se-explainer p{margin:0;font-size:15px;line-height:1.6}.se-explainer .se-note,.se-explainer .se-source{color:#5f594f;font-size:13px}.se-explainer .se-controls{flex-wrap:wrap;gap:8px;display:flex}.se-explainer button{min-height:44px;color:var(--se-ink);background:#fffdf7;border:1px solid #958b7a;border-radius:12px;padding:10px 14px;font:650 14px/1.4 system-ui,sans-serif}.se-explainer button:hover:not(:disabled){background:#e8e0d2}.se-explainer button[aria-pressed=true]{border-color:var(--brand-purple-dark);box-shadow:inset 0 0 0 1px var(--brand-purple-dark);background:#eee6ff}.se-explainer button:focus-visible{outline:3px solid var(--brand-purple-dark);outline-offset:3px}.se-explainer .se-game{border:1px solid #958b7a;border-radius:10px;width:auto;max-width:100%;max-height:220px;margin:auto}.se-explainer .se-game image{image-rendering:pixelated}.se-explainer .se-chip{max-width:120px;max-height:86px;margin:auto}.se-explainer .se-readout{border-block:1px solid #b8afa0;min-height:54px;padding:14px 0;font-size:15px;line-height:1.6}.se-explainer .se-readout p{margin-top:7px}.se-explainer .se-score{margin-top:20px}.se-explainer details{font-size:14px}.se-explainer details summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:650}.se-explainer details p{margin-top:8px;font-size:14px}.se-coverage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.se-explainer .se-coverage-item{background:0 0;min-width:0;padding:12px}.se-coverage-item .sch-platform{min-height:106px;margin-bottom:8px;padding:8px;display:block}.se-coverage-item .sch-label{min-height:40px}.se-coverage-item .se-stack{color:var(--brand-purple-dark);padding:12px;font-size:22px;line-height:.55;display:block}.se-coverage-item .se-count{font-size:14px;font-weight:650;display:block}.se-coverage-item[data-present=false] .se-stack{visibility:hidden}.se-benches{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.se-explainer .se-bench{background:0 0;min-width:0}.se-bench .sch-platform{margin-bottom:8px;padding:10px;display:block}.se-bench .sch-small{min-height:42px}.se-birds{background:#fffdf7;border:1px solid #958b7a;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;display:grid}.se-bird{border:1px solid #d9d1c2;border-radius:8px;justify-items:center;gap:4px;min-width:0;padding:8px 2px;display:grid}.se-bird img{image-rendering:pixelated;transition:transform .26s var(--ease-out)}.se-bird[data-action="1"]{border-color:var(--brand-purple-dark);background:#eee6ff}.se-bird[data-action="1"] img{transform:translateY(-4px)}.se-bird-id{color:#5f594f;font-size:12px}.se-bird-action{font:600 12px/1.4 system-ui,sans-serif}.frozen-flock-explainer .se-flock-flow{grid-template-columns:minmax(120px,.7fr) 24px minmax(0,1.3fr)}.frozen-flock-explainer[data-connections=false] .se-connection{visibility:hidden}@media (width<=600px){.se-explainer{padding:14px}.se-benches,.se-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.se-explainer .se-controls button{flex:130px}.frozen-flock-explainer .se-flock-flow{grid-template-columns:minmax(0,1fr)}.se-birds{grid-template-columns:repeat(3,minmax(0,1fr))}.se-bird-action{font-size:14px}}@media (prefers-reduced-motion:reduce){.se-explainer *{transition:none!important;animation:none!important}}@media (width<=600px){.se-explainer .se-coverage-item{padding:10px 5px}.se-benches{grid-template-columns:minmax(0,1fr)}.se-bench .sch-platform{grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;display:grid}.se-bench .sch-small{min-height:0;margin:0}}.skinner-box{--sb-paper:#f2eee4;--sb-ink:#25221d;--sb-muted:#5f594f;--sb-rule:#b8afa0;border:1px solid var(--border);color:var(--sb-ink);background:var(--sb-paper);border-radius:14px;gap:14px;padding:clamp(16px,3vw,24px);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.skinner-box *,.skinner-box :before,.skinner-box :after{box-sizing:border-box}.skinner-box .sb__header{max-width:760px}.skinner-box .sb__eyebrow,.skinner-box .sb__label{color:var(--sb-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:750}.skinner-box .sb__header h3{color:var(--sb-ink);margin:0 0 8px;font-size:clamp(23px,4vw,30px);line-height:1.12}.skinner-box .sb__header>p:last-child,.skinner-box .sb__step-copy{color:#39352e;margin:0;font-family:system-ui,sans-serif;font-size:14px;line-height:1.55}.skinner-box .sb__figure{margin:0}.skinner-box .sb__stage{background-color:var(--sb-paper);background-image:radial-gradient(#81776530 .7px,#0000 .7px);background-size:8px 8px;border:1px solid #c8bead;overflow:hidden}.skinner-box .sb__drawing{width:100%;height:auto;display:block}.skinner-box .sb__chamber-shadow{fill:#24211c1b}.skinner-box .sb__floor{fill:#d9d1c2;stroke:var(--sb-ink);stroke-width:4px;stroke-linejoin:round}.skinner-box .sb__side{fill:#c7bdad;stroke:var(--sb-ink);stroke-width:4px;stroke-linejoin:round}.skinner-box .sb__back{fill:#e2dacb;stroke:var(--sb-ink);stroke-width:4px;stroke-linejoin:round}.skinner-box .sb__cutaway{fill:url(#sb-paper);stroke:var(--sb-ink);stroke-width:4px;stroke-linejoin:round}.skinner-box .sb__wire{fill:none;stroke:var(--sb-ink);stroke-width:4px;stroke-linejoin:round}.skinner-box .sb__perch{fill:#b5a998;stroke:var(--sb-ink);stroke-width:3px;stroke-linejoin:round}.skinner-box .sb__perch-front{fill:#978b79;stroke:var(--sb-ink);stroke-width:3px;stroke-linejoin:round}.skinner-box .sb__hopper path{fill:#d3c9b8;stroke:var(--sb-ink);stroke-width:3px;stroke-linejoin:round}.skinner-box .sb__food{fill:#a97934;stroke:#503b22;stroke-width:2px}.skinner-box .sb__tray,.skinner-box .sb__tray-front{fill:#c3b8a7;stroke:var(--sb-ink);stroke-width:3px;stroke-linejoin:round}.skinner-box .sb__lever-base{fill:#8d8375;stroke:var(--sb-ink);stroke-width:3px;stroke-linejoin:round}.skinner-box .sb__lever{fill:none;stroke:var(--sb-ink);stroke-width:7px;stroke-linecap:round}.skinner-box .sb__lever-knob{fill:#5c5142;stroke:var(--sb-ink);stroke-width:3px}.skinner-box .sb__leader{fill:none;stroke:#544d42;stroke-width:2.5px;stroke-linecap:round}.skinner-box .sb__labels{fill:var(--sb-ink);letter-spacing:.04em;font-size:21px;font-weight:800}.skinner-box .sb__reward rect{fill:#fff9e9;stroke:var(--sb-ink);stroke-width:3px}.skinner-box .sb__reward text{fill:var(--sb-ink);font-size:22px;font-weight:800}.skinner-box .sb__paper-grain{fill:url(#sb-paper);opacity:.12;pointer-events:none}.skinner-box .sb__caption{color:var(--sb-muted);margin-top:6px;font:12px/1.45 system-ui,sans-serif}.skinner-box .sb__readout{border-top:1px solid var(--sb-rule);border-bottom:1px solid var(--sb-rule);grid-template-columns:minmax(140px,.7fr) minmax(0,2fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.skinner-box .sb__readout h3{color:var(--sb-ink);margin:0;font-size:15px}.skinner-box .sb__counter{border:1px solid var(--sb-rule);color:var(--sb-ink);white-space:nowrap;border-radius:8px;margin:0;padding:7px 10px;font:12px/1.35 system-ui,sans-serif}.skinner-box .sb__counter strong{font-size:16px}.skinner-box .sb__controls{flex-wrap:wrap;gap:8px;display:flex}.skinner-box .sb__controls button{min-width:44px;min-height:44px;color:var(--sb-ink);cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);background:#fffdf7;border:1px solid #39342d;border-radius:12px;padding:9px 14px;font:650 14px/1.2 system-ui,sans-serif}.skinner-box .sb__controls button:hover{background:#e8e0d2;transform:translateY(-1px)}.skinner-box .sb__controls button:focus-visible{outline:3px solid var(--brand-purple-dark);outline-offset:3px}.skinner-box .sb__reward[hidden]{display:none}@media (width<=560px){.skinner-box{gap:11px;padding:14px}.skinner-box .sb__readout{grid-template-columns:1fr auto;gap:8px}.skinner-box .sb__step-copy{grid-area:2/1/auto/-1}.skinner-box .sb__controls button{flex:100px}}@media (prefers-reduced-motion:reduce){.skinner-box *,.skinner-box :before,.skinner-box :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.skinner-box .sb__floor-grid{fill:none;stroke:#a69984;stroke-width:1px;opacity:.5}.skinner-box .sb__bird-shadow{fill:#25221d24}.skinner-box .sb__bird{transition:transform .85s var(--ease-standard);image-rendering:pixelated}.skinner-box .sb__lever-arm{transform-box:view-box;transform-origin:518px 275px;transition:transform .52s var(--ease-standard)}.skinner-box[data-step=action] .sb__lever-arm{transform:rotate(17deg)}.skinner-box .sb__food{opacity:0;fill:#a97934;stroke:#503b22;stroke-width:2px}.skinner-box[data-step=feedback] .sb__food{opacity:1;animation:sb-food-drop .85s var(--ease-out) both}@keyframes sb-food-drop{0%{opacity:0;transform:translateY(-82px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.skinner-box .sb__bird,.skinner-box .sb__lever-arm{transition:none}.skinner-box .sb__food{animation:none}}.skinner-box .sb__key,.skinner-box .sb__mobile-markers{display:none}@media (width<=560px){.skinner-box .sb__labels,.skinner-box .sb__leader{display:none}.skinner-box .sb__mobile-markers{display:block}.skinner-box .sb__mobile-markers circle{fill:#fffdf7;stroke:var(--sb-ink);stroke-width:3px}.skinner-box .sb__mobile-markers text{fill:var(--sb-ink);font-size:40px;font-weight:700}.skinner-box .sb__key{flex-wrap:wrap;gap:6px 14px;font:13px/1.5 system-ui,sans-serif;display:flex}.skinner-box .sb__key div{gap:6px;display:flex}.skinner-box .sb__key dt{font-weight:750}.skinner-box .sb__key dd{margin:0}}.skinner-box .sb__key{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.skinner-box .sb__key button{min-height:44px;color:var(--sb-ink);border:1px solid var(--sb-rule);background:#fffdf7;padding:9px 12px;font-size:14px}.skinner-box .sb__key button[aria-pressed=true]{border-color:var(--brand-purple-dark);box-shadow:inset 0 0 0 1px var(--brand-purple-dark);background:#eee6ff}.skinner-box[data-part=lever] .sb__lever,.skinner-box[data-part=lever] .sb__lever-knob,.skinner-box[data-part=hopper] .sb__hopper path,.skinner-box[data-part=tray] .sb__tray,.skinner-box[data-part=tray] .sb__tray-front{stroke:var(--brand-purple-dark);stroke-width:5px}.skinner-box{font-family:system-ui,sans-serif}.skinner-box .sb__lamp path{fill:#4e473d;stroke:var(--sb-ink);stroke-width:3px;stroke-linejoin:round}.skinner-box .sb__lamp-bulb{fill:#9b9388;stroke:var(--sb-ink);stroke-width:3px}.skinner-box[data-condition=green] .sb__lamp-bulb{fill:#20834e;stroke:#145e36}.skinner-box[data-condition=red] .sb__lamp-bulb{fill:#d83a39;stroke:#9e2224}.skinner-box .sb__shock{fill:none;stroke:#db5748;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round;display:none}.skinner-box[data-step=red-shock] .sb__shock{animation:.42s ease-out both sb-shock-flash;display:block}.skinner-box .sb__penalty rect{fill:#fff0ed;stroke:#a92f2d;stroke-width:3px}.skinner-box .sb__penalty text{fill:#8d2422;font-size:22px;font-weight:800}.skinner-box[data-step=green-food] .sb__food{opacity:1}.skinner-box[data-step=green-food] .sb__reward rect{fill:#ecfff3;stroke:#237c4c}.skinner-box .sb__counter{font-family:system-ui,sans-serif}@keyframes sb-shock-flash{0%,to{opacity:.35}35%{opacity:1}}@media (prefers-reduced-motion:reduce){.skinner-box[data-step=red-shock] .sb__shock,.skinner-box[data-step=green-food] .sb__food{animation:none}}.reward-lesson{margin:30px 0}.reward-lesson section+section{margin-top:32px}.reward-lesson p{line-height:1.7}.reward-lesson .reward-goal{background:var(--bg);border-left:4px solid var(--brand-purple);border-radius:0 12px 12px 0;padding:16px 20px}.reward-rules{border:1px solid var(--border);border-radius:12px;gap:0;margin:18px 0;display:grid;overflow:hidden}.reward-rules>div{grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px;display:grid}.reward-rules>div+div{border-top:1px solid var(--border)}.reward-rules dt{font-weight:600}.reward-rules dd{margin:0}.reward-rules dd strong{color:var(--brand-purple-dark)}.reward-lesson .context-help{margin:20px 0}@media (width<=500px){.reward-rules>div{grid-template-columns:minmax(0,1fr);gap:6px}}.app-shell:has(.flappy-arena){max-width:1920px}.app-stage .flappy-lesson.flappy-lesson--arena{max-width:none}.flappy-lesson--arena>.lesson-pages,.flappy-lesson--arena>.lesson-delete{display:none}.flappy-arena{--arena-red:#b92d21;--arena-blue:#245ac3;--arena-yellow:#8a6100;--arena-purple:#6330c5;width:100%;padding:8px 0 0}.arena-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.arena-header h1{margin:6px 0}.arena-header .eyebrow{margin:0}.arena-header>button{flex-shrink:0}.arena-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.arena-actions{flex-shrink:0;gap:8px;display:flex}.arena-status{max-width:72ch}.arena-stage{position:relative}.arena-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.arena-panel{--player-colour:var(--arena-red);border:2px solid var(--player-colour);background:var(--card);border-radius:14px;overflow:hidden}.arena-blue{--player-colour:var(--arena-blue)}.arena-yellow{--player-colour:var(--arena-yellow)}.arena-purple{--player-colour:var(--arena-purple)}.arena-field{background:#70c5ce;place-items:center;display:grid;position:relative}.app-stage .flappy-arena .arena-canvas{max-width:none;height:auto;image-rendering:pixelated;border-radius:0;width:min(100%,75svh - 217.5px)!important}.arena-player-marker{border-top:2px solid var(--player-colour);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;padding:13px 14px;display:flex}.app-stage .arena-player-marker h2{align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.app-stage .arena-player-marker p{margin:0;font-size:13px}.arena-colour-dot{background:var(--player-colour);border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.arena-seat{text-align:center;background:linear-gradient(#f8f7f3f0,#f8f7f3e8);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:14px;display:flex;position:absolute;inset:0}.arena-seat strong{font-size:clamp(19px,2vw,27px)}.arena-seat-detail{max-width:24ch;font-size:14px;line-height:1.5}.arena-bird{width:102px;height:72px;image-rendering:pixelated;margin:10px 0 18px;animation:2.2s ease-in-out infinite arena-hover}.arena-panel:not(.is-joined) .arena-bird{opacity:.5}.arena-panel.is-joined .arena-seat{background:linear-gradient(#fffdf9e6,#fffdf9d9)}.arena-panel.is-joined .arena-bird{animation:arena-arrive .5s var(--ease-out) both,arena-hover 2.2s .5s ease-in-out infinite}.arena-panel.is-ready .arena-seat-title:before{content:"✓ ";color:var(--player-colour)}.arena-panel.is-ready .arena-seat{box-shadow:inset 0 -5px var(--player-colour)}.flappy-arena:not([data-phase=lobby]) .arena-seat{display:none}.arena-out{color:#fff;background:#160033e8;border-radius:10px;padding:8px 20px;font-weight:700;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.arena-overlay{z-index:2;background:#16003359;border-radius:14px;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.arena-overlay>div{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:16px;width:min(480px,100%);padding:28px;box-shadow:0 16px 50px #16003326}.arena-overlay .arena-count{color:var(--brand-purple-dark);margin:0;font-size:clamp(48px,10vw,100px)}.arena-overlay-label{color:var(--muted);font-weight:650}.arena-overlay .arena-pause-detail{margin:12px 0 20px}.flappy-arena[data-phase=paused] .arena-count{font-size:36px}.arena-bottom{justify-content:space-between;align-items:start;gap:16px;padding:12px 0;display:flex}.arena-control-hint{font-size:14px;font-weight:650}.arena-options{max-width:540px;font-size:14px}.arena-options summary{cursor:pointer;min-height:44px;color:var(--brand-purple-dark);padding:8px 0;font-weight:650}.arena-options p{margin:12px 0}.arena-options .arena-mapping-note{color:var(--muted);font-size:13px}.arena-results{border:1px solid var(--border);background:var(--card);border-radius:16px;margin:0 0 18px;padding:20px}.arena-results h2{color:var(--brand-purple-dark)}.arena-standings{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;list-style:none;display:grid}.arena-standings li{border:1px solid var(--border);border-radius:10px;gap:6px;padding:12px;display:grid}.arena-standings span{font-size:14px}.flappy-arena:fullscreen{background:var(--bg);padding:clamp(16px,2vw,32px);overflow:auto}.app-stage .flappy-arena:fullscreen .arena-canvas{width:min(100%,75svh - 195px)!important}@keyframes arena-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes arena-arrive{0%{opacity:0;transform:translate(-30px,14px)}to{opacity:1;transform:translate(0)}}@media (width<=1000px){.arena-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.app-stage .flappy-arena .arena-canvas{width:min(100%,360px)!important}.arena-standings{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=550px){.arena-header,.arena-toolbar,.arena-bottom{flex-direction:column;align-items:stretch;gap:10px}.arena-header h1{font-size:26px}.arena-header>button{align-self:start}.arena-toolbar{padding:12px 0 16px}.arena-actions button{flex:1}.arena-fields,.arena-standings{grid-template-columns:minmax(0,1fr)}.arena-overlay{align-items:start;padding-top:40px}.arena-overlay>div{position:sticky;top:16px}.arena-options{width:100%}}@media (prefers-reduced-motion:reduce){.flappy-arena *{transition:none!important;animation:none!important}}.flappy-lesson{max-width:1280px;margin:auto;scroll-margin-top:16px}.app-shell:has(.flappy-lesson)>footer{display:none}.lesson-illustration-host:empty,.lesson-reward-host:empty{display:none}.compare-lineup{padding-left:24px;line-height:1.8}.teach-data-stages{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.teach-data-stages li{border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:14px}.teach-data-stages .is-done{color:var(--brand-purple-dark);border-color:var(--brand-purple);background:#eee7ff}.teach-assessments:empty{display:none}.teach-assessments p,.training-run-list li{background:var(--bg);border-radius:10px;margin:8px 0;padding:10px}.training-run-list{padding:0;list-style:none}.app-stage .flappy-lesson{grid-template-columns:auto minmax(0,1fr);gap:16px}.flappy-lesson .lesson-pages{flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;display:flex}.flappy-lesson .lesson-pages button{padding:10px 16px}.flappy-lesson .lesson-pages [aria-current=page]{background:var(--brand-purple);color:#fff}.flappy-lesson .lesson-page-content,.flappy-lesson .lesson-delete{grid-column:1/-1}.flappy-lesson .lesson-brief{max-width:820px;margin:12px auto 24px;padding:clamp(22px,4vw,42px)}.flappy-lesson .lesson-brief h1{color:var(--brand-purple-dark);margin:0 0 22px;font-size:clamp(28px,3.8vw,40px)}.flappy-lesson .lesson-explanation{margin-bottom:28px;font-size:18px;line-height:1.7}.flappy-lesson .lesson-brief ol{padding-left:22px;line-height:1.7}.flappy-lesson .lesson-brief li{padding:4px 0}.flappy-lesson .lesson-answer{margin:24px 0}.flappy-lesson .lesson-answer label{margin-bottom:10px;font-size:18px;font-weight:700;display:block}.flappy-lesson textarea{resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:110px;color:var(--ink);font:inherit;border-radius:12px;padding:14px;line-height:1.6}.flappy-lesson .lesson-note{font-size:13px}.flappy-lesson blockquote{border-left:4px solid var(--brand-purple);background:var(--bg);overflow-wrap:anywhere;margin:22px 0;padding:8px 20px}.flappy-lesson .lesson-takeaway{background:var(--bg);border-radius:12px;padding:18px;line-height:1.7}.flappy-lesson .lesson-actions{width:100%;max-width:1120px;margin:0 auto 16px}.flappy-lesson .lesson-experiment-tools{align-items:center;gap:14px;margin-bottom:12px;display:flex}.flappy-lesson .lesson-experiment-tools p{color:var(--muted);font-size:13px}.app-stage .flappy-lesson .duel-page{max-width:none}.app-stage .flappy-lesson .duel-panel canvas{width:min(100%,75svh - 165px)!important}.app-stage .flappy-lesson .duel-fields{gap:24px}.app-stage .flappy-lesson .duel-header p{max-width:760px}.app-stage .flappy-lesson .teach__columns{grid-template-columns:minmax(300px,.95fr) minmax(0,1fr);gap:24px}.app-stage .flappy-lesson .teach__game canvas{width:min(100%,75svh - 165px)!important}.app-stage .flappy-lesson .flock-panel canvas,.app-stage .flappy-lesson #practice-canvas,.app-stage .flappy-lesson #human-canvas{max-width:none;margin-inline:auto;width:min(100%,75svh - 165px)!important}.app-stage .flappy-lesson .practice-layout{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}.control-tour{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.control-tour::backdrop{background:#16003335}.tour-target{pointer-events:none;border:3px solid var(--brand-purple);border-radius:12px;outline:2px solid #fff;animation:1.6s ease-in-out infinite tour-pulse;position:fixed;box-shadow:0 0 0 9999px #16003335}.tour-card{background:var(--card);border:1px solid var(--border);border-radius:16px;width:min(380px,100vw - 32px);max-height:calc(100dvh - 32px);padding:22px;position:fixed;overflow:auto;box-shadow:0 12px 40px #16003330}.tour-card h2{margin:4px 0 12px;font-size:23px}.tour-card p{margin:8px 0;line-height:1.6}.tour-card .tour-counter{color:var(--brand-purple-dark);font-size:12px;font-weight:700}.tour-card .toolbar{flex-wrap:wrap;gap:8px;margin-bottom:0;display:flex}.tour-card button{padding:10px 12px;font-size:13px}@keyframes tour-pulse{50%{border-color:var(--brand-purple-dark);box-shadow:0 0 0 5px #5200ff22,0 0 0 9999px #16003335}}@media (width<=800px){.app-stage .flappy-lesson .teach__columns,.app-stage .flappy-lesson .practice-layout{grid-template-columns:minmax(0,1fr)}.flappy-lesson .lesson-pages{justify-content:start}}@media (width<=600px){.app-stage .flappy-lesson{grid-template-columns:minmax(0,1fr);gap:10px}.flappy-lesson .lesson-pages{gap:6px}.flappy-lesson .lesson-pages button{flex:1;padding:9px 12px;font-size:14px}.flappy-lesson .lesson-experiment-tools p:not(.is-notice){display:none}.flappy-lesson .lesson-explanation{font-size:17px}.app-stage .flappy-lesson .duel-panel{padding:8px}.flappy-lesson .lesson-actions button{flex:1}}@media (prefers-reduced-motion:reduce){.tour-target{animation:none}}.flappy-lesson #practice-progress{width:100%;accent-color:var(--brand-purple)}.app-stage .flappy-lesson .duel-stage>.toolbar{z-index:2;background:var(--card);border-radius:12px;padding:8px 0;position:sticky;top:8px}.flappy-lesson .lesson-theory{margin-block:26px}.flappy-lesson .lesson-theory-extra{border:1px solid var(--border);border-radius:12px;margin:18px 0 26px;padding:0 14px}.flappy-lesson .lesson-theory-extra>summary{cursor:pointer;color:var(--brand-purple-dark);min-height:48px;padding:16px 0;font-weight:650}.flappy-lesson .lesson-theory-extra>div{padding-bottom:14px}.evolution-lesson{--el-paper:#f2eee4;--el-ink:#25221d;--el-muted:#5f594f;--el-rule:#b8afa0;border:1px solid var(--border);color:var(--el-ink);background:var(--el-paper);border-radius:14px;gap:16px;padding:clamp(16px,3vw,24px);font-family:system-ui,sans-serif;display:grid;container-type:inline-size}.evolution-lesson *,.evolution-lesson :before,.evolution-lesson :after{box-sizing:border-box}.evolution-lesson .el__header{max-width:760px}.evolution-lesson .el__eyebrow{color:var(--el-muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:750}.evolution-lesson .el__header h2{color:var(--el-ink);margin:3px 0 7px;font-size:clamp(24px,4vw,32px);line-height:1.12}.evolution-lesson .el__header>p:last-child,.evolution-lesson .el__phase-copy{color:#39352e;margin:0;font-size:14px;line-height:1.5}.evolution-lesson .el__contrast{border-left:3px solid var(--brand-purple-dark);background:#fffdf7;border-radius:0 8px 8px 0;margin:0;padding:11px 13px;font-size:14px;line-height:1.55}.evolution-lesson .el__phase{border:1px solid var(--el-rule);background:#fffdf7;border-radius:10px;align-items:center;gap:12px;min-height:66px;padding:10px 12px;display:flex}.evolution-lesson .el__step{color:#fff;background:var(--brand-purple-dark);border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:12px;font-weight:750;display:grid}.evolution-lesson .el__phase h3{color:var(--el-ink);margin:0 0 3px;font-size:16px}.evolution-lesson .el__scene{align-items:center;display:grid}.evolution-lesson .el__scene>*{grid-area:1/1}.evolution-lesson .el__population{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.evolution-lesson .el__pair{border:1px solid var(--el-rule);min-width:0;min-height:112px;transition:border-color var(--motion-medium) var(--ease-standard),box-shadow var(--motion-medium) var(--ease-standard);background:#fffdf7;border-radius:10px;grid-template-columns:minmax(0,1fr) 14px minmax(84px,.7fr);align-items:center;padding:8px;display:grid;position:relative}.evolution-lesson .el__car-view,.evolution-lesson .el__model{text-align:center;min-width:0}.evolution-lesson .el__car-view svg{width:100%;height:auto;display:block}.evolution-lesson .el__car-view>span,.evolution-lesson .el__model>span,.evolution-lesson .el__child-model>span{font-size:13px;font-weight:700;display:block}.evolution-lesson .el__sensor{fill:none;stroke:var(--brand-aqua);stroke-width:2.5px;stroke-linecap:round}.evolution-lesson .el__pair-arrow{color:var(--el-muted);font-size:15px}.evolution-lesson .el__model{background:#f7f3ea;border:1px solid #b8afa0;border-radius:8px;padding:4px 2px}.evolution-lesson .el__model svg,.evolution-lesson .el__child-model svg,.evolution-lesson .el__parent-chip svg,.evolution-lesson .el__best svg{width:66px;max-width:100%;height:60px;margin:0 auto 2px;display:block}.evolution-lesson .el__links{fill:none;stroke:#39352e;stroke-linecap:round;opacity:.74}.evolution-lesson .el__nodes{fill:#f7f3ea;stroke:#25221d;stroke-width:1.4px}.evolution-lesson .el__car{transform-box:view-box;transform-origin:50%}.evolution-lesson[data-phase="1"] .el__car{animation:3.4s ease-in-out infinite alternate paused el-drive}.evolution-lesson[data-animation=playing][data-phase="1"] .el__car{animation-play-state:running}@keyframes el-drive{0%{transform:translate(40px,34px)}to{transform:translate(var(--drive-x),var(--drive-y))}}.evolution-lesson .el__selected{z-index:1;color:#fff;background:var(--brand-purple-dark);border-radius:6px;padding:3px 6px;font-size:12px;font-weight:750;display:none;position:absolute;top:4px;left:4px}.evolution-lesson[data-phase="2"] .el__pair[data-car="2"] .el__selected,.evolution-lesson[data-phase="2"] .el__pair[data-car="5"] .el__selected,.evolution-lesson[data-phase="3"] .el__pair[data-car="2"] .el__selected,.evolution-lesson[data-phase="3"] .el__pair[data-car="5"] .el__selected{display:block}.evolution-lesson[data-phase="2"] .el__pair[data-car="2"],.evolution-lesson[data-phase="2"] .el__pair[data-car="5"],.evolution-lesson[data-phase="3"] .el__pair[data-car="2"],.evolution-lesson[data-phase="3"] .el__pair[data-car="5"]{border-color:var(--brand-purple-dark);box-shadow:inset 0 0 0 1px var(--brand-purple-dark)}.evolution-lesson .el__family{visibility:hidden;border:1px solid var(--el-rule);background:#fffdf7;border-radius:10px;grid-template-columns:minmax(125px,1fr) 26px minmax(200px,1.6fr) minmax(150px,1fr);align-items:center;gap:10px;padding:12px;display:grid}.evolution-lesson[data-phase="3"] .el__family{visibility:visible}.evolution-lesson[data-phase="3"] .el__population{visibility:hidden}.evolution-lesson[data-phase="2"] .el__branch,.evolution-lesson[data-phase="2"] .el__children,.evolution-lesson[data-phase="2"] .el__best{display:none}.evolution-lesson[data-phase="3"] .el__family{border-color:var(--brand-purple-dark)}.evolution-lesson .el__parents,.evolution-lesson .el__children{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.evolution-lesson .el__family-tag{color:var(--el-muted);letter-spacing:.02em;flex-basis:100%;margin:0;font-size:13px;font-weight:750}.evolution-lesson .el__parent-chip,.evolution-lesson .el__child-model{border:1px solid var(--el-rule);min-height:32px;color:var(--el-ink);background:#fff;border-radius:7px;place-items:center;padding:4px 8px;font-size:13px;font-weight:700;display:grid}.evolution-lesson .el__parent-one{border-color:#16845b}.evolution-lesson .el__parent-two{border-color:#a32e62}.evolution-lesson .el__branch{color:var(--brand-purple-dark);text-align:center;font-size:22px}.evolution-lesson .el__child-model{text-align:center;flex:60px;padding:4px;display:block}.evolution-lesson .el__child-model svg{width:58px;height:54px}.evolution-lesson .el__best{background:#fff7df;border:1px solid #b78e24;border-radius:8px;align-items:center;gap:8px;min-height:56px;padding:8px;display:flex}.evolution-lesson .el__best>span{color:#806000;font-size:22px}.evolution-lesson .el__best strong,.evolution-lesson .el__best small{font-size:13px;display:block}.evolution-lesson .el__best small{color:var(--el-muted);margin-top:2px;line-height:1.35}.evolution-lesson .el__note{color:var(--el-muted);margin:-7px 0 0;font-size:13px}.evolution-lesson .el__actions{flex-wrap:wrap;justify-content:space-between;gap:9px;display:flex}.evolution-lesson .el__actions button{min-height:44px;color:var(--el-ink);cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard);background:#fffdf7;border:1px solid #39342d;border-radius:11px;padding:9px 15px;font:650 14px/1.2 system-ui,sans-serif}.evolution-lesson .el__actions button:hover{background:#e8e0d2;transform:translateY(-1px)}.evolution-lesson .el__actions button:focus-visible{outline:3px solid var(--brand-purple-dark);outline-offset:3px}.evolution-lesson .el__continue{color:#fff!important;border-color:var(--brand-purple-dark)!important;background:var(--brand-purple-dark)!important}@media (width<=650px){.evolution-lesson{gap:12px;padding:14px}.evolution-lesson .el__population{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.evolution-lesson .el__pair{grid-template-columns:minmax(0,1fr) 10px minmax(66px,.65fr);min-height:98px;padding:5px}.evolution-lesson .el__model svg{width:58px;height:52px}.evolution-lesson .el__family{grid-template-columns:1fr;gap:8px}.evolution-lesson .el__branch{transform:rotate(90deg)}.evolution-lesson .el__actions button{flex:140px}}@media (prefers-reduced-motion:reduce){.evolution-lesson *,.evolution-lesson :before,.evolution-lesson :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@container (width<=800px){.el__family{grid-template-columns:1fr!important}.el__parents{justify-content:center}.el__parents .el__family-tag{text-align:center}.el__branch{transform:rotate(90deg)}.el__best{justify-content:center}}@container (width<=560px){.el__population{grid-template-columns:repeat(2,minmax(0,1fr))!important}.el__pair{gap:4px;grid-template-columns:minmax(0,1fr)!important}.el__car-view svg{width:100%;max-width:132px;max-height:92px;margin-inline:auto}.el__pair-arrow{display:none}.el__model{margin-top:3px}.el__model svg{height:46px}.el__selected{padding:2px 4px;font-size:11px}}.evolution-lesson[data-phase="2"] .el__car{transform:translate(var(--drive-x),var(--drive-y))}.evolution-lesson .el__inheritance-key{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:10px;margin:6px 0 0;font-size:13px;font-weight:650;display:flex}.evolution-lesson .el__inheritance-key span{border-left:3px solid;padding-left:6px}.evolution-lesson .el__inheritance-key span:first-child{color:#16845b}.evolution-lesson .el__inheritance-key span:nth-child(2){color:#a32e62}.evolution-lesson .el__inheritance-key span:nth-child(3){color:#5200ff}.evolution-lesson--compact{gap:8px;min-height:330px;padding:10px}.evolution-lesson--compact .el__scene{min-height:270px}.evolution-lesson--compact .el__phase{background:0 0;border:0;min-height:38px;padding:5px 10px}.evolution-lesson--compact .el__phase-copy{color:var(--el-ink);margin:0;font-size:14px;font-weight:700}.evolution-lesson--compact .el__step[hidden]{display:none}.evolution-lesson--compact .el__population{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.evolution-lesson--compact .el__pair{grid-template-columns:minmax(0,1fr) 12px minmax(92px,.85fr);min-height:116px}.evolution-lesson--compact .el__car-view>span,.evolution-lesson--compact .el__model>span,.evolution-lesson--compact .el__selected{display:none!important}.evolution-lesson--compact .el__not-selected{display:inline-flex}.evolution-lesson--compact .el__car-view svg{max-height:88px}.evolution-lesson--compact .el__model svg{width:76px;height:66px}.evolution-lesson--compact .el__family{padding:8px}.evolution-lesson--compact .el__parent-chip svg{width:72px;height:60px}.evolution-lesson--compact .el__child-model svg{width:64px;height:60px}.evolution-lesson--compact .el__best strong{font-size:clamp(18px,2.1vw,28px)}.evolution-lesson--compact .el__family-tag{font-size:clamp(18px,2vw,26px)}.evolution-lesson--compact .el__inheritance-key,.evolution-lesson--compact .el__actions[hidden]{display:none}.evolution-lesson--compact .el__family{grid-template-columns:minmax(110px,1fr) 20px minmax(180px,1.4fr) minmax(130px,1fr)}@media (width<=650px){.evolution-lesson--compact{min-height:0}.evolution-lesson--compact .el__scene{min-height:230px}.evolution-lesson--compact .el__population{grid-template-columns:repeat(2,minmax(0,1fr))}.evolution-lesson--compact .el__pair{grid-template-columns:minmax(0,1fr) 8px minmax(70px,.7fr)}.evolution-lesson--compact .el__family{grid-template-columns:1fr}}.evolution-lesson .el__not-selected{z-index:2;color:#6d2e00;background:#fff7df;border:1px solid #b9b1a4;border-radius:7px;align-items:center;gap:3px;padding:2px 5px;font-size:11px;font-weight:700;display:none;position:absolute;top:3px;right:3px}.evolution-lesson .el__not-selected svg{width:21px;height:27px}.evolution-lesson[data-phase="2"] .el__pair:not([data-car="2"]):not([data-car="5"]) .el__not-selected{display:inline-flex}.car-illustration{color:#25221d;background:#f3eddf;border:1px solid #b9b1a4;border-radius:14px;margin:24px 0 0;padding:22px}.cl-scene{justify-content:center;align-items:center;gap:14px;min-height:200px;display:flex}.cl-panel{text-align:center;flex:1;gap:8px;min-width:0;display:grid}.cl-panel svg{width:100%;max-height:190px;display:block}.cl-panel strong,.cl-model strong,.cl-action strong{font-size:15px;line-height:1.4}.cl-arrow{color:#716382;font-size:26px;font-weight:700}.cl-model{text-align:center;background:#fffaf0;border:1px solid #716382;border-radius:10px;flex:0 150px;gap:8px;padding:12px;display:grid;box-shadow:5px 6px #d4cabb}.cl-model svg{width:100%;display:block}.cl-action{text-align:center;gap:8px;display:grid}.cl-action>span{color:#5200ff;font-size:52px}.cl-expanded{background-image:linear-gradient(#71638215 1px,#0000 1px),linear-gradient(90deg,#71638215 1px,#0000 1px);background-size:22px 22px;border:1px dashed #716382;border-radius:10px;padding:12px}.car-illustration figcaption{text-align:center;max-width:64ch;margin:18px auto 0;font-size:15px;line-height:1.6}.car-illustration .cl-pause{margin:18px auto 0;padding:8px 12px;font-size:13px;display:block}.cl-sensors{animation:2s ease-in-out infinite car-sensors}.cl-paused .cl-sensors{animation-play-state:paused}@keyframes car-sensors{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.cl-sensors{animation:none}}@media (width<=600px){.car-illustration{padding:16px}.cl-scene{flex-wrap:wrap;gap:12px}.cl-panel{flex-basis:100%}.cl-panel svg{max-height:160px}.cl-arrow{text-align:center;flex-basis:100%;transform:rotate(90deg)}.cl-model{flex-basis:150px}.cl-action,.cl-road{flex-basis:100%}}.cl-speed-label{color:#625b70;font-size:14px;line-height:1.4}.cl-decisions{text-align:center;flex:0 0 108px;gap:8px;display:grid}.cl-decisions strong{margin-bottom:6px;font-size:15px}.cl-decisions span{color:#3700b3;background:#fffaf0;border:1px solid #b9b1a4;border-radius:8px;padding:8px 10px;font-size:14px}.cl-road svg{max-height:230px}@media (width<=600px){.cl-decisions{flex-basis:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.cl-decisions strong{grid-column:1/-1}.cl-road svg{max-height:220px}}.car-race{gap:14px;display:grid}.car-race-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.car-race-header h2,.car-race-header p{margin:0 0 8px}.race-setup{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.race-setup[hidden],.car-race [hidden]{display:none!important}.race-setup label{gap:7px;min-width:0;display:grid}.race-seats{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.race-seat{border:2px solid var(--racer-colour);border-radius:12px;padding:12px}.race-seat-state{font-size:.9rem}.race-join,.race-controls,.race-start{grid-column:1/-1;margin:0}.race-start{justify-self:start}.race-stage{border:2px solid var(--border);background:#f8f7f3;border-radius:18px;position:relative;overflow:hidden}.car-race .race-canvas{object-fit:contain;outline-offset:-5px;max-height:74vh;margin:auto;width:100%!important;max-width:none!important;height:auto!important;display:block!important}.race-overlay{text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f8f7f3dd;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.race-overlay>div{max-width:480px}.race-count{color:#5200ff;font-size:clamp(2.5rem,8vw,6rem)}.race-hud{flex-wrap:wrap;gap:12px;display:flex}.race-hud article{border-left:6px solid var(--racer-colour);background:#fff;border-radius:7px;flex:1;gap:6px;min-width:140px;padding:10px 14px;display:grid}.race-fairness{margin:0;font-size:.9rem}.race-ranking{gap:12px;padding:0;list-style:none;display:grid}.car-race:fullscreen{background:#f8f7f3;padding:24px;overflow:auto}.car-race:fullscreen .race-canvas{max-height:78vh}.race-seat-state{animation:.35s ease-out race-arrive}@keyframes race-arrive{0%{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.race-seat-state{animation:none}}@media (width<=620px){.race-setup,.race-seats{grid-template-columns:1fr}.race-hud article{min-width:100px}.car-race:fullscreen{padding:10px}}.car-lesson{min-width:0;max-width:1280px;margin:auto;scroll-margin-top:16px;display:block}.app-shell:has(.car-lesson)>footer{display:none}.car-lesson .lesson-pages{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-bottom:16px;display:flex}.car-lesson .lesson-pages button{padding:10px 16px}.car-lesson .lesson-pages [aria-current=page]{background:var(--brand-purple);color:#fff}.car-lesson .lesson-actions{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px;display:flex}.car-lesson .car-brief{max-width:940px;margin:12px auto 24px;padding:clamp(22px,4vw,42px)}.car-lesson .car-brief h1{color:var(--brand-purple-dark);margin-top:8px;font-size:clamp(28px,4vw,42px);line-height:1.12}.car-lesson .lesson-explanation,.car-lesson .car-brief>p{max-width:72ch;font-size:17px;line-height:1.65}.car-lesson .car-answers{margin-top:24px}.car-lesson .lesson-answer{gap:10px;margin-top:20px;display:grid}.car-lesson .lesson-answer label{font-size:17px;font-weight:700;line-height:1.5}.car-lesson .lesson-answer textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:100px;color:var(--ink);font:inherit;border-radius:12px;padding:12px}.car-lesson .lesson-answer textarea:focus-visible{outline:3px solid var(--brand-purple);outline-offset:3px}.car-lesson .car-experiment-title{margin:16px 0;font-size:clamp(24px,3vw,32px)}.car-lesson .car-experiment-host{min-width:0}.car-lesson .car-experiment-host canvas{max-width:100%;height:auto}.car-lesson .car-illustration-host:empty,.car-lesson .car-result-summary:empty{display:none}.car-lesson .car-result-summary:not(:empty){background:var(--bg);border-radius:12px;padding:16px;line-height:1.65}.car-lesson .car-brief .evolution-lesson{margin-top:24px}.car-lesson .car-experiment-host .evolution-layout{flex-direction:column;gap:20px;display:flex}.car-lesson .evo-live-scene{justify-items:center;min-width:0;display:grid}.car-lesson .evo-live-scene canvas:not([aria-hidden=true]){width:min(100%,82svh,1000px)!important}@media (width<=600px){.car-lesson .lesson-pages{justify-content:stretch}.car-lesson .lesson-pages button{flex:1;padding:10px}.car-lesson .lesson-actions button{width:100%}.car-lesson .car-brief{padding:20px}.car-lesson .car-brief .el__header h2{font-size:24px}}.app-stage .car-lesson{display:block}.car-lesson #library-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.car-lesson #library-list article{flex-direction:column;gap:14px;min-width:0;margin:0;display:flex}.car-lesson #library-list canvas{border-radius:10px;align-self:center;width:240px;max-width:100%}.car-lesson #library-list input:not([type=checkbox]),.car-lesson #workshop-name{border:1px solid var(--border);font:inherit;box-sizing:border-box;border-radius:10px;max-width:100%;padding:10px 12px}@media (width<=700px){.car-lesson #library-list{grid-template-columns:minmax(0,1fr)}}.car-lesson .evo-garage{border:1px solid var(--border);text-align:center;background:#f3eddf;border-radius:16px;padding:30px;line-height:1.7}.car-lesson .evo-garage[hidden]{display:none}.garage-car{background:#5200ff;border:3px solid #25221d;border-radius:12px;width:100px;height:52px;margin:16px auto 28px;animation:1.6s ease-in-out infinite garage-prepare;position:relative;box-shadow:0 9px #25221d}.garage-car span{background:#e2ddea;border:2px solid #25221d;border-radius:5px;width:18px;height:30px;position:absolute;top:7px;right:18px}.is-paused .garage-car{animation-play-state:paused}@keyframes garage-prepare{50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.garage-car{animation:none}}.car-lesson .evo-live-scene[hidden],.car-lesson .car-brief .el__header h2{display:none}.car-lesson .evo-live-scene>canvas:not([aria-hidden=true]){max-height:72svh}
