*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--accent:#c8f026;--accent-dark:#b0d820;--bg:#000;--surface:#141414;--border:#1e1e1e;--border-mid:#2a2a2a;--text:#fff;--text-secondary:#999;--text-dim:#777;--text-muted:#666;--font:"Helvetica Neue", Helvetica, Arial, sans-serif;--color-green:#c8f026;--color-orange:#ef9f27;--color-red:#e24b4a}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none}body{max-width:430px;margin:0 auto}button{font-family:var(--font);cursor:pointer}.overview{padding:0 20px}.hero{padding:14px 0 4px}.hero-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:2px;font-size:11px}.hero-num{color:var(--text);letter-spacing:-.03em;font-size:64px;font-weight:900;line-height:1}.hero-unit{color:var(--text-dim);font-size:18px;font-weight:500}.stat-row{gap:8px;margin:16px 0;display:flex}.stat{background:var(--surface);border:1px solid var(--border-mid);flex:1;padding:12px 10px}.stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:5px;font-size:11px}.stat-val{color:var(--text);letter-spacing:-.02em;font-size:18px;font-weight:900}.stat-val span{color:var(--text-dim);font-size:11px;font-weight:500}.stat-val.accent{color:var(--accent)}.delta-val.green{color:var(--color-green)}.delta-val.orange{color:var(--color-orange)}.delta-val.red{color:var(--color-red)}.progress-section{margin:20px 0}.progress-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.progress-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);font-size:11px}.progress-right{align-items:baseline;gap:8px;display:flex}.progress-km{color:var(--text-dim);letter-spacing:.06em;font-size:12px}.progress-pct{color:var(--accent);letter-spacing:.1em;font-size:12px;font-weight:800}.progress-track{background:var(--border-mid);height:2px}.progress-fill{background:var(--accent);height:2px;transition:width .4s}.progress-dots{justify-content:space-between;margin-top:8px;display:flex}.dot{background:var(--border-mid);border-radius:50%;width:4px;height:4px}.dot.done{background:var(--accent)}.dot.active{background:var(--text);border-radius:2px;width:8px}.next-vp{background:var(--surface);border-left:2px solid var(--accent);margin:20px 0;padding:14px 16px}.next-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:5px;font-size:11px}.next-name{color:var(--text);letter-spacing:-.02em;margin-bottom:6px;font-size:22px;font-weight:900}.next-meta{color:var(--text-secondary);flex-wrap:wrap;gap:14px;margin-bottom:14px;font-size:12px;display:flex}.next-meta strong{color:var(--accent)}.next-cutoff,.next-cutoff strong{color:var(--color-orange)!important}.checkin-btn{background:var(--accent);color:#000;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;width:100%;padding:16px;font-size:15px;font-weight:900;transition:background .1s}.checkin-btn:active{background:var(--accent-dark)}.finish-card{background:var(--surface);border-left:2px solid var(--accent);text-align:center;margin:20px 0;padding:14px 16px}.finish-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px;font-size:11px}.finish-time{color:var(--accent);letter-spacing:-.02em;font-size:36px;font-weight:900}.finish-delta{color:var(--text-secondary);margin-top:6px;font-size:13px}.finish-delta.green{color:var(--color-green)}.finish-delta.orange{color:var(--color-orange)}.finish-delta.red{color:var(--color-red)}.race-info{margin-bottom:8px}.info-row{border-bottom:1px solid var(--surface);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.info-row:last-child{border-bottom:none}.info-row span:last-child{color:var(--text);font-weight:700}.info-row span.accent{color:var(--accent)}.info-row span.warn{color:var(--color-orange);font-weight:700}.seg-view{flex-direction:column;padding:0;display:flex}.seg-viewport{flex:1;overflow:hidden}.seg-track{will-change:transform;transition:transform .28s cubic-bezier(.25,.46,.45,.94);display:flex}.seg-card{flex-shrink:0;min-width:100%;padding:0 20px}.seg-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;padding-top:4px;display:flex}.seg-num{letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:800}.seg-badge{letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;font-size:10px;font-weight:800}.badge-active{color:var(--accent);background:#1c2500}.badge-done{color:#6a8a00;background:#111a00}.badge-pending{background:var(--surface);color:var(--text-muted)}.seg-from{color:var(--text-secondary);letter-spacing:.04em;margin-bottom:2px;font-size:12px}.seg-to{color:var(--text);letter-spacing:-.03em;margin-bottom:18px;font-size:30px;font-weight:900;line-height:1.05}.seg-stats{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.seg-stat{background:var(--surface);border:1px solid var(--border);padding:12px}.seg-stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px;font-size:11px}.seg-stat-val{color:var(--text);letter-spacing:-.02em;font-size:24px;font-weight:900}.seg-stat-val span{color:var(--text-secondary);font-size:11px;font-weight:500}.seg-stat-val.pace{font-size:20px}.seg-stat-val.arr{color:var(--accent);font-size:20px}.seg-stat-val.arr-actual{color:var(--color-green);font-size:20px}.seg-cutoff{background:#1a0a00;border:1px solid #3a1800;justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 14px;display:flex}.seg-cutoff span:first-child{color:var(--color-orange);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.cutoff-time{font-size:14px;font-weight:900;color:var(--color-orange)!important}.seg-nutrition{margin-top:10px}.seg-nutrition-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:7px;font-size:11px}.seg-pills{flex-wrap:wrap;gap:5px;display:flex}.pill{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);letter-spacing:.04em;padding:4px 9px;font-size:11px;font-weight:600}.pill.hl{color:var(--accent);background:#131a00;border-color:#2a3d00}.seg-pagination{justify-content:center;align-items:center;gap:4px;padding:10px 20px 4px;display:flex;overflow:hidden}.seg-page-dot{background:var(--border-mid);border-radius:50%;flex-shrink:0;width:4px;height:4px;transition:all .2s}.seg-page-dot.active{background:var(--text);border-radius:2px;width:14px}.seg-page-dot.done{background:var(--accent)}.seg-nav{justify-content:space-between;align-items:center;padding:10px 20px 4px;display:flex}.seg-btn{border:1px solid var(--border-mid);color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;background:0 0;padding:9px 16px;font-size:11px;font-weight:800;transition:border-color .15s,color .15s}.seg-btn:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.seg-btn:disabled{opacity:.18;cursor:default}.seg-counter{color:var(--text-secondary);letter-spacing:.08em;font-size:13px}.seg-counter strong{color:var(--text);font-size:16px}.seg-time-row{align-items:center;gap:8px;display:flex}.seg-edit-btn{color:var(--text-secondary);cursor:pointer;opacity:.6;background:0 0;border:none;padding:2px 4px;font-size:13px;transition:opacity .15s,color .15s}.seg-edit-btn:hover{opacity:1;color:var(--accent)}.seg-time-edit{flex-direction:column;gap:6px;display:flex}.seg-time-input{border:1px solid var(--accent);color:var(--text);font-size:18px;font-weight:900;font-family:var(--font);letter-spacing:.04em;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0d0d0d;width:100%;padding:4px 8px}.seg-time-actions{gap:6px;display:flex}.seg-time-btn{cursor:pointer;font-size:14px;font-weight:900;font-family:var(--font);border:none;flex:1;padding:6px}.seg-time-btn.confirm{background:var(--accent);color:#000}.seg-time-btn.confirm:active{background:var(--accent-dark)}.seg-time-btn.cancel{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border-mid)}.vp-view{padding:0 0 16px}.vp-header{border-bottom:1px solid var(--border);padding:14px 20px 10px}.vp-title-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:2px;font-size:11px}.vp-subtitle{color:var(--text);letter-spacing:-.02em;font-size:18px;font-weight:900}.vp-list{flex-direction:column;display:flex}.vp-row{border-bottom:1px solid var(--border);transition:background .15s}.vp-row.past{opacity:.4}.vp-row.current{border-left:2px solid var(--accent)}.vp-row.open{background:var(--surface)}.vp-row-header{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:12px;padding:12px 20px;display:flex}.vp-row.current .vp-row-header{padding-left:18px}.vp-km-col{text-align:right;flex-shrink:0;min-width:38px;padding-top:1px}.vp-km{color:var(--text);letter-spacing:-.02em;font-size:15px;font-weight:900}.vp-km-unit{color:var(--text-secondary);margin-left:1px;font-size:10px}.vp-body{flex:1;min-width:0}.vp-name-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;display:flex}.vp-name{color:var(--text);letter-spacing:-.01em;font-size:14px;font-weight:900}.vp-badge-current{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:#1c2500;padding:2px 6px;font-size:9px;font-weight:800}.vp-badge-drop{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:#0a1800;border:1px solid #2a3d00;padding:2px 6px;font-size:9px;font-weight:800}.vp-badge-cutoff{letter-spacing:.1em;text-transform:uppercase;color:var(--color-orange);background:#1a0800;border:1px solid #3a1800;padding:2px 6px;font-size:9px;font-weight:800}.vp-meta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vp-plan-time{color:var(--text-secondary);font-size:12px}.vp-pause{color:var(--text-muted);background:var(--border);padding:1px 5px;font-size:11px}.vp-drink-count{color:var(--text-muted);font-size:11px}.vp-right-col{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding-top:2px;display:flex}.vp-check{color:var(--accent);font-size:14px;font-weight:900}.vp-dot{background:var(--border-mid);border-radius:50%;width:6px;height:6px}.vp-chevron{color:var(--text-secondary);font-size:18px;line-height:1;transition:transform .2s;display:inline-block;transform:rotate(90deg)}.vp-chevron.up{transform:rotate(-90deg)}.vp-detail{flex-direction:column;gap:12px;padding:0 20px 14px 70px;display:flex}.vp-section{flex-direction:column;gap:6px;display:flex}.vp-section-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);font-size:11px}.vp-pills{flex-wrap:wrap;gap:5px;display:flex}.vp-pill{letter-spacing:.03em;border:1px solid;padding:4px 10px;font-size:11px;font-weight:600}.vp-empty{color:var(--text-muted);font-size:12px}.plan-list{flex-direction:column;gap:8px;display:flex}.plan-item{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;transition:border-color .15s;display:flex}.plan-item.active{border-color:var(--accent);background:#c0d71e0f}.plan-item-info{align-items:center;gap:10px;min-width:0;display:flex}.plan-active-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.plan-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:160px;margin:0;font-size:13px;font-weight:600;overflow:hidden}.plan-item-meta{color:var(--text-secondary);margin:2px 0 0;font-size:11px}.plan-item-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.plan-item-active-label{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.plan-item-btn{cursor:pointer;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:opacity .15s,transform .1s}.plan-item-btn:active{transform:scale(.96)}.plan-item-btn.activate{background:var(--accent);color:#111}.plan-item-btn.delete{color:var(--color-red);background:#e24b4a26;padding:5px 9px}.plan-item-btn.delete:hover{background:#e24b4a47}.plan-import{flex-direction:column;gap:12px;padding:16px 0 8px;display:flex}.plan-import-title{color:var(--text-primary);letter-spacing:.03em;margin:0;font-size:14px;font-weight:600}.plan-import-file-label{border:1px dashed var(--border);cursor:pointer;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.plan-import-file-label:hover{border-color:var(--accent);background:#c0d71e0f}.plan-import-file{display:none}.plan-import-or{text-align:center;color:var(--text-dim);margin:0;font-size:11px}.plan-import-textarea{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px 12px;font-family:Courier New,monospace;font-size:11px;line-height:1.5;transition:border-color .15s}.plan-import-textarea:focus{border-color:var(--accent);outline:none}.plan-import-textarea.has-error{border-color:var(--color-red)}.plan-import-textarea.has-ok{border-color:var(--color-green)}.plan-import-error{color:var(--color-red);background:#e24b4a1a;border-radius:6px;margin:0;padding:6px 10px;font-size:12px}.plan-import-success{color:var(--color-green);text-align:center;margin:0;font-size:13px;font-weight:600}.plan-import-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.preview-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:11px;font-weight:600}.preview-row{color:var(--text-secondary);justify-content:space-between;font-size:13px;display:flex}.preview-row strong{color:var(--text-primary);font-weight:500}.plan-import-actions{gap:10px;display:flex}.plan-import-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px;font-size:13px;font-weight:600;transition:opacity .15s,transform .1s}.plan-import-btn:active{transform:scale(.97)}.plan-import-btn.confirm{background:var(--accent);color:#111}.plan-import-btn.confirm:disabled{opacity:.35;cursor:not-allowed}.plan-import-btn.cancel{background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border)}.settings-view{padding:0 0 16px}.settings-section{border-bottom:1px solid var(--border);padding:16px 20px}.settings-section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;font-size:11px}.settings-row{border-bottom:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:9px 0;font-size:14px;display:flex}.settings-row:last-child{border-bottom:none}.settings-row span:last-child{color:var(--text);font-weight:700}.settings-row span.accent{color:var(--accent);font-weight:700}.reset-btn{background:var(--surface);border:1px solid var(--border-mid);width:100%;color:var(--color-red);letter-spacing:.04em;cursor:pointer;margin-bottom:8px;padding:14px;font-size:14px;font-weight:800;transition:background .15s,border-color .15s}.reset-btn:hover{border-color:var(--color-red)}.reset-btn.confirm{border-color:var(--color-red);color:var(--color-red);background:#1a0000}.cancel-btn{border:1px solid var(--border-mid);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;margin-bottom:8px;padding:10px;font-size:13px}.reset-hint{color:var(--text-muted);font-size:12px;line-height:1.5}.settings-time-input{background:var(--surface-2);border:1px solid var(--border);color:var(--text-primary);text-align:right;border-radius:6px;width:90px;padding:4px 8px;font-size:14px;font-weight:700}.settings-time-input:focus{border-color:var(--accent);outline:none}.update-btn{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-secondary);cursor:default;border-radius:8px;padding:12px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.update-btn.available{background:var(--accent);border-color:var(--accent);color:#111;cursor:pointer}.update-btn.available:active{transform:scale(.97)}.import-btn{border:1px dashed var(--accent);width:100%;color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;margin-top:10px;padding:11px;font-size:13px;font-weight:600;transition:background .15s}.import-btn:hover{background:#c0d71e12}.settings-info{color:var(--text-muted);letter-spacing:.04em;padding:16px 20px 0;font-size:11px;line-height:1.8}.bottom-nav{background:var(--bg);width:100%;max-width:430px;padding:10px 0 max(20px, env(safe-area-inset-bottom));z-index:100;border-top:1px solid #1a1a1a;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{opacity:.25;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;transition:opacity .15s;display:flex}.nav-item.active{opacity:1}.nav-item svg{width:20px;height:20px;color:var(--text)}.nav-item span{letter-spacing:.14em;text-transform:uppercase;color:var(--text);font-size:8px;font-weight:800}.nav-item.active svg,.nav-item.active span{color:var(--accent)}.app{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px 10px;display:flex}.app-supertitle{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:9px}.app-title{color:var(--text);letter-spacing:-.02em;font-size:20px;font-weight:900}.app-logo{background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.app-logo svg{color:#000;width:18px;height:18px}.app-main{flex:1;padding-bottom:80px;overflow-y:auto}
