:root{--accent:#2f6fed;--text:#1c2330;--muted:#5b6475;--error:#c62828;--warn:#8a5a00;--ok:#1e8e4e;color:var(--text);background:#f6f8fc;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}.page{max-width:480px;padding:24px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.page.capture{gap:12px;padding-top:16px}h1{margin:0;font-size:28px}h2{margin:0 0 8px;font-size:18px}.lead{color:var(--muted);margin:0;line-height:1.4}.stepper{color:var(--muted);margin:0;font-size:14px}.card{background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex;box-shadow:0 1px 3px #00000014}.steps{flex-direction:column;gap:8px;margin:0;padding-left:20px;line-height:1.4;display:flex}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}.primary{background:var(--accent);color:#fff;border:0;border-radius:12px;padding:16px;font-size:18px;font-weight:600}a.button{text-align:center;text-decoration:none;display:block}.secondary{border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:12px;padding:12px;font-weight:600}a,.link{text-underline-offset:.2em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.link{color:var(--accent);background:0 0;border:0;padding:8px;text-decoration:underline}.viewport{background:#000;border-radius:12px;margin:0 auto;position:relative;overflow:hidden}.viewport video,.viewport canvas{width:100%;height:100%;position:absolute;inset:0}.silhouette{fill:none;stroke:#ffffffb3;stroke-width:1.2px;stroke-dasharray:3 2;pointer-events:none;width:100%;height:88%;position:absolute;top:4%;left:0;right:0}.silhouette.ok{stroke:#2ecc71e6}.level{--ok:#2ecc71;--bad:#e53935;pointer-events:none;position:absolute;inset:0}.level .tube,.level .level-unknown{display:none}.level.active .tube,.level.unknown .level-unknown{display:block}.tube{color:var(--bad);position:absolute}.tube.ok{color:var(--ok)}.pitch{background:#00000073;border-radius:8px;width:16px;height:40%;top:50%;right:8px;transform:translateY(-50%);box-shadow:inset 0 0 0 1px #ffffff40}.pitch:before{content:"";border:1.5px solid #ffffffd9;border-radius:7px;height:calc(20% + 8.4px);position:absolute;top:50%;left:1px;right:1px;transform:translateY(-50%)}.pitch-dot{left:50%;top:calc(50% + var(--pitch,0) * (50% - 9px));background:currentColor;border-radius:50%;width:10px;height:10px;transition:top .1s linear;position:absolute;transform:translate(-50%,-50%)}.roll{width:min(45%,120px);height:18px;bottom:3px;left:50%;transform:translate(-50%)}.roll svg{fill:none;stroke-linecap:round;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.roll-rim{stroke:#ffffff40;stroke-width:16px}.roll-bed{stroke:#000000b3;stroke-width:14px}.roll-zone{width:var(--zone,16px);border:1.5px solid #ffffffd9;border-radius:7px;height:14px;position:absolute;top:10px;left:50%;transform:translate(-50%,-50%)}.roll-dot{left:var(--x,50%);top:var(--y,10px);background:currentColor;border-radius:50%;width:10px;height:10px;transition:left .1s linear,top .1s linear;position:absolute;transform:translate(-50%,-50%)}.level-unknown{color:#fff;background:#0000008c;border-radius:8px;padding:4px 8px;font-size:13px;position:absolute;top:8px;left:8px}.countdown{color:#fff;text-shadow:0 2px 12px #0009;justify-content:center;align-items:center;font-size:96px;font-weight:700;display:flex;position:absolute;inset:0}.countdown.small{font-size:28px}.hint{min-height:calc(2.7em + 24px);color:var(--warn);background:#fff3e0;border-radius:12px;margin:0;padding:12px;font-weight:600;line-height:1.35}.hint.error{color:var(--error);background:#fdecea}.hint.ok{color:var(--ok);background:#e6f6ec}.badge{color:var(--accent);background:#e8efff;border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:13px;font-weight:600}.perks h3{color:var(--accent);margin:8px 0 4px;font-size:16px}.perks p{margin:0}.perks ul,.offer-card ul{flex-direction:column;gap:12px;margin:0;padding:0;line-height:1.4;list-style:none;display:flex}.perks li{align-items:flex-start;gap:12px;display:flex}.perks li>span{font-size:22px;line-height:1.1}.perks li>div{flex-direction:column;gap:2px;display:flex}.perks li b{font-weight:600}.perks li small{color:var(--muted);font-size:15px}.perks .more{align-self:center}.offer-card{border:2px solid var(--accent);gap:12px}.offer-card h2{margin:0;font-size:22px}.offer-card p{margin:0}.offer-card .price{color:var(--accent);font-size:34px;font-weight:800}.old-price{color:var(--muted);margin-left:8px;font-size:22px;font-weight:600}.checks li{padding-left:28px;position:relative}.checks li:before{content:"✓";color:var(--ok);font-weight:800;position:absolute;left:0}.offer-card .note{color:var(--muted);text-align:center;font-size:14px}.secondary.active{border-color:var(--accent);background:var(--accent);color:#fff}.consent{grid-template-columns:22px 1fr;align-items:start;gap:10px;font-size:14px;line-height:1.4;display:grid}.consent input{width:20px;height:20px;margin:0}.question h2{line-height:1.35}.answers{grid-template-columns:1fr 1fr;gap:12px;display:grid}.answers button{padding:16px;font-size:18px}.illustration svg{width:100%;max-height:180px;display:block}.ill-caption{fill:var(--muted);text-anchor:middle;font-size:9px}.ill-bend{transform-box:view-box;transform-origin:45px 80px;animation:3s ease-in-out infinite bend}@keyframes bend{0%,20%{transform:rotate(0)}50%,75%{transform:rotate(80deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.ill-bend{animation:none;transform:rotate(80deg)}}.doctor{border:2px solid #e74c3c}.doctor p{margin:0;line-height:1.4}.verdict{border-left:6px solid #2ecc71}.verdict.work{border-left-color:#f5b301}.verdict.doctor{background:#fff5f4;border-left-color:#e74c3c}.verdict p,.bot p,.metric p{margin:0;line-height:1.4}.metrics{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.metric{grid-template-columns:14px 1fr;align-items:start;gap:10px;display:grid}.metric.reference{opacity:.75}.metric .dot{border-radius:50%;width:14px;height:14px;margin-top:3px}.metric-head{justify-content:space-between;gap:8px;display:flex}.metric-value{color:var(--muted);white-space:nowrap}.metric details{color:var(--muted);margin-top:4px;font-size:14px}.snapshot{border-radius:8px;width:100%}.shots-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.shots figure{flex-direction:column;align-items:center;gap:4px;min-width:0;margin:0;display:flex}.shots figcaption{font-size:14px;font-weight:600}.shots .warn{text-align:center;font-size:12px}.shots .link{padding:4px;font-size:14px}.shot{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.shot .snapshot{display:block}.shot-zoom{z-index:20;padding:16px 16px calc(16px + env(safe-area-inset-bottom));cursor:zoom-out;background:#000000e0;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}.shot-zoom .snapshot{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 120px)}.shot-zoom .secondary{color:#fff;border-color:#fff}.error{color:var(--error);margin:0}.warn{color:var(--warn);margin:0;font-size:14px}.banner{max-width:480px;margin:12px auto 0;padding:0 16px}.note{color:var(--muted);margin:0;font-size:14px}.notice{margin:0}.changes{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.changes li{grid-template-columns:1fr auto;gap:2px 8px;display:grid}.change-values{font-variant-numeric:tabular-nums;text-align:right}.trend{grid-column:1/-1;font-size:14px}.trend.better{color:#2e7d32}.trend.same{color:#6b7280}.trend.worse{color:#b45309}.mission{position:relative}.mission h1,.mission>.lead,.link.center{text-align:center}.dragon.hero{width:160px;height:auto;margin:0 auto}.dragon .zzz{fill:var(--muted);font-size:10px;font-weight:700}.dragon.fly{animation:1.6s ease-in-out infinite dragon-bob}.dragon.fly .wing,.dragon.ready .wing{transform-origin:58px 50px;animation:.8s ease-in-out infinite wing-flap}.dragon.ready .wing{animation-duration:1.6s}@keyframes dragon-bob{50%{transform:translateY(-8px)}}@keyframes wing-flap{50%{transform:rotate(-12deg)}}.constellation line{stroke:#c7d2ea;stroke-width:.8px}.constellation line.on{stroke:#f5b301;stroke-width:1.2px}.constellation circle{fill:#c7d2ea;transition:r .3s}.constellation circle.on{fill:#f5b301}.mission.done .constellation{background:linear-gradient(#1b2a5c,#2f4a9a);border-radius:12px;width:100%;max-height:140px;padding:8px}.constellation.complete line.on{stroke:#ffd54a}.constellation.complete circle.on{fill:#ffd54a;animation:1.4s ease-in-out infinite twinkle}@keyframes twinkle{50%{opacity:.45}}.plus-one{text-align:center;color:#ffd54a;text-shadow:0 2px 12px #0009;pointer-events:none;font-size:72px;font-weight:800;animation:.9s ease-out forwards plus-one;position:absolute;top:20%;left:0;right:0}@keyframes plus-one{0%{opacity:1;transform:scale(.6)}30%{transform:scale(1.15)}to{opacity:0;transform:translateY(-40px)scale(1)}}.mission-round{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));color:#fff;background:#0000008c;border-radius:999px;padding:4px 10px;font-size:14px;font-weight:600;position:absolute}.install-done{z-index:30;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.install-done .card{text-align:center;width:100%;max-width:420px}.install-done h2{margin:0}.confetti{pointer-events:none;z-index:10;width:100vw;height:100vh;position:fixed;inset:0}.cta-now{text-align:center;flex-direction:column;gap:6px;padding:8px 4px 0;display:flex}.cta-now h2{margin:0;font-size:22px}.card.mission-cta{gap:10px}.mission-cta .row{align-items:center;gap:12px;display:flex}.mission-cta .row h2{margin:0}.mission-cta .dragon{flex:0 0 64px;width:64px;height:auto}.mission-cta p{margin:0}.end-note{color:var(--muted);text-align:center;margin:-8px 0 0;font-size:14px}.mission-stage{background:radial-gradient(2px 2px at 12% 18%,#fff8 50%,#0000 51%),radial-gradient(2px 2px at 78% 12%,#fff8 50%,#0000 51%),radial-gradient(1.5px 1.5px at 33% 8%,#fff6 50%,#0000 51%),radial-gradient(1.5px 1.5px at 88% 40%,#fff6 50%,#0000 51%),radial-gradient(2px 2px at 8% 52%,#fff6 50%,#0000 51%),radial-gradient(1.5px 1.5px at 60% 30%,#fff5 50%,#0000 51%),linear-gradient(#141f45 0%,#2f4a9a 72%,#3d7a5a 72%,#2f5f46 100%);height:100dvh;position:fixed;inset:0;overflow:hidden}.mission-stage canvas.game{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.stage-fps{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));color:#fff;background:#00000080;border-radius:6px;padding:4px 8px;font:12px/1.2 ui-monospace,monospace;position:absolute}.hidden-video{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dragon-front{width:100%;height:88dvh;position:absolute;inset:12vh 0 0}.dragon-front .limb{stroke:#5cc98a;stroke-width:18px;stroke-linecap:round}.dragon-front .limb.outline{stroke:#1c2330;stroke-width:24px}.dragon-front .paw{fill:#5cc98a;stroke:#1c2330;stroke-width:3px}.dragon-front .eyes-closed,.dragon-front.sleep .eyes-open{display:none}.dragon-front.sleep .eyes-closed{display:inline}.dragon-front.sleep .body{transform-origin:150px 360px;animation:3s ease-in-out infinite doze}@keyframes doze{50%{transform:rotate(2deg)}}.dragon-front .wing{transition:transform .6s}.dragon-front .wing.left{transform-origin:112px 240px}.dragon-front .wing.right{transform-origin:188px 240px}.dragon-front.wake .wing.left{transform:rotate(-12deg)}.dragon-front.wake .wing.right{transform:rotate(12deg)}.dragon-front.ready .wing.left,.dragon-front.fly .wing.left{transform:rotate(-25deg)scale(1.15)}.dragon-front.ready .wing.right,.dragon-front.fly .wing.right{transform:rotate(25deg)scale(1.15)}.dragon-front.fly{animation:1.5s ease-in forwards take-off}@keyframes take-off{40%{transform:translateY(2%)}to{transform:translateY(-30%)}}.dragon-front .star .zone{fill:#ffffff0d;stroke:#ffffff40;stroke-width:2px;stroke-dasharray:6 6}.dragon-front .star .shape{fill:#ffffff40;transition:fill .2s}.dragon-front .star.lit .zone{fill:#ffd54a26;stroke:none}.dragon-front .star.lit .shape{fill:#ffd54a;filter:drop-shadow(0 0 8px #ffd54a);transform-box:fill-box;transform-origin:50%;animation:1s ease-in-out infinite star-pulse}.dragon-front .star.caught .shape{fill:#fff6c2}.dragon-front .star .hold{fill:none;stroke:#fff;stroke-width:6px;stroke-linecap:round}.dragon-front .flying{fill:#fff6c2;transform-box:fill-box;transform-origin:50%}@keyframes star-pulse{50%{transform:scale(1.12)}}.stage-count{top:calc(8px + env(safe-area-inset-top));text-align:center;color:#ffd54a;text-shadow:0 4px 16px #0000008c;font-variant-numeric:tabular-nums;pointer-events:none;font-size:min(15vh,30vw);font-weight:800;line-height:1;position:absolute;left:0;right:0}.stage-count span{color:#fffc;font-size:.45em}.play-stage .stage-count span{font-size:1em}.stage-controls{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));gap:10px;display:flex;position:absolute}.stage-btn{color:#fff;background:#0006;border:0;border-radius:50%;width:48px;height:48px;font-size:22px}.stage-skip{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));color:#fff;background:#0006;border:0;border-radius:24px;height:48px;padding:0 18px;font-size:16px;position:absolute}.play-stage{background:linear-gradient(#7fd4c9 0%,#d8efb0 60%,#6cc267 60%,#4e9a55 100%)}.play-move{top:calc(8px + min(15vh, 30vw) + env(safe-area-inset-top));text-align:center;color:#fff;text-shadow:0 2px 8px #0009;pointer-events:none;font-size:min(5vh,9vw);font-weight:700;position:absolute;left:0;right:0}.hold-ring{top:calc(16px + min(20vh, 39vw) + env(safe-area-inset-top));pointer-events:none;width:min(22vh,30vw);height:min(22vh,30vw);transition:opacity .2s;position:absolute;left:50%;transform:translate(-50%)rotate(-90deg)}.lab .hold-ring{top:calc(108px + min(12vh, 24vw) + env(safe-area-inset-top))}.hold-ring.gone{opacity:0}.hold-ring-track,.hold-ring-fill{fill:none;stroke-width:9px}.hold-ring-track{stroke:#0000004d}.hold-ring-fill{stroke:#ffd54a;stroke-linecap:round}.play-line{left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));color:#fff;background:#0000009e;border-radius:16px;padding:12px 16px;font-size:18px;line-height:1.35;position:absolute}.play-line b{color:#ffd54a;font-size:14px;display:block}.play-notice{color:#fff;text-align:center;pointer-events:none;background:#000000b3;border-radius:20px;padding:20px;font-size:clamp(24px,7vmin,40px);font-weight:700;line-height:1.2;position:absolute;top:50%;left:16px;right:16px;transform:translateY(-50%)}.lab-bar{top:calc(6px + env(safe-area-inset-top));color:#fff;z-index:1;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex;position:absolute;left:6px;right:6px}.lab-bar select,.lab-bar button:not(.stage-btn){color:#fff;background:#000000a6;border:0;border-radius:8px;height:36px;padding:0 8px;font-size:14px}.lab-upload{background:#0006;border-radius:8px;padding:4px 8px;font-size:12px}.lab-count{top:calc(100px + env(safe-area-inset-top));text-align:center;color:#fff;text-shadow:0 2px 8px #0009;pointer-events:none;font-size:min(12vh,24vw);font-weight:800;line-height:1;position:absolute;left:0;right:0}.lab-report{inset:calc(6px + env(safe-area-inset-top)) 6px calc(6px + env(safe-area-inset-bottom));background:#000000e0;border-radius:8px;flex-direction:column;gap:6px;padding:6px;display:flex;position:absolute}.lab-report textarea{color:#ffc6a8;resize:none;background:#1a1a1a;border:0;border-radius:6px;flex:1;min-height:0;padding:6px;font:16px/1.3 ui-monospace,monospace}.lab-report div{gap:6px;display:flex}.lab-report button{color:#000;background:#fff;border:0;border-radius:8px;flex:1;height:40px;font-size:15px}.play-debug{left:8px;top:calc(8px + env(safe-area-inset-top));color:#fff;width:22vw;font:10px/1.25 ui-monospace,monospace;position:absolute}.play-debug canvas{aspect-ratio:9/16;background:#000;width:100%;display:block}.play-debug pre{white-space:pre-wrap;background:#0009;margin:4px 0 0;padding:4px}@media (prefers-reduced-motion:reduce){.dragon-front.sleep .body,.dragon-front .star.lit .shape,.dragon.fly,.dragon .wing,.plus-one,.constellation.complete circle.on{animation:none}}.camera-preview{width:min(75vw, 75vh * var(--aspect,.75));aspect-ratio:var(--aspect,.75);object-fit:cover;pointer-events:none;background:#000;border:2px solid #fff;border-radius:10px;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scaleX(-1);box-shadow:0 2px 8px #00000080}.camera-preview.gone{opacity:0}.note.center{text-align:center}.card.access p{margin:0}.card.access .access-step{line-height:1.4}.timer{font-variant-numeric:tabular-nums}.link-code{text-align:center;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--text);margin:4px 0;font-size:44px;font-weight:700}.connected{background:var(--ok);color:#fff;text-align:center;border-radius:50%;width:88px;height:88px;margin:8px auto 0;font-size:52px;line-height:88px}.menu{--menu-soft:#e8efff;--menu-line:#dde3ee;--menu-star:#f2b100;--menu-lock:#9aa3b5;--menu-ok-soft:#e6f6ec}.menu a.card{color:inherit;text-decoration:none}.menu-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.menu-back{color:var(--accent);padding:6px 4px;font-size:16px;font-weight:600;text-decoration:none}.menu-brand{align-items:center;gap:10px;display:flex}.menu-brand img{border-radius:10px;width:44px;height:44px}.menu-brand h1{font-size:20px}.menu-stars{font-variant-numeric:tabular-nums;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #00000014}.menu-stars i{color:var(--menu-star);font-style:normal}.menu-badge{border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.menu-badge.off{color:var(--muted);background:#eceff4}.menu-badge.on{background:var(--menu-ok-soft);color:var(--ok)}.menu-badge:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.menu-mode{grid-template-columns:56px 1fr;align-items:center;gap:4px 12px;display:grid}.menu-mode .pic{border-radius:14px;grid-row:span 2;place-items:center;width:56px;height:56px;font-size:30px;display:grid}.menu-mode .pic.story{background:#dff3d6}.menu-mode .pic.free{background:#ffe6cc}.train-icon{width:80%;height:80%}.menu-mode .sub{color:var(--muted);margin:0;font-size:14px;line-height:1.4;text-decoration:none}.menu-mode .button{grid-column:1/-1;margin-top:8px}.menu-mode.soon{opacity:.75}.menu-soon{color:var(--muted);vertical-align:2px;background:#eceff4;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.menu-activate{background:var(--menu-soft);box-shadow:none}.menu-activate p{margin:0;line-height:1.4}.menu-tiles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.menu-tile{color:var(--text);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;text-decoration:none;display:flex;box-shadow:0 1px 3px #00000014}.menu-tile span{font-size:26px;line-height:1}.menu-tile b{font-size:16px}.menu-tile small{color:var(--muted);font-size:13px}.menu-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.menu-legend span:before{content:"";vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.menu-legend .l-done:before{background:var(--ok)}.menu-legend .l-now:before{background:var(--accent)}.menu-legend .l-lock:before{background:#d7dce6}.menu-chapter{gap:10px}.menu-chapter header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.menu-chapter header small{color:var(--muted);font-size:13px}.menu-chapter .note{margin:0}.menu-chapter.closed{opacity:.7}.menu-levels{flex-wrap:wrap;gap:10px;display:flex}.menu .lv{font-variant-numeric:tabular-nums;border:2px solid var(--menu-line);width:52px;height:52px;color:var(--text);background:#fff;border-radius:50%;place-items:center;font-size:18px;font-weight:700;text-decoration:none;display:grid;position:relative}.menu .lv.done{background:var(--ok);border-color:var(--ok);color:#fff}.menu .lv.done:after{content:"✓";width:20px;height:20px;color:var(--ok);text-align:center;background:#fff;border-radius:50%;font-size:13px;line-height:20px;position:absolute;bottom:-4px;right:-4px;box-shadow:0 1px 2px #00000026}.menu .lv.now{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--menu-soft)}.menu .lv.locked,.menu .lv.paid{color:var(--menu-lock);background:#f1f3f7}.menu .lv.paid:after{content:"🔒";font-size:14px;position:absolute;bottom:-6px;right:-6px}.menu h1.center{text-align:center}.train-title{margin:0 0 -8px 4px;font-weight:600}.menu-tabs.train-tabs{grid-template-columns:repeat(3,1fr)}.menu-tabs.train-tabs button{padding:10px 4px;font-size:15px}.train-streak{grid-template-columns:1fr 1fr;gap:12px;display:grid}.train-streak .card{gap:4px}.train-streak b{font-variant-numeric:tabular-nums;font-size:22px}.train-streak small{color:var(--muted);font-size:13px;line-height:1.3}.train-bar{background:#e9edf4;border-radius:4px;height:8px;overflow:hidden}.train-bar i{background:var(--ok);border-radius:4px;height:100%;display:block}.train-choices{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.train-choice{color:var(--text);text-align:center;font:inherit;background:#fff;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;display:flex;box-shadow:0 1px 3px #00000014}.train-choice.on{border-color:var(--accent);background:var(--menu-soft)}.train-choice .big{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.1}.train-choice small{color:var(--muted);font-size:12px;line-height:1.3}.train-choice:disabled{opacity:.5;cursor:default}.train-looks{scrollbar-width:none;gap:10px;padding:2px 2px 6px;display:flex;overflow-x:auto}.train-looks .train-choice{flex:0 0 88px}.train-looks .pic{background:#f1f3f7;border-radius:50%;place-items:center;width:48px;height:48px;font-size:28px;display:grid}.train-ex{border-top:1px solid var(--menu-line);grid-template-columns:28px 1fr;align-items:center;gap:6px 10px;padding:12px 14px;display:grid}.train-ex:first-child{border-top:0}.train-ex .box{color:#fff;background:#fff;border:2px solid #b8c0cf;border-radius:6px;place-items:center;width:24px;height:24px;padding:0;font-size:15px;font-weight:800;display:grid}.train-ex.on .box{background:var(--accent);border-color:var(--accent)}.train-ex b{cursor:pointer;font-size:15px}.train-ex .kind{color:var(--muted);font-size:13px;font-weight:400}.train-ex .set{flex-wrap:wrap;grid-column:2;gap:8px 14px;display:flex}.train-step{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.train-step .ctl{border:1px solid var(--menu-line);border-radius:10px;align-items:center;display:inline-flex;overflow:hidden}.train-step button{width:36px;height:36px;color:var(--accent);background:#f1f3f7;border:0;border-radius:0;padding:0;font-size:18px;font-weight:700}.train-step button:disabled{color:var(--menu-lock)}.train-step output{text-align:center;min-width:48px;color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.train-setup{padding-bottom:calc(160px + env(safe-area-inset-bottom))}.train-go{z-index:5;max-width:480px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--bg,#f6f8fc) 30%);flex-direction:column;gap:8px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.train-locked{background:var(--menu-soft);text-align:center;border-radius:12px;margin:0;padding:12px 14px;line-height:1.4}.train-plan{gap:0;padding:0;overflow:hidden}.train-plan .sep{color:var(--muted);background:#f1f3f7;padding:8px 16px;font-size:13px;font-weight:600}.train-plan .row{border-top:1px solid var(--menu-line);grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:12px 16px;display:grid}.train-plan .sep+.row{border-top:0}.train-plan .row>div{flex-direction:column;gap:2px;min-width:0;display:flex}.train-plan .row small{color:var(--muted);font-size:13px}.train-plan .load{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:700}.train-stats .row{grid-template-columns:1fr auto auto}.train-stats .row:first-child{border-top:0}.train-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.train-summary .card{text-align:center;align-items:center;gap:2px;padding:12px 6px}.train-summary b{font-variant-numeric:tabular-nums;font-size:22px}.train-summary small{color:var(--muted);font-size:12px;line-height:1.3}.train-q{text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:52px;padding:4px 8px;font-size:14px;font-weight:700}.train-q.hi{background:var(--menu-ok-soft);color:var(--ok)}.train-q.mid{color:#b26a00;background:#fff3e0}.train-record{color:#7a5a00;background:#fff3c4;border-radius:8px;align-self:flex-start;margin-top:2px;padding:1px 8px;font-size:12px;font-weight:700}.train-bonus{box-shadow:none;background:#fff8e1}.train-bonus .note{margin:0}.menu-tabs{background:#e9edf4;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.menu-tabs button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:10px;font-weight:600}.menu-tabs button.on{color:var(--text);background:#fff;box-shadow:0 1px 3px #00000014}.menu-goods{grid-template-columns:1fr 1fr;gap:12px;display:grid}.menu-good{text-align:center;align-items:center;gap:6px;padding:12px}.menu-good .pic{border-radius:50%;place-items:center;width:72px;height:72px;font-size:40px;display:grid}.menu-good b{font-size:15px}.menu-good small{color:var(--muted);min-height:2.6em;font-size:12px;line-height:1.3}.menu-good .buy{background:var(--accent);color:#fff;border:0;border-radius:10px;width:100%;padding:10px 6px;font-size:14px;font-weight:700}.menu-good .buy:disabled{opacity:1}.menu-good .buy.worn{background:var(--menu-ok-soft);color:var(--ok)}.menu-good .buy.short{color:var(--muted);background:#eceff4}.menu-good .buy.owned{border:1px solid var(--accent);color:var(--accent);background:0 0}.menu-group{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 -8px 4px;font-size:13px;font-weight:600}.menu-rows{gap:0;padding:0;overflow:hidden}.menu-row,.menu-lang{border:0;border-top:1px solid var(--menu-line);color:var(--text);text-align:left;font:inherit;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;text-decoration:none;display:flex}.menu-row:first-child,.menu-lang:first-child{border-top:0}.menu-row>div,.menu-lang>span:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.menu-row small,.menu-lang small{color:var(--muted);font-size:13px;line-height:1.3}.menu-row .val{color:var(--muted);white-space:nowrap}.menu-row .val.ok{color:var(--ok);font-weight:600}.menu-row .val.bad{color:var(--error);font-weight:600}.menu-allow{border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:10px;flex:none;padding:8px 14px;font-weight:600}.menu-switch{background:#cfd5e0;border:0;border-radius:15px;flex:none;width:50px;height:30px;padding:0;position:relative}.menu-switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.menu-switch.on{background:var(--ok)}.menu-switch.on:after{left:23px}.menu-lang.on{background:var(--menu-soft)}.menu-lang:disabled{opacity:1;cursor:default}.menu-lang:disabled b{color:var(--muted);font-weight:600}.menu-lang .mark{color:var(--accent);font-size:20px;font-weight:700}.menu-lang .mark.soon{color:var(--muted);font-size:12px;font-weight:600}.menu details{border-top:1px solid var(--menu-line)}.menu details:first-child{border-top:0}.menu summary{cursor:pointer;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:600;list-style:none;display:flex}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:"+";color:var(--accent);font-size:20px;line-height:1}.menu details[open] summary:after{content:"–"}.menu details p{color:var(--muted);margin:0;padding:0 16px 14px;line-height:1.45}.menu-ask{gap:8px;display:flex}.menu-ask span{min-width:0;color:var(--menu-lock);background:#f1f3f7;border-radius:10px;flex:1;padding:12px}.menu-ask b{color:var(--menu-lock);background:#eceff4;border-radius:10px;padding:12px 14px}.menu-earned{text-align:center;margin:0;font-size:18px;font-weight:700}@media (prefers-reduced-motion:no-preference){.menu .lv.now{animation:2.4s ease-in-out infinite menu-pulse}}@keyframes menu-pulse{50%{box-shadow:0 0 0 8px var(--menu-soft)}}.install-hero{align-items:center;gap:14px;display:flex}.install-hero img{border-radius:16px;flex:0 0 72px;width:72px;height:72px;box-shadow:0 6px 16px #2f6fed59}.install-hero h1{text-wrap:balance;font-size:26px}.install-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:13px;font-weight:600}.install-why{flex-direction:column;gap:6px;margin:0;padding-left:20px;line-height:1.4;display:flex}.install-steps{counter-reset:step;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.install-steps li{counter-increment:step;grid-template-columns:32px 1fr;align-items:center;gap:12px;line-height:1.4;display:grid}.install-steps li:before{content:counter(step);width:32px;height:32px;color:var(--accent);background:#e8efff;border-radius:50%;place-items:center;font-weight:700;display:grid}.install-pointer{text-align:center;color:var(--muted);margin:0;font-size:14px}.install-pointer b{color:var(--accent);font-size:28px;line-height:1;display:block}.menu-tabs.shop-tabs{grid-template-columns:repeat(3,1fr)}.menu-good .tag{background:var(--menu-ok-soft);color:var(--ok);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.shop-chips{flex-wrap:wrap;gap:6px;display:flex}.shop-chips button{border:1px solid var(--menu-line);color:var(--muted);background:#fff;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}.shop-chips button.on{background:var(--accent);border-color:var(--accent);color:#fff}.shop-fit{flex-direction:row;align-items:center;gap:14px}.shop-fit .hero{background:#dff3d6;border-radius:16px;flex:0 0 96px;place-items:center;height:112px;font-size:56px;display:grid;position:relative}.shop-fit .hero i{font-size:26px;font-style:normal;position:absolute}.shop-fit .hero .head{top:-6px}.shop-fit .hero .neck{font-size:20px;bottom:22px;right:10px}.shop-fit .hero .back{font-size:22px;bottom:4px;left:6px}.shop-fit ul{flex-direction:column;gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.shop-fit ul small{color:var(--muted)}.shop-change{border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:10px;margin-top:6px;padding:6px 12px;font-size:14px;font-weight:600}.menu-sheet-wrap{z-index:20;background:#1c233073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.menu-sheet{text-align:center;align-items:center;gap:12px;width:100%;max-width:420px}.menu-sheet h2,.menu-sheet .note{margin:0}.menu-sheet .pic{border-radius:50%;place-items:center;width:88px;height:88px;font-size:48px;display:grid}.menu-sheet .pair{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.train-looks a.train-choice{text-decoration:none}.train-looks .train-choice.locked{opacity:.55}
