:root{--moat:#0f2b2e;--teal:#2f9f98;--gold:#f2c14e;--light:#fff6d8;--glass:#0f2b2eb8;--mm:"Padauk", "Noto Sans Myanmar", "Myanmar Text", sans-serif;--ui:system-ui, -apple-system, "Segoe UI", Roboto, var(--mm), sans-serif}*{box-sizing:border-box}html,body{background:var(--moat);height:100%;color:var(--light);font-family:var(--ui);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;margin:0;overflow:hidden}#app,#app canvas{display:block;position:fixed;inset:0}#ui{pointer-events:none;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));position:fixed;inset:0}[hidden]{display:none!important}.brand{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));text-shadow:0 1px 6px #00000073;align-items:baseline;gap:8px;display:flex;position:absolute}.brand-mm{font-family:var(--mm);color:var(--gold);font-size:1.3rem;font-weight:700}.brand-en{letter-spacing:.14em;text-transform:uppercase;opacity:.85;font-size:.8rem}.lap{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-variant-numeric:tabular-nums;border-radius:12px;width:196px;padding:10px 12px;position:absolute}.lap-label,.lap-best{font-family:var(--mm);opacity:.8;font-size:.8rem}.lap-time{font-size:1.6rem;font-weight:700;line-height:1.2}.lap-bar{background:#fff6d833;border-radius:999px;height:4px;margin:6px 0;overflow:hidden}.lap-fill{background:var(--gold);width:0;height:100%}.speedo{left:50%;bottom:max(18px, env(safe-area-inset-bottom));font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #00000080;align-items:baseline;gap:6px;display:flex;position:absolute;transform:translate(-50%)}.speed-value{font-size:3rem;font-weight:700;line-height:1}.speed-unit{opacity:.8;font-size:.85rem}.minimap{pointer-events:auto;cursor:zoom-in;left:max(14px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));border-radius:12px;position:absolute}.toast{background:var(--glass);max-width:min(90vw,460px);font-family:var(--mm);text-align:center;opacity:0;border-radius:999px;padding:10px 18px;font-size:1.05rem;transition:opacity .25s,transform .25s;position:absolute;top:22%;left:50%;transform:translate(-50%,-8px)}.toast.show{opacity:1;transform:translate(-50%)}.place-card{top:calc(max(14px, env(safe-area-inset-top)) + 52px);width:min(88vw,400px);max-height:46vh;font-family:var(--mm);opacity:0;pointer-events:none;background:#0f2b2edb;border:1px solid #f2c14e73;border-radius:16px;padding:14px 18px 16px;line-height:1.75;transition:opacity .3s,transform .3s;position:absolute;left:50%;overflow-y:auto;transform:translate(-50%,-12px);box-shadow:0 8px 28px #00000059}.place-card.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.place-card h2{color:var(--gold);margin:0 28px 0 0;font-size:1.3rem;font-weight:700;line-height:1.6}.place-en{font-family:var(--ui);opacity:.7;font-size:.8rem}.place-tag{color:#9fd8d2;margin-top:4px;font-size:.85rem}.place-card p{margin:8px 0 0;font-size:.95rem}.place-close{width:32px;height:32px;color:var(--light);cursor:pointer;background:#fff6d81f;border:0;border-radius:50%;font-size:.95rem;position:absolute;top:8px;right:8px}@media (pointer:coarse){.place-card{top:calc(max(14px, env(safe-area-inset-top)) + 144px);max-height:34vh}.place-card p{font-size:.9rem}}.pad{display:none}@media (pointer:coarse){body.riding .pad{display:flex}.minimap{bottom:auto;top:calc(max(14px, env(safe-area-inset-top)) + 40px);width:96px!important;height:96px!important}.speedo{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 90px)}}.pad{left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;position:absolute}.pad-group{gap:12px;display:flex}.pad-btn{pointer-events:auto;background:var(--glass);width:76px;height:76px;color:var(--light);font-family:var(--mm);touch-action:none;border:2px solid #fff6d859;border-radius:50%;font-size:1.2rem}.pad-gas{width:92px;height:92px;color:var(--gold);font-weight:700}.intro{pointer-events:auto;background:radial-gradient(#0f2b2e8c,#0f2b2ed9);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}.intro-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;min-width:0;max-width:440px;display:flex}.intro-title{font-family:var(--mm);color:var(--gold);margin:0;font-size:clamp(2.6rem,10vw,3.6rem);line-height:1.5}.intro-sub{font-family:var(--mm);margin:0;font-size:1.05rem;line-height:1.8}.start{background:var(--gold);min-width:180px;color:var(--moat);font-family:var(--mm);cursor:pointer;border:0;border-radius:999px;padding:12px 28px;font-size:1.3rem;font-weight:700}.start:focus-visible{outline:3px solid var(--light);outline-offset:3px}.intro-keys{font-family:var(--mm);opacity:.85;margin:0;font-size:.9rem;line-height:2.1}.intro-touch{font-family:var(--mm);opacity:.85;margin:0;font-size:.9rem;display:none}@media (pointer:coarse){.intro-keys{display:none}.intro-touch{display:block}}kbd{min-width:1.6em;font-family:var(--ui);border:1px solid #fff6d866;border-radius:4px;margin:0 1px;padding:0 5px;font-size:.8rem;line-height:1.6;display:inline-block}.start:disabled{cursor:progress;opacity:.7;font-size:1.05rem}.credit,.intro-credit{color:var(--light);opacity:.7;font-size:10px;text-decoration:none}.credit{left:50%;bottom:max(4px, env(safe-area-inset-bottom));white-space:nowrap;pointer-events:auto;text-shadow:0 1px 2px #0009;position:absolute;transform:translate(-50%)}.intro-credit{margin-top:4px;font-size:11px;display:block}.lap-head{justify-content:space-between;align-items:center;display:flex}.board-btn{pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;margin:-6px -6px -6px 0;font-size:1.05rem}.board-btn:focus-visible,.board-close:focus-visible,.intro-board:focus-visible{outline:3px solid var(--light);outline-offset:2px}.lap-gap{min-height:1.1em;color:var(--glass-negative);font-size:.85rem;font-weight:700}.lap-gap.ahead{color:var(--glass-positive)}.intro-board{color:var(--light);font-family:var(--mm);cursor:pointer;background:0 0;border:1px solid #fff6d866;border-radius:999px;padding:8px 18px;font-size:1rem}.board{pointer-events:auto;z-index:5;background:#0f2b2e99;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.board-card{background:#0f2b2ef0;border-radius:16px;width:min(100%,380px);max-height:90%;padding:18px 18px 12px;position:relative;overflow-y:auto}.board-close{width:40px;height:40px;color:var(--light);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.1rem;position:absolute;top:8px;right:8px}.board-title{font-family:var(--mm);color:var(--gold);margin:0 0 4px;font-size:1.3rem;line-height:1.7}.board-note{font-family:var(--mm);opacity:.75;margin:0 0 10px;font-size:.8rem;line-height:1.8}.board-list{font-variant-numeric:tabular-nums;margin:0;padding:0;list-style:none}.board-row{border-top:1px solid #fff6d81f;grid-template-columns:2em 1fr 1.6em auto;align-items:center;gap:8px;padding:7px 4px;display:grid}.board-row.new{color:var(--gold);font-weight:700}.board-place{opacity:.7}.board-time{font-size:1.1rem;font-weight:700}.board-date{opacity:.7;font-size:.8rem}.board-empty{font-family:var(--mm);opacity:.8;padding:10px 0}.lap-tools{gap:4px;display:flex}.time-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.time-chip{min-height:40px;color:var(--light);font-family:var(--mm);cursor:pointer;background:0 0;border:1px solid #fff6d866;border-radius:999px;padding:6px 14px;font-size:.95rem}.time-chip[aria-pressed=true]{border-color:var(--gold);background:var(--gold);color:var(--moat);font-weight:700}.time-chip:focus-visible{outline:3px solid var(--light);outline-offset:2px}.bigmap{z-index:6;pointer-events:auto;background:#16353a;position:absolute;inset:0}.bigmap-canvas{touch-action:none;cursor:grab;width:100%;height:100%;position:absolute;inset:0}.bigmap-title{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));background:var(--glass);font-family:var(--mm);color:var(--gold);border-radius:999px;padding:6px 14px;font-weight:700;position:absolute}.bigmap-btn{background:var(--glass);width:48px;height:48px;color:var(--light);cursor:pointer;border:1px solid #fff6d866;border-radius:50%;font-size:1.2rem;position:absolute}.bigmap-btn:focus-visible,.board-btn[aria-pressed=true]{outline:2px solid var(--gold);outline-offset:2px}.bigmap-close{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right))}.bigmap-centre{right:max(14px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom))}.shot-btn,.album-btn{right:max(14px, env(safe-area-inset-right));pointer-events:auto;background:var(--glass);cursor:pointer;border:2px solid #fff6d859;border-radius:50%;display:none;position:absolute}body.riding .shot-btn,body.riding .album-btn{display:block}.shot-btn{width:56px;height:56px;font-size:1.5rem;top:44%}.album-btn{width:44px;height:44px;top:calc(44% + 66px);right:calc(max(14px, env(safe-area-inset-right)) + 6px);font-size:1.1rem}.shot-btn:focus-visible,.album-btn:focus-visible,.photo-btn:focus-visible,.photo-thumb:focus-visible{outline:3px solid var(--light);outline-offset:2px}.flash{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.flash.go{animation:.45s ease-out flash}@keyframes flash{0%{opacity:.85}to{opacity:0}}@media (prefers-reduced-motion:reduce){.flash.go{animation:none}}.photos{z-index:7;pointer-events:auto;background:#0f2b2eb3;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.photos-card{background:#0f2b2ef5;border-radius:16px;width:min(100%,640px);max-height:92%;padding:18px;position:relative;overflow-y:auto}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.photo-thumb{aspect-ratio:16/10;cursor:pointer;background:#0b1f22;border:0;border-radius:8px;padding:0;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-viewer{background:#081416f5;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.photo-view{border-radius:6px;max-width:100%;max-height:calc(100% - 80px);box-shadow:0 8px 30px #00000080}.photo-bar{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.photo-btn{min-height:44px;color:var(--light);font-family:var(--mm);cursor:pointer;background:0 0;border:1px solid #fff6d866;border-radius:999px;padding:8px 16px;font-size:.95rem}.photo-btn[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--moat);font-weight:700}@media (pointer:coarse){.shot-btn{top:34%}.album-btn{top:calc(34% + 66px)}}.rider-btn{max-width:100%;min-height:44px;color:var(--light);font-family:var(--mm);text-align:left;cursor:pointer;background:#0f2b2e8c;border:1px solid #fff6d859;border-radius:12px;align-items:center;gap:10px;padding:5px 14px 5px 5px;display:flex}.rider-btn:focus-visible,.wardrobe-chip:focus-visible,.wardrobe-swatch:focus-visible{outline:3px solid var(--light);outline-offset:2px}.rider-thumb{aspect-ratio:4/3;object-fit:cover;background:#fff6d814;border-radius:8px;flex:none;width:60px}.rider-text{flex-direction:column;min-width:0;display:flex}.rider-title{color:var(--gold);font-size:.9rem;font-weight:700;line-height:1.7}.rider-summary{opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.6;overflow:hidden}.wardrobe{z-index:6}.wardrobe-card{width:min(100%,460px);font-family:var(--mm);color:var(--light);flex-direction:column;align-items:center;gap:10px;display:flex}.wardrobe-preview{aspect-ratio:300/220;object-fit:cover;background:#fff6d814;border-radius:12px;width:min(100%,300px)}.wardrobe-rows{flex-direction:column;gap:6px;width:100%;display:flex}.wardrobe-row{grid-template-columns:5.6em 1fr;align-items:center;gap:8px;display:grid}.wardrobe-label{opacity:.85;font-size:.8rem;line-height:1.6}.wardrobe-list{flex-wrap:wrap;gap:5px;display:flex}.wardrobe-chip{min-height:34px;color:var(--light);font-family:var(--mm);cursor:pointer;background:0 0;border:1px solid #fff6d859;border-radius:999px;padding:3px 11px;font-size:.82rem;line-height:1.6}.wardrobe-chip[aria-checked=true]{background:var(--gold);border-color:var(--gold);color:var(--moat);font-weight:700}.wardrobe-swatch{cursor:pointer;border:2px solid #fff6d84d;border-radius:50%;width:28px;height:28px;padding:0}.wardrobe-swatch[aria-checked=true]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.wardrobe-hint{opacity:.75;margin:-2px 0 4px;font-size:.75rem;line-height:1.7}.wardrobe-done{min-width:140px;padding:8px 24px;font-size:1.05rem}@media (max-width:420px){.wardrobe-row{grid-template-columns:1fr;gap:3px}.wardrobe-label:empty{display:none}}.bike-note{font-family:var(--mm);opacity:.85;margin:0;font-size:.85rem;line-height:1.7}.board-bike{font-family:var(--mm);opacity:.7;font-size:.75rem}.bikes{flex-direction:column;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.bikes-title{font-family:var(--mm);opacity:.9;margin:0;font-size:.95rem}.bike-row{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:8px;max-width:100%;padding:4px 2px 6px;display:flex;overflow-x:auto}.bike-card{width:80px;color:var(--light);font-family:var(--mm);cursor:pointer;scroll-snap-align:center;background:#0f2b2e8c;border:1px solid #fff6d84d;border-radius:12px;flex-direction:column;flex:none;align-items:stretch;gap:3px;padding:6px;display:flex}.bike-card[aria-checked=true]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset;background:#f2c14e2e}.bike-card:focus-visible{outline:3px solid var(--light);outline-offset:2px}.bike-thumb{aspect-ratio:3/2;object-fit:cover;background:#fff6d814;border-radius:8px;width:100%}.bike-name{white-space:nowrap;font-size:.85rem;font-weight:700;line-height:1.6}.bike-bars{flex-direction:column;gap:2px;display:flex}.bike-bar{text-align:left;opacity:.9;grid-template-columns:3.4em 1fr;align-items:center;gap:4px;font-size:.62rem;line-height:1.5;display:grid}.bike-bar b{background:#fff6d82e;border-radius:999px;height:4px;overflow:hidden}.bike-bar i{background:var(--gold);height:100%;display:block}.board-row:has(.board-bike){grid-template-columns:2em 1fr 1.6em auto auto}.tour-btn{top:calc(44% + 122px);right:calc(max(14px, env(safe-area-inset-right)) + 3px);background:var(--glass);pointer-events:auto;cursor:pointer;border:2px solid #f2c14eb3;border-radius:50%;width:50px;height:50px;font-size:1.35rem;display:none;position:absolute}body.riding .tour-btn{display:block}body.touring .tour-btn{border-color:var(--gold);background:#f2c14e59}.tour{pointer-events:auto;z-index:6;background:#0f2b2e99;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.tour[hidden]{display:none}.tour-card{background:#0f2b2ef2;border-radius:16px;width:min(100%,420px);max-height:90%;padding:18px 14px 12px;position:relative;overflow-y:auto}.tour-close{width:40px;height:40px;color:var(--light);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.1rem;position:absolute;top:8px;right:8px}.tour-title{font-family:var(--mm);color:var(--gold);margin:0 0 4px 4px;font-size:1.35rem;line-height:1.7}.tour-sub{font-family:var(--mm);opacity:.78;margin:0 4px 12px;font-size:.8rem;line-height:1.8}.tour-list{gap:6px;display:grid}.tour-item{width:100%;color:var(--light);text-align:left;cursor:pointer;background:#fff6d80d;border:1px solid #fff6d829;border-radius:12px;grid-template-columns:2.2em 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.tour-item:hover,.tour-item:focus-visible{border-color:var(--gold);background:#f2c14e24;outline:none}.tour-icon{text-align:center;font-size:1.5rem}.tour-text{min-width:0;display:grid}.tour-my{font-family:var(--mm);font-size:1.08rem;line-height:1.75}.tour-en{opacity:.6;font-size:.72rem}.tour-note{font-family:var(--mm);color:var(--gold);opacity:.9;font-size:.76rem;line-height:1.7}.tour-dist{font-family:var(--mm);white-space:nowrap;opacity:.8;font-size:.8rem}.tour-banner{top:calc(max(14px, env(safe-area-inset-top)) + 62px);background:var(--glass);pointer-events:auto;z-index:4;border:1px solid #f2c14e8c;border-radius:999px;align-items:center;gap:12px;max-width:min(92vw,520px);padding:6px 6px 6px 16px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.tour-banner[hidden]{display:none}.tour-banner-info{min-width:0;line-height:1.5;display:grid}.tour-banner-name{font-family:var(--mm);color:var(--gold);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.tour-banner-dist{font-family:var(--mm);opacity:.8;font-size:.75rem}.tour-banner-stop{background:var(--gold);color:var(--moat);font-family:var(--mm);cursor:pointer;border:0;border-radius:999px;flex:none;padding:8px 14px;font-size:.85rem}.tour-banner-pace{min-height:40px;color:var(--light);font-family:var(--mm);white-space:nowrap;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #f2c14e8c;border-radius:999px;flex:none;padding:8px 12px;font-size:.85rem}.tour-btn:focus-visible,.tour-close:focus-visible,.tour-banner-pace:focus-visible,.tour-banner-stop:focus-visible{outline:3px solid var(--light);outline-offset:2px}@media (max-width:600px){.tour-banner{left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));top:calc(max(14px, env(safe-area-inset-top)) + 146px);justify-content:space-between;max-width:none;transform:none}body.touring .toast{top:calc(max(14px, env(safe-area-inset-top)) + 210px)}}.nav-search{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--input);cursor:text;align-items:center;gap:8px;min-height:40px;margin:4px 0 10px;padding:0 12px;display:flex}.nav-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.nav-search-icon{font-size:var(--type-16);opacity:.7}.nav-search-input{min-width:0;min-height:40px;color:var(--text);font-family:var(--font,var(--mm));font-size:var(--type-16);background:0 0;border:0;outline:none;flex:1}.nav-search-input::placeholder{color:var(--text-4)}.nav-search-input::-webkit-search-cancel-button{filter:grayscale()}.nav-modes{width:100%;margin-bottom:2px}.nav-modes button{flex:1}.nav-results[hidden],.tour-list[hidden]{display:none}.nav-none{margin:8px 4px}.tour-banner{border-radius:var(--radius-md);align-items:stretch;gap:4px;padding:4px}.tour-banner [hidden]{display:none!important}.tour-banner-row{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.tour-banner-row .nav-turn{flex:1;min-width:0}.tour-banner-row :is(.tour-banner-pace,.nav-end){flex:none;min-height:36px;padding:4px 10px}.tour-banner-row .tour-banner-info{flex:1}.nav-turn{border-radius:var(--radius-md);color:var(--on-glass);background:#ffffff14;grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:8px 12px 8px 8px;transition:background-color .2s;display:grid}.nav-turn.soon{background:var(--accent);color:var(--btn-text)}.nav-turn-arrow{width:44px;height:44px;color:var(--accent);place-items:center;display:grid}.nav-turn.soon .nav-turn-arrow{color:var(--btn-text)}.nav-turn-arrow svg{width:40px;height:40px}.nav-turn-first{align-items:baseline;gap:10px;min-width:0;display:flex}.nav-turn-dist{font-family:var(--font,var(--mm));font-size:var(--type-20);white-space:nowrap;font-weight:700}.nav-turn-words{min-width:0;line-height:1.45;display:grid}.nav-turn-text{font-family:var(--font,var(--mm));font-size:var(--type-16);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.nav-turn-then{font-family:var(--font,var(--mm));font-size:var(--type-14);text-overflow:ellipsis;white-space:nowrap;opacity:.85;overflow:hidden}.nav-end{border:1px solid var(--glass-line);width:40px;height:40px;color:var(--on-glass);font-size:var(--type-16);cursor:pointer;background:0 0;border-radius:50%;flex:none}.nav-end:hover{background:var(--glass-hover)}.nav-end:focus-visible{outline:3px solid var(--on-glass);outline-offset:2px}@media (max-width:600px){.nav-turn-dist{font-size:var(--type-16)}.nav-wide{display:none}.tour-banner{gap:4px;padding:4px}.nav-turn{grid-template-columns:30px 1fr;gap:6px;padding:4px 8px 4px 4px}.nav-turn-arrow,.nav-turn-arrow svg{width:30px;height:30px}.tour-banner-row{gap:6px}.tour-banner-row .tour-banner-info{min-width:0}.tour-banner-row .tour-banner-name,.tour-banner-row .tour-banner-dist{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tour-banner-row :is(.tour-banner-pace,.tour-banner-stop){min-height:36px;padding:6px 10px}.nav-end{width:36px;height:36px}}@media (min-width:601px){body.touring .toast{top:calc(max(14px, env(safe-area-inset-top)) + 150px)}body.race-nav .tour-banner{top:calc(max(14px, env(safe-area-inset-top)) + 104px)}body.race-nav .toast{top:calc(max(14px, env(safe-area-inset-top)) + 186px)}}@media (max-width:600px){body.race-nav .race-hud{top:calc(max(14px, env(safe-area-inset-top)) + 216px)}}.street-chip{border-radius:var(--radius-full);background:var(--glass);color:var(--on-glass);font-family:var(--font,var(--mm));font-size:var(--type-13);white-space:nowrap;text-shadow:none;opacity:.6;pointer-events:none;padding:2px 10px;line-height:1.6;transition:opacity .8s,background-color .8s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.street-chip.fresh{opacity:1;background:var(--glass-strong)}.street-chip.gone{opacity:0;transition-duration:1.2s}.street-chip[hidden]{display:none}.photo-btn:disabled{opacity:.4;cursor:default}.font-sheet{max-height:80%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:#0f2b2efa;border-radius:16px 16px 0 0;position:absolute;inset:auto 0 0;overflow-y:auto;box-shadow:0 -8px 30px #00000080}.font-list{gap:8px;margin-bottom:12px;display:grid}.font-row{gap:8px;display:flex}.font-choice{min-height:56px;color:var(--light);text-align:left;cursor:pointer;background:0 0;border:1px solid #fff6d840;border-radius:12px;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.font-choice[aria-pressed=true]{border-color:var(--gold);background:#e0b04029}.font-sample{font-family:var(--mm);font-size:1.35rem;line-height:1.6}.font-name{font-family:var(--mm);opacity:.7;font-size:.8rem}.font-del{min-width:48px;color:var(--light);cursor:pointer;background:0 0;border:1px solid #fff6d840;border-radius:12px}.font-add{width:100%}.font-choice:focus-visible,.font-del:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.edit-field{gap:4px;margin-bottom:12px;display:grid}.edit-label{font-family:var(--mm);opacity:.8;font-size:.85rem}.edit-input{box-sizing:border-box;width:100%;color:var(--light);font-family:var(--mm);resize:vertical;background:#00000040;border:1px solid #fff6d84d;border-radius:8px;padding:10px 12px;font-size:1.05rem;line-height:1.7}.edit-input:focus{outline:2px solid var(--gold);outline-offset:1px}.edit-actions{justify-content:flex-end;gap:8px;display:flex}.edit-done{background:var(--gold);border-color:var(--gold);color:var(--moat);font-weight:700}.photo-viewer.editing{justify-content:flex-start}.photo-viewer.editing .photo-view{max-height:40%}.photo-viewer.editing .photo-bar{visibility:hidden}.edit-sheet{max-height:58%}.from-preview{color:var(--gold);opacity:1;font-size:1.05rem}.hold-save{z-index:5;padding:calc(56px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));background:#081416fa;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.hold-save-img{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;touch-action:auto;border-radius:6px;max-width:100%;max-height:calc(100% - 90px);box-shadow:0 8px 30px #00000080}.hold-save-hint,.hold-save-sub{font-family:var(--mm);text-align:center;margin:0}.hold-save-hint{font-size:1.05rem}.hold-save-sub{opacity:.7;font-size:.85rem}.hold-save .board-close{color:var(--light);top:calc(12px + env(safe-area-inset-top));position:absolute;right:12px}.passport-book{aspect-ratio:5/7;border-radius:var(--radius-md);width:min(100%,380px);max-height:92%;box-shadow:var(--menu-shadow);position:relative;overflow:hidden}.passport-close{z-index:2;color:var(--paper-text)}.passport-book:has(.passport-cover:not([hidden])) .passport-close{color:var(--cover-gold)}.passport-cover{background:radial-gradient(circle at 50% 38%, var(--cover) 0%, var(--cover-deep) 100%);width:100%;color:var(--cover-gold);font-family:var(--font);cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex;position:absolute;inset:0}.passport-cover:before{content:"";border:1.5px solid var(--cover-gold);border-radius:var(--radius-sm);opacity:.6;pointer-events:none;position:absolute;inset:12px}.cover-top{font-family:var(--font-ui);font-size:var(--type-12);letter-spacing:.12em;font-weight:600}.cover-emblem{width:92px;height:70px;margin:14px 0 6px}.cover-title{font-size:var(--type-32);font-weight:700;line-height:1.3}.cover-sub{font-size:var(--type-20);font-weight:600}.cover-en{font-family:var(--font-ui);font-size:var(--type-14);letter-spacing:.22em;margin-top:4px;font-weight:600}.cover-count{font-size:var(--type-16);margin-top:18px;font-weight:600}.cover-open{border:1px solid var(--cover-gold);border-radius:var(--radius-full);font-size:var(--type-14);margin-top:6px;padding:6px 16px}.passport-page{color:var(--paper-text);background:repeating-radial-gradient(circle at 50% 55%, transparent 0 9px, var(--paper-line) 9px 10px), var(--paper);touch-action:pan-y;flex-direction:column;padding:18px 16px 10px;display:flex;position:absolute;inset:0}.passport-page[hidden],.passport-cover[hidden]{display:none}.page-head{border-bottom:1px solid var(--paper-line);font-family:var(--font);font-size:var(--type-14);justify-content:space-between;align-items:baseline;padding:0 44px 8px 2px;font-weight:600;display:flex}.page-head span+span{font-family:var(--font-ui);font-size:var(--type-12);letter-spacing:.12em;color:var(--paper-text-2)}.page-slots{flex:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:10px;min-height:0;padding:10px 0;display:grid}.slot{border:1.5px dashed var(--paper-line);border-radius:var(--radius-sm);grid-template-rows:1fr auto;min-height:0;margin:0;padding:6px;display:grid;position:relative}.slot.got{border-style:solid}.slot .stamp-art{width:100%;max-width:118px;height:100%;min-height:0;max-height:118px;transform:rotate(var(--tilt,0deg));align-self:center;margin:0 auto}.slot figcaption{text-align:center;font-family:var(--font);font-size:var(--type-12);grid-row:2;line-height:1.35;display:grid}.slot:not(.got) figcaption{grid-row:1/3;align-self:center}.slot figcaption b{font-weight:600}.slot figcaption span{color:var(--paper-text-2)}.page-foot{font-family:var(--font);font-size:var(--type-13);justify-content:space-between;align-items:center;display:flex}.page-turn{width:var(--control-lg);height:var(--control-lg);border:1px solid var(--paper-line);color:var(--paper-text);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.page-turn:disabled{opacity:.35}.page-next .icon{transform:scaleX(-1)}.page-turn .icon{width:18px;height:18px}.stamp-svg{width:100%;height:100%;display:block}.ink-red{color:var(--ink-red)}.ink-purple{color:var(--ink-purple)}.ink-blue{color:var(--ink-blue)}.ink-green{color:var(--ink-green)}.ink-brown{color:var(--ink-brown)}.stamp-name{height:100%;font-family:var(--font);font-size:var(--type-14);text-align:center;color:currentColor;place-items:center;font-weight:700;line-height:1.2;display:grid}.stamp-name.small{font-size:var(--type-12)}.stamp-en,.stamp-date{font-family:var(--font-ui);letter-spacing:.06em;font-weight:600}.stamp-pop{pointer-events:none;opacity:0;width:150px;height:150px;filter:drop-shadow(var(--pop-halo)) drop-shadow(var(--pop-halo));z-index:4;background:0 0;border:0;border-radius:50%;margin-left:-75px;padding:0;position:absolute;top:30%;left:50%}.stamp-pop.show{pointer-events:auto;animation:stamp-thump 3.2s var(--spring) forwards}@keyframes stamp-thump{0%{opacity:0;transform:scale(1.8)rotate(0)}9%{opacity:1;transform:scale(.94) rotate(var(--tilt))}14%{transform:scale(1) rotate(var(--tilt))}85%{opacity:1;transform:scale(1) rotate(var(--tilt))}to{opacity:0;transform:scale(1) rotate(var(--tilt))}}@media (prefers-reduced-motion:reduce){.stamp-pop.show{animation-name:stamp-fade}@keyframes stamp-fade{0%,85%{opacity:1;transform:rotate(var(--tilt))}to{opacity:0}}}.intro-stamps .icon{margin-right:6px}.wet-screen{pointer-events:none;opacity:0;background:radial-gradient(circle at 18% 22%, var(--drop) 0 7px, transparent 8px), radial-gradient(circle at 72% 14%, var(--drop) 0 5px, transparent 6px), radial-gradient(circle at 40% 58%, var(--drop) 0 9px, transparent 10px), radial-gradient(circle at 85% 66%, var(--drop) 0 6px, transparent 7px), radial-gradient(circle at 12% 78%, var(--drop) 0 5px, transparent 6px), radial-gradient(circle at 58% 32%, var(--drop) 0 4px, transparent 5px), radial-gradient(circle at 30% 90%, var(--drop) 0 8px, transparent 9px), radial-gradient(circle at 92% 38%, var(--drop) 0 4px, transparent 5px), linear-gradient(180deg, var(--wet-wash), transparent 60%);z-index:3;background-size:260px 300px,260px 300px,260px 300px,260px 300px,260px 300px,260px 300px,260px 300px,260px 300px,100% 100%;transition:opacity .6s ease-out;position:absolute;inset:0}.wet-screen.show{opacity:1;transition-duration:.12s;animation:3s linear infinite drops-run}@keyframes drops-run{to{background-position:0 300px,0 300px,0 300px,0 300px,0 300px,0 300px,0 300px,0 300px,0 0}}@media (prefers-reduced-motion:reduce){.wet-screen.show{animation:none}}body.riding canvas.minimap{border-radius:50%}.map-tools{left:calc(max(14px, env(safe-area-inset-left)) + 132px + 10px);bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;gap:8px;display:none;position:absolute}body.riding .map-tools{display:flex}body.at-summit .map-tools{display:none}.map-tool{border:1px solid var(--glass-soft-line);background:var(--glass-soft);width:40px;height:40px;color:var(--on-glass);-webkit-backdrop-filter:var(--glass-soft-blur);backdrop-filter:var(--glass-soft-blur);box-shadow:var(--glass-soft-shadow,none);pointer-events:auto;cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;padding:0;display:grid}.map-tool:hover{background:var(--glass-strong)}.map-tool:active{transform:scale(.94)}.map-tool:focus-visible{outline:3px solid var(--light);outline-offset:2px}.map-tool .icon{width:20px;height:20px}.sound-btn.off{color:var(--accent-text)}@media (pointer:coarse){.map-tools{bottom:auto;top:calc(max(14px, env(safe-area-inset-top)) + 40px);left:calc(max(14px, env(safe-area-inset-left)) + 96px + 8px);gap:5px}.map-tool{width:36px;height:36px}}.help-card{text-align:left;width:min(100%,440px);padding-bottom:18px}.help-section{margin-top:14px}.help-head{font-family:var(--mm);font-size:var(--type-16);color:var(--accent-text);margin:0 0 4px}.help-text{font-family:var(--mm);font-size:var(--type-14);margin:0;line-height:1.9}.help-buttons{gap:6px;margin:0;padding:0;list-style:none;display:grid}.help-button{font-family:var(--mm);font-size:var(--type-14);align-items:center;gap:10px;line-height:1.6;display:flex}.help-badge{background:var(--accent-soft);width:32px;height:32px;font-size:var(--type-16);border-radius:50%;flex:none;place-items:center;display:grid}.help-badge .icon{width:18px;height:18px}.game-menu-card{text-align:left;width:min(100%,440px);padding-bottom:18px}.menu-tiles{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.menu-tile{border-radius:var(--radius-md);background:var(--accent-soft);color:inherit;font-family:var(--mm);font-size:var(--type-13);cursor:pointer;border:0;justify-items:center;gap:6px;padding:12px 4px 10px;line-height:1.5;display:grid}.menu-tile .icon{width:22px;height:22px}.menu-tile:active{transform:scale(.96)}.menu-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.menu-row:first-child{margin-top:14px}.menu-row-label{font-family:var(--mm);font-size:var(--type-14)}.menu-chips{flex-wrap:wrap;gap:6px;width:100%;display:flex}.menu-chip{border:1px solid var(--border);border-radius:var(--radius-pill);color:inherit;font-family:var(--mm);font-size:var(--type-13);cursor:pointer;background:0 0;padding:6px 12px}.menu-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--btn-text)}.race-hud{top:max(64px, calc(env(safe-area-inset-top) + 56px));color:#fff6d8;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:4;background:#0f2b2ed1;border:1px solid #fff6d84d;border-radius:999px;max-width:calc(100% - 32px);padding:6px 14px;font-family:Padauk,Noto Sans Myanmar,sans-serif;font-size:.95rem;line-height:1.7;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.race-hud.ahead{border-color:var(--glass-positive)}.race-hud.behind{border-color:var(--glass-negative)}.horn-btn{right:max(14px, env(safe-area-inset-right));cursor:pointer;pointer-events:auto;touch-action:manipulation;background:#0f2b2e9e;border:2px solid #fff6d859;border-radius:50%;width:48px;height:48px;padding:0;font-size:1.3rem;line-height:1;display:none;position:absolute;top:calc(44% - 62px)}body.riding .horn-btn{display:block}.horn-btn:active,.horn-btn.on{border-color:#f2c14e;transform:scale(.92)}.horn-btn:focus-visible{outline-offset:2px;outline:3px solid #fff6d8}.intro-friends{color:var(--gold);border-color:#f2c14eb3}.room-card{width:min(100%,400px);font-family:var(--mm)}.room-view{flex-direction:column;gap:10px;display:flex}.room-label{opacity:.85;flex-direction:column;gap:6px;margin:0;font-size:.85rem;display:flex}.room-input{box-sizing:border-box;width:100%;color:var(--light);font-family:var(--mm);background:#00000040;border:1px solid #fff6d859;border-radius:8px;padding:10px 12px;font-size:1.05rem}.room-input:focus{outline:2px solid var(--gold);outline-offset:1px}.room-code-input{letter-spacing:.25em;text-transform:uppercase;font-family:ui-monospace,Menlo,monospace;font-size:1.3rem}.room-or{opacity:.8;margin:6px 0 0;font-size:.85rem}.room-join-row,.room-share-row{gap:8px;display:flex}.room-join,.room-share,.room-copy,.room-go,.room-leave{color:var(--light);font-family:var(--mm);cursor:pointer;background:0 0;border:1px solid #fff6d866;border-radius:999px;flex:none;padding:8px 16px;font-size:.95rem}.room-join{background:var(--teal);border-color:var(--teal)}.room-share{background:var(--teal);border-color:var(--teal);flex:1}.room-leave{color:var(--glass-negative);border-color:#ff8a7a99;align-self:center}.room-error{min-height:1em;color:var(--glass-negative);margin:0;font-size:.85rem;line-height:1.7}.room-code{letter-spacing:.3em;color:var(--gold);text-align:center;-webkit-user-select:all;user-select:all;font-family:ui-monospace,Menlo,monospace;font-size:2.4rem;font-weight:700}.room-roster{margin:4px 0;padding:0;list-style:none}.room-rider{border-top:1px solid #fff6d81f;align-items:center;gap:8px;padding:7px 2px;display:flex}.room-dot{border-radius:50%;flex:none;width:12px;height:12px}.room-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.room-tag{opacity:.7;font-size:.75rem}.room-go{padding:4px 12px;font-size:.85rem}.room-busy{align-items:center;padding:18px 0}.room-spinner{border:3px solid #fff6d840;border-top-color:var(--gold);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite room-spin}@keyframes room-spin{to{transform:rotate(360deg)}}.room-chip{top:calc(10px + env(safe-area-inset-top));background:var(--glass);color:var(--light);font-family:var(--mm);white-space:nowrap;pointer-events:auto;cursor:pointer;z-index:4;border:0;border-radius:999px;padding:6px 14px;font-size:.9rem;position:absolute;left:50%;transform:translate(-50%)}.room-join:focus-visible,.room-share:focus-visible,.room-copy:focus-visible,.room-go:focus-visible,.room-leave:focus-visible,.room-chip:focus-visible{outline:3px solid var(--light);outline-offset:2px}.room-invite{flex-direction:column;align-items:center;gap:2px;display:flex}.room-other{color:var(--light);font-family:var(--mm);opacity:.75;cursor:pointer;background:0 0;border:0;align-self:center;padding:6px 10px;font-size:.85rem;text-decoration:underline}.room [hidden]{display:none!important}@media (pointer:coarse){.room-chip{top:calc(max(14px, env(safe-area-inset-top)) + 40px + 96px + 8px);left:max(14px, env(safe-area-inset-left));padding:5px 10px;font-size:.8rem;transform:none}}.unstick-btn{right:max(14px, env(safe-area-inset-right));cursor:pointer;pointer-events:auto;touch-action:manipulation;background:#0f2b2e9e;border:2px solid #fff6d859;border-radius:50%;width:52px;height:52px;padding:0;font-size:1.3rem;line-height:1;display:none;position:absolute;top:calc(40% + 186px)}body.riding .unstick-btn{display:block}body.at-summit .unstick-btn{display:none}.unstick-btn:active{border-color:#f2c14e;transform:scale(.92)}.unstick-btn:focus-visible{outline-offset:2px;outline:3px solid #fff6d8}@media (pointer:coarse){.unstick-btn{top:calc(32% + 186px)}}.follow-banner{left:50%;bottom:calc(max(14px, env(safe-area-inset-bottom)) + 96px);max-width:calc(100vw - 32px);color:var(--light);font-family:var(--mm);pointer-events:auto;z-index:4;background:#0f2b2edb;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 14px;font-size:.9rem;display:flex;position:absolute;transform:translate(-50%)}.follow-banner[hidden]{display:none}.follow-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.follow-yes,.follow-no{background:var(--gold);min-height:36px;color:var(--moat);font-family:var(--mm);cursor:pointer;border:0;border-radius:999px;flex:none;padding:4px 14px;font-size:.9rem;font-weight:700}.follow-no{color:var(--light);background:0 0;padding:4px 10px}@media (pointer:coarse){.follow-banner{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 180px)}}.summit-btn{left:50%;bottom:calc(max(18px, env(safe-area-inset-bottom)) + 120px);border:2px solid var(--gold);background:var(--glass);color:var(--light);font-family:var(--mm);pointer-events:auto;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:1.05rem;animation:1.6s ease-in-out infinite summit-pulse;display:none;position:absolute;transform:translate(-50%)}.summit-btn.show{display:flex}@keyframes summit-pulse{50%{box-shadow:0 0 0 6px #f6d26440}}.summit-panel{pointer-events:none;display:none;position:absolute;inset:0}.summit-panel.show{display:block}.summit-title{top:max(18px, env(safe-area-inset-top));background:var(--glass);font-family:var(--mm);text-align:center;white-space:nowrap;border-radius:16px;flex-direction:column;align-items:center;padding:8px 20px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.summit-title b{color:var(--gold);font-size:1.25rem}.summit-title span{opacity:.85;font-size:.85rem}.summit-back{left:50%;bottom:max(18px, env(safe-area-inset-bottom));background:var(--glass);color:var(--light);font-family:var(--mm);pointer-events:auto;cursor:pointer;white-space:nowrap;border:2px solid #fff6d859;border-radius:999px;padding:12px 20px;font-size:1rem;position:absolute;transform:translate(-50%)}.summit-hint{left:50%;bottom:calc(max(18px, env(safe-area-inset-bottom)) + 62px);font-family:var(--mm);opacity:.7;text-shadow:0 1px 3px #0009;font-size:.85rem;position:absolute;transform:translate(-50%)}.summit-labels{pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}.summit-labels.show{display:block}.summit-label{width:120px;font-family:var(--mm);color:#fff8e4;text-shadow:0 1px 3px #000000bf;text-align:center;flex-direction:column;align-items:center;margin-top:-46px;margin-left:-60px;display:flex;position:absolute;top:0;left:0}.summit-label:after{content:"";background:#fff8e4bf;width:1px;height:14px;margin-top:2px}.summit-name{white-space:nowrap;font-size:.9rem}.summit-km{opacity:.8;font-size:.7rem}body.at-summit .pad,body.at-summit .speedo,body.at-summit .minimap,body.at-summit .summit-btn,body.at-summit .lap-time,body.at-summit .lap-best,body.at-summit .lap-bar,body.at-summit .lap-gap{display:none!important}.couple-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.couple-row{align-items:stretch;gap:6px;display:flex}.couple-spot{min-width:0;min-height:var(--control-lg);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-raised);color:inherit;font-family:var(--mm);text-align:left;cursor:pointer;flex:1;align-items:center;gap:10px;padding:6px 12px;display:flex}.couple-spot:disabled{opacity:.55;cursor:default}.couple-spot:not(:disabled):hover{background:var(--accent-soft)}.couple-spot-icon{text-align:center;width:1.6em;font-size:var(--type-20);flex:none}.couple-spot-text{flex-direction:column;min-width:0;display:flex}.couple-spot-my{font-size:var(--type-16);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.couple-spot-sub{font-size:var(--type-12);color:var(--text-3);opacity:.85}.couple-set{border:1px solid var(--border-soft);border-radius:var(--radius-md);color:inherit;font-family:var(--mm);font-size:var(--type-12);cursor:pointer;background:0 0;flex:none;padding:4px 10px}.couple-banner .couple-alt{color:var(--light);background:0 0;box-shadow:inset 0 0 0 1px}.couple-banner button[hidden],body.riding.couple-passenger .onfoot-btn,body.riding.couple-passenger .unstick-btn{display:none}.onfoot-btn{left:max(14px, env(safe-area-inset-left));border:1px solid var(--glass-line);background:var(--glass);height:52px;color:var(--on-glass);font-family:var(--font);font-size:var(--type-16);white-space:nowrap;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:26px;padding:0 18px;font-weight:600;line-height:1;display:none;position:absolute;top:calc(40% - 62px)}body.riding .onfoot-btn{display:block}body.at-summit .onfoot-btn{display:none}.onfoot-btn:active{transform:scale(.95)}.onfoot-btn.near{border-color:var(--glass-warning);box-shadow:0 0 0 2px #f5b54459}.onfoot-btn:focus-visible{outline-offset:2px;outline:3px solid #fff6d8}@media (pointer:coarse){.onfoot-btn{height:46px;top:calc(32% - 36px)}}body.riding.on-foot .horn-btn,body.riding.on-foot .unstick-btn,body.riding.on-foot .speedo{display:none}body:not(.riding) .brand,body:not(.riding) .lap,body:not(.riding) .speedo,body:not(.riding) .minimap,body:not(.riding) .credit{visibility:hidden}.intro{background:radial-gradient(#0f2b2eb8,#0a1e20f0)}.intro .start{z-index:2;position:sticky;bottom:12px;box-shadow:0 6px 24px #00000073}.time-chips{flex-wrap:nowrap;gap:6px}.time-chip{white-space:nowrap;padding:6px 12px}@media (max-width:360px){.time-chips{flex-wrap:wrap}}.bike-kind{font-family:var(--ui);opacity:.6;font-size:.72rem;line-height:1.6;display:block}.wardrobe-card{max-height:calc(100dvh - 32px);padding-bottom:0;overflow-y:auto}.wardrobe-preview{z-index:1;width:min(100%,240px);position:sticky;top:-18px;box-shadow:0 6px 18px #0006}.wardrobe-done{z-index:1;border-radius:0 0 16px 16px;width:calc(100% + 36px);margin:4px -18px 0;padding:12px;position:sticky;bottom:0;box-shadow:0 -8px 18px #0a1e20e6}@media (pointer:coarse){.wardrobe-preview{width:min(70%,220px)}}.pad-steer svg{width:30px;height:30px;margin:auto;display:block}body.riding .shot-btn,body.riding .album-btn,body.riding .tour-btn{right:max(14px, env(safe-area-inset-right));border-width:2px;width:52px;height:52px;font-size:1.35rem}body.riding .shot-btn{top:40%}body.riding .album-btn{top:calc(40% + 62px)}body.riding .tour-btn{top:calc(40% + 124px)}@media (pointer:coarse){body.riding .shot-btn{top:32%}body.riding .album-btn{top:calc(32% + 62px)}body.riding .tour-btn{top:calc(32% + 124px)}}.lap-label{white-space:nowrap}@media (pointer:coarse){.lap{width:200px;padding:6px 10px 8px}.lap-time{font-size:1.35rem}.lap-bar{margin:4px 0}.lap-tools{gap:0}.board-btn{width:38px;height:38px;margin:-6px -6px -6px 0;font-size:1.1rem}}.bigmap-btn svg{width:22px;height:22px;margin:auto;display:block}.tour-icon svg{width:30px;height:30px;margin:auto;display:block}.tour-banner-name .tour-icon{vertical-align:-4px;margin-right:6px;display:inline-block}.tour-banner-name .tour-icon svg{width:20px;height:20px}@media (pointer:coarse){.place-card{top:calc(max(14px, env(safe-area-inset-top)) + 146px);left:max(14px, env(safe-area-inset-left));width:calc(100% - 96px);transform:translateY(-12px)}.place-card.show{transform:translate(0)}}body.at-summit .brand,body.at-summit .lap,body.at-summit .tour-btn,body.at-summit .album-btn,body.at-summit .tour-banner{display:none!important}.summit-btn{white-space:nowrap}@media (pointer:coarse){.summit-btn{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 168px)}}.summit-name{font-size:.95rem;font-weight:600}.summit-label{text-shadow:0 1px 3px #000000e6,0 0 8px #0009}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0d2628;--surface:#12302f;--surface-raised:#1a3c3c;--surface-muted:#fff6d80f;--track:#081a1b;--input:#fff6d80f;--text:#fff6d8;--text-2:#fff6d8d6;--text-3:#fff6d8b3;--text-4:#fff6d894;--border:#fff6d81f;--border-soft:#fff6d812;--accent:#f2c14e;--accent-hover:#f6cf6e;--accent-deep:#d9a632;--accent-soft:#f2c14e29;--accent-text:#f2c14e;--btn-text:#0f2b2e;--positive:#6fd49a;--warning:#f5b544;--negative:#f2877a;--press-shadow:#0000008c;--card-shadow:0 1px 2px #00000052, 0 6px 16px -10px #0009;--menu-shadow:0 12px 32px -8px #000000b3, 0 2px 6px #00000080;--backdrop:#0614169e;--glass:#04121499;--glass-strong:#041214b3;--glass-hover:#ffffff29;--glass-line:#ffffff24;--on-glass:#fff;--on-glass-2:#fffc;--glass-blur:blur(6px);--glass-positive:#8fe3b0;--glass-warning:#ffcf7a;--glass-negative:#ffaa9c;--glass-soft:linear-gradient(180deg, #222e2c75, #081414a3);--glass-soft-blur:blur(16px) saturate(1.4);--glass-soft-line:#fff6d824;--glass-soft-shadow:inset 0 1px 0 #ffffff38, 0 10px 28px #00000047;--gold-fill:linear-gradient(180deg, #f7d36d, #d99a1f);--gold-fill-line:#fff0beb3;--gold-fill-shadow:inset 0 2px 0 #ffffff8c, inset 0 -3px 6px #783c0059, 0 10px 26px #a0640059;--on-gold:#3b2400;--glass-soft-ring:0 0 0 1px #fff6d82e, 0 10px 28px #0000004d;--glass-soft-track:#fff6d824;--glass-gold-edge:#f2c14e8c;--glass-gold-wash:#f2c14e52;--glass-pressed:#ffffff4d;--gold-pressed:inset 0 3px 8px #783c0073;--on-glass-brake:#ffd7cf;--hud-text-shadow:0 2px 12px #00000073;--paper:#f7efdc;--paper-line:#7a4a1e29;--paper-text:#3b2d1a;--paper-text-2:#3b2d1a9e;--cover:#6e1a17;--cover-deep:#4d100e;--cover-gold:#e5b94e;--ink-red:#b3261e;--ink-purple:#5b3a8c;--ink-blue:#1f4f8f;--ink-green:#2e6b3a;--ink-brown:#7a4a1e;--pop-halo:0 0 2px #fff6d8f2;--drop:#dcf0ff61;--wet-wash:#c8e6ff29;--radius-xs:4px;--radius-sm:8px;--radius-seg:9px;--radius-thumb:6px;--radius-md:12px;--radius-lg:16px;--radius-pill:26px;--radius-full:999px;--control-sm:30px;--control-md:36px;--control-lg:40px;--type-12:12px;--type-13:13px;--type-14:14px;--type-16:16px;--type-20:20px;--type-24:24px;--type-32:32px;--spring:cubic-bezier(.2, .9, .2, 1);--fast:.16s cubic-bezier(.2, 0, 0, 1);--font:"Padauk", "Pyidaungsu", "Noto Sans Myanmar", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", "Myanmar Text", system-ui, sans-serif;--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", "Padauk", "Pyidaungsu", "Noto Sans Myanmar", "Myanmar Text", system-ui, sans-serif;--mm:var(--font);--ui:var(--font-ui)}:is([lang=my],[lang=th]){--type-12:13px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f6efdf;--surface:#fffaf0;--surface-raised:#fff;--surface-muted:#f3ead6;--track:#ebe1ca;--input:#fff;--text:#2b2112;--text-2:#2b2112d1;--text-3:#2b2112b3;--text-4:#2b2112a8;--border:#2b21121f;--border-soft:#2b211214;--accent:#f0b93f;--accent-hover:#f5c85f;--accent-deep:#d9a02a;--accent-soft:#c48c1624;--accent-text:#8a5a00;--btn-text:#2b2112;--positive:#1b7046;--warning:#965400;--negative:#b8352a;--press-shadow:#2b211224;--card-shadow:0 1px 2px #2b21120a, 0 6px 16px -10px #2b21122e;--menu-shadow:0 12px 32px -8px #2b211238, 0 2px 6px #2b211224;--backdrop:#0614167a}.bike-note{font-size:var(--type-13)}.board-bike{font-size:var(--type-12)}.bikes-title{font-size:var(--type-16)}.bike-name{font-size:var(--type-13)}.bike-bar,.bike-kind{font-size:var(--type-12)}body.riding .shot-btn,body.riding .album-btn,body.riding .tour-btn{font-size:var(--type-20)}@media (pointer:coarse){.lap-time{font-size:var(--type-20)}.board-btn{font-size:var(--type-16)}}.font-sample{font-size:var(--type-20)}.font-name{font-size:var(--type-12)}.edit-label{font-size:var(--type-13)}.edit-input,.from-preview,.hold-save-hint{font-size:var(--type-16)}.hold-save-sub{font-size:var(--type-13)}.race-hud{font-size:var(--type-16)}.horn-btn{font-size:var(--type-20)}.rider-title{font-size:var(--type-14)}.rider-summary,.wardrobe-label,.wardrobe-chip,.wardrobe-hint{font-size:var(--type-12)}.wardrobe-done{font-size:var(--type-16)}.room-label{font-size:var(--type-13)}.room-input{font-size:var(--type-16)}.room-code-input{font-size:var(--type-20)}.room-or{font-size:var(--type-13)}.room-join,.room-share,.room-copy,.room-go,.room-leave{font-size:var(--type-16)}.room-error{font-size:var(--type-13)}.room-code{font-size:var(--type-32)}.room-tag{font-size:var(--type-12)}.room-go{font-size:var(--type-13)}.room-chip{font-size:var(--type-14)}.room-other{font-size:var(--type-13)}@media (pointer:coarse){.room-chip{font-size:var(--type-12)}}.unstick-btn{font-size:var(--type-20)}.follow-banner,.follow-yes,.follow-no{font-size:var(--type-14)}.brand-mm{font-size:var(--type-20)}.brand-en,.lap-label,.lap-best{font-size:var(--type-12)}.lap-time{font-size:var(--type-24)}.speed-unit{font-size:var(--type-13)}.toast{font-size:var(--type-16)}.place-card h2{font-size:var(--type-20)}.place-en{font-size:var(--type-12)}.place-tag{font-size:var(--type-13)}.place-card p,.place-close{font-size:var(--type-16)}@media (pointer:coarse){.place-card p{font-size:var(--type-14)}}.pad-btn{font-size:var(--type-20)}.intro-sub{font-size:var(--type-16)}.start{font-size:var(--type-20)}.intro-keys,.intro-touch{font-size:var(--type-14)}kbd{font-size:var(--type-12)}.start:disabled{font-size:var(--type-16)}.credit,.intro-credit,.intro-credit{font-size:var(--type-12)}.board-btn{font-size:var(--type-16)}.lap-gap{font-size:var(--type-13)}.intro-board,.board-close{font-size:var(--type-16)}.board-title{font-size:var(--type-20)}.board-note{font-size:var(--type-12)}.board-time{font-size:var(--type-16)}.board-date{font-size:var(--type-12)}.time-chip{font-size:var(--type-16)}.bigmap-btn{font-size:var(--type-20)}.shot-btn{font-size:var(--type-24)}.album-btn,.photo-btn,.summit-btn{font-size:var(--type-16)}.summit-icon{font-size:var(--type-24)}.summit-title b{font-size:var(--type-20)}.summit-title span{font-size:var(--type-13)}.summit-back{font-size:var(--type-16)}.summit-hint{font-size:var(--type-13)}.summit-name{font-size:var(--type-14)}.summit-km{font-size:var(--type-12)}.tour-btn{font-size:var(--type-20)}.tour-close{font-size:var(--type-16)}.tour-title{font-size:var(--type-20)}.tour-sub{font-size:var(--type-12)}.tour-icon{font-size:var(--type-24)}.tour-my{font-size:var(--type-16)}.tour-en,.tour-note,.tour-dist{font-size:var(--type-12)}.tour-banner-name{font-size:var(--type-16)}.tour-banner-dist{font-size:var(--type-12)}.tour-banner-stop,.tour-banner-pace{font-size:var(--type-13)}html,body{font-family:var(--font);font-size:var(--type-14);-webkit-font-smoothing:antialiased;font-synthesis:none}button,input,textarea,select{font:inherit}::selection{background:var(--accent-soft)}:root[data-input] :focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-input=pointer] :focus-visible{outline:none!important}:root[data-theme=light] :is(.board-card,.tour-card,.photos-card,.font-sheet) :focus-visible{outline-color:var(--accent-text)}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important}}.board-card,.tour-card,.photos-card,.font-sheet{--light:var(--text);--gold:var(--accent-text);background:var(--surface);color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--menu-shadow)}.font-sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0}.board,.tour,.photos{background:var(--backdrop)}.start,.intro-board,.photo-btn,.tour-banner-stop,.summit-btn,.summit-back{min-height:var(--control-md);border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:var(--type-13);white-space:nowrap;transition:transform .12s var(--spring), background var(--fast), border-color var(--fast), color var(--fast), box-shadow .12s var(--spring);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-weight:600;line-height:1;display:inline-flex}:is(.start,.intro-board,.photo-btn,.tour-banner-stop,.summit-btn,.summit-back):active:not(:disabled){transform:translateY(1px)scale(.985)}.start,.photo-bar .photo-btn.photo-save,.font-sheet .photo-btn.edit-done{color:var(--btn-text);background:var(--accent);box-shadow:0 1px 2px var(--press-shadow), inset 0 1px 0 #ffffff3d;border-color:#0000}:is(.start,.photo-save,.edit-done):hover:not(:disabled){background:var(--accent-hover)}:is(.start,.photo-save,.edit-done):active:not(:disabled){background:var(--accent-deep);box-shadow:inset 0 2px 4px #00000059}.start{min-height:var(--control-lg);min-width:180px;font-size:var(--type-16);padding:0 28px}.intro .start{box-shadow:0 6px 20px #0006,inset 0 1px #ffffff3d}.start:disabled{font-size:var(--type-14);opacity:.7}.wardrobe-done{border-radius:var(--radius-pill);width:100%;box-shadow:0 0 0 14px var(--surface), 0 1px 2px var(--press-shadow);margin:8px 0 16px;padding:0 28px}.font-sheet .photo-btn:not(.edit-done){color:var(--text);background:var(--surface-raised);border-color:var(--border);box-shadow:0 1px 2px var(--press-shadow)}.font-sheet .photo-btn:not(.edit-done):hover:not(:disabled){background:var(--surface-muted)}.intro-board,.photo-bar .photo-btn:not(.photo-save),.tour-banner-stop,.summit-btn,.summit-back{color:var(--on-glass);background:var(--glass);border-color:var(--glass-line);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}:is(.intro-board,.photo-bar .photo-btn:not(.photo-save),.tour-banner-stop,.summit-btn,.summit-back):hover:not(:disabled){background:var(--glass-strong);border-color:#ffffff47}.photo-bar .photo-btn[aria-pressed=true]{color:var(--on-glass);background:var(--glass-hover);border-color:#0000;font-weight:600}.photo-btn:disabled{opacity:.45}.summit-btn,.summit-back{min-height:var(--control-lg);font-size:var(--type-14);padding:0 20px}.summit-btn{animation:none;box-shadow:0 0 #f2c14e00}@media (prefers-reduced-motion:no-preference){.summit-btn{animation:1.8s ease-in-out infinite zat-summit-glow}}@keyframes zat-summit-glow{50%{box-shadow:0 0 0 6px #f2c14e38}}.summit-icon{font-size:var(--type-20);line-height:1}.tour-banner-stop{min-height:var(--control-sm);background:var(--glass-hover);border-color:#0000;padding:0 14px}.board-close,.tour-close{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-sm);color:var(--text-2);font-family:var(--font-ui);font-size:var(--type-16);transition:background var(--fast), color var(--fast);place-items:center;line-height:1;display:inline-grid;top:12px;right:12px}.board-close:hover,.tour-close:hover{background:var(--surface-muted);color:var(--text)}.place-close{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-sm);color:var(--on-glass-2);font-family:var(--font-ui);font-size:var(--type-16);background:0 0;place-items:center;line-height:1;display:inline-grid}.place-close:hover{background:var(--glass-hover);color:var(--on-glass)}.board-btn{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-sm);font-size:var(--type-16);transition:background var(--fast);place-items:center;margin:-4px 0;line-height:1;display:inline-grid}.board-btn:hover,.board-btn[aria-pressed=true]{background:var(--glass-hover);outline:none}@media (pointer:coarse){.board-btn{width:var(--control-md);height:var(--control-md);font-size:var(--type-16);margin:-6px 0}}.shot-btn,.album-btn,.tour-btn,.pad-btn,.bigmap-btn{border:1px solid var(--glass-line);background:var(--glass);color:var(--on-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:background var(--fast), transform .12s var(--spring)}body.riding :is(.shot-btn,.album-btn,.tour-btn){border-width:1px}:is(.shot-btn,.album-btn,.tour-btn,.bigmap-btn):hover{background:var(--glass-strong)}:is(.shot-btn,.album-btn,.tour-btn,.bigmap-btn):active{transform:scale(.96)}body.touring .tour-btn{background:#f2c14e52;border-color:#0000}.bigmap-btn{width:var(--control-lg);height:var(--control-lg)}.pad-btn{font-family:var(--font-ui);font-size:var(--type-16);font-weight:600}.pad-btn.on{background:#ffffff4d;border-color:#0000}.pad-gas{color:var(--accent);font-size:var(--type-20);font-weight:700}.time-chip{min-height:var(--control-md);border:1px solid var(--glass-line);border-radius:var(--radius-full);background:var(--glass);color:var(--on-glass);font-family:var(--font-ui);font-size:var(--type-13);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:background var(--fast), color var(--fast);align-items:center;gap:6px;padding:0 14px;font-weight:500;line-height:1;display:inline-flex}.time-chip:hover{background:var(--glass-strong)}.time-chip[aria-pressed=true]{color:var(--accent);background:#f2c14e42;border-color:#0000;font-weight:600}.wardrobe-chip{min-height:var(--control-sm);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text);font-family:var(--font-ui);font-size:var(--type-13);transition:background var(--fast), color var(--fast);background:0 0;align-items:center;padding:0 12px;font-weight:500;line-height:1;display:inline-flex}.wardrobe-chip:hover{background:var(--surface-muted)}.wardrobe-chip[aria-checked=true]{background:var(--accent-soft);color:var(--accent-text);border-color:#0000;font-weight:600}@media (pointer:coarse){.wardrobe-chip{min-height:var(--control-md)}}.wardrobe-swatch{border:1px solid var(--border);box-shadow:none}.wardrobe-swatch[aria-checked=true]{box-shadow:none;outline:2px solid var(--accent-text);outline-offset:2px;border-color:#0000}.bike-card{border:1px solid var(--glass-line);border-radius:var(--radius-md);background:var(--glass);color:var(--on-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:background var(--fast)}.bike-card:hover{background:var(--glass-strong)}.bike-card[aria-checked=true]{box-shadow:none;background:#f2c14e3d;border-color:#0000}.bike-card[aria-checked=true] .bike-name{color:var(--accent)}.rider-btn{border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass);color:var(--on-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:background var(--fast);padding:4px 18px 4px 4px}.rider-btn:hover{background:var(--glass-strong)}.rider-thumb{border-radius:var(--radius-pill)}.font-choice,.tour-item{border:1px solid var(--border-soft);border-radius:var(--radius-md);color:var(--text);transition:background var(--fast);background:0 0}.font-choice:hover,.tour-item:hover{border-color:var(--border-soft);background:var(--surface-muted)}.font-choice[aria-pressed=true]{background:var(--accent-soft);border-color:#0000}.font-del{border:1px solid color-mix(in srgb, var(--negative) 30%, var(--border));border-radius:var(--radius-sm);color:var(--negative);background:0 0}.edit-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--text);transition:border-color var(--fast), box-shadow var(--fast)}.edit-input:hover:not(:focus){border-color:color-mix(in srgb, var(--text) 22%, transparent)}.edit-input:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}kbd{border:1px solid var(--glass-line);border-radius:var(--radius-xs);font-family:var(--font-ui);font-size:var(--type-12);background:#ffffff0f}.summit-btn:not(.show){display:none}:root[data-input=pointer] .tour-item:focus-visible{border-color:var(--border-soft);background:0 0}.tour-banner{border-color:var(--glass-line);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.group-title{font-family:var(--font-ui);font-size:var(--type-12);color:var(--text-3);text-align:left;align-self:stretch;margin:20px 4px 8px;font-weight:600}.settings-group{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);align-self:stretch;overflow:visible}.settings-row{border-bottom:1px solid var(--border-soft);grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;padding:14px 16px;display:grid}.settings-row:last-child{border-bottom:0}.settings-row--inline{justify-content:space-between;display:flex}.settings-row--stack{flex-direction:column;align-items:stretch;gap:10px;display:flex}.settings-row--stack .segmented{display:flex}.settings-row--stack .segmented button{flex:1 1 0}.settings-row__lead{text-align:left;min-width:0}.settings-row__label{font-size:var(--type-14);color:var(--text);align-items:center;gap:4px;font-weight:500;line-height:1.6;display:flex}.settings-row__hint{color:var(--text-3);font-size:var(--type-12);line-height:1.5}.settings-card{flex-direction:column;width:min(100%,440px);padding:20px 20px 24px;display:flex}.settings-card .board-title{margin:0 40px 0 4px}.settings{z-index:6}@media (max-width:480px){.settings-row:not(.settings-row--inline){grid-template-columns:minmax(0,1fr);gap:8px}}.wardrobe-card{align-items:stretch;padding:18px 18px 0}.wardrobe-card .board-title{text-align:center}.wardrobe-preview{align-self:center}.wardrobe-rows{gap:0}.wardrobe-row{grid-template-columns:112px minmax(0,1fr)}.wardrobe-row.settings-row--inline{display:flex}.wardrobe-label{font-size:var(--type-14);opacity:1}.wardrobe-list{gap:6px}.wardrobe-pick{gap:10px;min-width:0;display:grid}.wardrobe-swatch{width:var(--control-sm);height:var(--control-sm)}@media (pointer:coarse){.wardrobe-swatch{width:var(--control-md);height:var(--control-md)}}@media (max-width:480px){.wardrobe-row:not(.settings-row--inline){grid-template-columns:minmax(0,1fr);gap:8px}.wardrobe-label:empty{display:none}}.toggle{border-radius:var(--radius-full);background:var(--track);width:40px;height:24px;box-shadow:inset 0 1px 3px var(--press-shadow);cursor:pointer;transition:background .12s var(--spring);border:0;flex:none;padding:0;position:relative}.toggle i{width:18px;height:18px;box-shadow:0 1px 2px var(--press-shadow), inset 0 1px 0 #ffffffe6;transition:transform .12s var(--spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle.on{background:var(--accent)}.toggle.on i{transform:translate(16px)}:root:not([data-theme=light]) .toggle i{background:color-mix(in srgb, var(--surface-raised) 70%, #fff 18%);box-shadow:0 1px 2px #00000080,inset 0 1px #ffffff14}:root:not([data-theme=light]) .toggle.on i{background:var(--btn-text)}.segmented{border-radius:var(--radius-seg);background:var(--track);border:1px solid var(--border-soft);box-shadow:inset 0 1px 3px var(--press-shadow);flex:none;gap:2px;padding:3px;display:inline-flex}.segmented button{min-height:var(--control-sm);border-radius:var(--radius-thumb);font-family:var(--font-ui);font-size:var(--type-12);color:var(--text-3);cursor:pointer;transition:background .12s var(--spring), color var(--fast);background:0 0;border:0;padding:0 12px;font-weight:600;line-height:1}.segmented button:hover:not(.on){color:var(--text)}.segmented button.on{background:var(--surface-raised);color:var(--text);box-shadow:0 1px 3px var(--press-shadow), inset 0 0 0 1px var(--border-soft)}:root:not([data-theme=light]) .segmented button.on{background:color-mix(in srgb, var(--surface-raised) 80%, #fff 10%)}.tip{vertical-align:middle;display:inline-flex;position:relative}.tip__btn{width:24px;height:24px;color:var(--text-4);font-family:var(--font-ui);font-size:var(--type-14);cursor:help;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;line-height:1;display:inline-grid}.tip__btn:hover{color:var(--accent-text)}.tip__pop{z-index:40;border-radius:var(--radius-sm);background:var(--text);width:max-content;max-width:min(280px,70vw);color:var(--canvas);font-size:var(--type-12);white-space:normal;visibility:hidden;opacity:0;transition:opacity .12s var(--spring), transform .12s var(--spring), visibility 0s linear .12s;padding:9px 12px;font-weight:500;line-height:1.6;position:absolute;top:calc(100% + 6px);left:-8px;transform:translateY(-2px);box-shadow:0 8px 24px -8px #0006}.tip:hover .tip__pop,.tip:focus-within .tip__pop{visibility:visible;opacity:1;transition:opacity .14s var(--spring) .4s, transform .14s var(--spring) .4s, visibility 0s linear .4s;transform:none}.tip:focus-within .tip__pop{transition-delay:0s}.room-label{font-size:var(--type-13);color:var(--text-2);opacity:1;font-weight:500}.room-input{min-height:var(--control-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--text);font-family:var(--font);font-size:var(--type-16);transition:border-color var(--fast), box-shadow var(--fast);padding:7px 12px}.room-input:hover:not(:focus){border-color:color-mix(in srgb, var(--text) 22%, transparent)}.room-input:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.room-code-input{font-family:var(--mono,ui-monospace, Menlo, monospace);font-size:var(--type-20)}.room-join,.room-share,.room-copy,.room-go,.room-leave{min-height:var(--control-md);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);font-family:var(--font-ui);font-size:var(--type-13);box-shadow:0 1px 2px var(--press-shadow);transition:transform .12s var(--spring), background var(--fast);justify-content:center;align-items:center;padding:0 16px;font-weight:600;line-height:1;display:inline-flex}:is(.room-join,.room-share,.room-copy,.room-go,.room-leave):hover{background:var(--surface-muted)}:is(.room-join,.room-share,.room-copy,.room-go,.room-leave):active{transform:translateY(1px)scale(.985)}.room-go{min-height:var(--control-sm);font-size:var(--type-12);padding:0 12px}.room-leave{color:var(--negative);border-color:color-mix(in srgb, var(--negative) 30%, var(--border))}.room-error{color:var(--negative);font-size:var(--type-13)}.room-code{color:var(--accent-text);font-size:var(--type-32)}.room-rider{border-top-color:var(--border-soft)}.room-tag{font-size:var(--type-12);color:var(--text-3);opacity:1}.room-spinner{border-color:var(--border);border-top-color:var(--accent-text)}.intro-friends{border-color:var(--glass-line);color:var(--on-glass)}.room-chip{border:1px solid var(--glass-line);color:var(--on-glass);font-family:var(--font-ui);font-size:var(--type-13);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);font-weight:600}.race-hud{border-color:var(--glass-line);background:var(--glass);color:var(--on-glass);font-family:var(--font);font-size:var(--type-14);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.horn-btn{border:1px solid var(--glass-line);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.horn-btn.on{background:#ffffff4d;border-color:#0000}.intro-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lap,.place-card,.summit-title{border:1px solid var(--glass-line);background:var(--glass);color:var(--on-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.lap{border-radius:var(--radius-md);background:var(--glass-strong)}.place-card{border-radius:var(--radius-lg);background:var(--glass-strong);box-shadow:var(--menu-shadow);padding:16px 20px 18px}.place-tag{color:var(--on-glass-2)}.place-en{opacity:1;color:var(--on-glass-2)}.summit-title{border-radius:var(--radius-lg)}.toast,.bigmap-title{border:1px solid var(--glass-line);border-radius:var(--radius-full);background:var(--glass-strong);color:var(--on-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.bigmap-title{font-family:var(--font-ui);font-size:var(--type-14);font-weight:600}.lap-gap{--st:var(--glass-negative);border-radius:var(--radius-full);color:var(--st);background:color-mix(in srgb, var(--st) 16%, transparent);font-family:var(--font-ui);font-size:var(--type-12);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin:2px 0;padding:3px 9px;font-weight:600;line-height:1.3;display:inline-flex}.lap-gap:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.lap-gap.ahead{--st:var(--glass-positive)}.lap-gap:empty{height:0;min-height:0;margin:0;padding:0;display:block}.lap-gap:empty:before{display:none}.race-hud{--st:var(--on-glass-2);align-items:center;gap:8px;display:inline-flex}.race-hud:before{content:"";background:var(--st);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--st) 22%, transparent);border-radius:50%;flex:none}.race-hud[hidden]{display:none}.race-hud.ahead{--st:var(--glass-positive);border-color:var(--glass-line)}.race-hud.behind{--st:var(--glass-negative);border-color:var(--glass-line)}.room-chip.warn{color:var(--on-glass)}.room-chip.warn:before{content:"";vertical-align:1px;background:var(--glass-warning);border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.room-error:not(:empty){--st:var(--negative);border-radius:var(--radius-md);background:color-mix(in srgb, var(--st) 9%, var(--surface));border:1px solid color-mix(in srgb, var(--st) 25%, transparent);color:var(--text-2);align-items:center;gap:12px;padding:10px 14px;display:flex}.room-error:not(:empty):before{content:"";background:var(--st);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--st) 18%, transparent);border-radius:50%;flex:none}.board-row{border-top-color:var(--border-soft);border-radius:var(--radius-sm)}.board-row.new{color:var(--text);background:var(--accent-soft);border-top-color:#0000;font-weight:400}.board-row.new .board-time{color:var(--accent-text)}.board-place,.board-date,.board-bike,.tour-note,.tour-en,.tour-dist{color:var(--text-3);opacity:1}.photo-thumb{border-radius:var(--radius-md)}body.riding .horn-btn{right:max(14px, env(safe-area-inset-right));width:52px;height:52px;font-size:var(--type-20);top:calc(40% - 62px)}@media (pointer:coarse){body.riding .horn-btn{top:calc(32% - 62px)}}.bike-card{width:92px}.bike-bar{grid-template-columns:auto minmax(16px,1fr);gap:6px}@media (min-width:720px){.intro-card{max-width:660px}.intro-sub,.intro-help{max-width:460px}}.intro-help{width:100%;max-width:460px}.intro-help summary{min-height:var(--control-sm);border-radius:var(--radius-full);color:var(--on-glass-2);font-family:var(--font-ui);font-size:var(--type-13);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-weight:500;line-height:1;list-style:none;display:inline-flex}.intro-help summary::-webkit-details-marker{display:none}.intro-help summary:after{content:"⌄";font-size:var(--type-14);transform:translateY(-2px)}.intro-help[open] summary:after{transform:rotate(180deg)translateY(-2px)}.intro-help summary:hover{color:var(--on-glass);background:var(--glass-hover)}.intro-help>p{border-radius:var(--radius-md);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);margin-top:8px;padding:12px 16px}.photo-view{border-radius:var(--radius-lg);box-shadow:none}.photo-bar{border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass);max-width:100%;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);align-items:center;gap:2px;padding:4px}.photo-bar .photo-btn:not(.photo-save){-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.photo-bar .photo-btn:not(.photo-save):hover:not(:disabled){background:var(--glass-hover);border-color:#0000}.photo-bar .photo-btn[aria-pressed=true]{background:var(--glass-hover)}.photo-bar .photo-btn.photo-del{color:var(--glass-negative);border-color:#0000}@media (max-width:600px){.photo-bar{border-radius:var(--radius-lg);justify-content:center}}.overlay{z-index:50;pointer-events:auto;background:#06080e7a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-raised);width:min(380px,100%);color:var(--text);box-shadow:var(--menu-shadow);padding:24px}.dialog h2{font-size:var(--type-16);margin:0 0 8px;font-weight:600;line-height:1.6}.dialog p{color:var(--text-2);font-size:var(--type-13);margin:0;line-height:1.6}.dialog__actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.btn{min-height:var(--control-md);border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:var(--type-13);white-space:nowrap;cursor:pointer;transition:transform .12s var(--spring), background var(--fast), color var(--fast);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-weight:600;line-height:1;display:inline-flex}.btn:active{transform:translateY(1px)scale(.985)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{color:var(--text);background:var(--surface-muted)}.btn-danger{color:var(--negative);background:var(--surface-raised);border-color:color-mix(in srgb, var(--negative) 30%, var(--border));box-shadow:0 1px 2px var(--press-shadow)}.btn-danger:hover{background:color-mix(in srgb, var(--negative) 7%, var(--surface-raised))}.wardrobe-preview,.bike-thumb,.rider-thumb{box-shadow:none}.wardrobe-preview{border-radius:var(--radius-lg)}.bike-thumb{border-radius:var(--radius-sm)}.minimap{border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--glass-line)}.icon{vertical-align:-3px;flex:none;width:16px;height:16px}body.riding :is(.shot-btn,.album-btn,.tour-btn,.horn-btn){color:var(--on-glass);place-items:center;padding:0;display:grid}.shot-btn .icon{width:26px;height:26px}:is(.album-btn,.tour-btn,.horn-btn) .icon{width:22px;height:22px}.board-btn .icon{width:18px;height:18px}:is(.board-close,.tour-close,.place-close){place-items:center;padding:0;display:grid}:is(.board-close,.tour-close,.place-close) .icon{width:20px;height:20px}.time-chip .icon{width:15px;height:15px}.rider-title{align-items:center;gap:6px;display:inline-flex}.intro-help summary .icon{margin-right:6px}body.riding :is(.lap,.pad-btn,.shot-btn,.album-btn,.tour-btn,.horn-btn,.unstick-btn){border:1px solid var(--glass-soft-line);background:var(--glass-soft);color:var(--on-glass);-webkit-backdrop-filter:var(--glass-soft-blur);backdrop-filter:var(--glass-soft-blur);box-shadow:var(--glass-soft-shadow)}body.riding :is(.shot-btn,.album-btn,.tour-btn,.horn-btn,.unstick-btn):hover{background:var(--glass-strong)}body.riding :is(.pad-btn,.shot-btn,.album-btn,.tour-btn,.horn-btn,.unstick-btn):active{transform:scale(.94)}body.riding .lap{border-radius:var(--radius-pill);border-top:2px solid var(--glass-gold-edge)}body.riding .lap-bar{border-radius:var(--radius-xs);background:var(--glass-soft-track);height:6px}body.riding .lap-fill{border-radius:var(--radius-xs)}body.riding.touring .tour-btn{background:var(--glass-gold-wash)}body.riding .pad-gas{border-color:var(--gold-fill-line);background:var(--gold-fill);color:var(--on-gold);box-shadow:var(--gold-fill-shadow)}body.riding .pad-gas.on{filter:brightness(.92);box-shadow:var(--gold-pressed)}body.riding .pad-btn.on:not(.pad-gas){background:var(--glass-pressed)}body.riding .pad-brake{color:var(--on-glass-brake)}body.riding .unstick-btn{place-items:center;display:grid}.unstick-btn .icon{width:22px;height:22px}body.riding .minimap{border-radius:var(--radius-pill);box-shadow:var(--glass-soft-ring)}body.riding .credit{opacity:.55}.speed-value{text-shadow:var(--hud-text-shadow)}@media (max-width:600px),(pointer:coarse){body.riding .lap{grid-template-columns:auto 1fr;grid-template-areas:"time tools""bar bar""best gap";align-items:center;column-gap:8px;width:206px;padding:4px 10px 6px 14px;display:grid}body.riding .lap-head{display:contents}body.riding .lap-label{display:none}body.riding .lap-tools{grid-area:tools;justify-self:end}body.riding .lap .board-btn{width:36px;margin:-4px 0}body.riding .lap-time{font-size:var(--type-20);grid-area:time;line-height:1.3}body.riding .lap-bar{grid-area:bar;height:4px;margin:2px 0 4px}body.riding .lap-best{font-size:var(--type-12);white-space:nowrap;grid-area:best}body.riding .lap-gap{min-height:0;font-size:var(--type-12);grid-area:gap;justify-self:end}body.riding.touring .lap{grid-template-columns:auto;grid-template-areas:"tools";width:auto;padding:4px 8px}body.riding.touring :is(.lap-time,.lap-bar,.lap-best,.lap-gap){display:none}}@media (max-width:600px){body.riding .tour-banner{top:calc(max(14px, env(safe-area-inset-top)) + 146px);left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right))}}body.riding:not(.lap-on) .lap{width:auto;padding:4px 8px;display:flex}body.riding:not(.lap-on) :is(.lap-label,.lap-time,.lap-bar,.lap-best,.lap-gap){display:none}body.riding:not(.lap-on) .lap-head{display:flex}.tools-btn{display:none}@media (max-width:600px),(pointer:coarse){body.riding .shot-btn{top:40%!important}body.riding .tools-btn{top:calc(40% + 62px);right:max(14px, env(safe-area-inset-right));border:1px solid var(--glass-soft-line,var(--glass-line));background:var(--glass-soft,var(--glass));width:50px;height:50px;color:var(--on-glass);-webkit-backdrop-filter:var(--glass-soft-blur,var(--glass-blur));backdrop-filter:var(--glass-soft-blur,var(--glass-blur));box-shadow:var(--glass-soft-shadow,none);pointer-events:auto;cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;display:grid;position:absolute}body.riding .tools-btn svg{width:22px;height:22px}body.riding.tools-open .tools-btn{background:var(--glass-gold-wash,var(--accent-soft))}body.riding:not(.tools-open) :is(.album-btn,.tour-btn,.horn-btn,.unstick-btn){display:none!important}body.riding.tools-open :is(.album-btn,.tour-btn,.horn-btn,.unstick-btn){top:calc(40% + 62px)!important;bottom:auto!important}body.riding.tools-open .tour-btn{right:calc(max(14px, env(safe-area-inset-right)) + 58px)!important}body.riding.tools-open .album-btn{right:calc(max(14px, env(safe-area-inset-right)) + 116px)!important}body.riding.tools-open .horn-btn{right:calc(max(14px, env(safe-area-inset-right)) + 174px)!important}body.riding.tools-open .unstick-btn{right:calc(max(14px, env(safe-area-inset-right)) + 232px)!important}}@media (pointer:coarse){body{--hud-top:max(14px, env(safe-area-inset-top));--hud-left:max(14px, env(safe-area-inset-left));--nav-shift:0px;--map-top:calc(var(--hud-top) + 40px + var(--nav-shift));--map-end:calc(var(--map-top) + 118px);--chip-room:0px;--onfoot-top:max(calc(32% - 36px), calc(var(--map-end) + 8px + var(--chip-room)));--below-column:calc(var(--onfoot-top) + 46px + 8px)}body:has(.room-chip:not([hidden])){--chip-room:39px}body.riding canvas.minimap,body.riding .map-tools{top:var(--map-top)}body .room-chip{top:calc(var(--map-end) + 8px)}body.riding .onfoot-btn{top:var(--onfoot-top)}}@media (pointer:coarse) and (max-width:600px){body.touring{--nav-shift:calc(var(--tour-banner-h,62px) + 8px)}body.touring .tour-banner{top:calc(var(--hud-top) + 40px)}body .place-card,body.touring .toast{top:var(--below-column)}body.touring.race-nav{--nav-shift:calc(var(--tour-banner-h,62px) + 8px + 46px)}body.race-nav .race-hud{top:calc(var(--hud-top) + 40px + var(--tour-banner-h,62px) + 8px)}}@media (pointer:coarse) and (min-width:601px){body .tour-banner{left:calc(var(--hud-left) + 96px + 8px + 36px + 12px);right:calc(max(14px, env(safe-area-inset-right)) + 66px);width:auto;max-width:520px;margin-inline:auto;transform:none}}
