.tl-shell{--tl-ink:var(--ink);--tl-line:color-mix(in oklab,var(--ink) 14%,transparent);--tl-raise:0 6px 0 0 color-mix(in oklab,var(--ink) 16%,transparent),0 22px 40px -24px color-mix(in oklab,var(--ink) 45%,transparent);min-height:100dvh;color:var(--foreground);font-family:var(--font-sans);background:radial-gradient(120% 70% at 10% -10%,color-mix(in oklab,var(--sun) 26%,transparent),transparent 60%),radial-gradient(90% 60% at 100% 0%,color-mix(in oklab,var(--river) 30%,transparent),transparent 60%),color-mix(in oklab,var(--sun) 6%,var(--background));font-size:18px}.tl-shell [data-cat=literacy-stories]{--tl-c:var(--sky)}.tl-shell [data-cat=math-discovery]{--tl-c:var(--teal)}.tl-shell [data-cat=create-imagine]{--tl-c:var(--bubble)}.tl-shell [data-cat=feelings-friends]{--tl-c:var(--grape)}.tl-shell [data-cat=classroom-toolkit]{--tl-c:var(--sun)}.tl-shell svg{flex-shrink:0}.tl-shell :focus-visible{outline:4px solid var(--sky);outline-offset:3px}.tl-header{z-index:5;background:color-mix(in oklab,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--tl-line);align-items:center;gap:20px;padding:16px clamp(16px,2.4vw,40px);display:flex;position:sticky;top:0}.tl-title{color:inherit;text-decoration:none}.tl-title h1{font-family:var(--font-display);white-space:nowrap;margin:0;font-size:clamp(26px,2.2vw,40px);font-weight:600;line-height:1}.tl-search{background:var(--card);border:2px solid var(--tl-line);max-width:760px;min-height:64px;box-shadow:0 10px 24px -18px color-mix(in oklab,var(--ink) 50%,transparent);border-radius:999px;flex:1;align-items:center;gap:12px;margin-inline:auto;padding:0 10px 0 22px;transition:border-color .2s,box-shadow .2s;display:flex}.tl-search:focus-within{border-color:var(--sky);box-shadow:0 0 0 5px color-mix(in oklab,var(--sky) 22%,transparent)}.tl-search>svg{width:26px;height:26px;color:var(--muted-foreground)}.tl-search input{min-width:0;font:inherit;color:inherit;background:0 0;border:0;outline:none;flex:1;font-size:20px;font-weight:700}.tl-search input::placeholder{color:var(--muted-foreground);font-weight:600}.tl-search input::-webkit-search-cancel-button{display:none}.tl-clear{background:var(--muted);width:48px;height:48px;color:var(--foreground);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.tl-header-actions{align-items:center;gap:12px;display:flex}.tl-icon-btn{border:2px solid var(--tl-line);background:var(--card);min-width:56px;min-height:56px;color:var(--foreground);cursor:pointer;box-shadow:0 4px 0 0 color-mix(in oklab,var(--ink) 12%,transparent);border-radius:999px;align-items:center;gap:10px;padding:0 18px;font-size:17px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.tl-icon-btn:hover{transform:translateY(-2px)}.tl-icon-btn:active{box-shadow:none;transform:translateY(2px)}.tl-icon-btn svg{width:24px;height:24px}.tl-cal-quick{background:color-mix(in oklab,var(--sun) 55%,var(--card));border-color:color-mix(in oklab,var(--sun) 70%,var(--ink) 10%)}.tl-fs-wrap{position:relative}.tl-fs-hint{background:var(--card);width:260px;box-shadow:var(--shadow-soft);border-radius:16px;padding:10px 14px;font-size:15px;font-weight:700;position:absolute;top:calc(100% + 8px);right:0}.tl-body{flex-direction:column;gap:24px;padding:24px clamp(16px,2.4vw,40px) 32px;display:flex}.tl-cats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(230px,50dvh - 235px,380px);gap:22px;display:grid}.tl-cat{color:var(--foreground);background:color-mix(in oklab,var(--tl-c) 30%,var(--card));border:3px solid color-mix(in oklab,var(--tl-c) 45%,var(--ink) 12%);box-shadow:0 8px 0 0 color-mix(in oklab,var(--tl-c) 45%,var(--ink) 25%),0 30px 50px -30px color-mix(in oklab,var(--ink) 55%,transparent);isolation:isolate;border-radius:32px;text-decoration:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;display:block;position:relative;overflow:hidden}.tl-cat-art{object-fit:cover;z-index:-1;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.tl-cat:after{content:"";z-index:-1;background:linear-gradient(180deg,transparent 35%,color-mix(in oklab,var(--ink) 30%,transparent));position:absolute;inset:0}.tl-cat:hover,.tl-cat:focus-visible{transform:translateY(-4px)}.tl-cat:hover .tl-cat-art,.tl-cat:focus-visible .tl-cat-art{transform:scale(1.05)}.tl-cat:active{box-shadow:0 2px 0 0 color-mix(in oklab,var(--tl-c) 45%,var(--ink) 25%);transform:translateY(3px)}.tl-cat-panel{background:color-mix(in oklab,var(--card) 93%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 14px 30px -18px color-mix(in oklab,var(--ink) 60%,transparent);border-radius:24px;align-items:center;gap:18px;padding:16px 18px 16px 16px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.tl-cat-icon{background:var(--tl-c);width:64px;height:64px;color:var(--card);box-shadow:inset 0 -4px 0 color-mix(in oklab,var(--ink) 18%,transparent);border-radius:20px;place-items:center;display:grid}.tl-cat-icon svg{width:34px;height:34px}.tl-cat-text{flex-direction:column;flex:1;min-width:0;display:flex}.tl-cat-title{font-family:var(--font-display);font-size:clamp(26px,2.1vw,40px);font-weight:600;line-height:1.05}.tl-cat-blurb{color:var(--muted-foreground);font-size:clamp(15px,1vw,19px);font-weight:700}.tl-cat-count{font-family:var(--font-display);flex-direction:column;align-items:center;font-size:30px;font-weight:600;line-height:1;display:flex}.tl-cat-count small{font-family:var(--font-sans);color:var(--muted-foreground);font-size:13px;font-weight:800}.tl-cat-go{background:var(--primary);width:56px;height:56px;color:var(--primary-foreground);box-shadow:0 4px 0 color-mix(in oklab,var(--ink) 18%,transparent);border-radius:50%;place-items:center;transition:transform .3s;display:grid}.tl-cat:hover .tl-cat-go{transform:translate(4px)}.tl-toolkit{background:color-mix(in oklab,var(--sun) 14%,var(--card));border:2px solid color-mix(in oklab,var(--sun) 45%,var(--ink) 8%);box-shadow:var(--tl-raise);border-radius:28px;flex-direction:column;gap:14px;padding:18px 22px;display:flex}.tl-toolkit-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tl-toolkit-head h2{font-family:var(--font-display);align-items:center;gap:10px;margin:0;font-size:28px;font-weight:600;display:flex}.tl-toolkit-head h2 svg{color:color-mix(in oklab,var(--sun) 60%,var(--ink))}.tl-toolkit-row{grid-template-columns:minmax(320px,1.2fr) 3fr;gap:16px;display:grid}.tl-calendar{color:var(--foreground);background:var(--card);border:3px solid color-mix(in oklab,var(--sun) 70%,var(--ink) 10%);box-shadow:0 6px 0 0 color-mix(in oklab,var(--sun) 60%,var(--ink) 20%);border-radius:24px;align-items:center;gap:16px;padding:12px 18px 12px 12px;text-decoration:none;transition:transform .2s;display:flex}.tl-calendar:hover{transform:translateY(-3px)}.tl-calendar:active{box-shadow:none;transform:translateY(3px)}.tl-calendar-art{border-radius:18px;flex-shrink:0;width:96px;height:96px}.tl-calendar-text{color:var(--muted-foreground);flex-direction:column;flex:1;font-size:16px;font-weight:700;display:flex}.tl-calendar-title{font-family:var(--font-display);color:var(--foreground);font-size:28px;font-weight:600}.tl-calendar-go{background:var(--primary);min-height:52px;color:var(--primary-foreground);border-radius:999px;align-items:center;gap:6px;padding:0 20px;font-weight:800;display:inline-flex}.tl-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.tl-tool{background:var(--card);border:2px solid var(--tl-line);min-height:96px;color:var(--foreground);box-shadow:0 4px 0 0 color-mix(in oklab,var(--ink) 10%,transparent);border-radius:22px;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px;padding:14px 16px;text-decoration:none;transition:transform .2s;display:grid}a.tl-tool:hover{transform:translateY(-3px)}a.tl-tool:active{box-shadow:none;transform:translateY(2px)}.tl-tool-icon{background:color-mix(in oklab,var(--teal) 22%,var(--card));width:56px;height:56px;color:color-mix(in oklab,var(--teal) 70%,var(--ink));border-radius:18px;grid-row:span 2;place-items:center;display:grid}.tl-tool-name{font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1.1}.tl-tool-blurb{color:var(--muted-foreground);grid-column:2/4;font-size:15px;font-weight:700;line-height:1.25}.tl-tool .tl-lock,.tl-tool .tl-play{grid-column:2/4}.tl-coming{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tl-coming-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:15px;font-weight:800;display:inline-flex}.tl-coming ul{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tl-coming li{border:2px dashed color-mix(in oklab,var(--ink) 22%,transparent);min-height:44px;color:var(--muted-foreground);background:color-mix(in oklab,var(--card) 60%,transparent);cursor:default;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:16px;font-weight:800;display:inline-flex}.tl-coming li svg{width:20px;height:20px}.tl-banner{isolation:isolate;background:color-mix(in oklab,var(--tl-c) 22%,var(--card));border:3px solid color-mix(in oklab,var(--tl-c) 40%,var(--ink) 10%);min-height:150px;box-shadow:var(--tl-raise);border-radius:30px;align-items:center;gap:24px;padding:20px 28px;display:flex;position:relative;overflow:hidden}.tl-banner-art{object-fit:cover;z-index:-1;width:52%;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent,var(--ink) 45%);-webkit-mask-image:linear-gradient(90deg,transparent,var(--ink) 45%);-webkit-mask-image:linear-gradient(90deg,transparent,var(--ink) 45%);mask-image:linear-gradient(90deg,transparent,var(--ink) 45%);position:absolute;top:0;right:0}.tl-banner-art[data-whole]{object-fit:contain;width:22%;right:3%}.tl-banner-text h2{font-family:var(--font-display);align-items:center;gap:14px;margin:0;font-size:clamp(30px,2.6vw,48px);font-weight:600;display:flex}.tl-banner-text h2 svg{background:var(--tl-c);width:44px;height:44px;color:var(--card);border-radius:16px;padding:8px}.tl-banner-text p{color:var(--muted-foreground);margin:6px 0 0;font-size:19px;font-weight:700}.tl-back{background:var(--card);min-height:56px;color:var(--foreground);box-shadow:0 4px 0 color-mix(in oklab,var(--ink) 14%,transparent);border-radius:999px;align-items:center;gap:8px;padding:0 20px;font-weight:800;text-decoration:none;display:inline-flex}.tl-category,.tl-results{flex-direction:column;gap:22px;display:flex}.tl-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-items:start;gap:22px;display:grid}@media (width<=900px) and (width>=600px){.tl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}.tl-card{background:var(--card);border:2px solid var(--tl-line);box-shadow:var(--tl-raise);border-radius:28px;flex-direction:column;transition:transform .25s;display:flex;overflow:hidden}.tl-card:hover{transform:translateY(-3px)}.tl-thumb{aspect-ratio:16/8;background:radial-gradient(circle at 30% 20%,color-mix(in oklab,var(--tl-c) 22%,var(--card)),color-mix(in oklab,var(--tl-c) 45%,var(--card)));place-items:center;display:grid;position:relative;overflow:hidden}.tl-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.tl-thumb[data-whole] img{object-fit:contain;filter:drop-shadow(0 10px 12px color-mix(in oklab,var(--ink) 25%,transparent));padding:10px}.tl-card:hover .tl-thumb img{transform:scale(1.04)}.tl-thumb-icon{width:38%;height:62%;color:color-mix(in oklab,var(--tl-c) 70%,var(--ink));opacity:.55}.tl-card-body{flex-direction:column;gap:10px;padding:18px 20px 20px;display:flex}.tl-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tl-card-head h3{font-family:var(--font-display);margin:0;font-size:26px;font-weight:600;line-height:1.1}.tl-desc{color:color-mix(in oklab,var(--foreground) 80%,transparent);margin:0;font-size:17px;font-weight:600;line-height:1.35}.tl-skills{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tl-skills li{background:color-mix(in oklab,var(--river) 16%,var(--card));color:color-mix(in oklab,var(--river) 35%,var(--ink));border-radius:999px;padding:4px 12px;font-size:14px;font-weight:800}.tl-note,.tl-also{color:var(--muted-foreground);margin:0;font-size:15px;font-weight:700}.tl-also{font-style:italic}.tl-card-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:4px;display:flex}.tl-card-links{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.tl-launch{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.tl-play{min-width:150px;min-height:60px;font-family:var(--font-display);color:var(--primary-foreground);background:var(--primary);box-shadow:0 6px 0 0 color-mix(in oklab,var(--sun) 55%,var(--ink) 35%);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 28px;font-size:24px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.tl-play:hover{transform:translateY(-2px)}.tl-play:active{box-shadow:0 1px 0 0 color-mix(in oklab,var(--sun) 55%,var(--ink) 35%);transform:translateY(4px)}.tl-play svg{width:26px;height:26px}[data-status=preview] .tl-play{background:color-mix(in oklab,var(--river) 40%,var(--card));box-shadow:0 6px 0 0 color-mix(in oklab,var(--river) 60%,var(--ink) 25%)}.tl-play[data-state=checking]{background:var(--muted);color:var(--muted-foreground);box-shadow:none;cursor:progress;font-size:20px}.tl-spin{animation:1.2s linear infinite tl-spin}@keyframes tl-spin{to{transform:rotate(360deg)}}.tl-guide{max-width:300px;color:var(--muted-foreground);margin:0;font-size:14px;font-weight:700}.tl-lock{flex-direction:column;gap:6px;max-width:100%;display:flex}.tl-lock p{color:var(--muted-foreground);gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.tl-lock p svg{width:18px;height:18px;margin-top:2px}.tl-review,.tl-text-link{min-height:44px;color:color-mix(in oklab,var(--sky) 70%,var(--ink));align-items:center;gap:6px;font-size:16px;font-weight:800;text-decoration:none;display:inline-flex}.tl-review:hover,.tl-text-link:hover{text-decoration:underline}.tl-review{background:color-mix(in oklab,var(--sky) 12%,var(--card));border-radius:999px;align-self:flex-start;padding:0 16px}.tl-text-link svg{width:18px;height:18px}.tl-pill{letter-spacing:.02em;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:900;display:inline-flex}.tl-pill svg{width:16px;height:16px}.tl-pill[data-status=play]{background:color-mix(in oklab,var(--teal) 22%,var(--card));color:color-mix(in oklab,var(--teal) 45%,var(--ink))}.tl-pill[data-status=preview]{background:color-mix(in oklab,var(--river) 22%,var(--card));color:color-mix(in oklab,var(--river) 40%,var(--ink))}.tl-pill[data-status=coming-soon]{background:color-mix(in oklab,var(--stone) 30%,var(--card));color:var(--muted-foreground)}.tl-pill[data-status=checking]{background:var(--muted);color:var(--muted-foreground)}.tl-pill[data-status=checking] svg{animation:1.2s linear infinite tl-spin}.tl-card[data-status=coming-soon] .tl-thumb{filter:saturate(.55)}.tl-stations{border-top:1px solid var(--tl-line);padding-top:8px}.tl-expand{min-height:48px;font:inherit;color:var(--foreground);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 6px;font-size:16px;font-weight:800;display:inline-flex}.tl-expand svg{transition:transform .2s}.tl-expand svg[data-open]{transform:rotate(180deg)}.tl-station-list{flex-direction:column;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:flex}.tl-station{background:color-mix(in oklab,var(--muted) 70%,var(--card));border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.tl-station-text{min-width:0;color:var(--muted-foreground);flex-direction:column;flex:220px;font-size:15px;font-weight:600;display:flex}.tl-station-text b{color:var(--foreground);font-size:18px}.tl-inside{color:color-mix(in oklab,var(--sky) 60%,var(--ink));font-weight:800}.tl-station .tl-play{background:var(--card);min-width:120px;min-height:52px;color:var(--foreground);border:2px solid color-mix(in oklab,var(--sun) 70%,var(--card));box-shadow:0 4px 0 0 color-mix(in oklab,var(--sun) 45%,var(--card));padding:0 20px;font-size:20px}.tl-station .tl-play svg{width:20px;height:20px;color:color-mix(in oklab,var(--sun) 55%,var(--ink) 45%)}.tl-search input:focus,.tl-search input:focus-visible{box-shadow:none;outline:none}.tl-station-act{align-items:center;gap:10px;display:flex}.tl-station-results .tl-station{background:var(--card);border:2px solid var(--tl-line);padding:16px 18px}.tl-sub{font-family:var(--font-display);margin:4px 0 0;font-size:26px;font-weight:600}.tl-count{color:var(--muted-foreground);margin:0;font-size:18px;font-weight:800}.tl-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;font-size:22px;font-weight:800;display:flex}.tl-empty>svg{width:56px;height:56px;color:var(--muted-foreground)}.tl-suggest{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:18px;display:flex}.tl-chip{background:var(--card);border:2px solid var(--tl-line);min-height:48px;color:var(--foreground);border-radius:999px;align-items:center;padding:0 18px;font-weight:800;text-decoration:none;display:inline-flex}.tl-footer{justify-content:flex-end;display:flex}.tl-switch{min-height:48px;color:var(--muted-foreground);cursor:pointer;align-items:center;gap:10px;font-size:16px;font-weight:700;display:inline-flex}.tl-switch input{width:22px;height:22px;accent-color:var(--teal)}.tl-pending{background:var(--card);max-width:560px;box-shadow:var(--tl-raise);border-radius:28px;margin:15vh auto;padding:32px}.tl-pending h1{font-family:var(--font-display);margin:0 0 8px;font-weight:600}.tl-fs-exit{z-index:2147483000;border:2px solid color-mix(in oklab,var(--ink) 15%,transparent);background:color-mix(in oklab,var(--card) 80%,transparent);width:48px;height:48px;color:var(--ink);opacity:.6;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;place-items:center;display:grid;position:fixed;top:10px;left:50%;transform:translate(-50%)}.tl-fs-exit:hover,.tl-fs-exit:focus-visible{opacity:1}@media (width<=1200px){.tl-toolkit-row{grid-template-columns:minmax(0,1fr)}.tl-icon-label{display:none}.tl-icon-btn{justify-content:center;padding:0}}@media (width<=900px){.tl-header{flex-wrap:wrap;gap:12px}.tl-search{flex-basis:100%;order:3;max-width:none}.tl-header-actions{margin-left:auto}.tl-cats{grid-auto-rows:clamp(220px,34vw,320px)}.tl-tools{grid-template-columns:1fr}.tl-cat-count{display:none}.tl-banner-art{opacity:.35;width:100%}}@media (width<=640px){.tl-cats{grid-template-columns:1fr}.tl-calendar{flex-wrap:wrap}.tl-calendar-art{width:72px;height:72px}.tl-toolkit{padding:16px}.tl-cat-icon{width:52px;height:52px}.tl-cat-go{display:none}.tl-banner{flex-wrap:wrap}}@media (height<=820px) and (width>=901px){.tl-cats{grid-auto-rows:clamp(220px,50dvh - 100px,380px)}}@media (prefers-reduced-motion:reduce){.tl-shell *{transition:none!important;animation:none!important}.tl-cat:hover,.tl-card:hover{transform:none}}@font-face{font-family:Lovable Camera;src:url(data:font/woff2;base64,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)format("woff2");font-weight:400;font-style:normal}.lovable-auth-button{box-sizing:border-box;appearance:none;color:#000;font-synthesis:none;text-align:center;cursor:pointer;background:#fff;border:1px solid #c5cad3;border-radius:8px;justify-content:center;align-items:center;min-width:220px;min-height:44px;padding:10px 40px;font-family:Lovable Camera,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:22px;display:inline-flex;position:relative}.lovable-auth-button:before{content:"";background:url(/assets/lovable-mark-DKVi-oJX.svg) 50%/contain no-repeat;width:16px;height:17px;position:absolute;inset-inline-start:16px}.lovable-auth-button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.lovable-auth-button--dark{color:#fff;background:#000;border-color:#4b5563}.lovable-auth-button--dark:hover:not(:disabled){background:#0a0a0a;border-color:#6b7280}.lovable-auth-button:focus-visible{outline-offset:2px;outline:3px solid #4b73ff}.lovable-auth-button:disabled{cursor:not-allowed;opacity:.55}.lovable-auth-button--full-width{width:100%;min-width:0}.factory-shell{background:var(--background);isolation:isolate;min-height:100dvh;position:relative;overflow:hidden}.factory-ambient{object-fit:cover;opacity:.18;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.factory-layout{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;padding:82px 12px 18px;display:flex;position:relative}.factory-stage{aspect-ratio:1600/1008;isolation:isolate;border-radius:8px;width:min(1250px,100%,158.7dvh - 365.01px);position:relative;overflow:hidden}.factory-background{width:100%;height:100%;display:block}.factory-pip{pointer-events:none;z-index:5;width:18%;height:23%;position:absolute;bottom:0;left:40%}.factory-pip .explorer{width:auto;height:100%;margin:auto}.factory-object{width:18%;box-shadow:var(--shadow-soft);z-index:4;transition:transform .8s,filter .3s,opacity .6s;top:45%;overflow:visible;background:var(--card)!important;border:4px solid var(--sun)!important;border-radius:8px!important;height:24%!important;padding:3px!important;position:absolute!important}.factory-object.first{left:9%}.factory-object.second{right:9%}.factory-object img{object-fit:contain;pointer-events:none;border-radius:4px;width:100%;height:100%}.factory-word-sound{background:var(--primary);width:36px;height:36px;color:var(--primary-foreground);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:2px;right:2px}.factory-word-sound svg{width:22px;height:22px}.factory-object.speaking{outline:5px solid var(--teal);outline-offset:4px;filter:brightness(1.08)}.factory-object.arrive{animation:.7s both factory-arrive}.factory-stage.combine .factory-object,.factory-stage.sort .factory-object{animation:none}.factory-stage.combine .factory-object.first{opacity:0;transform:translate(175%,-75%)scale(.15)}.factory-stage.combine .factory-object.second{opacity:0;transform:translate(-175%,-75%)scale(.15)}.factory-stage.sort .factory-object.first{transform:translate(-20%,70%)scale(.65)rotate(-12deg)}.factory-stage.sort .factory-object.second{transform:translate(20%,70%)scale(.65)rotate(12deg)}.factory-gear{width:12%;height:18%;color:var(--sun);pointer-events:none;animation:18s linear infinite factory-spin;position:absolute;top:45%;left:44%}.factory-gear svg{fill:none;width:100%;height:100%;stroke:var(--sun);stroke-width:1px;opacity:.4}.factory-gear.small{width:5%;height:8%;animation-direction:reverse;top:49%;left:59%}.factory-stage.combine .factory-gear,.factory-stage.sort .factory-gear,.factory-stage.finished .factory-gear{animation-duration:1.8s}.factory-assembly{pointer-events:none;width:20%;height:30%;position:absolute;top:10%;left:40%}.factory-part{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 3px 4px color-mix(in oklch,var(--foreground) 20%,transparent));animation:.65s both factory-assemble;position:absolute;inset:0}.factory-assembly.awake{animation:2s ease-in-out infinite factory-wake}.factory-assembly.awake .factory-part-magic{animation:1.1s ease-in-out infinite factory-propeller}.factory-belt{opacity:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 15px,color-mix(in oklch,var(--sun) 35%,transparent) 15px 18px);border-radius:50%;width:33%;height:4%;position:absolute;top:63%}.factory-belt.first{left:0%;transform:rotate(-10deg)}.factory-belt.second{right:0%;transform:rotate(10deg)}.factory-stage.combine .factory-belt,.factory-stage.sort .factory-belt{opacity:.7;animation:1s linear infinite factory-convey}.factory-stage.combine .factory-belt.second,.factory-stage.sort .factory-belt.second{animation-direction:reverse}.factory-path{opacity:0;pointer-events:none;border-bottom:4px dashed var(--sun);border-radius:50%;width:19%;height:4%;position:absolute;top:76%}.factory-path.first{left:3%;transform:rotate(14deg)}.factory-path.second{right:3%;transform:rotate(-14deg)}.factory-stage.sort .factory-path{opacity:.9}.factory-light{background:var(--teal);opacity:0;width:5%;height:7%;box-shadow:0 0 25px var(--teal);pointer-events:none;border-radius:50%;position:absolute;top:39%}.factory-light.left{left:31%}.factory-light.right{background:var(--bubble);box-shadow:0 0 25px var(--bubble);right:31%}.factory-stage.combine .factory-light,.factory-stage.sort .factory-light,.factory-stage.finished .factory-light{animation:2s ease-in-out infinite factory-light}.factory-controls{justify-content:center;align-items:center;gap:24px;width:100%;min-height:112px;display:flex}.factory-answer{width:180px;box-shadow:var(--shadow-chunky);transition:transform .2s,filter .2s;background:var(--teal)!important;height:100px!important;color:var(--foreground)!important;border:5px solid var(--card)!important;border-radius:24px!important;padding:8px!important}.factory-answer.different{background:var(--bubble)!important}.factory-answer:hover{transform:translateY(-3px)}.factory-answer:active{transform:translateY(3px)}.factory-answer svg{width:100%!important;height:100%!important}.factory-answer.hint{outline:5px solid var(--sun);outline-offset:6px;animation:2s ease-in-out infinite factory-nudge}.factory-answer.engaged{filter:brightness(1.18);outline:5px solid var(--sun);outline-offset:2px;opacity:1;transform:translateY(5px)scale(.97)}.factory-answer.engaged svg{filter:drop-shadow(0 0 5px var(--card))}.factory-tools{z-index:40;gap:8px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.factory-tools button,.factory-start{width:56px;border-radius:50%!important;height:56px!important;padding:12px!important}.factory-tools svg{width:28px!important;height:28px!important}.factory-start{width:14%;min-width:56px;min-height:56px;box-shadow:var(--shadow-soft);z-index:6;position:absolute;top:17%;left:43%;background:var(--primary)!important;height:20%!important}.factory-start svg{width:50%!important;height:50%!important}.factory-progress{background:var(--card);color:var(--muted-foreground);border-radius:8px;gap:6px;padding:8px;display:flex;position:absolute;top:14px;right:12px}.factory-progress svg{width:25px;height:25px}.factory-progress .complete{color:var(--teal);fill:var(--sun)}.factory-empty{color:var(--sun);place-items:center;display:grid;position:absolute;top:13%;left:34%;right:34%}.factory-empty svg{width:64px;height:64px}@keyframes factory-arrive{0%{opacity:0;transform:translateY(70%)}to{opacity:1;transform:none}}@keyframes factory-spin{to{transform:rotate(360deg)}}@keyframes factory-wake{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-6px)rotate(4deg)}}@keyframes factory-light{0%,to{opacity:.5}50%{opacity:1}}@keyframes factory-nudge{50%{filter:brightness(1.12)}}@keyframes factory-assemble{0%{opacity:0;transform:translateY(-12%)scale(.7)}to{opacity:1;transform:none}}@keyframes factory-propeller{50%{transform:scaleX(.75)}}@keyframes factory-convey{to{background-position:36px 0}}@media (width<=700px){.factory-layout{justify-content:center;gap:24px;padding:140px 0 28px}.factory-stage{aspect-ratio:1;border-radius:0;width:100%;overflow:hidden}.factory-background{object-fit:cover;width:140%;max-width:none;position:absolute;left:-20%}.factory-object{width:25%;min-width:64px;min-height:64px;top:50%;height:23%!important}.factory-object.first{left:5%}.factory-object.second{right:5%}.factory-pip{width:25%;height:22%;bottom:1%;left:38%}.factory-invention{width:26%;height:30%;top:19%;left:37%}.factory-gear{width:16%;top:44%;left:42%}.factory-gear.small{width:7%;top:48%;left:63%}.factory-start{width:18%;top:23%;left:41%;height:16%!important}.factory-answer{width:136px;height:88px!important}.factory-controls{gap:20px;min-height:100px}.factory-tools{top:86px}.factory-progress{top:86px;right:8px}.factory-tools{left:12px;transform:none}.factory-progress svg{width:22px;height:22px}.factory-light{top:44%}.factory-light.left{left:25%}.factory-light.right{right:25%}}@media (width>=2560px){.factory-stage{width:min(2400px,90%)}.factory-answer{width:280px;height:150px!important}.factory-controls{gap:48px;min-height:160px}.factory-tools button{width:88px;height:88px!important}.factory-progress svg{width:48px;height:48px}.factory-progress{padding:16px}}@media (prefers-reduced-motion:reduce){.factory-shell *{transition:none!important;animation:none!important}}.factory-stage .factory-object{min-width:64px;min-height:64px}@media (width<=700px){.factory-assembly{width:26%;height:30%;top:19%;left:37%}.factory-belt{width:34%;top:69%}.factory-stage.combine .factory-object.first{transform:translate(130%,-80%)scale(.15)}.factory-stage.combine .factory-object.second{transform:translate(-130%,-80%)scale(.15)}.factory-stage.sort .factory-object.first{transform:translate(-3%,60%)scale(.65)rotate(-12deg)}.factory-stage.sort .factory-object.second{transform:translate(3%,60%)scale(.65)rotate(12deg)}}@media (width<=700px) and (height<=700px){.factory-layout{gap:16px;padding-top:110px}.factory-tools{top:65px}}.safari-shell{background:var(--background);min-height:100dvh;position:relative;overflow:hidden}.safari-ambient{object-fit:cover;filter:blur(24px)brightness(.7);width:108%;height:108%;position:absolute;inset:-4%}.safari-layout{z-index:1;flex-direction:column;align-items:center;gap:.75rem;min-height:100dvh;padding:4.5rem .75rem 1rem;display:flex;position:relative}.safari-stage{aspect-ratio:16/10;width:min(100%,160dvh - 30.4rem,1500px);box-shadow:0 20px 50px -20px color-mix(in oklab, var(--foreground) 60%, transparent);border-radius:1.75rem;position:relative;overflow:hidden}.safari-stage>.safari-bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.safari-traveler{width:13%;filter:drop-shadow(0 8px 6px color-mix(in oklab, var(--foreground) 35%, transparent));pointer-events:none;transition:left 1.6s ease-in-out,top 1.6s ease-in-out;position:absolute;transform:translate(-50%,-88%)}.safari-traveler.walking img{animation:.4s ease-in-out infinite alternate safari-walk}.safari-traveler.splash img{animation:.7s ease-in-out 3 safari-splash}.safari-traveler img{width:100%;height:auto}.safari-pip{pointer-events:none;height:42%;position:absolute;bottom:0;left:1%}.safari-marker{opacity:.35;filter:grayscale(.8);pointer-events:none;width:4.5%;transition:opacity .5s,filter .5s,transform .5s;position:absolute;transform:translate(-50%,-50%)}.safari-marker.lit{opacity:1;filter:drop-shadow(0 0 10px var(--sun,gold));transform:translate(-50%,-50%)scale(1.15)}.safari-word{aspect-ratio:1;background:var(--card);border:4px solid var(--card);width:23%;box-shadow:0 10px 30px -10px color-mix(in oklab, var(--foreground) 50%, transparent);border-radius:1.25rem;position:absolute;bottom:3%;right:2%;overflow:hidden}.safari-word img{object-fit:cover;width:100%;height:100%}.safari-word .emoji{place-items:center;width:100%;height:100%;font-size:clamp(3rem,9vw,7rem);display:grid}.safari-word button{min-width:48px;min-height:48px;position:absolute;bottom:.35rem;right:.35rem}.safari-banner{position:absolute;top:4%;left:50%;transform:translate(-50%)}.safari-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.75rem,3vw,2.5rem);width:min(100%,1100px);display:flex}.safari-drum{aspect-ratio:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:clamp(120px,20vh,190px);padding:0}.safari-drum img{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 10px 10px color-mix(in oklab, var(--foreground) 35%, transparent));transition:transform .12s}.safari-drum.pulse img{transform:scale(.9)}.safari-drum:disabled{cursor:default;opacity:.7}.safari-beats{align-items:center;gap:.4rem;min-height:56px;display:flex}.safari-beats img{width:52px;height:52px;animation:.35s ease-out safari-pop}.safari-choices{gap:.6rem;display:flex}.safari-choice{background:var(--card);border:4px solid var(--border);cursor:pointer;touch-action:manipulation;border-radius:1.5rem;justify-content:center;align-items:center;gap:.15rem;min-width:96px;min-height:96px;padding:.5rem .75rem;transition:transform .15s,border-color .2s;display:flex}.safari-choice:hover{transform:translateY(-3px)}.safari-choice img{width:40px;height:40px}.safari-choice.hint{border-color:var(--primary);animation:1.2s ease-in-out infinite safari-glow}.safari-choice.right{border-color:var(--primary);transform:scale(1.08)}.safari-choice:disabled{cursor:default}@keyframes safari-walk{0%{transform:translateY(0)rotate(-3deg)}to{transform:translateY(-6%)rotate(3deg)}}@keyframes safari-splash{50%{transform:translateY(-12%)scale(1.05)}}@keyframes safari-pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes safari-glow{50%{box-shadow:0 0 22px var(--primary)}}@media (orientation:portrait){.safari-stage{width:100%}.safari-word{width:30%}}@media (prefers-reduced-motion:reduce){.safari-traveler,.safari-traveler img,.safari-beats img,.safari-choice{transition:none!important;animation:none!important}}.space-shell{-webkit-user-select:none;user-select:none;isolation:isolate;background:var(--ink);min-height:100dvh;color:var(--card);flex-direction:column;display:flex;position:relative;overflow:hidden}.space-scenery{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.space-header{z-index:5;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.space-nav,.space-tools{align-items:center;gap:8px;display:flex}.space-nav button,.space-tools button{width:56px;height:56px;box-shadow:var(--shadow-chunky);padding:12px}.space-nav svg,.space-tools svg{width:28px;height:28px}.space-preview{background:var(--card);color:var(--ink);font:600 14px/1.4 var(--font-sans);z-index:3;border-radius:8px;padding:6px 12px;position:absolute;top:82px;left:14px}.space-stage{flex:1;width:min(1100px,100%);min-height:260px;margin:auto;position:relative}.space-route{border-bottom:3px dashed color-mix(in oklch,var(--card) 45%,transparent);border-radius:50%;justify-content:space-between;align-items:center;height:24%;display:flex;position:absolute;top:35%;left:7%;right:7%;transform:rotate(-9deg)}.space-planet{background:var(--bubble);width:76px;height:76px;box-shadow:inset -14px -10px 0 color-mix(in oklch,var(--ink) 30%,transparent),inset 5px 5px 0 color-mix(in oklch,var(--card) 35%,transparent);border:2px solid color-mix(in oklch,var(--card) 60%,transparent);border-radius:50%;place-items:center;transition:filter .6s;display:grid;transform:rotate(9deg)}.space-planet:nth-child(2){background:var(--teal)}.space-planet:nth-child(3){background:var(--sun)}.space-planet:nth-child(4){background:var(--sky)}.space-planet:nth-child(5){background:var(--teal)}.space-planet svg{width:32px;height:32px;stroke:var(--card);fill:#0000}.space-planet.lit{outline:4px solid var(--sun);filter:drop-shadow(0 0 16px var(--sun))}.space-planet.lit svg{fill:var(--sun);stroke:var(--sun)}.space-ship{aspect-ratio:1;z-index:2;pointer-events:none;width:210px;transition:left 1.1s,top 1.1s;position:absolute;top:28%;left:2%}.space-ship>img{object-fit:contain;width:100%;height:100%}.space-ship .space-pip{width:29%;height:43%;position:absolute;top:13%;left:47%;transform:rotate(20deg)}.space-ship[data-stop="1"]{top:23%;left:15%}.space-ship[data-stop="2"]{top:20%;left:33%}.space-ship[data-stop="3"]{top:15%;left:50%}.space-ship[data-stop="4"]{top:9%;left:66%}.space-ship[data-stop="5"]{top:4%;left:77%}.space-scanner{border:6px solid var(--sun);background:var(--teal);width:92px;color:var(--card);box-shadow:inset 0 -7px 0 color-mix(in oklch,var(--ink) 25%,transparent),var(--shadow-chunky);border-radius:50%;flex-shrink:0;position:relative;height:92px!important;padding:14px!important}.space-scanner svg{width:46px;height:46px}.space-scanner.scanning{animation:1.2s ease-in-out infinite space-scan}.space-start{background:var(--sun);width:92px;color:var(--ink);border-radius:50%;position:absolute;top:68%;left:50%;transform:translate(-50%,-50%);height:92px!important}.space-start svg{width:40px;height:40px}.space-console{z-index:4;flex-direction:column;align-items:center;gap:20px;min-height:340px;padding:20px 16px 32px;display:flex;position:relative}.space-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:min(720px,100%);display:grid}.space-choice{flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex}.space-picture{aspect-ratio:1;border:5px solid var(--river);background:var(--card);width:100%;box-shadow:0 10px 0 color-mix(in oklch,var(--ink) 50%,transparent);transition:transform .35s,border-color .35s;border-radius:8px!important;height:auto!important;padding:12px!important}.space-picture img{object-fit:contain;pointer-events:none;border-radius:4px;width:100%;height:100%}.space-picture:disabled{opacity:1}.space-picture.speaking,.space-picture.hint{border-color:var(--sun);outline:3px solid var(--sun)}.space-picture.collected{animation:1.1s ease-in forwards space-collect}.space-word{background:var(--teal);width:56px;color:var(--card);box-shadow:var(--shadow-chunky);height:56px!important;padding:10px!important}.space-word svg{width:28px;height:28px}.space-finish{justify-content:center;align-items:center;gap:24px;min-height:240px;display:flex}.space-finish button,.space-finish a{background:var(--sun);width:88px;color:var(--ink);border-radius:50%;height:88px!important}.space-finish svg{width:42px;height:42px}.space-celebration{pointer-events:none;justify-content:space-evenly;align-items:center;display:flex;position:absolute;inset:0}.space-celebration svg{fill:var(--sun);color:var(--sun);width:48px;height:48px;animation:2s ease-in-out infinite space-star}.space-celebration svg:nth-child(2n){align-self:flex-start;margin-top:10%;animation-delay:.4s}.space-unavailable{text-align:center;background:var(--card);max-width:420px;color:var(--ink);border-radius:8px;padding:18px}.space-demo-tag{background:var(--card);color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;display:flex;position:absolute;top:84px;right:14px}.space-demo-tag svg{width:18px;height:18px}@keyframes space-collect{to{opacity:0;transform:translateY(-100px)scale(.25)}}@keyframes space-scan{50%{box-shadow:0 0 0 12px color-mix(in oklch,var(--sun) 35%,transparent),var(--shadow-chunky)}}@keyframes space-star{50%{transform:translateY(-20px)rotate(14deg)}}@media (width>=1600px){.space-stage{max-width:1500px}.space-ship{width:290px}.space-planet{width:110px;height:110px}.space-choices{width:900px}.space-console{min-height:430px;padding-bottom:40px}.space-scanner{width:110px;height:110px!important}}@media (width<=600px){.space-header{gap:6px;padding:10px}.space-nav,.space-tools{gap:6px}.space-nav button,.space-tools button{width:48px;height:48px;padding:10px}.space-stage{min-height:280px}.space-ship{width:125px;top:35%}.space-route{height:24%;top:36%;left:5%;right:5%}.space-planet{width:46px;height:46px}.space-planet svg{width:22px;height:22px}.space-preview{font-size:12px;top:74px;left:10px}.space-demo-tag{top:105px;right:10px}.space-console{gap:18px;min-height:310px;padding:12px 10px 24px}.space-choices{gap:10px}.space-picture{border-width:3px;padding:5px!important}.space-scanner{width:78px;height:78px!important}.space-start{top:75%}.space-finish{min-height:220px}}@media (height<=650px) and (width>=601px){.space-stage{min-height:170px}.space-console{gap:10px;min-height:220px;padding:8px}.space-choices{width:500px}.space-scanner{width:60px;height:60px!important;padding:6px!important}.space-ship{width:145px}.space-planet{width:50px;height:50px}}@media (prefers-reduced-motion:reduce){.space-picture.collected{opacity:.4;animation:none}.space-scanner.scanning,.space-celebration svg{animation:none}.space-ship,.space-picture{transition:none}}.space-route{z-index:3;pointer-events:none}.space-planet:nth-child(3).lit svg{fill:var(--card);stroke:var(--card)}.space-ship[data-landed]{animation:.9s ease-out 1.1s both space-land}@keyframes space-land{0%{transform:translateY(0)}45%{transform:translateY(10px)rotate(4deg)}75%{transform:translateY(-4px)rotate(-1deg)}to{transform:translateY(0)rotate(0)}}@media (prefers-reduced-motion:reduce){.space-ship[data-landed]{animation:none}}.train-shell{--car:clamp(72px,10.5vw,165px);-webkit-user-select:none;user-select:none;isolation:isolate;min-height:100dvh;color:var(--ink);background:linear-gradient(180deg,var(--river) 0%,color-mix(in oklch,var(--teal) 55%,var(--sun)) 30%,color-mix(in oklch,var(--teal) 50%,var(--sun)) 100%);position:relative;overflow:hidden}.train-world{aspect-ratio:1920/1088;z-index:0;width:100%;position:absolute;top:0;left:0}.train-scenery{width:100%;height:100%;display:block}.train-stop{aspect-ratio:1;background:color-mix(in oklch,var(--ink) 55%,transparent);border:3px solid color-mix(in oklch,var(--card) 80%,transparent);width:clamp(30px,3.4%,62px);box-shadow:var(--shadow-soft);border-radius:50%;place-items:center;transition:background .5s,filter .5s;display:grid;position:absolute;translate:-50% -50%}.train-stop svg{width:58%;height:58%;stroke:var(--card);fill:#0000}.train-stop.lit{background:var(--sun);border-color:var(--card);filter:drop-shadow(0 0 14px var(--sun))}.train-stop.lit svg{fill:var(--card)}.train-mini{z-index:2;width:clamp(44px,6.5%,124px);filter:drop-shadow(0 6px 6px color-mix(in oklch,var(--ink) 35%,transparent));transition:left 1.4s ease-in-out,top 1.4s ease-in-out;position:absolute;translate:-50% -92%}.train-mini img{width:100%;height:auto;display:block}.train-mini[data-chug]{animation:.35s ease-in-out 4 train-chug}.train-reveal{aspect-ratio:1;opacity:0;background:var(--card);border:5px solid var(--sun);width:clamp(64px,11%,210px);box-shadow:var(--shadow-chunky),0 0 30px color-mix(in oklch,var(--sun) 60%,transparent);z-index:2;border-radius:16px;padding:clamp(5px,.8vw,14px);transition:scale .5s cubic-bezier(.3,1.5,.5,1),opacity .3s;position:absolute;top:27%;left:69%;translate:-50%;scale:.3}.train-reveal.shown{opacity:1;scale:1}.train-reveal img{object-fit:contain;width:100%;height:100%}.train-celebration{z-index:3;width:0;height:0;position:absolute;top:8%;left:87%}.train-celebration svg{width:clamp(22px,2.6vw,46px);height:auto;fill:var(--sun);stroke:var(--card);animation:1.6s ease-out both train-burst;position:absolute}.train-celebration svg:first-child{--dx:-120%;--dy:-80%}.train-celebration svg:nth-child(2){--dx:140%;--dy:-60%;animation-delay:.1s}.train-celebration svg:nth-child(3){--dx:-200%;--dy:90%;animation-delay:.2s}.train-celebration svg:nth-child(4){--dx:210%;--dy:110%;animation-delay:.3s}.train-celebration svg:nth-child(5){--dx:0%;--dy:-170%;animation-delay:.15s}.train-celebration svg:nth-child(6){--dx:-40%;--dy:190%;animation-delay:.25s}.train-header{z-index:6;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex;position:absolute;top:0;left:0;right:0}.train-nav,.train-tools{align-items:center;gap:8px;display:flex}.train-nav>a,.train-nav>button,.train-tools button{width:56px;height:56px;box-shadow:var(--shadow-chunky);padding:12px}.train-nav svg,.train-tools svg{width:28px;height:28px}.train-preview{background:var(--card);max-width:calc(100% - 28px);color:var(--ink);font:600 14px/1.4 var(--font-sans);z-index:5;border-radius:8px;padding:6px 12px;position:absolute;top:80px;left:14px}.train-tag{background:var(--card);color:var(--ink);font:700 15px/1.3 var(--font-sans);z-index:5;box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:flex;position:absolute;top:80px;right:14px}.train-tag svg{width:20px;height:20px}.train-deck{z-index:3;flex-direction:column;justify-content:center;align-items:center;gap:clamp(14px,2.6dvh,30px);padding:8px 12px 22px;display:flex;position:absolute;inset:max(34vw,100dvh - 470px) 0 0}.train-line{align-items:flex-end;gap:calc(var(--car) * .16);padding:0 4% 10px;transition:gap .5s;display:flex;position:relative}.train-line:after{content:"";background:repeating-linear-gradient(90deg,var(--stone) 0 18px,color-mix(in oklch,var(--stone) 60%,var(--ink)) 18px 24px);height:10px;box-shadow:0 4px 0 color-mix(in oklch,var(--ink) 25%,transparent);z-index:-1;border-radius:6px;position:absolute;bottom:0;left:-6%;right:-6%}.train-line[data-connected]{gap:calc(var(--car) * -.06)}.train-line[data-chug]{animation:.35s ease-in-out 4 train-chug}.train-shell .train-car{width:var(--car);height:auto;box-shadow:none;touch-action:manipulation;background:0 0;border:0;border-radius:12px;padding:0;transition:transform .2s,filter .3s}.train-shell .train-car:hover{background:0 0}.train-shell .train-car:disabled{opacity:1}.train-car img{pointer-events:none;width:100%;height:auto;display:block}.train-car.heard img{filter:drop-shadow(0 0 6px color-mix(in oklch,var(--sun) 70%,transparent))}.train-car.lit{filter:drop-shadow(0 0 18px var(--sun));transform:translateY(-12%)scale(1.07)}.train-car:focus-visible{outline:4px solid var(--card);outline-offset:4px}.train-engine{width:calc(var(--car) * 1.45);flex-shrink:0;position:relative}.train-engine>img{z-index:1;width:100%;height:auto;display:block;position:relative}.train-pip{z-index:0;pointer-events:none;justify-content:center;width:26%;height:42%;display:flex;position:absolute;top:12%;left:8%}.train-actions{justify-content:center;align-items:center;gap:clamp(14px,3vw,36px);min-height:clamp(110px,14vw,190px);display:flex}.train-shell .train-connect{aspect-ratio:1;background:var(--sun);width:clamp(92px,8.5vw,124px);height:auto;color:var(--ink);border:6px solid var(--card);box-shadow:inset 0 -8px 0 color-mix(in oklch,var(--ink) 20%,transparent),var(--shadow-chunky);border-radius:50%}.train-connect svg{width:50%;height:50%}.train-connect[data-ready]{animation:1.4s ease-in-out infinite train-pulse}.train-shell .train-ear{width:64px;height:64px;box-shadow:var(--shadow-chunky);border-radius:50%}.train-ear svg{width:30px;height:30px}.train-choices{gap:clamp(16px,3vw,40px);display:flex}.train-shell .train-picture{aspect-ratio:1;background:var(--card);border:5px solid var(--river);width:clamp(124px,14vw,190px);height:auto;box-shadow:var(--shadow-chunky);border-radius:16px;padding:10px;transition:transform .2s}.train-shell .train-picture:hover{background:var(--card);transform:translateY(-3px)}.train-shell .train-picture:disabled{opacity:1}.train-picture img{object-fit:contain;pointer-events:none;width:100%;height:100%}.train-picture.hint{border-color:var(--sun);animation:1.2s ease-in-out infinite train-glow}.train-shell .train-start{background:var(--sun);width:96px;height:96px;color:var(--ink);box-shadow:var(--shadow-chunky);border-radius:50%}.train-start svg{width:42px;height:42px}.train-unavailable{background:var(--card);font:600 16px/1.4 var(--font-sans);border-radius:12px;padding:12px 18px}.train-finish{gap:20px;display:flex}.train-finish>a,.train-finish>button{width:84px;height:84px;box-shadow:var(--shadow-chunky);border-radius:50%}.train-finish svg{width:38px;height:38px}@keyframes train-chug{50%{transform:translateY(-5px)}}@keyframes train-pulse{50%{box-shadow:0 0 0 10px color-mix(in oklch,var(--sun) 35%,transparent),var(--shadow-chunky);transform:scale(1.08)}}@keyframes train-glow{50%{box-shadow:0 0 0 8px color-mix(in oklch,var(--sun) 45%,transparent),var(--shadow-chunky)}}@keyframes train-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}30%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(1);opacity:1}}@media (orientation:portrait) and (width<=700px){.train-shell{--car:clamp(64px,19vw,96px)}.train-deck{justify-content:flex-start;padding-top:min(7dvh,56px);top:calc(56.6667vw + 12px)}.train-engine{width:calc(var(--car) * 1.3)}.train-preview{font-size:13px;top:72px}.train-tag{top:auto;bottom:12px;right:50%;translate:50%}}@media (prefers-reduced-motion:reduce){.train-shell *{transition:none!important;animation:none!important}}.woods-shell{background:var(--garden-leaf);height:100dvh;min-height:540px;position:relative;overflow:hidden}.woods-ambient{object-fit:cover;filter:blur(24px)brightness(.7);width:108%;height:108%;position:absolute;inset:-4%}.woods-layout{aspect-ratio:4/3;width:min(100%,133.333dvh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.woods-stage{isolation:isolate;position:absolute;inset:0;overflow:hidden}.woods-stage-art{width:100%;height:100%;position:absolute;inset:0}.woods-water{background:repeating-linear-gradient(175deg,transparent 0 18px,color-mix(in oklch,var(--card) 13%,transparent) 19px,transparent 21px 35px);width:76%;height:38%;-webkit-mask-image:radial-gradient(ellipse, var(--ink),transparent 70%);-webkit-mask-image:radial-gradient(ellipse, var(--ink),transparent 70%);mask-image:radial-gradient(ellipse, var(--ink),transparent 70%);pointer-events:none;animation:9s ease-in-out infinite alternate woods-water;position:absolute;top:37%;left:20%}.woods-stone{aspect-ratio:1;z-index:2;pointer-events:none;width:12.1667%;position:absolute;transform:translate(-50%,-39%)}.woods-stone img{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 5px 3px color-mix(in oklch,var(--ink) 45%,transparent));transition:filter .65s;position:absolute;inset:0}.woods-stone:before{content:"";border:2px solid color-mix(in oklch,var(--card) 55%,transparent);width:116%;height:40%;box-shadow:0 0 8px color-mix(in oklch,var(--teal) 55%,transparent);border-radius:50%;position:absolute;top:32%;left:-8%}.woods-stone-lit img{filter:drop-shadow(0 0 9px var(--sun)) brightness(1.12)}.woods-stone-light{background:radial-gradient(ellipse,color-mix(in oklch,var(--sun) 55%,transparent),transparent 72%);opacity:0;z-index:1;border-radius:50%;width:80%;height:42%;transition:opacity .7s;position:absolute;top:20%;left:10%}.woods-stone-lit .woods-stone-light{opacity:1}.woods-stone-spark{color:var(--sun);opacity:0;font-size:28px;position:absolute;top:12%;left:35%}.woods-stone-lit .woods-stone-spark{animation:1.8s ease-out both woods-stone-spark}.woods-shadow{z-index:3;background:color-mix(in oklch,var(--ink) 45%,transparent);filter:blur(2px);pointer-events:none;border-radius:50%;width:7%;height:1.5%;position:absolute}.woods-pip{z-index:4;transform-origin:bottom;pointer-events:none;height:19%;position:absolute}.woods-pip .explorer{width:auto;height:100%;filter:drop-shadow(0 3px 2px color-mix(in oklch,var(--ink) 25%,transparent));display:block}.woods-pip[data-air]:not([data-air="0"]) .explorer{animation:none!important}.woods-landing{color:var(--sun);font-size:28px;animation:.6s ease-out both woods-stone-spark;position:absolute;bottom:-2%;left:50%}.woods-target-area{z-index:10;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:9%;left:43%;transform:translate(-50%)}.woods-demo-tools{white-space:nowrap;align-items:center;gap:8px;display:flex}.woods-demo-label{background:var(--grape);color:var(--card);border:3px solid var(--ink);font:700 20px/1.2 var(--font-display);border-radius:20px;padding:4px 12px}.woods-target{width:132px;box-shadow:var(--shadow-chunky);flex-direction:column;gap:5px;background:var(--sun)!important;border:4px solid var(--ink)!important;border-radius:22px!important;height:146px!important;padding:8px!important;display:flex!important}.woods-target-picture{place-items:center;width:96px;height:96px;font-size:68px;display:grid}.woods-target img,.woods-answer img{object-fit:contain;pointer-events:none;width:100%;height:100%}.woods-target svg{width:24px!important;height:24px!important}.woods-answers{z-index:10;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(58%,600px);display:grid;position:absolute;bottom:2%;left:50%;transform:translate(-50%)}.woods-answer{background:var(--card);border:4px solid var(--ink);box-shadow:var(--shadow-chunky);border-radius:26px;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.woods-answer-picture{place-items:center;width:100%;font-size:76px;background:0 0!important;height:120px!important;padding:0!important;display:grid!important}.woods-word-replay{min-width:64px;background:var(--teal)!important;border:3px solid var(--ink)!important;height:48px!important;color:var(--card)!important;border-radius:40px!important;padding:6px 14px!important}.woods-word-replay svg{width:28px!important;height:28px!important}.woods-demo-control{width:52px;border:3px solid var(--ink)!important;background:var(--card)!important;height:52px!important;color:var(--ink)!important;border-radius:50%!important;padding:8px!important}.woods-demo-control svg{width:28px!important;height:28px!important}.woods-rewatch{z-index:12;position:absolute;bottom:5%;right:3%}.woods-owl{z-index:5;width:8%;height:auto;animation:.6s ease-out both pop-in;position:absolute;top:14%;left:90%}.woods-finish{z-index:10;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:2%;left:0;right:0}.woods-finish h2{color:var(--sun);text-shadow:0 3px var(--ink);font-size:42px}.woods-finish-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.woods-finish-actions button,.woods-finish-actions a{border:3px solid var(--ink);font:700 22px var(--font-display);border-radius:32px;height:64px!important;padding:12px 20px!important}@keyframes woods-water{to{opacity:.5;transform:translate(8px,-3px)}}@keyframes woods-stone-spark{0%{opacity:0;transform:translateY(6px)scale(.3)}25%{opacity:1}to{opacity:0;transform:translateY(-38px)scale(1)}}@media (width<=700px) and (orientation:portrait){.woods-layout{width:100%;top:150px;left:0;transform:none}.woods-stage{overflow:visible}.woods-target-area{top:-70px;left:50%}.woods-target{width:88px;border-width:3px!important;height:100px!important;padding:4px!important}.woods-target-picture{width:58px;height:58px;font-size:46px}.woods-demo-label{font-size:16px}.woods-demo-tools{gap:5px}.woods-demo-control{width:48px;height:48px!important}.woods-answers{gap:8px;width:calc(100% - 20px);position:fixed;top:auto;bottom:72px}.woods-answer{border-width:3px;border-radius:18px;gap:5px;padding:6px}.woods-answer-picture{font-size:58px;height:95px!important}.woods-word-replay{min-width:56px;padding:4px 10px!important}.woods-rewatch{position:fixed;top:auto;bottom:12px;right:10px}.woods-finish{position:fixed;top:auto;bottom:20px}.woods-finish h2{font-size:32px}.woods-finish-actions{gap:8px;padding:10px}.woods-finish-actions button,.woods-finish-actions a{font-size:18px;height:56px!important}}@media (height<=800px) and (width>=701px){.woods-target{width:108px;height:122px!important}.woods-target-picture{width:78px;height:78px;font-size:58px}.woods-answer-picture{height:90px!important}.woods-answers{gap:12px;width:54%}.woods-answer{padding:7px}.woods-demo-label{font-size:18px}}@media (prefers-reduced-motion:reduce){.woods-water,.woods-stone-spark,.woods-landing,.woods-owl{animation:none!important}.woods-stone-lit .woods-stone-light{opacity:.6}}
