.zui{--u:clamp(12px, 1vw + .5vh, 52px);--panel-bg:#090e16bd;--panel-border:#ffffff24;--text:#fff;--text-dim:#ffffffbd;--climb:#ffb054;--descent:#7fd4ff;--ok:#7be495;--warn:#ffd166;box-sizing:border-box;pointer-events:none;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--u);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;line-height:1.2;position:absolute;inset:0}.zui *,.zui :before,.zui :after{box-sizing:border-box}.zui[hidden],.zui [hidden]{display:none!important}.zui-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:calc(var(--u) * .6);box-shadow:0 calc(var(--u) * .15) calc(var(--u) * .9) #00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.zui-hud{align-content:start;align-items:start;gap:calc(var(--u) * .8);padding:calc(var(--u) * .9);grid-template-columns:1fr auto 1fr;display:grid}.zui-hud-group{align-items:flex-end;gap:calc(var(--u) * 1.4);padding:calc(var(--u) * .55) calc(var(--u) * 1.1) calc(var(--u) * .6);display:flex}.zui-hud-left{justify-self:start}.zui-hud-centre{justify-self:center}.zui-hud-right{justify-self:end}.zui-stat{flex-direction:column;align-items:center;display:flex}.zui-stat-label{font-size:calc(var(--u) * .72);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;font-weight:600}.zui-stat-row{align-items:baseline;gap:calc(var(--u) * .3);white-space:nowrap;display:flex}.zui-stat-value{font-size:calc(var(--u) * 2.5);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;text-align:right;text-shadow:0 1px 2px #00000080;font-weight:700;line-height:1.05}.zui-stat-unit{font-size:calc(var(--u) * .9);color:var(--text-dim);font-weight:600}.zui-stat-power .zui-stat-value{font-size:calc(var(--u) * 5);min-width:3ch;line-height:.95}.zui-stat-power .zui-stat-unit{font-size:calc(var(--u) * 1.5)}.zui-stat-speed .zui-stat-value{min-width:4ch}.zui-stat-hr .zui-stat-value{min-width:3ch}.zui-stat-grade .zui-stat-value{min-width:5ch}.zui-stat-distance .zui-stat-value,.zui-stat-time .zui-stat-value{min-width:4ch}.zui-grade-arrow{width:1.1em;font-size:calc(var(--u) * 1.5);text-align:center;color:var(--text-dim);font-weight:700;display:inline-block}.zui-stat-grade[data-slope=climb] .zui-grade-arrow,.zui-stat-grade[data-slope=climb] .zui-stat-value{color:var(--climb)}.zui-stat-grade[data-slope=descent] .zui-grade-arrow,.zui-stat-grade[data-slope=descent] .zui-stat-value{color:var(--descent)}@media (aspect-ratio<=1),(width<=760px){.zui-hud{grid-template-columns:1fr 1fr}.zui-hud-centre{grid-area:1/1/auto/-1}}.zui-connect{padding:calc(var(--u) * .9);justify-content:center;align-items:center;display:flex}.zui-connect[data-collapsed=true]{justify-content:flex-start;align-items:flex-end}.zui-connect-card{pointer-events:auto;gap:calc(var(--u) * .6);width:min(100%, calc(var(--u) * 26));max-height:100%;padding:calc(var(--u) * 1.2);background:#090e16db;flex-direction:column;display:flex;overflow:auto}.zui-connect-head{justify-content:space-between;align-items:center;gap:var(--u);display:flex}.zui-connect-title{font-size:calc(var(--u) * 1.3);margin:0;font-weight:700}.zui-btn{pointer-events:auto;appearance:none;font:inherit;color:inherit;cursor:pointer;border-radius:calc(var(--u) * .45);background:#ffffff14;border:1px solid #ffffff47;margin:0;transition:background-color .12s,border-color .12s}.zui-btn:hover{background:#ffffff2b;border-color:#ffffff80}.zui-btn:active{background:#ffffff3d}.zui-btn:focus-visible{outline:calc(var(--u) * .15) solid #fff;outline-offset:calc(var(--u) * .12)}.zui-device-btn{justify-content:space-between;align-items:center;gap:var(--u);width:100%;min-height:calc(var(--u) * 3.2);padding:calc(var(--u) * .7) calc(var(--u) * 1);text-align:left;display:flex}.zui-device-btn[data-status=connected]{border-color:var(--ok)}.zui-device-name{font-size:calc(var(--u) * 1.15);font-weight:600}.zui-device-status{align-items:center;gap:calc(var(--u) * .4);font-size:calc(var(--u) * .85);color:var(--text-dim);white-space:nowrap;display:flex}.zui-close-btn{padding:calc(var(--u) * .3) calc(var(--u) * .8);font-size:calc(var(--u) * .85)}.zui-mark{border:.14em solid var(--text-dim);border-radius:50%;flex:none;width:1.1em;height:1.1em;display:inline-block;position:relative}.zui-mark[data-status=connecting]{border-style:dashed;border-color:var(--warn);animation:1.6s linear infinite zui-spin}.zui-mark[data-status=connected]{border-color:var(--ok);background:var(--ok)}.zui-mark[data-status=connected]:after{content:"";border:.15em solid #0b1a10;border-width:0 .15em .15em 0;width:.28em;height:.52em;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}@keyframes zui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.zui-mark[data-status=connecting]{animation:none}.zui-btn{transition:none}}.zui-message{padding:calc(var(--u) * .5) calc(var(--u) * .7);font-size:calc(var(--u) * .9);border-left:calc(var(--u) * .2) solid var(--warn);border-radius:calc(var(--u) * .2);-webkit-user-select:text;user-select:text;background:#ffd1661f;margin:0;line-height:1.35}.zui-hint{font-size:calc(var(--u) * .85);color:var(--text-dim);margin:0}.zui-connect-strip{align-items:flex-start;gap:calc(var(--u) * .35);max-width:min(100%, calc(var(--u) * 24));flex-direction:column;display:flex}.zui-strip-btn{align-items:center;gap:calc(var(--u) * .8);padding:calc(var(--u) * .4) calc(var(--u) * .75);font-size:calc(var(--u) * .75);background:var(--panel-bg);border-color:var(--panel-border);display:flex}.zui-strip-btn:hover{background:#090e16e6}.zui-strip-item{align-items:center;gap:calc(var(--u) * .3);white-space:nowrap;display:flex}.zui-strip-open{color:var(--text-dim);font-weight:600}.zui-connect-strip .zui-message,.zui-connect-strip .zui-hint{padding:calc(var(--u) * .3) calc(var(--u) * .6);font-size:calc(var(--u) * .75);background:var(--panel-bg);border-radius:calc(var(--u) * .3)}.zui-connect-strip .zui-hint{color:var(--text)}.zui-map-slot{position:relative}.zui-minimap{width:calc(var(--u) * 17);height:calc(var(--u) * 12.5);position:relative;overflow:hidden}.zui-minimap canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.zui-map-grade{top:calc(var(--u) * .45);right:calc(var(--u) * .45);z-index:1;text-shadow:0 0 calc(var(--u) * .25) #000000d9, 0 1px 2px #000000e6;align-items:flex-end;position:absolute}.zui-map-grade .zui-stat-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.zui-map-grade .zui-stat-value{min-width:0;font-size:calc(var(--u) * 1.3)}.zui-map-grade .zui-grade-arrow{font-size:calc(var(--u) * .7)}@media (width<=760px){.zui-minimap{width:calc(var(--u) * 13);height:calc(var(--u) * 10)}}.zui.zui-loading{font-size:calc(var(--u) * 1.4);letter-spacing:.02em;text-shadow:0 1px 3px #000c;justify-content:center;align-items:center;font-weight:600;display:flex}.zui.zui-notice{inset:auto;top:calc(var(--u) * 6.5);max-width:min(90vw, calc(var(--u) * 40));padding:calc(var(--u) * .6) calc(var(--u) * 1);font-size:calc(var(--u) * .8);color:var(--warn);text-align:center;transition:opacity 1s;left:50%;transform:translate(-50%)}.zui.zui-notice-hidden{opacity:0}.zui-attribution{color:#ffffffb8;text-align:right;text-shadow:0 1px 2px #000000bf;opacity:.8;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:60vw;font:10.5px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:absolute;bottom:4px;right:6px}.zui-stats{color:#fff;pointer-events:none;background:#0000008c;border-radius:3px;padding:2px 6px;font:11px/1.3 ui-monospace,Menlo,monospace;position:absolute;bottom:4px;left:6px}.zui{--danger:#ff6b5a;--power:#ffd166;--hr:#ff6b5a;--strava:#fc5200;--attribution-room:26px}.zui-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:where(.zui-ride,.zui-profile,.zui-summary) :where(.zui-btn){min-height:calc(var(--u) * 2.4);padding:calc(var(--u) * .45) calc(var(--u) * 1);font-weight:600}:where(.zui-ride,.zui-profile,.zui-summary) .zui-btn:disabled{cursor:default;opacity:.55}:where(.zui-ride,.zui-profile,.zui-summary) .zui-btn:disabled:hover{background:#ffffff14;border-color:#ffffff47}.zui-btn-primary{color:#0b1a10;background:var(--ok);border-color:var(--ok)}.zui-btn-primary:hover{background:#9af0ae;border-color:#9af0ae}.zui-btn-primary:disabled:hover{background:var(--ok);border-color:var(--ok)}.zui-btn-big{min-height:calc(var(--u) * 2.9);padding-inline:calc(var(--u) * 1.6);font-size:calc(var(--u) * 1.1)}.zui-btn-danger[data-armed=true],.zui-ride-end[data-armed=true],.zui-ride-delete[data-armed=true]{color:#fff;background:var(--danger);border-color:var(--danger)}.zui-row-buttons{gap:calc(var(--u) * .5);flex-wrap:wrap;display:flex}.zui-section-title{font-size:calc(var(--u) * .78);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0;font-weight:700}.zui-kbd{font:inherit;opacity:.7;border:1px solid;border-radius:.3em;padding:.05em .45em;font-size:.7em;font-weight:600;line-height:1.3;display:inline-block}.zui-spinner{vertical-align:-.15em;border:.15em solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;margin-right:.5em;animation:.9s linear infinite zui-spin;display:inline-block}.zui-ride{padding:calc(var(--u) * .9);padding-bottom:calc(var(--u) * .9 + var(--attribution-room));justify-content:center;align-items:flex-end;display:flex}.zui-ride-panel{pointer-events:auto;max-width:min(100%, calc(var(--u) * 30));padding:calc(var(--u) * .6)}.zui-ride-view{align-items:stretch;gap:calc(var(--u) * .5);flex-direction:column;display:flex}.zui-ride-route{padding:0 calc(var(--u) * .3);font-size:calc(var(--u) * .85);color:var(--text-dim);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.zui-ride-btn{justify-content:center;align-items:center;gap:calc(var(--u) * .6);min-height:calc(var(--u) * 2.8);padding-inline:calc(var(--u) * 1.3);font-size:calc(var(--u) * 1.1);white-space:nowrap;display:inline-flex}.zui-ride-start{min-height:calc(var(--u) * 3.4);font-size:calc(var(--u) * 1.5);color:#0b1a10;background:var(--ok);border-color:var(--ok);font-weight:700}.zui-ride-start:hover{background:#9af0ae;border-color:#9af0ae}.zui-ride-resume{color:#0b1a10;background:var(--ok);border-color:var(--ok)}.zui-ride-resume:hover{background:#9af0ae}.zui-ride-status{justify-content:center;align-items:center;gap:calc(var(--u) * .5);font-size:calc(var(--u) * .85);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:flex}.zui-ride-dot{background:var(--danger);border-radius:50%;width:.75em;height:.75em;animation:1.6s ease-in-out infinite zui-pulse}.zui-ride-elapsed{font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--text-dim)}.zui-ride-buttons{gap:calc(var(--u) * .5);display:flex}.zui-ride-buttons>.zui-btn{flex:1 1 0}.zui-ride-panel[data-state=paused]{border-color:var(--warn)}.zui-ride-panel[data-state=paused] .zui-ride-status{font-size:calc(var(--u) * 1.4);color:var(--warn)}.zui-ride-panel[data-state=paused] .zui-ride-dot{border-inline:.2em solid var(--warn);background:0 0;border-radius:0;width:.6em;height:.75em;animation:none}@keyframes zui-pulse{50%{opacity:.35}}@media (width<=760px){.zui-ride{justify-content:flex-end}.zui-ride-panel{max-width:min(100%, calc(100vw - var(--u) * 26));min-width:calc(var(--u) * 16)}.zui-ride-btn{padding-inline:calc(var(--u) * .7)}.zui-ride-buttons{flex-direction:column}}.zui-profile{--profile-top:calc(var(--u) * 6.4)}.zui-profile-chip{top:var(--profile-top);left:calc(var(--u) * .9);align-items:center;gap:calc(var(--u) * .5);min-height:calc(var(--u) * 2.2);max-width:calc(100% - var(--u) * 1.8);padding:calc(var(--u) * .25) calc(var(--u) * .8) calc(var(--u) * .25) calc(var(--u) * .3);font-size:calc(var(--u) * .85);background:var(--panel-bg);border-color:var(--panel-border);border-radius:999px;display:flex;position:absolute}.zui-profile-chip:hover{background:#090e16e6}.zui-profile-chip[aria-expanded=true]{border-color:#fff9}.zui-profile-chip-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.zui-profile-avatar{width:calc(var(--u) * 1.6);height:calc(var(--u) * 1.6);color:#0b1a10;background:var(--descent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.zui-profile-panel{pointer-events:auto;top:calc(var(--profile-top) + var(--u) * 2.8);left:calc(var(--u) * .9);gap:calc(var(--u) * 1);width:min(calc(100% - var(--u) * 1.8), calc(var(--u) * 28));max-height:calc(100% - var(--profile-top) - var(--u) * 3.7);padding:calc(var(--u) * 1);-webkit-user-select:text;user-select:text;background:#090e16eb;flex-direction:column;display:flex;position:absolute;overflow:auto}.zui-profile-head{justify-content:space-between;align-items:center;display:flex}.zui-profile-form{gap:calc(var(--u) * .7);flex-direction:column;display:flex}.zui-field{gap:calc(var(--u) * .25);flex-direction:column;display:flex}.zui-field-label{font-size:calc(var(--u) * .8);font-weight:600}.zui-input{min-height:calc(var(--u) * 2.3);padding:calc(var(--u) * .35) calc(var(--u) * .6);font:inherit;font-size:calc(var(--u) * 1);color:var(--text);border-radius:calc(var(--u) * .35);background:#ffffff0f;border:1px solid #ffffff4d}.zui-input:focus-visible{outline:calc(var(--u) * .15) solid #fff;outline-offset:1px}.zui-input[aria-invalid=true]{border-color:var(--danger)}.zui-field-hint,.zui-field-error{font-size:calc(var(--u) * .72);color:var(--text-dim);margin:0}.zui-field-hint:empty{display:none}.zui-field-error{color:#ff9d90;font-weight:600}.zui-rides{gap:calc(var(--u) * .5);padding-top:calc(var(--u) * .8);border-top:1px solid var(--panel-border);flex-direction:column;display:flex}.zui-rides-list{gap:calc(var(--u) * .4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.zui-ride-item{align-items:stretch;gap:calc(var(--u) * .35);display:flex}.zui-ride-open{align-items:stretch;gap:calc(var(--u) * .2);min-width:0;padding:calc(var(--u) * .45) calc(var(--u) * .7);text-align:left;flex-direction:column;flex:auto;display:flex}.zui-ride-item-top{justify-content:space-between;gap:calc(var(--u) * .6);font-size:calc(var(--u) * .85);display:flex}.zui-ride-item-route{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.zui-ride-item-date{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-weight:500}.zui-ride-item-stats{gap:0 calc(var(--u) * .8);font-size:calc(var(--u) * .75);color:var(--text-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-weight:500;display:flex}.zui-ride-delete{min-width:calc(var(--u) * 5.2);padding-inline:calc(var(--u) * .6);font-size:calc(var(--u) * .75);flex:none}@media (aspect-ratio<=1),(width<=760px){.zui-profile{--profile-top:calc(var(--u) * 13.8)}}.zui.zui-summary{pointer-events:auto;z-index:10;padding:calc(var(--u) * 1.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-user-select:text;user-select:text;background:#04070ccc;justify-content:center;align-items:flex-start;display:flex;overflow:auto}.zui-summary-card{gap:calc(var(--u) * 1.2);width:min(100%, calc(var(--u) * 62));padding:calc(var(--u) * 1.4) calc(var(--u) * 1.6);background:#090e16f0;flex-direction:column;margin:auto 0;display:flex}.zui-summary-card:focus{outline:none}.zui-summary-eyebrow{font-size:calc(var(--u) * .8);letter-spacing:.1em;text-transform:uppercase;color:var(--ok);font-weight:700}.zui-summary-title{margin:calc(var(--u) * .15) 0 calc(var(--u) * .3);font-size:calc(var(--u) * 2);font-weight:800;line-height:1.1}.zui-summary-sub{gap:0 calc(var(--u) * .5);font-size:calc(var(--u) * .9);color:var(--text-dim);flex-wrap:wrap;display:flex}.zui-summary-sub>span+span:before{content:"·";margin-right:calc(var(--u) * .5)}.zui-summary-stats{grid-template-columns:repeat(auto-fill, minmax(calc(var(--u) * 9.5), 1fr));gap:calc(var(--u) * .5);margin:0;display:grid}.zui-tile{padding:calc(var(--u) * .55) calc(var(--u) * .75);border-radius:calc(var(--u) * .45);background:#ffffff0d;border:1px solid #ffffff14}.zui-tile[data-accent=power]{border-left:calc(var(--u) * .2) solid var(--power)}.zui-tile[data-accent=climb]{border-left:calc(var(--u) * .2) solid var(--climb)}.zui-tile[data-accent=hr]{border-left:calc(var(--u) * .2) solid var(--hr)}.zui-tile-body{margin:calc(var(--u) * .15) 0 0}.zui-tile-row{align-items:baseline;gap:calc(var(--u) * .3);white-space:nowrap;display:flex}.zui-tile-value{font-size:calc(var(--u) * 2);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.05}.zui-tile-sub{margin-top:calc(var(--u) * .15);font-size:calc(var(--u) * .78);color:var(--text-dim);font-variant-numeric:tabular-nums}.zui-summary-best{gap:calc(var(--u) * .45);flex-direction:column;display:flex}.zui-best-list{grid-template-columns:repeat(auto-fill, minmax(calc(var(--u) * 8), 1fr));gap:calc(var(--u) * .5);margin:0;padding:0;list-style:none;display:grid}.zui-best{padding:calc(var(--u) * .45) calc(var(--u) * .7);border-radius:calc(var(--u) * .45);background:#ffd16614;border:1px solid #ffd1664d;flex-direction:column;display:flex}.zui-best-window{font-size:calc(var(--u) * .75);color:var(--power);text-transform:uppercase;font-weight:700}.zui-best-value{font-size:calc(var(--u) * 1.5);font-variant-numeric:tabular-nums;font-weight:700}.zui-best-wkg{font-size:calc(var(--u) * .75);color:var(--text-dim)}.zui-summary-charts{gap:calc(var(--u) * .8);flex-direction:column;display:flex}.zui-chart{margin:0}.zui-chart-title{align-items:center;gap:calc(var(--u) * .8);margin-bottom:calc(var(--u) * .25);font-size:calc(var(--u) * .78);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-weight:700;display:flex}.zui-chart-key{letter-spacing:0;text-transform:none;font-weight:600}.zui-chart-key-smooth:before{content:"";vertical-align:middle;background:var(--power);width:1.4em;height:.18em;margin-right:.4em;display:inline-block}.zui-chart-canvas{width:100%;height:calc(var(--u) * 8);font-size:calc(var(--u) * .7);border-radius:calc(var(--u) * .35);background:#ffffff08;display:block}.zui-chart[data-kind=elevation] .zui-chart-canvas{height:calc(var(--u) * 6.5)}.zui-summary-export{gap:calc(var(--u) * .5);padding-top:calc(var(--u) * .9);border-top:1px solid var(--panel-border);flex-direction:column;display:flex}.zui-link-btn{align-items:center;text-decoration:none;display:inline-flex}.zui-btn-strava{border-color:var(--strava)}.zui-btn-strava:hover{border-color:var(--strava);background:#fc520033}.zui-export-status{font-size:calc(var(--u) * .85);color:var(--ok);margin:0}.zui-export-status[data-kind=error]{color:#ff9d90}.zui-summary-footer{align-items:center;gap:calc(var(--u) * .6);padding-top:calc(var(--u) * .9);border-top:1px solid var(--panel-border);flex-wrap:wrap;display:flex}.zui-summary-footer>:first-child{margin-right:auto}@media (width<=760px){.zui.zui-summary{padding:calc(var(--u) * .5)}.zui-summary-card{padding:calc(var(--u) * 1)}.zui-summary-stats{grid-template-columns:repeat(2,1fr)}.zui-summary-footer>.zui-btn{flex:auto}.zui-summary-footer>:first-child{flex-basis:100%;margin-right:0}}@media (prefers-reduced-motion:reduce){.zui-ride-dot,.zui-spinner{animation:none}}.zapp-world,.zapp-ride-layer,.zapp-screens,.zapp-overlay,.zapp-layer,.zapp-ride-ui,.zapp-canvas,.zapp-preview{position:absolute;inset:0}.zapp-world canvas{width:100%;height:100%;display:block}.zapp-ride-layer,.zapp-ride-ui,.zapp-screens,.zapp-overlay,.zapp-layer,.zapp-preview{pointer-events:none}.zapp-screens[data-screen=riding]{display:none}.zapp-overlay{z-index:5}.zui.zapp-screen{pointer-events:auto;overscroll-behavior:contain;-webkit-user-select:text;user-select:text;background-color:#0000;background-image:radial-gradient(70% 38% at 18% 104%,#13261f 0 60%,#0000 61%),radial-gradient(80% 42% at 82% 108%,#183126 0 60%,#0000 61%),radial-gradient(120% 40% at 50% 118%,#0f1f19 0 70%,#0000 71%),radial-gradient(60% 30% at 70% 78%,#ffb0542e,#0000 70%),linear-gradient(#0a1322 0%,#16294a 45%,#3a4466 72%,#8a6a68 100%);background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;overflow:auto}.zapp-screen :where(.zui-btn){min-height:calc(var(--u) * 2.4);padding:calc(var(--u) * .45) calc(var(--u) * 1);font-weight:600}.zapp-screen .zui-btn:disabled,.zapp-dialog .zui-btn:disabled{cursor:default;opacity:.55}.zapp-dialog :where(.zui-btn){min-height:calc(var(--u) * 2.4);padding:calc(var(--u) * .45) calc(var(--u) * 1);font-weight:600}.zapp-screen .zui-btn:focus-visible,.zapp-dialog .zui-btn:focus-visible,.zapp-route-input:focus-visible+.zapp-route-text{outline:calc(var(--u) * .15) solid #fff;outline-offset:2px}.zapp-card{gap:calc(var(--u) * .8);padding:calc(var(--u) * 1.2);flex-direction:column;display:flex}.zapp-form{gap:calc(var(--u) * .8)}.zapp-form>.zui-btn-big{align-self:stretch}.zapp-subtitle{font-size:calc(var(--u) * 1.15);margin:0;font-weight:700}.zapp-small{font-size:calc(var(--u) * .75)}.zapp-link{color:var(--descent);text-underline-offset:.2em;align-self:flex-start;text-decoration:underline;min-height:0!important;padding:calc(var(--u) * .1) 0!important;background:0 0!important;border:none!important;font-weight:500!important}.zapp-link:hover{color:#fff}.zapp-message{padding:calc(var(--u) * .5) calc(var(--u) * .7);font-size:calc(var(--u) * .85);border-left:calc(var(--u) * .2) solid var(--warn);border-radius:calc(var(--u) * .2);background:#ffd1661f;margin:0;line-height:1.35}.zapp-message[data-kind=error]{border-left-color:var(--danger);background:#ff6b5a24}.zapp-message[data-kind=ok]{border-left-color:var(--ok);background:#7be4951f}.zapp-danger,.zui-btn.zapp-danger{color:#fff;background:var(--danger);border-color:var(--danger)}.zapp-danger-text{color:#ff9d90}.zapp-list{gap:calc(var(--u) * .35);flex-direction:column;margin:0;padding-left:1.2em;line-height:1.4;display:flex}.zapp-landing-main{box-sizing:border-box;justify-content:center;align-items:center;gap:calc(var(--u) * 1.6);min-height:100%;padding:calc(var(--u) * 2) 16px;flex-direction:column;display:flex}.zapp-hero{text-align:center;max-width:calc(var(--u) * 34)}.zapp-brand{font-size:calc(var(--u) * 3.6);letter-spacing:-.02em;text-shadow:0 2px 12px #00000073;margin:0;font-weight:800;line-height:1}.zapp-brand-small{font-size:calc(var(--u) * 1.4);letter-spacing:0}.zapp-pitch{margin:calc(var(--u) * .8) 0 0;font-size:calc(var(--u) * 1.15);color:var(--text-dim);line-height:1.35}.zapp-auth{width:min(100%, calc(var(--u) * 24))}.zapp-tabs{gap:calc(var(--u) * .3);padding:calc(var(--u) * .25);border-radius:calc(var(--u) * .5);background:#ffffff0f;grid-template-columns:1fr 1fr;display:grid}.zapp-tab{background:0 0!important;border-color:#0000!important}.zapp-tab[aria-selected=true]{background:#ffffff29!important;border-color:#ffffff47!important}.zapp-sent{gap:calc(var(--u) * .7);flex-direction:column;line-height:1.4;display:flex}.zapp-sent p{margin:0}.zapp-landing-footer{align-items:center;gap:calc(var(--u) * .4);max-width:calc(var(--u) * 40);text-align:center;flex-direction:column;display:flex}.zapp-landing-footer .zapp-link{align-self:center}.zapp-credits{font-size:calc(var(--u) * .68);color:var(--text-dim);line-height:1.4}.zapp-credits p{margin:0}.zapp-home-page{box-sizing:border-box;width:min(100%, calc(var(--u) * 64));padding:calc(var(--u) * 1) 16px calc(var(--u) * 2);gap:calc(var(--u) * 1);flex-direction:column;margin:0 auto;display:flex}.zapp-topbar{justify-content:space-between;align-items:center;gap:calc(var(--u) * 1);display:flex}.zapp-account{min-width:0;position:relative}.zapp-account-btn{max-width:min(60vw, calc(var(--u) * 20));white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:var(--panel-bg)!important;border-radius:999px!important}.zapp-menu{right:0;top:calc(100% + var(--u) * .3);z-index:2;min-width:calc(var(--u) * 13);padding:calc(var(--u) * .4);background:#090e16f2;flex-direction:column;display:flex;position:absolute}.zapp-menu-item{text-align:left;background:0 0!important;border-color:#0000!important}.zapp-menu-item:hover{background:#ffffff1a!important}.zapp-menu-note{max-width:calc(var(--u) * 14);padding:calc(var(--u) * .4);font-size:calc(var(--u) * .75)}.zapp-greeting{margin:calc(var(--u) * .6) 0 0;font-size:calc(var(--u) * 2.2);letter-spacing:-.01em;text-shadow:0 2px 10px #0006;font-weight:800}.zapp-banners{gap:calc(var(--u) * .6);flex-direction:column;display:flex}.zapp-banners:empty{display:none}.zapp-import{gap:calc(var(--u) * .6);padding:calc(var(--u) * .9) calc(var(--u) * 1.1);border-left:calc(var(--u) * .25) solid var(--descent);flex-direction:column;display:flex}.zapp-import p{margin:0}.zapp-home-grid{gap:calc(var(--u) * 1);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;display:grid}.zapp-col{gap:calc(var(--u) * 1);flex-direction:column;min-width:0;display:flex}.zapp-routes{gap:calc(var(--u) * .45);flex-direction:column;display:flex}.zapp-route{cursor:pointer;display:block;position:relative}.zapp-route-input{opacity:0;pointer-events:none;position:absolute}.zapp-route-text{gap:calc(var(--u) * .15);padding:calc(var(--u) * .6) calc(var(--u) * .9);border-radius:calc(var(--u) * .45);background:#ffffff0d;border:1px solid #fff3;transition:background-color .12s,border-color .12s;display:grid}.zapp-route:hover .zapp-route-text{background:#ffffff1a}.zapp-route-input:checked+.zapp-route-text{border-color:var(--ok);box-shadow:inset calc(var(--u) * .25) 0 0 var(--ok);background:#7be4951f}.zapp-route-head{justify-content:space-between;align-items:baseline;gap:calc(var(--u) * .2) calc(var(--u) * .6);flex-wrap:wrap;display:flex}.zapp-route-name{font-weight:700}.zapp-route-live{align-items:center;gap:calc(var(--u) * .35);font-size:calc(var(--u) * .75);color:var(--ok);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;display:inline-flex}.zapp-route-live[hidden]{display:none}.zapp-route-live:before{content:"";width:calc(var(--u) * .45);height:calc(var(--u) * .45);background:var(--ok);box-shadow:0 0 calc(var(--u) * .35) var(--ok);border-radius:50%}.zapp-route-facts{font-size:calc(var(--u) * .8);color:var(--climb);font-variant-numeric:tabular-nums;font-weight:600}.zapp-route-blurb{font-size:calc(var(--u) * .78);color:var(--text-dim)}.zapp-ride-btn{letter-spacing:.04em;min-height:calc(var(--u) * 3.4)!important;font-size:calc(var(--u) * 1.5)!important;font-weight:800!important}.zapp-ride-hint,.zapp-mp-note{font-size:calc(var(--u) * .8)}.zapp-device-list{gap:calc(var(--u) * .5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.zapp-device{align-items:center;gap:calc(var(--u) * .6);display:flex}.zapp-device-text{flex-direction:column;flex:auto;min-width:0;display:flex}.zapp-device-name{font-weight:700}.zapp-device-status{font-size:calc(var(--u) * .78);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zapp-device-error{font-size:calc(var(--u) * .75);color:#ff9d90}.zapp-device-action{min-width:calc(var(--u) * 7);font-size:calc(var(--u) * .8);flex:none}.zapp-first-hint{padding:calc(var(--u) * .4) calc(var(--u) * .6);border-radius:calc(var(--u) * .3);color:var(--text);font-size:calc(var(--u) * .8);background:#7fd4ff1f}.zapp-rides .zui-rides-list{max-height:calc(var(--u) * 24);overflow:auto}@media (width<=760px),(aspect-ratio<=1){.zapp-home-grid{grid-template-columns:minmax(0,1fr)}.zui.zapp-screen{--u:clamp(14px, 2.4vw + .6vh, 22px)}.zapp-brand{font-size:calc(var(--u) * 2.6)}}.zapp-loading{place-items:center;display:grid}.zapp-loading-box{padding:calc(var(--u) * .8) calc(var(--u) * 1.4);font-size:calc(var(--u) * 1.2);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:calc(var(--u) * .6);font-weight:600}.zui.zapp-dialog-backdrop{pointer-events:auto;-webkit-user-select:text;user-select:text;background:#03060c99;place-items:center;padding:16px;display:grid;overflow:auto}.zapp-dialog{width:min(100%, calc(var(--u) * 34));gap:calc(var(--u) * .8);max-height:calc(100% - 8px);padding:calc(var(--u) * 1.2);background:#090e16f0;flex-direction:column;display:flex;overflow:auto}.zapp-dialog:focus{outline:none}.zapp-dialog-head{justify-content:space-between;align-items:center;gap:calc(var(--u) * 1);display:flex}.zapp-dialog-title{font-size:calc(var(--u) * 1.3);margin:0}.zapp-dialog-body{gap:calc(var(--u) * 1);flex-direction:column;line-height:1.4;display:flex}.zapp-dialog-body p{margin:0}.zapp-privacy-section{gap:calc(var(--u) * .4);flex-direction:column;display:flex}.zui.zui-leave{--leave-top:calc(var(--u) * 6.4)}.zui-leave-btn{top:var(--leave-top);left:calc(var(--u) * .9);min-height:calc(var(--u) * 2.2);padding:calc(var(--u) * .25) calc(var(--u) * .9);font-size:calc(var(--u) * .85);background:var(--panel-bg);border-color:var(--panel-border);border-radius:999px;font-weight:600;position:absolute}.zui-leave-btn:hover{background:#090e16e6}.zui-leave-btn:focus-visible{outline:calc(var(--u) * .15) solid #fff;outline-offset:2px}@media (aspect-ratio<=1),(width<=760px){.zui.zui-leave{--leave-top:calc(var(--u) * 13.8)}}@media (prefers-reduced-motion:reduce){.zapp-route-text{transition:none}}.zui.zmp-tags{overflow:hidden}.zmp-tag{align-items:center;gap:calc(var(--u) * .3);padding:calc(var(--u) * .12) calc(var(--u) * .45);border-radius:calc(var(--u) * .4);font-size:calc(var(--u) * .72);white-space:nowrap;will-change:transform, opacity;background:#090e16a8;font-weight:600;display:flex;position:absolute;top:0;left:0}.zmp-dot{width:calc(var(--u) * .5);height:calc(var(--u) * .5);border-radius:50%;flex:none}.zmp-list{top:calc(var(--u) * 14.1);right:calc(var(--u) * .9);width:calc(var(--u) * 17);padding:calc(var(--u) * .35) calc(var(--u) * .5);font-size:calc(var(--u) * .72);position:absolute}.zmp-header{align-items:center;gap:calc(var(--u) * .35);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:flex;overflow:hidden}.zmp-status-dot{width:calc(var(--u) * .5);height:calc(var(--u) * .5);background:#fff6;border-radius:50%;flex:none}.zmp-header[data-status=online] .zmp-status-dot{background:var(--ok)}.zmp-header[data-status=connecting] .zmp-status-dot{background:var(--warn)}.zmp-header[data-status=error] .zmp-status-dot{background:#ff6b5a}.zmp-rows:not(:empty){margin-top:calc(var(--u) * .3)}.zmp-row{grid-template-columns:calc(var(--u) * .25) 1fr auto calc(var(--u) * 3.6);align-items:center;gap:calc(var(--u) * .4);padding:calc(var(--u) * .14) 0;display:grid}.zmp-bar{border-radius:calc(var(--u) * .1);align-self:stretch}.zmp-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zmp-gap,.zmp-wkg{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.zmp-wkg{color:var(--text-dim)}.zmp-row[data-kind=self]{border-radius:calc(var(--u) * .25);background:#ffffff1a;font-weight:700}.zmp-row[data-kind=other-route]{color:var(--text-dim)}.zmp-row[data-kind=nearby]+.zmp-row[data-kind=other-route],.zmp-row[data-kind=self]+.zmp-row[data-kind=other-route]{border-top:1px solid var(--panel-border);margin-top:calc(var(--u) * .15)}.zmp-row[data-kind=other-route] .zmp-gap{max-width:calc(var(--u) * 6);text-overflow:ellipsis;overflow:hidden}@media (width<=760px){.zmp-list{top:calc(var(--u) * 11.6);width:calc(var(--u) * 13)}}
