.ebike-sim header.site{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.ebike-sim .brand{letter-spacing:-.02em;font-size:19px;font-weight:800}.ebike-sim .brand span{color:var(--blue)}.ebike-sim .crumb b{color:var(--slate)}.ebike-sim #stage{background:#eef2f7;height:calc(100vh - 108px);position:relative;overflow:hidden}.ebike-sim canvas{display:block}.ebike-sim .modebar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border:1px solid #1e293b1f;border-radius:999px;gap:4px;padding:5px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px -18px #0f2a5a80}.ebike-sim .modebar button{font:inherit;color:var(--mid);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 18px;font-size:13.5px;font-weight:700}.ebike-sim .modebar button.on{background:var(--slate);color:#fff}.ebike-sim .metrics{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffed;border:1px solid #1e293b1f;border-radius:14px;min-width:288px;padding:14px 16px;position:absolute;top:16px;left:16px;box-shadow:0 12px 30px -18px #0f2a5a80}.ebike-sim .metrics h4{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-size:11.5px;font-weight:700}.ebike-sim .metrics .row{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;margin-top:9px;display:flex}.ebike-sim .metrics .row span{color:var(--mid);font-size:13px}.ebike-sim .metrics .row b{font-size:19px;font-weight:800}.ebike-sim .metrics .row b.warn{color:#dc2626}.ebike-sim .info{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #1e293b1f;border-radius:16px;max-width:430px;padding:18px 20px;position:absolute;bottom:16px;right:16px;box-shadow:0 20px 50px -25px #0f2a5a59}.ebike-sim .info .tag{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-size:11.5px;font-weight:700}.ebike-sim .info h3{margin-top:6px;font-size:19px;font-weight:800}.ebike-sim .info p{color:var(--mid);margin-top:8px;font-size:14px;line-height:1.6}.ebike-sim .vsm{pointer-events:none;z-index:8;display:none;position:absolute;inset:0}.ebike-sim .vsm.on{display:block}.ebike-sim .vsm .dbox{font-variant-numeric:tabular-nums;background:#fffffff5;border:1.5px solid #1e293b;border-radius:3px;min-width:96px;padding:5px 8px;font-size:10.5px;line-height:1.5;position:absolute;transform:translate(-50%);box-shadow:0 6px 18px -10px #0f2a5a80}.ebike-sim .vsm .dbox b{letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:2px;font-size:10px;display:block}.ebike-sim .vsm .dbox span{color:var(--mid);justify-content:space-between;gap:10px;display:flex}.ebike-sim .vsm .dbox span i{color:var(--slate);font-style:normal;font-weight:700}.ebike-sim .vsm .tri{text-align:center;position:absolute;transform:translate(-50%,-100%)}.ebike-sim .vsm .tri svg{margin:0 auto 1px;display:block}.ebike-sim .vsm .tri em{color:#b45309;font-variant-numeric:tabular-nums;background:#ffffffe6;border-radius:3px;padding:1px 5px;font-size:11px;font-style:normal;font-weight:800;display:inline-block}.ebike-sim .vsm .tri em span{opacity:.72;font-weight:700;display:block}.ebike-sim .vsm .tri.mkt em{color:#0f766e}.ebike-sim .vsm #vsmFoot{background:#fffffff2;border:1px solid #1e293b24;border-radius:14px;padding:12px 16px 10px;position:absolute;bottom:14px;left:16px;right:16px;box-shadow:0 18px 44px -26px #0f2a5a80}.ebike-sim .vsm #vsmFoot .ttl{letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:6px;font-size:10.5px;font-weight:700}.ebike-sim .vsm #vsmFoot .segs{height:26px;margin-top:2px;position:relative}.ebike-sim .vsm #vsmFoot .segs span{text-align:center;color:var(--mid);white-space:nowrap;font-size:9.5px;line-height:1.25;position:absolute;top:0;overflow:hidden}.ebike-sim .vsm #vsmFoot .segs u{color:var(--slate);letter-spacing:.06em;font-size:9px;font-weight:800;text-decoration:none;display:block}.ebike-sim .vsm #vsmFoot .segs b{color:#b45309;font-size:11px}.ebike-sim .vsm #vsmFoot .segs i{opacity:.75;font-style:normal}.ebike-sim .vsm #vsmFoot .sums{color:var(--mid);font-variant-numeric:tabular-nums;gap:26px;margin-top:8px;font-size:12.5px;display:flex}.ebike-sim .vsm #vsmFoot .sums b{color:var(--slate);font-size:17px;font-weight:800}.ebike-sim .vsm #vsmFoot .sums b.warn{color:#dc2626}.ebike-sim .stepin{z-index:9;background:var(--slate);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;padding:11px 18px;font:700 13px/1 Inter,sans-serif;animation:2.4s ease-in-out infinite bob;position:absolute;transform:translate(-50%,-100%);box-shadow:0 14px 32px -12px #0f2a5aa6}.ebike-sim .stepin span{display:inline-block;transform:translate(1px)}.ebike-sim .stepin:hover{background:var(--blue)}.ebike-sim .stepin:after{content:"";border:7px solid #0000;border-top-color:var(--slate);margin-left:-7px;position:absolute;top:100%;left:50%}.ebike-sim .stepin:hover:after{border-top-color:var(--blue)}@keyframes bob{0%,to{transform:translate(-50%,-100%)}50%{transform:translate(-50%,-118%)}}.ebike-sim .vsmnote{z-index:9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #1e293b1f;border-radius:16px;max-width:400px;padding:16px 19px;display:none;position:absolute;bottom:16px;right:16px;box-shadow:0 20px 50px -25px #0f2a5a59}.ebike-sim .vsm.on~.vsmnote{display:block}.ebike-sim.notehid .vsm.on~.vsmnote{display:none}.ebike-sim .vsmnote b{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin-bottom:7px;padding-right:22px;font-size:11.5px;font-weight:700;display:block}.ebike-sim .vsmnote p{color:var(--mid);font-size:13.5px;line-height:1.6}.ebike-sim .vsmnote p+p{margin-top:8px}.ebike-sim .notex{width:24px;height:24px;color:var(--mid);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:19px;line-height:1;position:absolute;top:10px;right:11px}.ebike-sim .notex:hover{color:#1e293b;background:#1e293b14}.ebike-sim .noteopen{z-index:9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--blue);cursor:pointer;background:#fffffff2;border:1px solid #1e293b1f;border-radius:999px;padding:9px 16px;font-size:12.5px;font-weight:700;display:none;position:absolute;bottom:16px;right:16px;box-shadow:0 12px 30px -18px #0f2a5a80}.ebike-sim.notehid .vsm.on~.noteopen{display:block}.ebike-sim .noteopen:hover{border-color:var(--blue)}.ebike-sim .hint{z-index:10;color:var(--mid);background:#ffffffd9;border-radius:999px;padding:7px 14px;font-size:12.5px;position:absolute;top:16px;right:16px}.ebike-sim{--blue:#2563eb;--slate:#1e293b;--mid:#475569;--line:#e2e8f0}.ebike-sim *{box-sizing:border-box;margin:0;padding:0}.ebike-sim{color:var(--slate);-webkit-font-smoothing:antialiased;background:#fff;font-family:Inter,-apple-system,sans-serif}.ebike-sim .annot{color:#b45309;background:#fffbeb;border-bottom:1px solid #fde68a;padding:10px 24px;font-size:12px}.ebike-sim header.site{border-bottom:1px solid var(--line);background:#fff}.ebike-sim .nav{justify-content:space-between;align-items:center;max-width:1140px;height:60px;margin:0 auto;padding:0 24px;display:flex}.ebike-sim .logo{letter-spacing:-.02em;font-size:20px;font-weight:800}.ebike-sim .logo span{color:var(--blue)}.ebike-sim .crumb{color:var(--mid);font-size:14px}.ebike-sim .crumb a{color:var(--mid);text-decoration:none}.ebike-sim .crumb b{color:var(--slate);font-weight:600}.ebike-sim .stage-wrap{background:#eef4fb;height:min(82vh,760px);position:relative}.ebike-sim canvas.webgl{width:100%;height:100%;display:block;position:absolute;inset:0}.ebike-sim .term-panel{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #1e293b1f;border-radius:16px;width:210px;max-height:calc(100% - 32px);padding:12px;position:absolute;top:16px;left:16px;overflow-y:auto}.ebike-sim .zone-h{text-transform:uppercase;letter-spacing:.12em;color:var(--blue);margin:14px 4px 6px;font-size:10.5px;font-weight:800}.ebike-sim .zone-h:first-child{margin-top:2px}.ebike-sim .term-btn{width:100%;color:var(--slate);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;padding:6px 10px;font-family:inherit;font-size:13px;font-weight:600;display:block}.ebike-sim .term-btn:hover{background:#fff;border-color:#1e293b1f}.ebike-sim .term-btn.on{background:var(--slate);color:#fff}.ebike-sim .info-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#fffffff0;border:1px solid #1e293b1f;border-radius:16px;max-width:400px;padding:18px 20px;position:absolute;bottom:16px;right:16px;box-shadow:0 20px 50px -25px #0f2a5a59}.ebike-sim .info-card .tag{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-size:11.5px;font-weight:700}.ebike-sim .info-card h3{margin-top:6px;font-size:19px;font-weight:800}.ebike-sim .info-card p{color:var(--mid);margin-top:7px;font-size:14px;line-height:1.6}.ebike-sim .hud{z-index:11;color:#fff;font-variant-numeric:tabular-nums;background:#0f172aeb;border-radius:14px;gap:18px;padding:14px 18px;display:none;position:absolute;bottom:16px;right:16px}.ebike-sim .hud.on{display:flex}.ebike-sim .hud div b{font-size:22px;font-weight:800;line-height:1.1;display:block}.ebike-sim .hud div span{color:#94a3b8;font-size:11.5px}.ebike-sim .hud .work b{color:#60a5fa}.ebike-sim .hud .wait b{color:#cbd5e1}.ebike-sim .yamatip{z-index:12;pointer-events:none;color:#fff;background:#0f172af2;border-radius:11px;max-width:260px;padding:10px 13px;display:none;position:absolute;box-shadow:0 12px 30px -12px #00000080}.ebike-sim .yamatip b{font-size:14.5px;font-weight:800;display:block}.ebike-sim .yamatip span{color:#94a3b8;margin-top:3px;font-size:12.5px;display:block}.ebike-sim .backup{background:var(--slate);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:9px;margin-left:22px;padding:9px 18px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.ebike-sim .backup:hover{background:var(--blue)}.ebike-sim .backup span{font-size:15px;line-height:1}.ebike-sim .hint{color:var(--mid);z-index:10;background:#ffffffd9;border-radius:999px;padding:7px 14px;font-size:12.5px;position:absolute;top:16px;right:16px}.ebike-sim .below{max-width:880px;margin:0 auto;padding:44px 24px 60px}.ebike-sim .kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--blue);align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:inline-flex}.ebike-sim .kicker:before{content:"";background:var(--blue);border-radius:2px;width:22px;height:2px}.ebike-sim h2{letter-spacing:-.01em;margin-top:8px;font-size:26px;font-weight:800}.ebike-sim .below p{color:var(--mid);max-width:64ch;margin-top:12px;font-size:16px;line-height:1.7}.ebike-sim .below p b{color:var(--slate)}.ebike-sim{position:relative}.ebike-sim #stage,.ebike-sim .stage-wrap{height:min(76vh,860px)}.ebike-sim .backup{z-index:11;cursor:pointer;font:inherit;border:0;margin-left:0;position:absolute;top:16px;left:50%;transform:translate(-50%)}
