:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;--bg: #0B0B0C;--card: #151517;--card-2: #1E1E22;--line: #2A2A2E;--accent: #30E85F;--accent-ink: #06210E;--text: #F2F2F5;--muted: #8A8A8F;--danger: #FF5A5A;--radius: 14px;--shadow: 0 8px 24px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}.app{max-width:640px;margin:0 auto;padding:0 16px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:max(12px,env(safe-area-inset-top)) 0 12px;background:linear-gradient(var(--bg) 72%,transparent)}.wordmark{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.wordmark b{color:var(--accent);font-weight:800}.icon-btn{background:var(--card);border:1px solid var(--line);color:var(--text);width:40px;height:40px;border-radius:12px;font-size:1.15rem;display:grid;place-items:center;cursor:pointer}.section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:22px 4px 8px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}.hero{background:linear-gradient(160deg,var(--card-2),var(--card));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.hero-name{font-size:1.3rem;font-weight:700;letter-spacing:-.01em}.hero-meta{color:var(--muted);margin-top:4px}.armed{margin-top:12px;font-size:.95rem}button{font:inherit;background:var(--card-2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 16px;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}button.danger{background:transparent;border-color:#5e1a1a;color:var(--danger)}button.block{width:100%;padding:14px;font-size:1.05rem;margin-top:14px}button:disabled{opacity:.45;cursor:default}.ride-controls .ride-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:14px}.ride-stats>div{display:flex;flex-direction:column}.ride-stats span{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}.ride-stats strong{font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}.trail-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.trail-row:last-child{border-bottom:none}.trail-row.active{background:color-mix(in srgb,var(--accent) 12%,transparent);margin:0 -16px;padding:12px 16px;border-radius:10px;border-bottom-color:transparent}.arrow{font-size:3rem;line-height:1;color:var(--accent)}.big{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums}.row{display:flex;gap:12px;align-items:center}.space-between{justify-content:space-between}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger);padding:10px 12px;background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:10px;margin-bottom:12px}.dropzone{border:2px dashed var(--line);border-radius:var(--radius);padding:24px;text-align:center;color:var(--muted)}.dropzone.over{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:50}.settings-sheet{background:var(--card);border:1px solid var(--line);border-radius:18px 18px 0 0;width:100%;max-width:640px;padding:20px 16px max(20px,env(safe-area-inset-bottom))}.settings-sheet h2{margin:0;font-size:1.2rem}.field{display:flex;flex-direction:column;gap:6px;margin:16px 0}.field label{color:var(--muted);font-size:.85rem}.field input{font:inherit;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--text)}.readonly{background:var(--card-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;word-break:break-all;color:var(--text)}.badge-ok{color:var(--accent);font-size:.95rem}.linklike{align-self:flex-start;background:none;border:none;color:var(--accent);padding:0;cursor:pointer;font:inherit;text-decoration:underline}
