:root{--navy: #0f1d2e;--navy2: #1b2c42;--ink: #13202f;--muted: #5d6c7e;--line: #dbe3ec;--snow: #f5f8fb;--accent: #ff5a36;--accent2: #ffb400;--ok: #19a974;--panel: rgba(255, 255, 255, .92);--radius: 16px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--navy)}#stage{position:fixed;top:0;right:0;bottom:0;left:0}#stage canvas{display:block;width:100%;height:100%}#app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}button{font:inherit;cursor:pointer;border:0;border-radius:999px;padding:.7em 1.3em;font-weight:650;transition:transform .08s,background .15s,box-shadow .15s}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 18px #ff5a3659}.btn-primary:hover{background:#ff6d4d}.btn-dark{background:var(--navy);color:#fff}.btn-ghost{background:#0f1d2e0f;color:var(--ink)}.btn-ghost:hover{background:#0f1d2e1f}.btn-sm{padding:.45em .9em;font-size:.88rem}input,select{font:inherit;padding:.6em .8em;border:1px solid var(--line);border-radius:10px;background:#fff;width:100%}input[type=checkbox],input[type=radio]{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;padding:0!important;margin:0!important;cursor:pointer;accent-color:var(--accent);vertical-align:middle}.topbar{position:sticky;top:0;display:flex;align-items:center;gap:.6rem;padding:.9rem 1.4rem;z-index:5}.brand{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.25rem;letter-spacing:-.02em;color:#fff;text-decoration:none;margin-right:auto;cursor:pointer;text-shadow:0 1px 8px rgba(0,0,0,.3)}.brand img{width:34px;height:34px}.topbar .btn-ghost{background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar .connection-icon,.topbar .profile-icon,.topbar .login-top-btn{width:52px;height:52px;min-width:52px;padding:0;font-size:1.3rem;touch-action:manipulation}.lang-toggle{display:inline-flex;background:#ffffffd9;border-radius:999px;padding:3px}.lang-toggle button{padding:.35em .75em;background:transparent;font-size:.85rem}.lang-toggle button.on{background:var(--navy);color:#fff}.page{max-width:1120px;margin:0 auto;padding:.5rem 1.4rem 3rem}.panel{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius);padding:1.4rem;box-shadow:0 10px 40px #0a192d2e}.page.landing-page{max-width:none;min-height:100%;display:flex;align-items:center;padding:clamp(24px,6vw,96px)}.landing-page .home-content{width:100%}.landing{width:fit-content;max-width:100%}.landing-brand{display:flex;align-items:center;gap:clamp(12px,2vw,24px);color:#fff}.landing-brand img{width:clamp(48px,8vw,112px);height:auto}.landing-brand h1{margin:0;font-size:clamp(3rem,10vw,7rem);line-height:1;letter-spacing:-.04em}.landing-tagline{margin:20px 0 24px;color:#fff;font-size:clamp(1.5rem,3vw,2.2rem);text-shadow:0 2px 12px rgba(0,0,0,.6)}.landing .landing-auth{display:flex;width:100%;flex-wrap:wrap;gap:10px}.landing-auth button{flex:1;min-height:44px;padding:.35em .7em;font-size:.95rem;touch-action:manipulation}.profile-completion-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a1423bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.profile-completion-box{width:100%;max-width:480px;max-height:90dvh;overflow-y:auto}.profile-completion-box h2{margin-top:0}.profile-completion-error{color:#b91e32}.ride-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:24px;background:var(--navy);color:#fff;font-size:clamp(1.4rem,4vw,2.2rem)}@media(orientation:portrait){.landing .landing-auth{flex-direction:column}.page.landing-page{align-items:flex-start;padding:24px 16px}}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:1.5rem;align-items:end;margin:3vh 0 1.5rem}.hero h1{font-size:clamp(2.6rem,6vw,4.8rem);line-height:.95;letter-spacing:-.04em;margin:0;color:#fff;white-space:pre-line;text-shadow:0 2px 30px rgba(0,20,40,.35)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--accent);margin:0 0 .6rem}.hero .eyebrow{color:#fff;opacity:.9}.hero p{margin:0 0 1rem;color:var(--muted);line-height:1.5}.connect-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.status{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.chip{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.3rem .75rem;font-size:.85rem;font-weight:600;background:#eef3f8}.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.warn{background:#fff4e0;color:#7a4b00;border-radius:10px;padding:.7rem .9rem;font-size:.9rem;margin-top:.8rem;line-height:1.4}.hint{color:var(--muted);font-size:.88rem;margin-top:.6rem}h2{font-size:1.5rem;letter-spacing:-.02em;margin:0 0 1rem}.section-title{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.3)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}@media(orientation:portrait){.home-content .cards{grid-template-columns:1fr}}.card{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius);padding:1.2rem;cursor:pointer;border:2px solid transparent;box-shadow:0 8px 30px #0a192d24;transition:transform .12s,border-color .12s}.card:hover{transform:translateY(-2px)}.card.sel{border-color:var(--accent)}.card.disabled{opacity:.45;pointer-events:none}.card h3{margin:.2rem 0 .4rem;font-size:1.15rem}.card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}.card .icon{font-size:1.8rem}.card .meta{display:flex;gap:.9rem;margin-top:.7rem;font-size:.85rem;font-weight:600;color:var(--ink)}.card svg.profile{width:100%;height:56px;margin-top:.6rem;display:block}.setup-grid{display:grid;gap:1.4rem}.setup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.setup-heading .section-title{min-width:0}.setup-panel{width:min(100%,860px);margin-inline:auto}.setup-route-select,.setup-workout>label{display:grid;gap:.45rem;max-width:640px;font-weight:700}.setup-trail-preview{margin-top:1rem}.setup-trail-preview h3,.setup-trail-preview p{margin:0 0 .6rem}.setup-trail-preview p{max-width:70ch;line-height:1.5}.setup-route-visuals{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(180px,1fr);gap:12px;align-items:stretch}.setup-trail-preview .profile{width:100%;height:clamp(52px,8vw,90px);border-radius:4px;background:#ffffffb3}.setup-route-visuals .trail-map{width:100%;height:clamp(52px,8vw,90px);border-radius:4px}.setup-trail-preview .meta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.6rem;font-size:.9rem}.setup-workout{display:grid;gap:.6rem;margin-top:1rem;max-width:640px}.setup-workout>label{max-width:none}.setup-workout p{margin:0}.setup-bot-pills{display:flex;flex-wrap:wrap;gap:6px}.setup-speed-toggle{margin:1rem 0!important}.setup-speed-toggle span{white-space:normal}@media(max-width:560px){.setup-route-visuals{grid-template-columns:1fr}}.footer-bar{display:flex;gap:.8rem;align-items:center;justify-content:flex-end;margin-top:1.2rem}.laps{display:inline-flex;gap:.3rem;align-items:center}.laps button{width:2.4em;height:2.4em;padding:0}.form{display:grid;gap:1rem;max-width:480px}.settings-page .form{max-width:none}.settings-page-heading{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-1.4rem -1.4rem 1rem;padding:1rem 1.4rem .7rem;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius) var(--radius) 0 0}.settings-page-heading h2{margin:0}.settings-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:.55em 1em;font-weight:700}.settings-close span{display:inline}.history-page-heading{margin-bottom:.6rem}.history-page-heading h2{margin:0}.history-actions{display:flex;align-items:center;gap:8px}.history-account{display:flex;justify-content:flex-end;margin-bottom:1rem}.settings-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 0 6px;border-bottom:1px solid var(--line)}.settings-tab{flex:0 0 auto;padding:.55em .8em;border-radius:9px;background:#eef3f8;color:var(--ink);font-size:.85rem}.settings-tab.active{background:var(--navy);color:#fff}.settings-tab-panel{display:grid;gap:1rem}.settings-tab-panel[hidden]{display:none}.settings-tab-panel .hud-fieldset{margin:0}.appearance-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);align-items:start;gap:1.25rem}.appearance-choices{display:grid;gap:1rem}.appearance-preview{position:relative;width:100%;height:clamp(400px,68vh,680px);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#101b29}.appearance-preview canvas{display:block;width:100%;height:100%}.settings-page .settings-submit{display:flex;justify-content:flex-end}@media(max-width:760px){.appearance-layout{grid-template-columns:minmax(0,1fr)}.appearance-preview{grid-row:1;height:clamp(300px,45vh,440px)}}.form label{display:grid;gap:.35rem;font-weight:600;font-size:.92rem}.hud-fieldset{border:1px solid var(--line, rgba(255, 255, 255, .15));border-radius:12px;padding:14px 18px;margin:6px 0 12px;background:#ffffff08}.hud-legend{font-weight:700;font-size:.92rem;padding:0 8px;color:inherit}.connection-control{position:relative;flex:0 0 auto}.connection-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:50%;background:#ffffffe0;color:var(--ink);box-shadow:0 4px 14px #0000002e}.connection-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:16px;background:#07101c9e}.connection-overlay.hidden{display:none!important}.connection-popover{width:min(640px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:clamp(18px,4vw,28px);display:grid;gap:18px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 56px #00000059}.connection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1.2rem}.topbar .connection-close,.connection-close{color:var(--ink);background:#0f1d2e1f;width:44px;height:44px;padding:0;font-size:1.1rem;touch-action:manipulation}.connection-cancel{justify-self:end;min-width:110px}.connection-status,.connection-actions{display:grid;gap:8px}.connection-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.connection-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:128px;padding:12px 8px;border-radius:10px;text-align:center;touch-action:manipulation}.connection-actions .connection-action{color:inherit;background:transparent;border:1px solid currentColor;box-shadow:none}.connection-actions .connection-action:hover{background:#8080801f}.connection-action-icon{display:block;width:auto;text-align:center;font-size:2rem;line-height:1}.connection-status>div{display:flex;align-items:center;gap:8px}.connection-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#98a4b3}.connection-dot.is-connected{background:var(--ok)}.hud-connection{position:absolute;top:14px;right:14px;z-index:12}.hud-connection .connection-icon{color:#fff;background:#0c1624d1;border:1px solid rgba(255,255,255,.18)}.hud-connection .connection-popover{color:#fff;background:#0c1624f5;border-color:#ffffff2e}.hud-checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.form label.hud-checkbox-label,.hud-checkbox-label{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;font-weight:500!important;font-size:.92rem!important;cursor:pointer;margin:0!important;line-height:1.25;-webkit-user-select:none;user-select:none}.hud-checkbox-label span{white-space:nowrap}.hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;color:#fff;font-variant-numeric:tabular-nums}.hud>*{pointer-events:auto}.hud-top{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;flex-wrap:nowrap;gap:0;align-items:stretch;background:#0c1624b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:2px}.hud-top.no-panel{background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hud-top.no-panel .metric,.hud-top.no-panel .metric .v{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.6)}.hud-top.no-panel .metric+.metric{border-left:none}.metric{position:relative;background:none;border-radius:0;padding:17px 10px 14px;min-width:78px;text-align:center;display:flex;flex-direction:column;justify-content:center}.metric+.metric{border-left:1px solid rgba(255,255,255,.12)}.metric .ico{position:absolute;top:4px;right:5px;line-height:0;opacity:.8;pointer-events:none}.metric .ico svg{width:13px;height:13px;display:block}.metric .ico-heartRate{color:#ff4d4d;opacity:1}.metric .ico-power{color:#ffd43b;opacity:1}.metric .v{font-size:1.55rem;font-weight:800;line-height:1.1;white-space:nowrap;display:flex;align-items:baseline;justify-content:center;gap:2px}.metric .u{font-size:.75rem;opacity:.7}.metric .l{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-top:1px}.hud-left{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:8px;z-index:10}.hud-left .zoom-btns{display:flex;gap:6px}.hud-left button{background:#0c1624c7;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:8px;font-weight:600;box-shadow:0 4px 12px #00000040;cursor:pointer;transition:transform .1s,background .15s}.hud-left button:hover{background:#14243af2;transform:translateY(-1px)}.hud-left button.btn-icon{font-size:1.05rem;font-weight:700;padding:4px 10px;min-width:38px}.hud-popover{position:absolute;top:0;left:105%;background:#0c1624eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px 16px;min-width:195px;box-shadow:0 8px 24px #00000073;display:flex;flex-direction:column;gap:8px;z-index:20}.hud-popover.hidden{display:none!important}.hud-popover .popover-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:4px}.hud-popover label{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none}.metric-group{display:flex;gap:6px}.hidden,.metric-group.hidden,[data-hud].hidden,.hud.no-elevation .hud-bottom{display:none!important}.hud-draft{position:absolute;top:96px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#0c1624d1;border:1px solid currentColor;border-radius:10px;padding:5px 14px;font-size:.92rem;font-weight:700;letter-spacing:.02em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 18px #0006;pointer-events:none;z-index:24;transition:color .2s ease}.hud-draft .hud-draft-name,.hud-draft .hud-draft-gain{font-weight:500;opacity:.8;color:#fff}.hud-draft.draft-green{color:#4ade80}.hud-draft.draft-yellow{color:#facc15}.hud-draft.draft-red{color:#f87171}.hud-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0c1624e0;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:10px 22px;font-size:1.1rem;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px #00000073;pointer-events:none;z-index:25}.hud-bottom-actions{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;z-index:10}.cam-controls{display:flex;align-items:center;gap:6px;padding-right:6px;margin-right:2px;border-right:1px solid rgba(255,255,255,.18)}.cam-controls button{background:#0c1624d9;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:8px;font-weight:600;box-shadow:0 4px 12px #00000040;cursor:pointer;transition:transform .1s,background .15s}.cam-controls button:hover{background:#14243af2;transform:translateY(-1px)}.cam-controls button.btn-icon{font-size:1rem;font-weight:700;padding:6px 10px;min-width:38px}.hud.no-elevation .hud-bottom-actions{bottom:10px}.btn-action{font-size:1.05rem;font-weight:700;padding:8px 18px;border-radius:10px;display:inline-flex;align-items:center;gap:8px;background:#0c1624d9;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 16px #00000059;cursor:pointer;transition:transform .1s,background .15s,border-color .15s}.btn-action:hover{transform:translateY(-2px);background:#14243af2}.btn-action.btn-pause{border-color:#ffb40073}.btn-action.btn-finish{border-color:#dc323273}.board{position:absolute;top:295px;right:14px;width:230px;background:#0c1624b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:8px;font-size:.88rem;z-index:4}.board .row{display:grid;grid-template-columns:20px 10px 1fr auto;gap:6px;align-items:center;padding:4px 6px;border-radius:8px}.board .row.you{background:#ff5a364d;font-weight:700}.board .sw{width:10px;height:10px;border-radius:50%}.board .gap{opacity:.8;font-size:.8rem}.workout-box{position:absolute;top:100px;left:14px;width:290px;background:#0c1624b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:10px 12px}.workout-box .step{font-weight:800;font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em}.workout-box .tgt{font-size:2rem;font-weight:800}.workout-box .left{font-size:1.3rem;font-weight:700}.workout-box canvas{width:100%;height:60px;display:block;margin-top:6px}.pbar{position:relative;height:16px;background:#ffffff26;border-radius:8px;margin-top:8px;overflow:hidden}.pbar .zone{position:absolute;top:0;bottom:0;background:#19a9748c}.pbar .cur{position:absolute;top:-2px;bottom:-2px;width:4px;background:#fff;border-radius:2px}.next{font-size:.8rem;opacity:.75;margin-top:6px}.hud-bottom{position:absolute;left:14px;right:14px;bottom:56px;background:#0c16249e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:6px 10px;z-index:4}.hud-bottom.no-panel{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:#0a1422;text-shadow:0 1px 2px rgba(255,255,255,.85),0 0 8px rgba(255,255,255,.7)}.hud-bottom.no-panel .hud-elevation-grade{color:#0a1422}.hud-bottom-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;opacity:.95;padding:0 2px 3px}.hud-trail-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-elevation-grade{font-weight:700;color:#e8f1fa;background:#ffffff14;padding:1px 8px;border-radius:6px;letter-spacing:.02em}.hud-bottom.no-panel .hud-elevation-grade{background:none;padding:1px 0}.hud-bottom-body{display:flex;align-items:stretch;gap:10px}.hud-profile-col{flex:1 1 auto;min-width:0}.hud-minimap-col{flex:0 0 180px;width:180px;border-left:1px solid rgba(255,255,255,.14);padding-left:10px}.hud-profile-col.hidden+.hud-minimap-col,.hud-minimap-col:first-child{border-left:none;padding-left:0}.hud-profile-col canvas{width:100%;height:92px;display:block}.hud-minimap-col canvas{width:100%;height:92px;display:block;border-radius:6px;cursor:crosshair}.hud-bottom.no-panel .hud-minimap-col{border-left-color:#0a142240}.sim-panel{position:absolute;left:14px;bottom:205px;background:#0c16244d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:12px;padding:8px 12px;font-size:.8rem;width:150px;display:flex;gap:12px}.sim-slider{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.hud.no-elevation .sim-panel{bottom:60px}.sim-panel input{writing-mode:vertical-lr;direction:rtl;width:44px;height:clamp(100px,22vh,180px);padding:0;margin:0;background:transparent;border:0}.center-msg{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);font-size:clamp(3rem,10vw,7rem);font-weight:900;letter-spacing:-.03em;text-shadow:0 4px 30px rgba(0,0,0,.4);pointer-events:none;text-align:center}.center-msg small{display:block;font-size:1.1rem;font-weight:600;letter-spacing:0}.junction-prompt{position:absolute;top:18%;left:50%;transform:translate(-50%);background:#0c1624e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px 20px;z-index:10;text-align:center;box-shadow:0 12px 40px #00000073;animation:fadeIn .3s ease-out}.junc-title{font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fc0;margin-bottom:10px}.junc-options{display:flex;gap:12px;justify-content:center}.btn-junc{background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:10px;padding:8px 14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:all .2s ease;min-width:140px}.btn-junc:hover{background:#ff5a364d;border-color:#ff5a36}.btn-junc.active{background:#19a97459;border-color:#19a974}.junc-key{font-size:.75rem;font-weight:700;opacity:.85}.junc-name{font-size:.9rem;font-weight:800}.toast{position:fixed;top:18px;left:50%;transform:translate(-50%);background:var(--navy);color:#fff;padding:.7rem 1.1rem;border-radius:12px;z-index:50;box-shadow:0 10px 30px #0000004d}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem;margin:1rem 0}.stat{background:var(--snow);border-radius:12px;padding:.8rem}.stat .l{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat .v{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}.chart{width:100%;height:220px;display:block;background:var(--snow);border-radius:12px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}td,th{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--line)}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pr{color:var(--ok);font-weight:700}.legend{display:flex;gap:1rem;font-size:.82rem;color:var(--muted);margin:.4rem 0}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}@media(max-width:768px){.topbar{padding:.5rem .8rem;gap:.4rem}.brand{font-size:1.1rem;gap:.4rem}.brand img{width:28px;height:28px}.topbar .btn-sm{padding:.35em .55em;font-size:.8rem}.topbar .connection-icon,.topbar .profile-icon,.topbar .login-top-btn{width:52px;height:52px;min-width:52px;padding:0;font-size:1.3rem}.lang-toggle button{padding:.3em .55em;font-size:.78rem}.profile-widget span[style*=max-width]{max-width:70px!important}.page{padding:.3rem .75rem 2.5rem}.hero{grid-template-columns:1fr;gap:1rem;margin:1.5vh 0 1rem}.hero h1{font-size:clamp(2rem,8vw,3rem);text-shadow:0 2px 16px rgba(0,20,40,.45)}.eyebrow{font-size:.72rem;margin:0 0 .4rem}.panel{padding:1rem;border-radius:12px}.cards{grid-template-columns:1fr;gap:.8rem}.card{padding:1rem}.setup-grid{gap:1rem}.footer-bar{flex-wrap:wrap;justify-content:stretch;gap:.5rem}.footer-bar button{flex:1 1 auto}.hud-checkbox-grid{grid-template-columns:1fr;gap:10px}.hud-top{top:48px;left:2px;right:2px;width:calc(100% - 4px);transform:none;display:flex;flex-wrap:nowrap!important;justify-content:space-between;gap:2px;pointer-events:none;z-index:5}.hud-top>*{pointer-events:auto}.metric{min-width:0!important;flex:1 1 0!important;padding:12px 1px 11px;border-radius:6px;margin:0;overflow:hidden}.metric .ico{top:2px;right:3px}.metric .ico svg{width:10px;height:10px}.metric .v{font-size:.95rem;line-height:1;white-space:nowrap}.metric .l{font-size:.46rem;letter-spacing:.02em;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric .u{font-size:.52rem}.metric-pace .u{font-size:.5rem;line-height:1}.hud-left{top:6px;left:6px;right:6px;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:4px;z-index:10}.hud-left button{padding:3px 8px;font-size:.78rem}.hud-left button.btn-icon{min-width:28px;padding:3px 6px;font-size:.85rem}.hud-popover{left:0;top:36px;min-width:170px}.hud-connection{top:6px;right:6px}.hud-connection .connection-icon{width:32px;height:32px}.settings-tabs{margin-right:-.25rem}.settings-page-heading{margin:-1rem -1rem 1rem;padding:.8rem 1rem .65rem}.settings-close{min-height:48px;min-width:48px}.board{top:auto;bottom:118px;right:8px;width:150px;padding:5px;font-size:.74rem;z-index:4}.board .row{padding:2px 4px;gap:3px}.sim-panel{left:8px;bottom:140px;width:134px;max-width:134px;font-size:.72rem;padding:5px 8px;z-index:4}.hud.no-elevation .sim-panel{bottom:56px}.workout-box{top:auto;bottom:140px;left:8px;width:calc(100vw - 176px);max-width:210px;padding:6px;z-index:4}.hud-bottom{left:8px;right:8px;bottom:54px;padding:4px 8px;border-radius:10px}.hud-bottom-head{font-size:.7rem}.hud-profile-col canvas,.hud-minimap-col canvas{height:58px}.hud-minimap-col{flex-basis:96px;width:96px;padding-left:6px}.hud-bottom-body{gap:6px}.hud-bottom-actions{bottom:8px;gap:8px}.cam-controls{gap:4px;padding-right:4px}.cam-controls button{font-size:.78rem;padding:5px 7px}.cam-controls button.btn-icon{font-size:.9rem;padding:5px 7px;min-width:30px}.btn-action{font-size:.95rem;padding:6px 16px;border-radius:8px}table{font-size:.82rem}td,th{padding:.4rem .25rem}.stats{grid-template-columns:repeat(2,1fr);gap:.6rem}.stat{padding:.6rem}.stat .v{font-size:1.25rem}}@media(max-width:480px){.brand-text{display:none}.topbar{padding:.4rem .5rem;gap:.3rem}.topbar .btn-sm{padding:.35em .45em;font-size:.76rem}.topbar .connection-icon,.topbar .profile-icon,.topbar .login-top-btn{padding:0;font-size:1.3rem}.login-top-btn .login-text{display:none}.metric{min-width:0!important;flex:1 1 0!important;padding:11px 1px 2px!important}.metric .ico svg{width:9px;height:9px}.metric .v{font-size:.88rem!important}.metric .l{font-size:.42rem!important;letter-spacing:0}.metric .u{font-size:.48rem!important}.metric-pace .u{font-size:.44rem!important}.board{width:155px;font-size:.72rem}}.zone-editor{display:flex;flex-direction:column;gap:6px;padding:4px 0 10px}.zone-row{display:flex;align-items:center;gap:8px}.zone-row input[type=number]{width:78px;margin:0}.zone-chip{min-width:30px;text-align:center;font-weight:800;font-size:.74rem;color:#08131f;border-radius:6px;padding:2px 6px}.zone-upper{width:78px;opacity:.75;font-variant-numeric:tabular-nums}.zone-dash{opacity:.6}.zone-unit{opacity:.6;font-size:.82rem}.zone-strip{display:none;position:absolute;left:0;right:0;bottom:3px;gap:2px;justify-content:center;margin:0}.metric.with-zones .zone-strip{display:flex}.zone-strip .zs{width:13px;height:8px;border-radius:2px;opacity:.28;border:1px solid rgba(0,0,0,.5);transition:opacity .12s ease,transform .12s ease}.zone-strip .zs.on{opacity:1;transform:scaleY(1.35);border-color:#fff;box-shadow:0 0 8px #ffffff8c,0 1px 3px #000c}.hud-top.no-panel .zone-strip .zs{opacity:.32;border-color:#000000b3}.hud-top.no-panel .zone-strip .zs.on{opacity:1;border-color:#fff}@media(max-width:760px){.zone-strip .zs{width:9px;height:6px}.zone-row input[type=number],.zone-upper{width:64px}}#build-badge{position:fixed;right:max(.5rem,env(safe-area-inset-right));bottom:max(.4rem,env(safe-area-inset-bottom));z-index:60;pointer-events:none;font-size:.68rem;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#ffffffd1;background:#0f1d2e6b;padding:.15rem .45rem;border-radius:999px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.segment-result{position:absolute;left:50%;top:22%;transform:translate(-50%);width:min(430px,92vw);background:#0c1624e0;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:14px;padding:16px;text-align:center;pointer-events:auto;z-index:15}.segment-result p{margin:8px 0}.segment-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;padding:12px;z-index:1000;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0}.segment-rankings{width:min(900px,100%);max-height:90dvh;overflow:auto}.segment-filters{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.segment-filters label{display:grid;gap:4px;flex:1 1 150px}.segment-filters select,.segment-rankings button{min-height:44px}.segment-table{overflow-x:auto}.segment-table table{width:100%;border-collapse:collapse}.segment-table th,.segment-table td{text-align:left;padding:8px;border-bottom:1px solid #8885}.online-entry{margin-top:1rem;min-height:48px;width:100%}.online-code{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin:1rem 0}.online-code label{flex:1;min-width:180px}.online-code input{width:100%;text-transform:uppercase}.online-dialog button{min-height:48px}.online-room{display:block;width:100%;margin:.5rem 0;text-align:left}.online-status{position:absolute;top:115px;left:50%;transform:translate(-50%);max-width:min(92vw,540px);padding:.6rem;border-radius:12px;color:#fff;background:#102132d9;pointer-events:auto;text-align:center}.online-status span{display:block}.online-status [role=alert],.online-dialog [role=alert]{color:#ed694f}.online-status button{min-height:48px;margin-top:.4rem}.board.online-board{top:180px;bottom:auto;width:340px;max-width:calc(100vw - 28px);max-height:min(45vh,420px);overflow-y:auto;pointer-events:auto}.board.online-board .row{grid-template-columns:22px minmax(0,1fr) auto auto}.online-rider-name{min-width:0}.online-rider-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-rider-name small{display:block;font-size:.65rem;opacity:.8}.online-wkg,.online-board .gap{white-space:nowrap;font-size:.72rem}@media(max-width:700px){.board.online-board{top:170px;width:220px;max-height:25vh}.board.online-board .row{grid-template-columns:16px minmax(0,1fr) auto auto;gap:4px}}
