:root{--bg:#0a0a0d;--panel:#111116;--line:#2b2b34;--muted:#9999a6;--ink:#f7f5fa;--purple:#a970ff;--purple2:#6b32bc;--acid:#d6ff45;--red:#ff5d65;--max:1360px;--radius:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--purple);color:#0a0a0d}
.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);position:sticky;top:0;background:rgba(10,10,13,.88);backdrop-filter:blur(16px);z-index:20}.brand{display:flex;gap:13px;align-items:center;font-size:.86rem;letter-spacing:.04em;text-transform:uppercase}.brand b,footer b{color:var(--purple)}.brand-mark{width:36px;height:36px;background:var(--purple);color:#0a0a0d;display:grid;place-items:center;font-weight:950;font-size:.72rem;transform:skew(-7deg)}.progress-wrap{display:flex;align-items:center;gap:14px;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.progress-track{width:110px;height:3px;background:var(--line)}.progress-track i{display:block;width:0;height:100%;background:var(--acid);transition:width .4s ease}
main{overflow:hidden}.intro{max-width:var(--max);min-height:56vh;margin:auto;padding:clamp(64px,9vw,140px) clamp(20px,5vw,72px) 80px;position:relative}.intro:after{content:"948";position:absolute;right:4%;top:2%;font-size:clamp(9rem,26vw,25rem);font-weight:950;letter-spacing:-.1em;line-height:1;color:transparent;-webkit-text-stroke:1px #232329;z-index:-1}.eyebrow,.section-index,.detail-kicker{font-size:.74rem;font-weight:800;letter-spacing:.2em;color:var(--purple);margin:0 0 22px}.intro h1,.section-title h2,.explorer h2,.quiz h2{font-size:clamp(3.8rem,9.6vw,9rem);letter-spacing:-.075em;line-height:.83;margin:0;font-weight:900}.intro h1 em{font-style:normal;color:var(--purple)}.lead{max-width:530px;color:#c3c1c8;font-size:clamp(1.05rem,1.6vw,1.35rem);margin:40px 0 38px}.jump{display:inline-flex;align-items:center;gap:24px;text-transform:uppercase;font-size:.77rem;letter-spacing:.16em;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:9px}.jump span{color:var(--acid)}
.explorer{background:var(--panel);border-block:1px solid var(--line);padding:58px max(20px,calc((100vw - var(--max))/2 + 48px)) 80px}.explorer-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.explorer h2{font-size:clamp(2.7rem,5vw,5rem)}.mode-tabs{display:flex;border:1px solid var(--line);padding:4px}.mode{border:0;background:transparent;color:var(--muted);padding:10px 18px;cursor:pointer;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.mode.active{background:var(--ink);color:var(--bg)}
.workbench{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);border:1px solid var(--line);min-height:610px}.bike-stage{position:relative;background:radial-gradient(circle at 50% 52%,#1d1728 0,transparent 46%),linear-gradient(#141419 1px,transparent 1px),linear-gradient(90deg,#141419 1px,transparent 1px);background-size:auto,40px 40px,40px 40px;display:flex;align-items:center;min-width:0}.bike{width:100%;height:auto;overflow:visible}.wheels circle{fill:none;stroke:#55535d;stroke-width:10}.wheels .rim{stroke:#202027;stroke-width:19}.wheels .hub{fill:var(--purple);stroke:none}.frame path{fill:none;stroke:#756e7e;stroke-width:14;stroke-linejoin:round}.fork{fill:none;stroke:#a7a4ad;stroke-width:10}.bar{fill:none;stroke:#aaa7b1;stroke-width:8}.seat{fill:#303038}.tank{fill:url(#tank)}.tail{fill:#5c287f}.engine{fill:#292830;stroke:#76727f;stroke-width:3}.engine-lines path,.engine-lines circle{fill:none;stroke:#5c5965;stroke-width:4}.exhaust{fill:none;stroke:#7e7b86;stroke-width:16;stroke-linecap:round}.chain{fill:none;stroke:#8f8b97;stroke-width:5;stroke-dasharray:8 8}.brakes circle{fill:none;stroke:#bcb8c5;stroke-width:5;stroke-dasharray:3 8}.energy-path path{fill:none;stroke:var(--acid);stroke-width:5;stroke-dasharray:10 12;marker-end:url(#arrow);filter:url(#glow);animation:flow 1.1s linear infinite}.energy-path.hidden{opacity:0}.control .frame path,.control .fork,.control .brakes circle{stroke:var(--acid);filter:url(#glow)}@keyframes flow{to{stroke-dashoffset:-44}}
.energy-key{position:absolute;top:20px;left:22px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:#aaa7b1}.energy-key span{width:26px;height:3px;background:var(--acid);display:inline-block;vertical-align:middle;margin-right:9px;box-shadow:0 0 10px var(--acid)}.hotspot{position:absolute;left:var(--x);top:var(--y);width:34px;height:34px;margin:-17px;border:1px solid var(--purple);border-radius:50%;background:#0c0b10;cursor:pointer;display:grid;place-items:center;transition:.2s;box-shadow:0 0 0 6px rgba(169,112,255,.08)}.hotspot span{font-size:.68rem;font-weight:850}.hotspot:hover,.hotspot:focus-visible,.hotspot.active{background:var(--purple);color:#09090b;transform:scale(1.15);outline:0}.hotspot.visited:after{content:"";position:absolute;right:-2px;top:-2px;width:7px;height:7px;background:var(--acid);border-radius:50%}.control-mode .hotspot:not(.control-point),.energy-mode .control-point{opacity:.3}.detail{border-left:1px solid var(--line);padding:48px 36px;display:flex;flex-direction:column}.detail-number{font-size:5rem;font-weight:900;line-height:1;color:#24232b;margin:0 0 auto}.detail-kicker{margin-bottom:10px}.detail h3,.stroke-copy h3,.principles h3{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.05em;line-height:1;margin:0 0 18px}.detail>p:not(.detail-number,.detail-kicker){color:#bbb8c2}.fact{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.fact span{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--acid);font-weight:800}.fact p{font-size:.92rem;margin:7px 0;color:#dad7df}.next-part{margin-top:30px;padding:15px 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800;cursor:pointer;display:flex;justify-content:space-between}.next-part span{color:var(--purple);font-size:1.1rem}
.process,.physics,.quiz{max-width:var(--max);margin:auto;padding:clamp(90px,12vw,170px) clamp(20px,5vw,72px)}.section-title{display:grid;grid-template-columns:1.2fr 1.8fr 1fr;align-items:end;margin-bottom:70px;gap:30px}.section-title .section-index{align-self:start}.section-title h2{font-size:clamp(3rem,6.5vw,6.2rem)}.section-title>p:last-child{color:var(--muted);margin:0}.stroke-lab{display:grid;grid-template-columns:1.2fr 1fr;min-height:540px;border:1px solid var(--line);background:var(--panel)}.cylinder{position:relative;overflow:hidden;min-height:540px;border-right:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#2a1e39,transparent 48%)}.cylinder:before{content:"";position:absolute;width:220px;height:350px;border:10px solid #57535f;border-bottom:0;left:50%;top:70px;transform:translateX(-50%)}.piston{position:absolute;width:190px;height:78px;background:linear-gradient(#bbb8c4,#615e69);left:50%;top:260px;transform:translateX(-50%);z-index:3;transition:top .65s cubic-bezier(.6,0,.3,1)}.piston:after{content:"";position:absolute;width:18px;height:190px;background:#8b8793;left:50%;top:65px;transform:translateX(-50%) rotate(-20deg);transform-origin:top}.crank{position:absolute;width:100px;height:100px;border:15px solid #504d58;border-radius:50%;left:50%;bottom:18px;transform:translateX(-50%);transition:transform .65s}.valve{position:absolute;width:13px;height:110px;background:#918d99;top:33px;z-index:4}.valve:after{content:"";position:absolute;width:45px;height:12px;background:#aaa6b2;bottom:0;left:50%;transform:translateX(-50%)}.intake{left:calc(50% - 67px)}.exhaust-v{left:calc(50% + 55px)}.spark{position:absolute;left:50%;top:105px;transform:translateX(-50%);font-size:3.5rem;color:var(--acid);opacity:0;filter:drop-shadow(0 0 12px var(--acid));z-index:5}.mixture{position:absolute;width:190px;height:200px;left:50%;top:150px;transform:translateX(-50%);background:radial-gradient(circle,#a970ff55 1px,transparent 2px);background-size:15px 15px;opacity:.65}.cylinder.down .piston{top:330px}.cylinder.down .crank{transform:translateX(-50%) rotate(110deg)}.cylinder.ignite .spark{animation:flash .65s ease}.cylinder.exhausting .mixture{background:radial-gradient(circle,#8d899555 1px,transparent 2px);background-size:13px 13px}.cylinder.exhausting .piston{top:210px}@keyframes flash{10%,60%{opacity:1;transform:translateX(-50%) scale(1.4)}100%{opacity:0}}.stroke-copy{padding:60px;display:flex;flex-direction:column;justify-content:center}.stroke-count{color:var(--purple);font-weight:900;font-size:5rem;line-height:1;margin-bottom:35px}.stroke-count small{font-size:1.3rem;color:#54515b}.stroke-copy>p:not(.detail-kicker){color:var(--muted);max-width:480px}.stroke-controls{display:flex;gap:8px;margin-top:35px}.stroke-controls button{width:48px;height:48px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:.75rem}.stroke-btn.active{background:var(--purple);border-color:var(--purple);color:#08080a}.stroke-controls .play{margin-left:12px;border-radius:50%;border-color:#55515e;color:var(--acid)}
.physics{border-top:1px solid var(--line)}.section-title.compact{display:block}.section-title.compact h2{max-width:820px}.principles{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.principles article{padding:38px;min-height:390px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.principles article:last-child{border:0}.principle-no{color:var(--purple);font-weight:900;margin-bottom:55px}.principles h3{font-size:2rem}.principles p{color:var(--muted);font-size:.94rem}.grip-meter,.lean-demo,.weight-demo{height:64px;margin-top:auto;position:relative}.grip-meter{border:1px solid var(--line);padding:11px;display:flex;gap:3px}.grip-meter i,.grip-meter b{display:block;height:100%;width:64%;background:var(--purple)}.grip-meter b{width:36%;background:var(--acid)}.lean-demo i{display:block;width:72px;height:12px;background:var(--purple);position:absolute;left:45%;top:28px;transform:rotate(24deg);transform-origin:left}.lean-demo i:after{content:"";position:absolute;width:30px;height:30px;border:6px solid #aaa7b1;border-radius:50%;left:45px;top:-9px}.lean-demo span{font-size:.68rem;color:var(--acid);text-transform:uppercase;letter-spacing:.1em}.weight-demo:before,.weight-demo:after{content:"";position:absolute;width:42px;height:42px;border:6px solid #686570;border-radius:50%;bottom:0}.weight-demo:before{left:20%}.weight-demo:after{right:20%}.weight-demo i{position:absolute;width:54%;height:7px;background:#807c88;left:23%;bottom:24px;transform:rotate(-4deg)}.weight-demo span{position:absolute;width:58px;height:58px;border-radius:50%;background:var(--purple);right:26%;bottom:15px;filter:blur(8px);opacity:.55}
.test-bench{border-top:1px solid var(--line)}.bench-head{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;margin-bottom:38px}.bench-head h2{font-size:clamp(3rem,7vw,6rem);line-height:.91}.bench-mission{max-width:520px}.bench-mission>span{font-size:.7rem;letter-spacing:.14em;color:var(--acid);font-weight:850}.bench-mission p{font-size:1.05rem;line-height:1.5;color:#c7c4cd}.mission-state{margin-top:18px;padding:13px 15px;border-left:3px solid var(--purple);background:#17131f;color:#d9d5e0}.mission-state.success{border-color:var(--acid);color:var(--acid)}.bench-shell{border:1px solid var(--line);background:#101013}.powertrain{position:relative;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px;min-height:250px;padding:42px;overflow:hidden;background:radial-gradient(circle at 20% 50%,#241334 0,transparent 36%),#0b0b0e}.powertrain>span{color:#55515c;font-size:1.4rem}.power-node,.bench-wheel{position:relative;z-index:2;display:grid;justify-items:center;gap:7px;text-align:center}.power-node i,.bench-wheel i{width:68px;height:68px;border:2px solid #45414b;border-radius:50%;background:#17171c;box-shadow:inset 0 0 0 10px #0f0f12;transition:.25s}.power-node i:after{content:'';display:block;width:12px;height:12px;margin:26px auto;border-radius:50%;background:#4c4852}.power-node b,.bench-wheel b{font-size:.9rem}.power-node small,.bench-wheel small{color:#85818d;font-size:.75rem}.power-node.active i{border-color:var(--purple);box-shadow:inset 0 0 0 10px #171021,0 0 22px #9d5cff55}.power-node.active i:after{background:var(--acid);box-shadow:0 0 12px var(--acid)}.bench-wheel i{border-width:7px;border-color:#6a6670;background:repeating-conic-gradient(from 0deg,#2e2c33 0 10deg,#111115 10deg 20deg)}.bench-wheel.moving i{border-color:var(--acid);animation:benchSpin var(--wheel-speed) linear infinite;box-shadow:0 0 25px #d6ff4540}.power-pulse{position:absolute;left:10%;bottom:25px;width:var(--flow-progress,0);max-width:80%;height:3px;background:linear-gradient(90deg,var(--purple),var(--acid));box-shadow:0 0 14px var(--purple);transition:width .15s}.bench-console{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.bench-start,.bench-control{min-height:174px;padding:24px;border-right:1px solid var(--line)}.bench-start button{width:100%;padding:14px;border:1px solid var(--purple);background:#1d1427;color:#fff;cursor:pointer;font-weight:800}.bench-start button span{display:inline-block;width:9px;height:9px;margin-right:9px;border-radius:50%;background:#76717c}.bench-start button.running span{background:var(--acid);box-shadow:0 0 10px var(--acid)}.bench-start p{min-height:62px;color:#aaa6b0;font-size:.86rem;line-height:1.45}.bench-start p.warning{color:#ff9b8e}.bench-start p.success{color:var(--acid)}.bench-label{display:flex;justify-content:space-between;gap:14px;margin-bottom:28px}.bench-label label,.bench-label>span{font-weight:800}.bench-label output{color:var(--acid);font-size:.85rem}.bench-control input[type=range]{width:100%;accent-color:var(--purple)}.range-ends{display:flex;justify-content:space-between;margin-top:8px;color:#77727e;font-size:.68rem}.bench-gears{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.bench-gears button{padding:12px;border:1px solid #37333d;background:#17171c;color:#aaa6b0;cursor:pointer}.bench-gears button.active{border-color:var(--acid);background:#252a13;color:var(--acid)}.bench-reset{grid-column:1/-1;padding:14px;border:0;border-top:1px solid var(--line);background:#151519;color:#aaa6b0;cursor:pointer}@keyframes benchSpin{to{transform:rotate(360deg)}}
footer{border-top:1px solid var(--line);padding:50px clamp(20px,5vw,72px);display:flex;justify-content:space-between;align-items:flex-start;gap:38px;color:var(--muted);font-size:.84rem}footer span{color:var(--ink);font-weight:850;letter-spacing:.08em}footer p{margin:0}.footer-brand{max-width:440px}.footer-brand p{margin-top:12px;line-height:1.6}.footer-links{display:flex;flex-wrap:wrap;gap:10px 24px}.footer-links a{color:#d4d0d9;border-bottom:1px solid transparent;padding-bottom:3px}.footer-links a:hover,.footer-links a:focus-visible{color:var(--acid);border-color:var(--acid);outline:0}.footer-copy{white-space:nowrap;text-align:right}
@media(max-width:900px){.workbench{grid-template-columns:1fr}.bike-stage{min-height:480px}.detail{border-left:0;border-top:1px solid var(--line);min-height:430px}.detail-number{margin-bottom:45px}.section-title{grid-template-columns:1fr}.stroke-lab{grid-template-columns:1fr}.cylinder{border-right:0;border-bottom:1px solid var(--line)}.principles{grid-template-columns:1fr}.principles article{border-right:0;border-bottom:1px solid var(--line);min-height:320px}}
@media(max-width:600px){.topbar{height:62px}.brand span:last-child{display:none}.progress-wrap{font-size:.68rem}.progress-track{width:65px}.intro{min-height:62vh}.intro h1{font-size:3.9rem}.explorer{padding-inline:14px}.explorer-head{display:block}.mode-tabs{margin-top:25px;width:max-content}.bike-stage{min-height:360px}.bike{transform:scale(1.12)}.hotspot{width:30px;height:30px;margin:-15px}.detail{padding:34px 24px}.section-title{margin-bottom:45px}.stroke-copy{padding:38px 24px}.cylinder{min-height:480px}.principles article{padding:30px}.process,.physics,.quiz{padding-inline:20px}footer{display:block}.footer-links{margin:26px 0}.footer-copy{text-align:left}.energy-key{top:12px;left:12px}.energy-key span{width:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Garage e viste di sistema */
.intro{min-height:auto;padding-bottom:64px}.garage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;border:1px solid var(--line);margin:34px 0 28px}.bike-choice{background:rgba(17,17,22,.88);border:0;border-right:1px solid var(--line);padding:18px 20px;text-align:left;cursor:pointer;transition:.2s}.bike-choice:last-child{border-right:0}.bike-choice small,.bike-choice strong{display:block}.bike-choice small{color:var(--muted);font-size:.68rem;letter-spacing:.12em;margin-bottom:5px}.bike-choice strong{font-size:.92rem}.bike-choice:hover,.bike-choice:focus-visible{background:#19171f;outline:0}.bike-choice.active{background:var(--purple);color:#08080a}.bike-choice.active small{color:#241638}.bike-id{position:absolute;right:22px;top:18px;text-align:right;z-index:2}.bike-id small,.bike-id strong{display:block}.bike-id small{color:var(--muted);font-size:.62rem;letter-spacing:.13em}.bike-id strong{font-size:.82rem;margin-top:3px}.shaft{display:none;fill:none;stroke:#a7a4ad;stroke-width:14;stroke-linecap:round}.bike-adventure .chain{display:none}.bike-adventure .shaft{display:block}.bike-adventure .tank{transform:translateY(-15px) scaleY(1.15);transform-origin:center}.bike-adventure .fork{transform:translateY(-9px);transform-origin:center}.bike-sport .bar{transform:translateY(27px);transform-origin:center}.bike-sport .tank{transform:translate(12px,8px) scaleX(1.08);transform-origin:center}.bike-sport .tail{transform:rotate(-7deg);transform-origin:right}.system-path{display:none}.system-path path{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:8 10;animation:flow 1.1s linear infinite;filter:url(#glow);marker-end:url(#arrow)}.system-path .module{fill:#0a0a0d;stroke-width:5}.control-mode .control-path,.fluids-mode .fluids-path,.electric-mode .electric-path{display:block}.control-path path,.control-path .module{stroke:#ffb347}.fluids-path path{stroke:#35c9ff}.electric-path path{stroke:#ff68d5}.control-mode .energy-path,.fluids-mode .energy-path,.electric-mode .energy-path{display:none}.bike-stage:not(.control-mode) .control-point,.bike-stage:not(.fluids-mode) .fluids-point,.bike-stage:not(.electric-mode) .electric-point{opacity:.22}.bike-stage.control-mode .hotspot:not(.control-point),.bike-stage.fluids-mode .hotspot:not(.fluids-point),.bike-stage.electric-mode .hotspot:not(.electric-point){opacity:.22}.spec-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0}.spec-strip div{padding:18px 22px;border-right:1px solid var(--line)}.spec-strip div:last-child{border:0}.spec-strip span,.spec-strip b{display:block}.spec-strip span{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}.spec-strip b{font-size:.86rem}

/* Foto reale, radiografia e smontaggio */
.bike-choice{display:flex;align-items:center;gap:14px}.bike-choice img{width:88px;height:60px;object-fit:contain;background:#fff;border-radius:2px;mix-blend-mode:normal}.bike-choice span{min-width:0}.real-bike{position:absolute;z-index:1;width:88%;height:72%;left:6%;top:14%;object-fit:contain;transition:opacity .8s ease,filter .8s ease,transform .8s ease;filter:drop-shadow(0 24px 20px rgba(0,0,0,.5))}.bike-stage>.bike{position:relative;z-index:2;transition:opacity .8s ease,transform .8s ease}.bike-stage .hotspot{z-index:5}.bike-stage.view-real>.bike{opacity:.12}.bike-stage.view-xray .real-bike{opacity:.42;filter:grayscale(.5) contrast(1.15) brightness(.7)}.bike-stage.view-xray>.bike{opacity:.9}.bike-stage.view-skeleton .real-bike{opacity:0;transform:scale(1.03)}.bike-stage.view-skeleton>.bike{opacity:1}.view-switch{position:absolute;z-index:8;left:20px;bottom:18px;display:flex;border:1px solid var(--line);background:rgba(10,10,13,.9)}.view-switch button{border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);padding:9px 12px;cursor:pointer;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.view-switch button:last-child{border-right:0}.view-switch .view-btn.active{background:var(--ink);color:var(--bg)}.view-switch .view-play{color:var(--acid)}.micro-sequence{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.micro-sequence>span{font-size:.66rem;letter-spacing:.14em;color:var(--purple);font-weight:800}.micro-sequence ol{padding:0;margin:12px 0 0;list-style:none;counter-reset:micro;display:grid;gap:7px}.micro-sequence li{font-size:.78rem;color:#c8c5ce;counter-increment:micro}.micro-sequence li:before{content:counter(micro,decimal-leading-zero);color:var(--acid);font-size:.62rem;margin-right:10px}.flow-control{display:flex;align-items:center;justify-content:space-between;margin:-26px 0 30px}.flow-control button{border:1px solid var(--purple);background:transparent;color:var(--purple);padding:10px 14px;cursor:pointer;text-transform:uppercase;letter-spacing:.09em;font-size:.68rem}.flow-control span{font-size:.72rem;color:var(--muted)}.flow-node.sim-active{border-color:var(--acid);background:#202511;transform:translateY(-5px);transition:.25s}.flow-node.sim-active span,.flow-node.sim-active small{color:var(--acid)}

.view-switch{display:flex}.bike-photo-source{font-size:.65rem;color:var(--muted)}
@media(max-width:700px){.bike-choice img{width:70px;height:48px}.view-switch{left:10px;right:10px;bottom:10px;overflow:auto}.view-switch button{flex:1;padding:8px 7px;font-size:.6rem}.real-bike{width:96%;left:2%;height:64%;top:19%}.bike-stage.view-xray .real-bike{opacity:.3}}

/* Circuiti interni */
.circuits{max-width:var(--max);margin:auto;padding:clamp(90px,12vw,170px) clamp(20px,5vw,72px)}.circuit-lab{display:grid;grid-template-columns:290px 1fr;border:1px solid var(--line);min-height:590px;background:var(--panel)}.circuit-nav{border-right:1px solid var(--line);display:flex;flex-direction:column}.circuit-btn{flex:1;min-height:92px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:16px 20px;cursor:pointer;display:grid;grid-template-columns:36px 1fr;grid-template-rows:1fr 1fr;transition:.2s}.circuit-btn:last-child{border-bottom:0}.circuit-btn>span{grid-row:1/3;color:#55515e;font-weight:850}.circuit-btn b{font-size:1rem}.circuit-btn small{font-size:.7rem;color:var(--muted)}.circuit-btn:hover,.circuit-btn:focus-visible{background:#18171d;outline:0}.circuit-btn.active{background:var(--purple);color:#09090b}.circuit-btn.active span,.circuit-btn.active small{color:#2b183f}.circuit-view{padding:48px;display:flex;flex-direction:column}.circuit-head h3{font-size:clamp(2.3rem,4vw,4.2rem);letter-spacing:-.055em;line-height:.95;margin:0 0 20px}.circuit-head>p:last-child{color:var(--muted);max-width:740px}.flow{display:flex;align-items:stretch;gap:9px;margin:45px 0}.flow>i{font-style:normal;color:var(--acid);display:grid;place-items:center}.flow-node{flex:1;min-width:0;border:1px solid var(--line);padding:17px;position:relative;overflow:hidden}.flow-node:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--purple);transform:translateX(-100%);animation:nodeflow 3s ease infinite}.flow-node:nth-of-type(2):after{animation-delay:.45s}.flow-node:nth-of-type(3):after{animation-delay:.9s}.flow-node:nth-of-type(4):after{animation-delay:1.35s}.flow-node span,.flow-node b,.flow-node small{display:block}.flow-node span{color:var(--purple);font-size:.7rem;margin-bottom:28px}.flow-node b{font-size:.92rem;white-space:normal}.flow-node small{font-size:.68rem;color:var(--muted);margin-top:4px}.flow-node.highlight{border-color:var(--purple);background:#1c1625}@keyframes nodeflow{0%{transform:translateX(-100%)}35%,65%{transform:translateX(0)}100%{transform:translateX(100%)}}.abs-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:auto}.abs-split>div{padding:23px 24px 0 0}.abs-split>div+div{border-left:1px solid var(--line);padding-left:24px}.abs-split span{font-size:.66rem;letter-spacing:.14em;color:var(--acid);font-weight:800}.abs-split p{font-size:.86rem;color:#aaa7b1;margin:8px 0 0}
@media(max-width:900px){.garage{grid-template-columns:1fr}.bike-choice{border-right:0;border-bottom:1px solid var(--line)}.bike-choice:last-child{border-bottom:0}.spec-strip{grid-template-columns:1fr 1fr}.spec-strip div:nth-child(2){border-right:0}.spec-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.circuit-lab{grid-template-columns:1fr}.circuit-nav{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr)}.circuit-btn{min-height:100px;border-bottom:0;border-right:1px solid var(--line);display:block}.circuit-btn:last-child{border-right:0}.circuit-btn span,.circuit-btn b,.circuit-btn small{display:block}.circuit-btn span{margin-bottom:12px}.circuit-btn small{display:none}}
@media(max-width:600px){.garage{margin-top:26px}.bike-choice{padding:14px 16px}.mode-tabs{overflow-x:auto;max-width:100%;white-space:nowrap}.mode{padding-inline:13px}.bike-id{display:none}.spec-strip{grid-template-columns:1fr}.spec-strip div{border-right:0!important;border-bottom:1px solid var(--line)}.circuit-nav{grid-template-columns:repeat(5,44vw);overflow-x:auto}.circuit-view{padding:34px 22px}.flow{display:grid;grid-template-columns:1fr;margin:28px 0}.flow>i{transform:rotate(90deg);height:18px}.flow-node span{margin-bottom:12px}.abs-split{grid-template-columns:1fr}.abs-split>div{padding:20px 0}.abs-split>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.circuits{padding-inline:20px}}

/* Complete, responsive functional diagrams */
.intro{padding-top:44px;padding-bottom:32px}.intro h1{font-size:clamp(3rem,6vw,5rem);line-height:1}.intro:after{display:none}.lead{margin:20px 0}.garage{max-width:none}.bike-choice{min-height:80px}.bike-stage{display:block;min-height:0;padding:90px 12px 76px;overflow:hidden}.diagram-space{position:relative;width:100%;aspect-ratio:920/520}.diagram-space>.bike{width:100%;height:100%;transform:none!important;opacity:1!important;transition:filter .6s}.diagram-space .hotspot{left:var(--x);top:var(--y)}.bike-stage.view-real .bike{opacity:1}.bike-stage.view-xray .tank,.bike-stage.view-xray .seat,.bike-stage.view-xray .tail{opacity:.2}.bike-stage.view-skeleton .tank,.bike-stage.view-skeleton .seat,.bike-stage.view-skeleton .tail{opacity:0}.tank,.seat,.tail{transition:opacity .65s,transform .65s}.bike-sport .tank{fill:#ff5d65}.bike-adventure .tank{fill:#4db3d9}.bike-stage .hotspot.active{opacity:1!important}.diagram-note{color:var(--muted);font-size:.875rem}.view-switch{max-width:calc(100% - 24px)}.view-switch button{font-size:.875rem}.detail-number{font-size:3rem;margin-bottom:20px}.detail{padding:30px 24px}.energy-key,.bike-id small,.mode,.bike-choice small{font-size:.875rem}.micro-sequence li{font-size:1rem}.bike-stage.view-real .energy-path,.bike-stage.view-real .system-path{opacity:.4}
@media(max-width:600px){.bike-stage{padding:72px 5px 85px}.hotspot{width:26px;height:26px;margin:-13px}.view-switch{flex-wrap:wrap}.view-switch button{font-size:.8rem}.intro{min-height:0}.workbench{min-height:0}.diagram-space{min-height:0}.energy-key{font-size:.75rem}.bike-choice{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.category-art{position:absolute;inset:0;background-image:url('assets/moto-types.png');background-size:240% 300%;background-repeat:no-repeat;background-position:center top;z-index:3;pointer-events:none;transition:opacity .7s ease}
.bike-sport .category-art{background-position:center center}.bike-adventure .category-art{background-position:center bottom}
.bike-stage.view-real .diagram-space>.bike{opacity:0!important}.bike-stage.view-xray .category-art{opacity:.17}.bike-stage.view-skeleton .category-art{opacity:0}
.bike-choice:before{content:'';width:130px;aspect-ratio:1.77;background-image:url('assets/moto-types.png');background-size:240% 300%;background-position:top;flex-shrink:0}.bike-choice[data-bike="sport"]:before{background-position:center}.bike-choice[data-bike="adventure"]:before{background-position:bottom}
@media(max-width:600px){.bike-choice:before{width:110px}}


.bike-stage.view-project .diagram-space>.bike{opacity:0!important}

/* A drawing is separate from the fully interactive hit targets. */
.project-art{display:none;position:absolute;width:100%;height:100%;object-fit:contain;inset:0;z-index:3;pointer-events:none}
.bike-stage.view-project{background:#fff;color:#161621}.view-project .project-art{display:block}.view-project .category-art{display:none}.view-project .diagram-space{aspect-ratio:3/2;background:white}.view-project .energy-key{color:#504a60}.view-project .bike-id small{color:#514a60}
.bike-stage .diagram-space .hotspot{opacity:1!important;pointer-events:auto!important;z-index:6;width:32px;height:32px;margin:-16px;border:2px solid #fff;box-shadow:0 0 0 1px #5f3388,0 2px 8px #0008;background:#502080;color:white;touch-action:manipulation}
.bike-stage .hotspot.active{background:#d6ff45;color:#12121a;border-color:#15151d}.hotspot:focus-visible{outline:3px solid #f5c542;outline-offset:4px}.hotspot:after{pointer-events:none}.hotspot[hidden]{display:none!important}
.part-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:22px;position:relative;z-index:7}.part-index button{display:flex;align-items:center;gap:8px;text-align:left;min-height:44px;border:1px solid #514759;background:#17131f;color:#f5efff;font-size:.875rem;padding:8px;cursor:pointer}.part-index button span{color:#c69bff;font-weight:800}.part-index button.active{border-color:#bd92ff;background:#352045}.view-project .part-index button{background:#f7f4fa;color:#23152e;border-color:#d3c8dd}.view-project .part-index button.active{background:#e8d5ff;border-color:#602b97}.location-note{font-size:.875rem;color:#d9b2ff!important}.bike-stage{padding-bottom:90px}.view-switch{bottom:18px}.diagram-space{isolation:isolate}.view-switch{flex-wrap:wrap}.hotspot span{font-size:.8rem}.part-index button:focus-visible{outline:3px solid #a970ff}
@media(max-width:600px){.part-index{grid-template-columns:repeat(2,minmax(0,1fr))}.bike-stage{padding-bottom:120px}.bike-stage .diagram-space .hotspot{width:28px;height:28px;margin:-14px}.hotspot span{font-size:.7rem}}

/* Tavola tecnica interattiva */
.technical-overlay,.project-readout,.project-legend{display:none}
.view-project .technical-overlay{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible}
.view-project .project-readout{display:grid;position:absolute;left:16px;top:14px;z-index:7;padding:10px 12px;border:1px solid #261a31;background:rgba(255,255,255,.92);box-shadow:4px 4px 0 #d8c6e8;min-width:190px;color:#201329}
.project-readout span{font-size:.62rem;font-weight:850;letter-spacing:.11em}.project-readout b{margin-top:4px;font-size:.86rem;color:#5b278e}.project-readout.pulse{animation:readoutPulse .35s ease}
.view-project .project-legend{display:flex;position:absolute;right:16px;bottom:12px;z-index:7;gap:14px;padding:7px 9px;border:1px solid #c8bacf;background:rgba(255,255,255,.9);color:#30263a;font-size:.58rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.project-legend span{display:flex;align-items:center;gap:5px}.project-legend i{display:inline-block;width:20px;height:3px}.line-physical{background:#008eaa}.line-signal{height:2px!important;background:repeating-linear-gradient(90deg,#a02079 0 5px,transparent 5px 8px)}
.tech-line{fill:none;stroke-width:.62;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:technicalFlow 1.25s linear infinite;filter:drop-shadow(0 0 1px #fff)}
.tech-line.physical{stroke:#008eaa;stroke-dasharray:3 1.4}.tech-line.signal{stroke:#a02079;stroke-dasharray:1.2 1.6}
.tech-node circle{fill:#fff;stroke:#351441;stroke-width:.48;vector-effect:non-scaling-stroke}.tech-node text{fill:#211329;font-family:Arial,sans-serif;font-size:2.05px;font-weight:900;letter-spacing:.08em;paint-order:stroke;stroke:#fff;stroke-width:.65px;stroke-linejoin:round}
.view-project .hotspot.internal-point{background:#fff;color:#54217f;border:2px dashed #54217f;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 2px 8px #0006}.view-project .hotspot.internal-point.active{background:#d6ff45;color:#12121a;border-style:solid;border-color:#15151d}
@keyframes technicalFlow{to{stroke-dashoffset:-9}}@keyframes readoutPulse{50%{transform:translateY(-2px);box-shadow:5px 6px 0 #b994d7}}
@media(max-width:600px){.view-project .project-readout{left:7px;top:7px;padding:7px 8px;min-width:150px}.project-readout span{font-size:.54rem}.project-readout b{font-size:.72rem}.view-project .project-legend{right:5px;bottom:5px;gap:7px;font-size:.47rem}.project-legend i{width:13px}.tech-node text{font-size:2.5px}}

/* Dettaglio ravvicinato del componente */
.component-closeup{margin:22px 0 4px;border:1px solid #39343f;background:#0d0c10;overflow:hidden}.closeup-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #302c36;gap:12px}.closeup-head span{font-size:.59rem;letter-spacing:.15em;color:var(--acid);font-weight:850}.closeup-head b{font-size:.75rem;color:#eeeaf2;text-align:right}.closeup-canvas{position:relative;background:linear-gradient(#17141d 1px,transparent 1px),linear-gradient(90deg,#17141d 1px,transparent 1px),#09080b;background-size:18px 18px}.closeup-canvas:after{content:"SELEZIONA UNA FASE";position:absolute;right:9px;bottom:7px;color:#4d4655;font-size:.5rem;letter-spacing:.13em}.closeup-canvas svg{display:block;width:100%;height:auto;aspect-ratio:360/220;padding:10px}.closeup-canvas [data-step]{opacity:.2;transition:opacity .28s,filter .28s}.closeup-canvas [data-step].active{opacity:1;filter:drop-shadow(0 0 5px rgba(169,112,255,.45))}.d-outline,.d-metal,.d-flow,.d-signal{fill:none;stroke-linecap:round;stroke-linejoin:round}.d-outline{stroke:#696270;stroke-width:3}.d-metal{stroke:#a69dac;stroke-width:4}.d-flow{stroke:var(--acid);stroke-width:4;stroke-dasharray:8 6;marker-end:url(#closeArrow);animation:closeupFlow 1s linear infinite}.d-signal{stroke:#f06ac2;stroke-width:3;stroke-dasharray:3 6;marker-end:url(#closeArrow);animation:closeupFlow .75s linear infinite}.d-node{fill:#0d0c10;stroke:var(--purple);stroke-width:4}.closeup-canvas text{fill:#d7d0dc;font-family:Arial,sans-serif;font-size:9px;font-weight:800;letter-spacing:.08em;paint-order:stroke;stroke:#09080b;stroke-width:3px}.closeup-controls{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #302c36}.closeup-controls button{min-width:0;border:0;border-right:1px solid #302c36;background:#111016;color:#aaa4b0;padding:9px 5px;cursor:pointer;font-size:.64rem;text-transform:uppercase}.closeup-controls button:last-child{border-right:0}.closeup-controls button span{display:block;color:#6d6574;font-size:.54rem;margin-bottom:3px}.closeup-controls button.active{background:#3d2452;color:#fff}.closeup-controls button.active span{color:var(--acid)}.closeup-controls button:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}.closeup-caption{min-height:42px;margin:0!important;padding:10px 12px;color:#d9d3dd!important;font-size:.76rem!important;border-top:1px solid #302c36}.closeup-caption:before{content:"→ ";color:var(--acid);font-weight:900}@keyframes closeupFlow{to{stroke-dashoffset:-14}}
@media(max-width:600px){.component-closeup{margin-top:18px}.closeup-canvas svg{padding:4px}.closeup-controls button{font-size:.58rem;padding-inline:3px}.closeup-caption{font-size:.72rem!important}}

/* Playground del componente */
.open-playground{display:flex;align-items:center;justify-content:space-between;width:100%;margin:22px 0 4px;padding:14px 16px;border:1px solid #5f397b;border-radius:14px;background:#1d1524;color:#f5efff;cursor:pointer;font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.open-playground span{color:var(--acid);font-size:1.1rem}.open-playground:hover,.open-playground:focus-visible{background:#2b1b37;outline:2px solid var(--purple);outline-offset:2px}
.component-playground{scroll-margin-top:84px;margin-top:28px;padding:clamp(24px,4vw,54px);border-radius:30px;background:#f5f5f7;color:#171719;min-height:590px;box-shadow:0 24px 70px rgba(0,0,0,.24)}.playground-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.playground-head>div>span{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:#77777d}.playground-head h3{margin:8px 0 0;font-size:clamp(2.3rem,4.8vw,4.8rem);line-height:.96;letter-spacing:-.06em}.playground-head p{max-width:360px;margin:0;color:#6e6e73;font-size:.95rem;line-height:1.5}
.detail-tabs{display:inline-grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:999px;background:#e3e3e8;margin-bottom:30px}.detail-tab{min-width:130px;border:0;border-radius:999px;background:transparent;color:#5b5b61;padding:11px 20px;cursor:pointer;font-weight:750}.detail-tab.active{background:#fff;color:#171719;box-shadow:0 2px 12px rgba(0,0,0,.1)}.detail-tab:focus-visible{outline:3px solid #8b5cf6;outline-offset:2px}.detail-panel[hidden]{display:none!important}.detail-panel.active{animation:panelIn .32s ease}
.detail-panel[data-detail-panel="learn"]{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:20px}.component-playground .closeup-canvas{min-height:440px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(#eeeef2 1px,transparent 1px),linear-gradient(90deg,#eeeef2 1px,transparent 1px),#fff;background-size:28px 28px;overflow:hidden;box-shadow:inset 0 0 0 1px #e5e5ea}.component-playground .closeup-canvas:after{content:"TOCCA UNA FASE PER ISOLARE IL MOVIMENTO";right:16px;bottom:13px;color:#a2a2a8;font-size:.58rem}.component-playground .closeup-canvas svg{width:100%;max-height:500px;padding:24px}.component-playground .d-outline{stroke:#c7c7cc}.component-playground .d-metal{stroke:#64646b}.component-playground .d-flow{stroke:#7137bc}.component-playground .d-signal{stroke:#d94d9c}.component-playground .d-node{fill:#fff;stroke:#7137bc}.component-playground .closeup-canvas text{fill:#232326;stroke:#fff;stroke-width:4px;font-size:9px}.closeup-side{display:flex;flex-direction:column;padding:24px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px #e5e5ea}.panel-kicker{font-size:.62rem;letter-spacing:.14em;font-weight:850;color:#77777d}.component-playground .closeup-controls{display:grid;grid-template-columns:1fr;border:0;margin-top:18px;gap:8px}.component-playground .closeup-controls button{display:grid;grid-template-columns:34px 1fr;align-items:center;text-align:left;border:0!important;border-radius:14px;background:#f2f2f5;color:#5b5b61;padding:14px 12px;font-size:.72rem}.component-playground .closeup-controls button span{display:grid;place-items:center;width:28px;height:28px;margin:0;border-radius:50%;background:#fff;color:#77777d}.component-playground .closeup-controls button.active{background:#171719;color:#fff}.component-playground .closeup-controls button.active span{background:#8b5cf6;color:#fff}.component-playground .closeup-caption{margin-top:auto!important;min-height:86px;padding:20px 0 0;border-top:1px solid #e5e5ea;color:#29292d!important;font-size:.92rem!important;line-height:1.5}.component-playground .closeup-caption:before{color:#7137bc}
.curiosity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.curiosity-grid article{min-height:310px;padding:30px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px #e5e5ea;transition:transform .25s,box-shadow .25s}.curiosity-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.09)}.curiosity-grid span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#efe8f8;color:#7137bc;font-size:.7rem;font-weight:850}.curiosity-grid h4{margin:82px 0 14px;font-size:1.45rem;line-height:1.05;letter-spacing:-.035em}.curiosity-grid p{margin:0;color:#6e6e73;line-height:1.55;font-size:.9rem}
.detail-panel[data-detail-panel="try"]{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.challenge-copy,.detail-panel[data-detail-panel="try"]>div:last-child{min-height:330px;padding:32px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px #e5e5ea}.challenge-copy h4{margin:70px 0 18px;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.02;letter-spacing:-.045em}.challenge-copy p{color:#77777d;line-height:1.5}.challenge-answers{display:grid;gap:10px}.challenge-answers button{border:1px solid #dedee3;border-radius:14px;background:#f8f8fa;color:#29292d;padding:17px 18px;text-align:left;cursor:pointer;font-size:.9rem;transition:.2s}.challenge-answers button:hover{background:#eeeeF3}.challenge-answers button.correct{border-color:#3d9b62;background:#e8f7ee;color:#176135}.challenge-answers button.wrong{border-color:#d96a6a;background:#fff0f0;color:#9b2c2c}.challenge-result{min-height:60px;margin:22px 0 0;padding-top:18px;border-top:1px solid #e5e5ea;color:#4f4f55;line-height:1.5}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.playground-head{display:block}.playground-head p{margin-top:18px}.detail-panel[data-detail-panel="learn"],.detail-panel[data-detail-panel="try"]{grid-template-columns:1fr}.curiosity-grid{grid-template-columns:1fr}.curiosity-grid article{min-height:230px}.curiosity-grid h4{margin-top:45px}}
@media(max-width:600px){.component-playground{margin-inline:-4px;padding:22px 14px;border-radius:22px}.playground-head h3{font-size:2.5rem}.detail-tabs{display:grid;width:100%}.detail-tab{min-width:0;padding:10px 8px}.component-playground .closeup-canvas{min-height:300px}.component-playground .closeup-canvas svg{padding:7px}.closeup-side{padding:18px}.challenge-copy,.detail-panel[data-detail-panel="try"]>div:last-child{min-height:0;padding:22px}.challenge-copy h4{margin-top:38px}}

/* Etichette leggibili sulla tavola */
.hotspot small{display:none}.view-project .hotspot small{display:block;position:absolute;left:calc(100% + 9px);top:50%;transform:translateY(-50%) scale(.94);padding:7px 10px;border:1px solid #d4c9da;border-radius:9px;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(34,16,48,.18);color:#24172c;font-size:11px;font-weight:850;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transition:.18s;z-index:12}.view-project .hotspot.label-left small{left:auto;right:calc(100% + 9px)}.view-project .hotspot:hover small,.view-project .hotspot:focus-visible small,.view-project .hotspot.active small{opacity:1;transform:translateY(-50%) scale(1)}.view-project .project-readout span{font-size:.72rem}.view-project .project-readout b{font-size:1rem}.view-project .tech-node text{font-size:3.15px;stroke-width:1.15px}.view-project .tech-node circle{r:1.6px}

/* Mini gioco illustrato */
.game-visual{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:34px;padding:18px 10px;border-radius:16px;background:#f2f2f5;overflow:hidden}.game-node{position:relative;flex:1;min-width:0;padding:12px 6px;border-radius:12px;background:#fff;text-align:center;box-shadow:inset 0 0 0 1px #dedee3;overflow:hidden}.game-node span,.game-node b{display:block}.game-node span{color:#8b5cf6;font-size:.58rem}.game-node b{margin-top:4px;font-size:.62rem;color:#4d4d53;text-transform:uppercase}.game-node:after{content:"";position:absolute;left:-100%;bottom:0;width:100%;height:4px;background:#8b5cf6}.game-visual>i{font-style:normal;color:#aaaab1}.game-visual.success .game-node:after{animation:gameRun 1.8s ease forwards}.game-visual.success .game-node:nth-of-type(2):after{animation-delay:.35s}.game-visual.success .game-node:nth-of-type(3):after{animation-delay:.7s}.game-visual.success .game-node{animation:gameGlow .55s ease forwards}.game-visual.success .game-node:nth-of-type(2){animation-delay:.35s}.game-visual.success .game-node:nth-of-type(3){animation-delay:.7s}.game-visual.error{animation:gameError .35s ease}.game-visual.error .game-node:first-child{box-shadow:inset 0 0 0 2px #d96a6a}@keyframes gameRun{to{left:0}}@keyframes gameGlow{to{background:#f0eafa;box-shadow:inset 0 0 0 2px #8b5cf6}}@keyframes gameError{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

/* Confronto 4 tempi / 2 tempi */
.engine-selector{display:grid;grid-template-columns:1fr 1fr;max-width:720px;margin:0 0 22px;padding:5px;border:1px solid var(--line);border-radius:18px;background:#111016}.engine-type{border:0;border-radius:13px;background:transparent;color:#aaa7b1;padding:16px 20px;text-align:left;cursor:pointer;font-size:1rem;font-weight:850}.engine-type small{display:block;margin-top:5px;color:#67636d;font-size:.68rem;font-weight:500}.engine-type.active{background:#f5f5f7;color:#171719;box-shadow:0 6px 20px #0005}.engine-type.active small{color:#696970}.engine-type:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.engine-port{display:none;position:absolute;top:224px;z-index:6;padding:5px 7px;border:1px solid var(--purple);background:#17101f;color:#d8b5ff;font-size:.55rem;font-weight:900}.engine-2t .engine-port{display:block}.intake-port{left:calc(50% - 126px)}.exhaust-port{right:calc(50% - 132px);border-color:var(--acid);color:var(--acid)}.engine-2t .valve{opacity:.15}.stroke-btn[hidden]{display:none!important}.engine-differences{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-top:0}.engine-differences article{padding:28px 32px;opacity:.4;transition:.25s}.engine-differences article+article{border-left:1px solid var(--line)}.engine-differences article.active{opacity:1;background:#17141d}.engine-differences span{color:var(--purple);font-weight:900}.engine-differences h3{margin:12px 0 8px;font-size:1.35rem}.engine-differences p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}
@media(max-width:600px){.view-project .hotspot small{font-size:9px;padding:6px 7px}.view-project .tech-node text{font-size:3.7px}.game-visual{gap:4px;padding-inline:6px}.game-node{padding-inline:2px}.game-node b{font-size:.51rem}.engine-selector,.engine-differences{grid-template-columns:1fr}.engine-differences article+article{border-left:0;border-top:1px solid var(--line)}}

/* Foto ravvicinata */
.playground-intro{max-width:380px}.photo-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:18px;padding:13px 15px;border:0;border-radius:14px;background:#171719;color:#fff;cursor:pointer;font-weight:750}.photo-trigger span{color:#bd9bea;font-size:1.15rem}.component-photo-modal{width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:26px;background:#f5f5f7;color:#171719;overflow:auto;box-shadow:0 30px 100px #0008}.component-photo-modal::backdrop{background:rgba(5,5,8,.78);backdrop-filter:blur(10px)}.modal-close{position:sticky;float:right;right:16px;top:16px;z-index:5;width:42px;height:42px;border:0;border-radius:50%;background:rgba(20,20,22,.78);color:#fff;cursor:pointer;font-size:1.5rem}.modal-photo{clear:both;position:relative;aspect-ratio:3/2;background:#e9e9ec;overflow:hidden}.modal-photo img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(var(--photo-scale,1));transform-origin:var(--photo-x,50%) var(--photo-y,50%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}.photo-focus{position:absolute;left:18px;bottom:18px;padding:9px 12px;border-radius:999px;background:rgba(18,18,21,.86);color:#d6ff45;font-size:.72rem;font-weight:850;letter-spacing:.1em;backdrop-filter:blur(8px)}.modal-copy{padding:30px clamp(24px,5vw,54px) 42px}.modal-copy>span{font-size:.65rem;letter-spacing:.14em;font-weight:850;color:#7c3aed}.modal-copy h3{margin:8px 0 14px;font-size:clamp(2.2rem,5vw,4.3rem);letter-spacing:-.055em}.modal-copy p{max-width:700px;color:#505057;font-size:1rem;line-height:1.55}.modal-copy small{display:block;margin-top:24px;color:#85858c}

/* Tre mini laboratori */
.mini-labs{max-width:var(--max);margin:auto;padding:clamp(90px,12vw,170px) clamp(20px,5vw,72px);border-top:1px solid var(--line)}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-lab{min-width:0;min-height:560px;padding:28px;border-radius:24px;background:#f5f5f7;color:#18181b;display:flex;flex-direction:column}.lab-no{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e9ddf7;color:#7137bc;font-size:.7rem;font-weight:900}.mini-lab h3{margin:52px 0 10px;font-size:1.65rem;letter-spacing:-.04em}.mini-lab>p{margin:0 0 30px;color:#6e6e73;font-size:.88rem;line-height:1.5}.mini-lab label{display:grid;grid-template-columns:1fr auto;gap:9px;margin:12px 0;color:#4e4e54;font-size:.76rem;font-weight:750}.mini-lab output{color:#7137bc}.mini-lab input[type="range"]{grid-column:1/3;width:100%;accent-color:#7137bc}.mini-lab>strong{display:block;margin-top:auto;padding-top:18px;border-top:1px solid #dedee3;font-size:.8rem}.mini-lab>strong.danger{color:#b22c2c}.budget-bar{display:flex;height:22px;margin-top:22px;border-radius:999px;background:#dedee3;overflow:hidden}.budget-bar i,.budget-bar b{display:block;height:100%;transition:.2s}.budget-bar i{background:#7c3aed}.budget-bar b{background:#e255a1}.switch-row{display:flex!important;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:14px;background:#fff}.switch-row input{width:42px;height:22px;accent-color:#7137bc}.wheel-game{position:relative;height:150px;margin:18px 0;overflow:hidden}.game-wheel{position:absolute;left:50%;bottom:18px;width:110px;height:110px;margin-left:-55px;border:12px solid #303036;border-radius:50%;transition:.25s}.game-wheel:before{content:"";position:absolute;inset:19px;border:5px solid #9999a1;border-radius:50%}.game-wheel i{position:absolute;left:50%;top:50%;width:45px;height:3px;background:#7137bc;transform-origin:left}.game-wheel.rolling{animation:wheelSpin .8s linear infinite}.game-wheel.modulating{animation:wheelPulse .25s ease infinite alternate}.game-wheel.locked{transform:rotate(-8deg)}.road{position:absolute;left:0;right:0;bottom:12px;height:6px;background:#bbbcc2;border-radius:5px}.game-wheel.locked+.road:after{content:"";position:absolute;left:47%;top:8px;width:72px;height:3px;background:#555;transform:translateX(-50%)}@keyframes wheelSpin{to{transform:rotate(360deg)}}@keyframes wheelPulse{to{transform:rotate(7deg) scale(.98)}}.gear-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:20px}.gear-buttons button{border:0;border-radius:12px;background:#e5e5ea;color:#55555c;padding:13px;cursor:pointer;font-weight:850}.gear-buttons button.active{background:#171719;color:#fff}.meter-row{display:grid;gap:15px;margin-top:24px}.meter-row span{font-size:.7rem;color:#66666c}.meter-row i{display:block;height:10px;margin-top:6px;border-radius:999px;background:#dedee3;overflow:hidden}.meter-row b{display:block;height:100%;width:0;background:#7137bc;border-radius:inherit;transition:.25s}.meter-row span+span b{background:#e255a1}
@media(max-width:1000px){.lab-grid{grid-template-columns:1fr}.mini-lab{min-height:470px}.playground-intro{max-width:none}}
@media(max-width:600px){.component-photo-modal{width:calc(100vw - 16px);border-radius:20px}.modal-copy{padding-inline:20px}.mini-labs{padding-inline:14px}.mini-lab{padding:22px}.mini-lab h3{margin-top:38px}}

/* Quiz: che tipo di moto sei */
.bike-match{max-width:var(--max);margin:auto;padding:clamp(90px,12vw,170px) clamp(20px,5vw,72px);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(32px,7vw,110px);align-items:start}.match-intro{position:sticky;top:110px}.match-intro h2{margin:14px 0 26px;font-size:clamp(3.2rem,6vw,6.5rem);line-height:.88;letter-spacing:-.07em}.match-intro>p:not(.section-index){max-width:430px;color:var(--muted);font-size:1rem;line-height:1.6}.match-meta{display:flex;gap:10px;margin-top:28px}.match-meta span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:#9d98a4;font-size:.68rem}.match-card{min-height:610px;padding:clamp(24px,4vw,48px);border-radius:30px;background:#f5f5f7;color:#171719;box-shadow:0 28px 80px #0005}.match-progress{display:flex;align-items:center;gap:18px;color:#77777d;font-size:.68rem;font-weight:800;letter-spacing:.05em}.match-progress>div{flex:1;height:4px;border-radius:5px;background:#dfdfe4;overflow:hidden}.match-progress i{display:block;height:100%;width:12.5%;border-radius:inherit;background:#7c3aed;transition:width .35s ease}.match-question{animation:matchIn .28s ease}.match-kicker{margin:70px 0 12px;color:#7c3aed;font-size:.62rem;font-weight:850;letter-spacing:.14em}.match-question>h3{max-width:650px;margin:0 0 38px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;letter-spacing:-.05em}.match-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.match-options button{display:flex;align-items:center;gap:14px;min-height:78px;padding:14px 17px;border:1px solid #dedee3;border-radius:16px;background:#fff;color:#29292d;text-align:left;cursor:pointer;font-size:.9rem;line-height:1.3;transition:transform .18s,border-color .18s,background .18s}.match-options button span{flex:0 0 32px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eee9f5;color:#7137bc;font-size:.68rem;font-weight:900}.match-options button:hover,.match-options button:focus-visible{transform:translateY(-2px);border-color:#8b5cf6;background:#faf8ff;outline:0}.match-actions{display:flex;justify-content:space-between;margin-top:24px}.match-actions button{border:0;background:transparent;color:#68686f;padding:9px 0;cursor:pointer;font-weight:750}.match-actions button:disabled{opacity:.25;cursor:default}.match-actions #matchRestart{margin-left:auto;padding:12px 18px;border-radius:999px;background:#171719;color:#fff}.match-result{padding-top:58px}.match-fit{display:inline-block;padding:8px 11px;border-radius:999px;background:#e9ddf7;color:#7137bc;font-size:.68rem;font-weight:850}.match-result>p:first-of-type{margin:28px 0 4px;color:#77777d;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.match-result h3{margin:0 0 34px;font-size:clamp(3.2rem,7vw,6.5rem);line-height:.9;letter-spacing:-.07em}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-grid article{padding:20px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px #e2e2e6}.result-grid small,.match-alternative span{color:#7c3aed;font-size:.6rem;font-weight:850;letter-spacing:.12em}.result-grid p{margin:12px 0 0;color:#55555c;font-size:.86rem;line-height:1.5}.match-alternative{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:17px 20px;border-radius:16px;background:#171719;color:#fff}.match-alternative b{font-size:1rem}.match-caveat{margin:20px 0 0!important;color:#85858c!important;font-size:.72rem!important;line-height:1.5}.quiz{border-top:1px solid var(--line)}
@keyframes matchIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:850px){.bike-match{grid-template-columns:1fr}.match-intro{position:static}.match-intro h2{font-size:4.4rem}.match-card{min-height:570px}}
@media(max-width:600px){.bike-match{padding-inline:14px}.match-intro h2{font-size:3.6rem}.match-card{min-height:600px;padding:22px 16px;border-radius:22px}.match-kicker{margin-top:48px}.match-options,.result-grid{grid-template-columns:1fr}.match-options button{min-height:66px}.match-result{padding-top:42px}.match-result h3{font-size:3.8rem}.match-meta{flex-wrap:wrap}}

/* Comandi base e partenza guidata */
.basics{max-width:var(--max);margin:auto;padding:clamp(90px,12vw,170px) clamp(20px,5vw,72px);border-top:1px solid var(--line)}.start-simulator{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.6fr);min-height:680px;border:1px solid var(--line);background:var(--panel)}.cockpit{padding:clamp(24px,4vw,54px);background:radial-gradient(circle at 50% 24%,#2a1c38 0,transparent 35%),linear-gradient(#18171d 1px,transparent 1px),linear-gradient(90deg,#18171d 1px,transparent 1px);background-size:auto,34px 34px,34px 34px}.dash{display:grid;grid-template-columns:120px 1fr;max-width:520px;margin:0 auto 38px;border:1px solid #4b4752;border-radius:24px;background:#08090a;box-shadow:0 20px 60px #0008,0 0 40px #a970ff18;overflow:hidden}.dash>div:first-child{padding:18px 24px;border-right:1px solid #29272e;text-align:center}.dash span,.dash small{display:block;color:#77727e;font-size:.58rem;font-weight:800;letter-spacing:.14em}.dash b{display:block;color:var(--acid);font-size:4rem;line-height:1.05}.dash b.first{color:#fff}.dash-state{display:flex;flex-direction:column;justify-content:center;padding:18px 24px}.dash-state i{width:9px;height:9px;margin-bottom:10px;border-radius:50%;background:#514c56;box-shadow:0 0 0 5px #29262d}.dash-state i.on{background:var(--acid);box-shadow:0 0 0 5px #d6ff4517,0 0 14px var(--acid)}.dash-state strong{font-size:.82rem;letter-spacing:.08em}.dash-state small{margin-top:5px}.next-command{text-align:center;margin:0 0 25px}.next-command span,.next-command strong{display:block}.next-command span{color:var(--purple);font-size:.6rem;font-weight:850;letter-spacing:.16em}.next-command strong{margin-top:5px;font-size:1.2rem}.cockpit-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cockpit-controls button{position:relative;min-height:112px;padding:18px;border:1px solid #3a3740;border-radius:18px;background:#121117;text-align:left;cursor:pointer;overflow:hidden;transition:.2s}.cockpit-controls button>span,.cockpit-controls button>b,.cockpit-controls button>small{display:block}.cockpit-controls button>span{color:#5e5965;font-size:.62rem;font-weight:850}.cockpit-controls button>b{margin:22px 0 5px;font-size:.88rem}.cockpit-controls button>small{color:#85808c;font-size:.58rem;letter-spacing:.09em}.cockpit-controls button:hover,.cockpit-controls button:focus-visible{border-color:var(--purple);outline:0;transform:translateY(-2px)}.cockpit-controls button.next{border-color:var(--acid);box-shadow:0 0 0 1px var(--acid),0 0 24px #d6ff4521}.cockpit-controls button.next:after{content:"TOCCA";position:absolute;right:10px;top:10px;color:var(--acid);font-size:.5rem;font-weight:900;letter-spacing:.12em;animation:controlPulse 1.2s ease infinite}.start-feedback{min-height:94px;margin-top:22px;padding:18px 20px;border-left:3px solid var(--purple);background:#17141d}.start-feedback span{color:var(--purple);font-size:.58rem;font-weight:900;letter-spacing:.15em}.start-feedback p{margin:7px 0 0;color:#d2ced7;font-size:.82rem;line-height:1.5}.start-feedback.warning{border-color:var(--red)}.start-feedback.warning span{color:var(--red)}.start-feedback.success{border-color:var(--acid)}.start-feedback.success span{color:var(--acid)}.start-guide{padding:38px 30px;border-left:1px solid var(--line);display:flex;flex-direction:column}.guide-progress{display:flex;align-items:center;gap:14px;color:#aaa6b0;font-size:.72rem;font-variant-numeric:tabular-nums}.guide-progress>div{flex:1;height:3px;background:#302d35}.guide-progress i{display:block;width:0;height:100%;background:var(--acid);transition:.3s}.start-guide ol{list-style:none;padding:0;margin:38px 0;display:grid;gap:6px}.start-guide li{display:flex;align-items:center;gap:13px;padding:11px 0;color:#76717d;font-size:.78rem;border-bottom:1px solid #27252c;transition:.25s}.start-guide li span{font-size:.6rem;font-weight:850}.start-guide li.done{color:#f2eef5}.start-guide li.done span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--acid);color:#121217;font-size:0}.start-guide li.done span:after{content:"✓";font-size:.72rem}.start-guide>button{margin-top:auto;padding:13px;border:1px solid #3b3741;background:transparent;color:#aaa6b0;cursor:pointer;font-size:.72rem;font-weight:800}.start-guide>button:hover,.start-guide>button:focus-visible{border-color:var(--purple);color:#fff;outline:0}.basic-commands{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;margin-top:80px}.command-copy h3{margin:0 0 22px;font-size:clamp(2rem,4vw,3.7rem);line-height:.98;letter-spacing:-.05em}.command-copy>p:last-child{max-width:510px;color:var(--muted);font-size:.92rem;line-height:1.6}.command-buttons{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.command-buttons button{display:grid;grid-template-columns:86px 1fr;align-items:center;min-height:84px;padding:16px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.command-buttons button:nth-child(odd){border-right:1px solid var(--line)}.command-buttons button span{color:#696470;font-size:.58rem;font-weight:850;letter-spacing:.1em}.command-buttons button b{font-size:.88rem}.command-buttons button:hover,.command-buttons button:focus-visible,.command-buttons button.active{background:#18151e;outline:0}.command-buttons button.active span,.command-buttons button:hover span{color:var(--acid)}
.cockpit-visual{position:relative;max-width:920px;margin:0 auto 26px;aspect-ratio:2/1;border:1px solid #302d36;border-radius:22px;background:#08090b;overflow:hidden;box-shadow:0 22px 60px #0008}.cockpit-visual>img{display:block;width:100%;height:100%;object-fit:cover}.cockpit-dash-live{position:absolute;left:41.5%;top:23.5%;width:17%;height:16%;display:grid;grid-template-columns:38% 62%;align-items:center;padding:5px 8px;border-radius:7px;background:rgba(5,7,8,.92);box-shadow:0 0 16px #a970ff22}.cockpit-dash-live>b{color:var(--acid);font-size:clamp(1.35rem,2.6vw,2.6rem);line-height:1;text-align:center}.cockpit-dash-live>b.first{color:#fff}.cockpit-dash-live>div{min-width:0;border-left:1px solid #28252c;padding-left:7px}.cockpit-dash-live i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#514c56}.cockpit-dash-live i.on{background:var(--acid);box-shadow:0 0 8px var(--acid)}.cockpit-dash-live strong,.cockpit-dash-live small{display:block;overflow:hidden;color:#d9d4df;font-size:clamp(.48rem,.7vw,.7rem);line-height:1.25;white-space:nowrap;text-overflow:ellipsis}.cockpit-dash-live small{margin-top:2px;color:#9a94a0}.visual-control{position:absolute;width:28px;height:28px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--purple);cursor:pointer;box-shadow:0 0 0 7px #a970ff2b,0 4px 15px #0008;z-index:3;transition:.2s}.visual-control:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.visual-control span{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);padding:7px 10px;border:1px solid #4c4653;border-radius:8px;background:rgba(12,11,15,.92);color:#fff;font-size:.78rem;font-weight:800;white-space:nowrap;backdrop-filter:blur(8px)}.visual-control:hover,.visual-control:focus-visible,.visual-control.next{transform:scale(1.16);background:var(--acid);outline:0;box-shadow:0 0 0 8px #d6ff4538,0 0 24px #d6ff4560}.visual-control.next span{color:var(--acid)}.visual-clutch{left:13%;top:46%}.visual-key{left:49%;top:45%}.visual-start{left:77%;top:57%}.visual-throttle{left:91%;top:57%}.visual-throttle span{left:auto;right:0;transform:none}.visual-brake{left:85%;top:45%}.visual-brake span,.visual-kill span{top:auto;bottom:calc(100% + 10px)}.visual-kill{left:77%;top:45%}.cockpit-controls button>span{font-size:.78rem}.cockpit-controls button>b{font-size:1.05rem}.cockpit-controls button>small{font-size:.74rem}.next-command span{font-size:.75rem}.next-command strong{font-size:1.5rem}.start-feedback span{font-size:.72rem}.start-feedback p{font-size:1rem}.guide-progress{font-size:.9rem}.start-guide li{font-size:1rem}.start-guide li span{font-size:.72rem}.command-copy>p:last-child{font-size:1.05rem}.command-buttons button span{font-size:.72rem}.command-buttons button b{font-size:1.05rem}
@keyframes controlPulse{50%{opacity:.35}}
@media(max-width:900px){.start-simulator{grid-template-columns:1fr}.start-guide{border-left:0;border-top:1px solid var(--line)}.basic-commands{grid-template-columns:1fr}.cockpit-controls{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.basics{padding-inline:14px}.start-simulator{min-height:0}.cockpit{padding:22px 10px}.cockpit-visual{margin-inline:-2px;border-radius:14px}.visual-control{width:24px;height:24px}.visual-control span{font-size:.68rem;padding:5px 7px}.visual-clutch{left:12%;top:43%}.visual-key{left:48%;top:43%}.visual-start{left:75%;top:58%}.visual-throttle{left:89%;top:58%}.visual-brake,.visual-kill{display:none}.cockpit-dash-live{left:40%;top:22%;width:20%;height:18%}.cockpit-dash-live strong,.cockpit-dash-live small{font-size:.4rem}.cockpit-controls{gap:7px}.cockpit-controls button{min-height:112px;padding:14px}.cockpit-controls button>b{margin-top:18px}.start-guide{padding:28px 20px}.basic-commands{margin-top:60px;gap:28px}.command-buttons{grid-template-columns:1fr}.command-buttons button:nth-child(odd){border-right:0}.command-buttons button{grid-template-columns:74px 1fr}}

/* Gioco lineare: fai partire la moto */
.start-game{border:1px solid var(--line);background:var(--panel);overflow:hidden}.game-progress{height:64px;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:18px;padding:0 28px;border-bottom:1px solid var(--line);color:#d8d4dd;font-size:.84rem;font-weight:850}.game-progress>div{height:4px;border-radius:5px;background:#302d35;overflow:hidden}.game-progress i{display:block;width:0;height:100%;background:var(--acid);transition:width .35s}.game-progress small{color:#8f8995;font-size:.7rem;letter-spacing:.14em}.lesson-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);min-height:650px}.lesson-stage{position:relative;min-width:0;background:#07080a;overflow:hidden}.lesson-scene{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .45s,transform .45s}.lesson-scene>img{display:block;width:100%;height:100%;object-fit:contain}.scene-cockpit .cockpit-scene,.scene-foot .foot-scene{opacity:1;visibility:visible;transform:none}.lesson-stage .cockpit-dash-live{left:41.5%;top:34%;width:17%;height:12.5%}.game-hotspot{position:absolute;width:34px;height:34px;padding:0;border:2px solid #fff;border-radius:50%;background:#7d3fc4;cursor:pointer;box-shadow:0 0 0 8px #a970ff24,0 5px 18px #000b;z-index:5;opacity:.42;transition:.22s}.game-hotspot:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.game-hotspot span{position:absolute;left:50%;top:calc(100% + 11px);transform:translateX(-50%) translateY(-4px);padding:8px 11px;border:1px solid #5a5261;border-radius:9px;background:rgba(10,9,13,.94);color:#fff;font-size:.82rem;font-weight:850;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s}.game-hotspot:hover,.game-hotspot:focus-visible{opacity:1;outline:0}.game-hotspot:hover span,.game-hotspot:focus-visible span,.game-hotspot.target span{opacity:1;transform:translateX(-50%) translateY(0)}.game-hotspot.target{opacity:1;background:var(--acid);box-shadow:0 0 0 9px #d6ff4527,0 0 30px #d6ff4566;animation:gameTarget 1.35s ease infinite}.game-hotspot.target span{color:var(--acid)}.game-clutch{left:13%;top:48%}.game-key{left:49%;top:49%}.game-start{left:77%;top:54%}.game-throttle{left:91%;top:56%}.game-throttle span{left:auto;right:0;transform:none!important}.game-gear{left:34%;top:43%}.game-stand{left:32%;top:72%}.game-stand span{top:auto;bottom:calc(100% + 11px)}.lesson-copy{position:relative;padding:clamp(34px,4vw,58px);border-left:1px solid #dedee4;background:#f5f5f7;color:#171719;display:flex;flex-direction:column}.lesson-copy>span{color:#7137bc;font-size:.76rem;font-weight:900;letter-spacing:.13em}.lesson-copy h3{margin:70px 0 20px;font-size:clamp(2.5rem,4vw,4.2rem);line-height:.94;letter-spacing:-.055em}.lesson-copy>p{margin:0;color:#65656c;font-size:1.05rem;line-height:1.6}.game-feedback{margin-top:34px;padding:20px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px #dedee3;animation:panelIn .3s ease}.game-feedback[hidden]{display:none}.game-feedback span{color:#7137bc;font-size:.68rem;font-weight:900;letter-spacing:.13em}.game-feedback p{margin:8px 0 0;color:#4e4e54;font-size:.95rem;line-height:1.55}.game-feedback.warning{background:#fff0f0;box-shadow:inset 0 0 0 1px #e8b8b8}.game-feedback.warning span{color:#b22c2c}.game-next{margin-top:18px;padding:15px 18px;border:0;border-radius:14px;background:#171719;color:#fff;cursor:pointer;text-align:left;font-weight:850}.game-next:hover,.game-next:focus-visible{background:#7137bc;outline:0}.game-reset{margin-top:auto;padding:16px 0 0;border:0;background:transparent;color:#77777d;cursor:pointer;text-align:left;font-size:.82rem;font-weight:750}.game-reset:hover,.game-reset:focus-visible{color:#171719;outline:0}.clutch-release{position:absolute;left:50%;bottom:28px;width:min(520px,calc(100% - 40px));transform:translateX(-50%);z-index:8;padding:20px 22px;border-radius:18px;background:rgba(245,245,247,.96);color:#171719;box-shadow:0 18px 50px #0009;backdrop-filter:blur(12px)}.clutch-release[hidden]{display:none}.clutch-release label{display:block;margin-bottom:13px;font-size:1rem;font-weight:850}.clutch-release input{width:100%;accent-color:#7137bc}.clutch-release div{display:flex;justify-content:space-between;margin-top:7px;color:#77777d;font-size:.66rem;font-weight:800}.lesson-stage.finished .game-hotspot{display:none}.lesson-stage.finished:after{content:"✓";position:absolute;right:30px;top:30px;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--acid);color:#111;font-size:1.5rem;font-weight:950;box-shadow:0 0 30px #d6ff4544}@keyframes gameTarget{50%{transform:scale(1.12)}}
@media(max-width:950px){.lesson-layout{grid-template-columns:1fr}.lesson-stage{min-height:520px}.lesson-copy{min-height:480px;border-left:0;border-top:1px solid #dedee4}.lesson-copy h3{margin-top:45px}}
@media(max-width:600px){.game-progress{grid-template-columns:54px 1fr;padding-inline:16px}.game-progress small{display:none}.lesson-stage{min-height:330px}.lesson-stage .cockpit-dash-live{left:40%;top:35%;width:20%;height:13%}.game-hotspot{width:28px;height:28px}.game-hotspot:before{inset:7px}.game-hotspot span{font-size:.72rem;padding:6px 8px}.game-clutch{left:11%;top:47%}.game-key{left:48%;top:49%}.game-start{left:75%;top:55%}.game-throttle{left:89%;top:56%}.game-gear{left:31%;top:43%}.game-stand{left:29%;top:72%}.lesson-copy{min-height:440px;padding:30px 22px}.lesson-copy h3{font-size:2.7rem}.clutch-release{bottom:16px;width:calc(100% - 24px);padding:16px}}
@media(max-width:850px){.bench-head{grid-template-columns:1fr}.powertrain{grid-template-columns:repeat(5,1fr);gap:5px;padding:34px 14px 50px}.powertrain>span{display:none}.power-node i,.bench-wheel i{width:48px;height:48px}.power-node i:after{margin:16px auto}.power-node b,.bench-wheel b{font-size:.72rem}.power-node small,.bench-wheel small{font-size:.62rem}.bench-console{grid-template-columns:1fr 1fr}.bench-start,.bench-control{border-bottom:1px solid var(--line)}.bench-start{grid-column:1/-1}.bench-control:nth-of-type(3){border-right:0}}
@media(max-width:520px){.powertrain{min-height:210px}.power-node i,.bench-wheel i{width:39px;height:39px;box-shadow:inset 0 0 0 6px #0f0f12}.power-node i:after{width:9px;height:9px;margin:13px auto}.power-node b,.bench-wheel b{font-size:.62rem}.power-node small,.bench-wheel small{font-size:.52rem}.bench-console{grid-template-columns:1fr}.bench-start,.bench-control{grid-column:1;border-right:0}.bench-head h2{font-size:clamp(2.8rem,15vw,4rem)}}

/* Pagine informative */
.legal-page main{overflow:visible}.legal-back{color:#c8c3cf;font-size:.78rem;font-weight:800;letter-spacing:.05em}.legal-back:hover,.legal-back:focus-visible{color:var(--acid);outline:0}.legal-main{width:min(880px,calc(100% - 40px));margin:0 auto;padding:clamp(70px,10vw,130px) 0}.legal-main h1{margin:0;font-size:clamp(4rem,11vw,8rem);line-height:.85;letter-spacing:-.075em}.legal-lead{max-width:690px;margin:38px 0 72px;color:#c6c2cb;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6}.legal-main section{display:grid;grid-template-columns:minmax(170px,.65fr) 1.35fr;gap:34px;padding:32px 0;border-top:1px solid var(--line)}.legal-main h2{margin:0;font-size:1.15rem;line-height:1.3}.legal-main section p{margin:0;color:#aaa6b1;line-height:1.75}.legal-main section a{color:var(--ink);border-bottom:1px solid var(--purple)}.legal-main section a:hover,.legal-main section a:focus-visible{color:var(--acid);border-color:var(--acid);outline:0}.legal-updated{margin:40px 0 0;color:#706b78;font-size:.75rem}.legal-footer{align-items:center}
@media(max-width:700px){.legal-back{font-size:0}.legal-back:after{content:'←';font-size:1.2rem}.legal-main section{grid-template-columns:1fr;gap:12px}.legal-main{width:min(100% - 32px,880px)}.legal-lead{margin-bottom:48px}.legal-footer .footer-links{margin:20px 0 0}}

/* Il progetto */
.project-note{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(35px,8vw,120px);max-width:var(--max);margin:0 auto;padding:58px clamp(20px,5vw,72px) 82px;border-top:1px solid var(--line)}.project-note h2{margin:0;font-size:clamp(2.6rem,5vw,5rem);line-height:.9;letter-spacing:-.06em}.project-copy{max-width:760px}.project-copy p{margin:0 0 20px;color:#aaa6b1;font-size:1rem;line-height:1.7}.project-copy blockquote{margin:24px 0;padding-left:24px;border-left:3px solid var(--purple);color:#f5f2f8;font-size:clamp(1.25rem,2.3vw,1.8rem);font-weight:750;line-height:1.35;letter-spacing:-.025em}.project-copy strong{display:inline-block;margin-top:12px;color:var(--acid);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}@media(max-width:760px){.project-note{grid-template-columns:1fr;padding-top:48px}.project-note h2{font-size:3.4rem}.project-copy blockquote{padding-left:18px}}

/* Feedback playground */
.feedback-launch{position:fixed;right:22px;bottom:22px;z-index:18;display:flex;align-items:center;gap:10px;padding:13px 17px;border:1px solid #4b4453;border-radius:999px;background:rgba(18,17,23,.94);color:#f7f5fa;box-shadow:0 12px 35px #0009;backdrop-filter:blur(14px);cursor:pointer;font-size:.82rem;font-weight:800}.feedback-launch span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--purple);color:#0a0a0d}.feedback-launch:hover,.feedback-launch:focus-visible{border-color:var(--acid);transform:translateY(-2px);outline:0}.feedback-dialog{width:min(760px,calc(100% - 28px));max-height:min(850px,calc(100dvh - 28px));padding:0;border:1px solid #d9d9df;border-radius:28px;background:#f5f5f7;color:#171719;box-shadow:0 35px 120px #000c;overflow:hidden}.feedback-dialog::backdrop{background:rgba(5,5,8,.76);backdrop-filter:blur(7px)}.feedback-dialog[open]{animation:feedbackIn .28s ease}.feedback-dialog form{display:flex;flex-direction:column;min-height:min(720px,calc(100dvh - 30px));max-height:inherit}.feedback-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 18px}.feedback-head>div{display:flex;align-items:center;gap:16px}.feedback-head span{font-size:.78rem;font-weight:900;letter-spacing:.08em}.feedback-head b{color:#7137bc}.feedback-head small{color:#7a7a82;font-size:.75rem;font-weight:800}.feedback-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#e4e4e8;color:#29292d;cursor:pointer;font-size:1.45rem;line-height:1}.feedback-close:hover,.feedback-close:focus-visible{background:#171719;color:#fff;outline:0}.feedback-progress{height:3px;background:#dfdfe4}.feedback-progress i{display:block;width:25%;height:100%;background:#7137bc;transition:width .3s ease}.feedback-body{flex:1;padding:clamp(30px,6vw,62px);overflow:auto}.feedback-step{margin:0;padding:0;border:0;animation:feedbackStep .25s ease}.feedback-step[hidden]{display:none}.feedback-step legend{max-width:620px;margin:0;padding:0;font-size:clamp(2.25rem,5vw,4rem);font-weight:900;line-height:.95;letter-spacing:-.055em}.feedback-step>p{max-width:570px;margin:18px 0 34px;color:#66666d;font-size:1rem;line-height:1.55}.feedback-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.feedback-choices label{position:relative}.feedback-choices label.wide{grid-column:1/-1}.feedback-choices input{position:absolute;opacity:0;pointer-events:none}.feedback-choices label span{display:flex;align-items:center;min-height:68px;padding:15px 18px;border:1px solid #dadae0;border-radius:15px;background:#fff;color:#303035;cursor:pointer;font-size:.95rem;font-weight:750;line-height:1.25;transition:.18s}.feedback-choices label span:before{content:'';flex:0 0 18px;width:18px;height:18px;margin-right:12px;border:2px solid #aaaab2;border-radius:50%;box-shadow:inset 0 0 0 4px #fff}.feedback-choices input:checked+span{border-color:#7137bc;background:#f4edff;box-shadow:0 0 0 1px #7137bc}.feedback-choices input:checked+span:before{border-color:#7137bc;background:#7137bc}.feedback-choices input:focus-visible+span{outline:3px solid #cdb3f1;outline-offset:2px}.feedback-textarea{display:block}.feedback-textarea>span,.reply-details label>span{display:block;margin-bottom:9px;color:#4e4e55;font-size:.84rem;font-weight:850}.feedback-textarea textarea,.reply-details input,.reply-details select{width:100%;border:1px solid #d5d5db;border-radius:15px;background:#fff;color:#202024;font:inherit;font-size:1rem}.feedback-textarea textarea{min-height:190px;padding:18px;resize:vertical;line-height:1.55}.feedback-textarea small{display:block;margin-top:8px;color:#85858d;font-size:.75rem}.feedback-textarea textarea:focus,.reply-details input:focus,.reply-details select:focus{border-color:#7137bc;outline:3px solid #e3d3f7}.reply-choices{grid-template-columns:repeat(3,1fr)}.reply-details{margin-top:18px;padding:19px;border:1px solid #dddde2;border-radius:16px;background:#fff}.reply-details[hidden]{display:none}.reply-details input,.reply-details select{height:50px;padding:0 13px;background:#fafafa}.social-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.social-details>small{grid-column:1/-1;color:#77777e;font-size:.75rem}.privacy-check{display:flex;align-items:flex-start;gap:12px;margin-top:25px;color:#595960;font-size:.86rem;line-height:1.5}.privacy-check input{flex:0 0 18px;width:18px;height:18px;margin-top:2px;accent-color:#7137bc}.privacy-check a{color:#7137bc;text-decoration:underline}.feedback-status{min-height:24px;margin:18px 0 0;color:#b32831;font-size:.86rem}.feedback-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px;border-top:1px solid #dddde2;background:#fff;color:#171719}.feedback-actions button{padding:13px 18px;border:0;border-radius:13px;background:transparent;color:#67676e;cursor:pointer;font-weight:800}.feedback-actions button:disabled{opacity:.3;cursor:default}.feedback-actions #feedbackNext,.feedback-actions #feedbackSubmit{margin-left:auto;background:#171719;color:#fff}.feedback-actions #feedbackNext:hover,.feedback-actions #feedbackNext:focus-visible,.feedback-actions #feedbackSubmit:hover,.feedback-actions #feedbackSubmit:focus-visible{background:#7137bc;outline:0}.feedback-success{text-align:center;padding:38px 0}.feedback-success>span{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 24px;border-radius:50%;background:#d6ff45;color:#171719;font-size:1.4rem;font-weight:950}.feedback-success small{color:#7137bc;font-size:.72rem;font-weight:900;letter-spacing:.14em}.feedback-success h3{margin:12px 0;font-size:clamp(3rem,8vw,5rem);line-height:.9;letter-spacing:-.06em}.feedback-success p{max-width:490px;margin:0 auto;color:#66666d;font-size:1rem;line-height:1.6}.feedback-success button{margin-top:30px;padding:13px 24px;border:0;border-radius:13px;background:#171719;color:#fff;cursor:pointer;font-weight:850}.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}@keyframes feedbackIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}@keyframes feedbackStep{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@media(max-width:650px){.feedback-launch{right:12px;bottom:12px}.feedback-dialog{width:100%;max-width:none;max-height:94dvh;margin:auto 0 0;border-radius:25px 25px 0 0}.feedback-dialog form{min-height:82dvh}.feedback-head{padding:18px 18px 14px}.feedback-head span{font-size:.7rem}.feedback-body{padding:34px 18px}.feedback-step legend{font-size:2.65rem}.feedback-choices,.reply-choices,.social-details{grid-template-columns:1fr}.feedback-choices label.wide,.social-details>small{grid-column:1}.feedback-choices label span{min-height:58px}.feedback-actions{padding:14px 18px}.feedback-actions button{padding:12px 13px}}
