:root{--ink:#214e43;--muted:#6a7d76;--paper:#fffaf0;--cream:#f5efdc;--line:#dfd2ad;--green:#3f9b78;--coral:#e97861;--gold:#e7b94f;--shadow:0 16px 34px rgba(57,75,56,.13)}*{box-sizing:border-box}html{overflow-x:hidden;scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:radial-gradient(circle at 20% 0,#fff9e8 0 18%,transparent 38%),#eef3df;color:var(--ink);font-family:"Trebuchet MS","Segoe UI",sans-serif}.app{width:min(1120px,calc(100% - 32px));margin:24px auto 46px}.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px;background:rgba(255,250,240,.96);border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 20px rgba(58,78,61,.08)}.game-home-link{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;border-radius:14px}.game-home-link:hover strong{color:#b65c47}.game-home-link:focus-visible{outline:3px solid #e7b94f;outline-offset:5px}.game-home-link>span:last-child{display:grid}.game-home-link strong{font-size:18px}.game-home-link small{color:var(--muted);font-size:12px}.game-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff0c5}.game-icon svg{width:34px;height:34px;fill:#e7b94f;stroke:#704e24;stroke-width:2;stroke-linejoin:round}.game-icon circle{fill:#fff8df}.age-pill,.hero-facts span{padding:9px 13px;border:1px solid #d8dfc5;border-radius:999px;background:#f7fbe9;font-weight:800;font-size:13px}.screen{display:none}.screen.is-active{display:block}.hero-card,.play-card,.result-card{margin-top:18px;background:rgba(255,250,240,.97);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.hero-card{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden}.hero-art{min-height:500px;background:#e7e1c9}.hero-art img{width:100%;height:100%;object-fit:cover;display:block}.hero-copy{padding:54px 50px 150px;position:relative;background:linear-gradient(135deg,#fffaf0,#eef5df)}.eyebrow{display:block;color:#bd624f;font-size:12px;font-weight:900;letter-spacing:.1em}.hero-copy h1{max-width:560px;margin:10px 0 22px;font-family:Georgia,serif;font-size:clamp(42px,5vw,68px);line-height:.96}.hero-copy p{max-width:600px;margin:0;color:var(--muted);font-size:19px;line-height:1.55}.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.primary-button,.hint-button,.quiet-button,.back-button{border:0;border-radius:14px;font:inherit;font-weight:900;cursor:pointer}.primary-button{padding:15px 24px;background:var(--green);color:white;box-shadow:0 7px 15px rgba(38,130,96,.2)}.primary-button:hover{background:#318567}.hint-button,.quiet-button{padding:13px 18px;background:#f4ead1;color:var(--ink)}button:focus-visible{outline:3px solid #e7b94f;outline-offset:3px}.hero-steps{position:absolute;left:0;right:0;bottom:0;margin:0;padding:0 30px 26px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none;transform:translateX(-45%);width:182%}.hero-steps li{display:flex;align-items:center;gap:12px;min-height:105px;padding:18px;background:#fffaf3;border:1px solid var(--line);border-radius:20px;box-shadow:0 9px 24px rgba(64,74,54,.08)}.hero-steps b{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:15px;background:var(--coral);color:white;font-size:22px}.hero-steps span{display:grid;gap:5px}.hero-steps strong{font-size:16px}.hero-steps small{color:var(--muted);line-height:1.3}.routes-section{padding:40px 0 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading h2{margin:6px 0 0;font-family:Georgia,serif;font-size:34px}.section-heading p{color:var(--muted);font-weight:800}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.route-card{display:grid;grid-template-rows:92px 1fr auto;text-align:left;min-height:292px;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fffaf0;color:var(--ink);cursor:pointer;box-shadow:0 9px 20px rgba(56,72,53,.08)}.route-card:hover{transform:translateY(-3px);box-shadow:0 14px 24px rgba(56,72,53,.13)}.route-visual{display:flex;align-items:center}.route-visual i{display:block;width:70px;height:70px;margin-right:-18px;border:10px dotted var(--route);border-radius:50%;background:#f7efd9}.route-visual i:nth-child(2){width:58px;height:58px;filter:saturate(.7)}.route-visual i:nth-child(3){width:48px;height:48px;filter:saturate(.45)}.route-copy{display:grid;align-content:start;gap:6px}.route-copy small{color:#b9634f;font-weight:900}.route-copy strong{font-family:Georgia,serif;font-size:25px}.route-copy>span{color:var(--muted)}.route-foot{display:grid;gap:8px;margin-top:18px;color:var(--muted);font-size:13px;font-weight:800}.route-foot>i,.progress-track{height:7px;border-radius:99px;background:#e4ead7;overflow:hidden}.route-foot b,.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--route,var(--green))}.play-card{padding:20px}.play-head{display:flex;align-items:center;gap:14px}.play-head>div{flex:1}.play-head small{color:#bd624f;font-weight:900}.play-head h2{margin:3px 0 0;font:700 31px Georgia,serif}.play-head>span{padding:9px 13px;border:1px solid #dfe4d2;border-radius:99px;font-weight:800}.back-button{width:44px;height:44px;background:#e6f2df;color:var(--ink);font-size:21px}.progress-track{margin:14px 0 18px}.game-layout{display:grid;grid-template-columns:270px 1fr;gap:18px}.mission-card{padding:20px;border:1px solid var(--line);border-radius:22px;background:#fffaf1}.mission-card h3{margin:7px 0 14px;font:700 25px Georgia,serif}.mission-card>p{color:var(--muted);font-size:14px;line-height:1.5}.toy-card{display:flex;align-items:center;gap:12px;padding:10px;border-radius:16px;background:#edf5e8}.toy-card img{width:64px;height:54px;object-fit:contain}.toy-card span{display:grid;gap:2px}.toy-card small{font-size:10px;color:var(--muted);font-weight:900}.feedback{display:grid;gap:5px;min-height:92px;margin:16px 0;padding:13px;border-radius:14px;background:#f5efdc;font-size:13px;line-height:1.35}.feedback[data-tone=error]{background:#fff0eb;border:1px solid #f3b5a8}.feedback[data-tone=hint]{background:#fff7d9;border:1px solid #ebce76}.feedback[data-tone=success]{background:#e4f4e8;border:1px solid #9bcfac}.feedback span{color:#5f746c}.mission-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mission-actions [data-next]{grid-column:1/-1}.workshop{min-width:0}.mechanism-stage{position:relative;height:360px;overflow:hidden;border:8px solid #597769;border-radius:25px;background:linear-gradient(#f2dfb8,#e4c993);box-shadow:inset 0 0 0 4px #b67b4d}.pegboard{position:absolute;inset:0;background-image:radial-gradient(circle,#bc9362 2px,transparent 2.5px);background-size:22px 22px;opacity:.45}.mechanism{position:absolute;left:4%;right:12%;top:50%;height:75%;transform:translateY(-50%)}.gear-node{position:absolute;top:50%;left:var(--x);width:var(--d);aspect-ratio:1;transform:translate(-50%,-50%);border:0;padding:0;background:transparent;border-radius:50%}.gear-node.empty{min-width:44px;display:grid;place-items:center;cursor:pointer}.gear-svg{display:block;width:100%;height:100%;filter:drop-shadow(0 5px 3px rgba(86,56,29,.22));transform-origin:center}.gear-node.is-error{filter:drop-shadow(0 0 7px #d74e3c)}.gear-node.is-hint{filter:drop-shadow(0 0 8px #f3b928)}.axle{display:grid;place-items:center;width:58%;aspect-ratio:1;border:4px dashed #7a5a38;border-radius:50%;background:#e8d2a8;color:#68482d}.axle i{width:13px;height:13px;border-radius:50%;background:#795432}.axle small{position:absolute;top:105%;font-weight:900}.crank{position:absolute;top:51%;transform:translate(-50%,-50%);width:15%;height:15%;pointer-events:none}.crank:before{content:"";position:absolute;left:-38%;top:44%;width:55%;height:10px;border-radius:10px;background:#507a62;transform:rotate(-38deg);transform-origin:right}.crank i{position:absolute;left:-49%;top:1%;width:22px;height:22px;border-radius:50%;background:#2f614c}.lift{position:absolute;right:1.5%;top:34px;width:12%;height:270px}.rope{position:absolute;left:52%;top:0;width:5px;height:175px;background:#ae7b45}.basket{position:absolute;left:5%;top:155px;width:92%;height:80px;border-radius:10px 10px 24px 24px;background:#688f72;border:5px solid #365e4c;transition:top .8s ease}.basket:before{content:"";position:absolute;left:12%;right:12%;top:-22px;height:34px;border:5px solid #365e4c;border-bottom:0;border-radius:30px 30px 0 0}.basket img{width:76%;height:68px;object-fit:contain;position:absolute;left:12%;bottom:12px}.mechanism-stage.is-success .basket{top:76px}.mechanism-stage.is-success .turn-cw{animation:spin-cw 2.2s linear infinite}.mechanism-stage.is-success .turn-ccw{animation:spin-ccw 2.2s linear infinite}.gear-tray{display:flex;justify-content:center;align-items:end;gap:10px;min-height:112px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:20px;background:#f8f2e3}.tray-gear{display:grid;justify-items:center;gap:3px;width:86px;border:0;background:transparent;color:var(--ink);font:800 11px inherit;cursor:pointer}.tray-gear .gear-svg{width:68px;height:68px}.tray-gear.is-selected .gear-svg{filter:drop-shadow(0 0 8px #2f9b72)}.tray-gear.is-hint{background:#fff4c6;border-radius:14px}.tray-gear:disabled{opacity:.25}.task-tabs{display:flex;justify-content:center;gap:8px;margin-top:16px}.task-tabs button{width:36px;height:36px;border:0;border-radius:12px;background:#e8ecd9;color:var(--ink);font-weight:900;cursor:pointer}.task-tabs button.is-active{background:#285f4e;color:white}.task-tabs button.is-done{box-shadow:inset 0 0 0 3px #65ad82}.result-card{text-align:center;padding:54px 24px}.result-card h2{margin:10px auto 15px;max-width:700px;font:700 clamp(35px,5vw,56px) Georgia,serif}.result-card>p{max-width:650px;margin:0 auto 20px;color:var(--muted);font-size:18px;line-height:1.55}.result-gears{display:flex;justify-content:center;align-items:center;height:100px}.result-gears i{width:86px;height:86px;margin:-9px;border:12px dotted #e98268;border-radius:50%}.result-gears i:nth-child(2){width:72px;height:72px;border-color:#75a98c}.result-gears i:nth-child(3){width:62px;height:62px;border-color:#78a9c1}.result-stats{display:flex;justify-content:center;gap:12px;margin:20px}.result-stats span{display:grid;gap:4px;padding:12px 20px;background:#eff4e3;border-radius:15px}.result-card .quiet-button{margin-left:8px}@keyframes spin-cw{to{transform:rotate(360deg)}}@keyframes spin-ccw{to{transform:rotate(-360deg)}}@media(max-width:900px){.hero-card{grid-template-columns:1fr}.hero-art{min-height:330px}.hero-copy{padding-bottom:165px}.hero-steps{transform:none;width:auto}.game-layout{grid-template-columns:1fr}.mission-card{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mission-card>p,.feedback,.mission-actions{grid-column:1/-1}.mechanism-stage{height:345px}}@media(max-width:700px){.app{width:min(1120px,calc(100% - 20px));margin-top:10px}.age-pill{display:none}.hero-copy{padding:34px 22px 24px}.hero-copy h1{font-size:42px}.hero-copy p{font-size:17px}.hero-steps{position:static;grid-template-columns:1fr;padding:0 22px 26px;background:linear-gradient(135deg,#fffaf0,#eef5df)}.hero-steps li{min-height:78px}.route-grid{grid-template-columns:1fr}.section-heading{align-items:start}.section-heading h2{font-size:28px}.play-card{padding:12px;border-radius:22px}.play-head h2{font-size:24px}.game-layout{display:block}.mission-card{display:block;margin-bottom:12px}.mechanism-stage{height:300px;border-width:5px}.mechanism{left:1%;right:10%}.lift{width:14%;right:0}.gear-tray{gap:2px;padding:10px 4px;overflow:hidden}.tray-gear{width:20%;font-size:9px}.tray-gear .gear-svg{width:min(60px,15vw);height:min(60px,15vw)}.result-stats{flex-direction:column}.result-card .quiet-button{display:block;margin:10px auto 0}}@media(max-width:420px){.game-home-link strong{font-size:15px}.game-icon{width:42px;height:42px}.hero-art{min-height:250px}.hero-copy h1{font-size:36px}.mechanism-stage{height:270px}.basket{height:68px}.lift{height:230px}.rope{height:150px}.basket{top:135px}.mechanism-stage.is-success .basket{top:64px}.mission-actions{grid-template-columns:1fr}.mission-actions [data-next]{grid-column:auto}}
