:root{--bg:#f7f7fa;--surface:#fff;--text:#1a1a2e;--text-muted:#63636f;--text-subtle:#8a8a96;--border:#dcdce2;--accent:#4b47e5;--accent-text:#fff;--error:#c0392b;--success:#2e7d32;--warning:#b8860b;--shadow:0 1px 2px #14141e0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0c0d11;--surface:#15171c;--text:#e8e9ed;--text-muted:#8b92a0;--text-subtle:#5b626d;--border:#262a31;--accent:#6c8cff;--accent-text:#0c0d11;--error:#d9636b;--success:#6fcba0;--warning:#d9a544;--shadow:0 1px 3px #00000059}}*{box-sizing:border-box}body{min-height:100svh;margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5em;font-weight:700}h2{font-size:1.375rem;font-weight:800}button{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:10px;padding:0 16px;transition:border-color .15s,background-color .15s,filter .15s}button:hover:not(:disabled){border-color:var(--accent)}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.primary:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);width:100%;min-height:40px;color:var(--text);border-radius:10px;padding:8px 10px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{min-height:unset}.app-shell{max-width:640px;padding:20px 16px calc(90px + env(safe-area-inset-bottom,0px));margin:0 auto}.shoe-management h3,.schedule-detail h3,.dashboard h3{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-top:28px;margin-bottom:10px;font-size:.8125rem;font-weight:700}.center-screen{justify-content:center;align-items:center;min-height:100svh;padding:16px;display:flex}.auth-form{text-align:center;flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.field{text-align:left;flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.field span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.8125rem;font-weight:700}.field--checkbox{flex-direction:row;align-items:center;gap:8px}.field--checkbox input{width:auto;min-height:unset}.weather-inputs{gap:8px;display:flex}.weather-inputs>input,.weather-input-with-unit{flex:1;min-width:0}.weather-input-with-unit{position:relative}.weather-input-with-unit input{padding-right:30px}.weather-input-unit{color:var(--text-muted);pointer-events:none;font-size:.85em;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.error-text{color:var(--error);font-size:.9em}.status-text{color:var(--text-muted);font-size:.9em}.today-schedule{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;margin-bottom:16px;padding:14px 16px}.today-schedule-label{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.today-schedule-head{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.today-schedule-week{font-weight:700}.today-schedule-type{color:var(--text-muted);font-size:.9em}.today-schedule-notes{white-space:pre-wrap;margin:0;font-size:.9em}.today-schedule-target{color:var(--text-muted);margin:0;font-size:.9em}.upload-step{flex-direction:column;gap:16px;display:flex}.dropzone{border:2px dashed var(--border);text-align:center;background:var(--surface);border-radius:16px;padding:32px 16px}.dropzone--active{border-color:var(--accent)}.dropzone p{color:var(--text-muted);margin:4px 0}.dropzone button{margin-top:12px}.paste-target{resize:vertical;margin-top:16px;font-family:ui-monospace,monospace;font-size:16px}.review-step{flex-direction:column;display:flex}.sticky-header{z-index:10;background:var(--bg);align-items:center;gap:10px;margin-bottom:8px;padding:8px 0 12px;display:flex;position:sticky;top:0}.sticky-header h2{margin:0}.back-button{width:36px;height:36px;min-height:unset;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;display:flex}.summary-line{color:var(--text-muted);margin-bottom:16px}.lap-badge{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:flex}.lap-badge--muted{background:color-mix(in srgb, var(--text-muted) 16%, transparent);color:var(--text-muted)}.lap-badge--accent{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.lap-badge--success{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}select.lap-badge{appearance:none;cursor:pointer;text-align:center;text-align-last:center;border:none;width:30px;padding:0}.lap-list{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.lap-row{background:var(--surface);border:1px solid var(--border);border-radius:11px;flex-wrap:nowrap;align-items:center;gap:4px;padding:6px 8px;display:flex;overflow-x:auto}.lap-row-seq{color:var(--text-subtle);text-align:center;flex-shrink:0;min-width:14px;font-size:12px}.lap-row-km{flex-shrink:0;font-size:13px;font-weight:600}.lap-row-pace{white-space:nowrap;text-align:right;flex-shrink:0;min-width:44px;font-size:13px;font-weight:700}.lap-row-meta{color:var(--text-muted);text-align:right;flex-shrink:0;font-size:12px}.lap-row input{text-align:right;flex-shrink:0;width:52px;min-height:32px;padding:4px 6px;font-size:16px}.lap-row-delete{width:24px;height:24px;min-height:unset;color:var(--text-subtle);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:18px;line-height:1;display:flex}@media (hover:hover){.lap-row-delete:hover{color:var(--error);background:color-mix(in srgb, var(--error) 14%, transparent)}}.filename-hint{color:var(--text-muted);margin-bottom:8px;font-size:.85em}.button-row{gap:8px;margin-top:8px;display:flex}.button-row button{flex:1}.saved-step{text-align:center;padding:48px 16px}.saved-step button{margin-top:16px}.bottom-tab-bar{border-top:1px solid var(--border);background:var(--bg);max-width:640px;padding:9px 4px calc(env(safe-area-inset-bottom,0px) + 10px);z-index:20;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab-bar button{min-height:unset;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 2px;display:flex}.bottom-tab-bar button svg{display:block}.bottom-tab-bar-label{font-size:9.5px;font-weight:700}.shoe-form{flex-direction:column;margin-bottom:24px;display:flex}.shoe-form .primary{margin-top:4px}.shoe-list{margin:0 0 8px;padding:0;list-style:none}.shoe-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.shoe-row-main{flex-direction:column;gap:2px;display:flex}.shoe-name{font-weight:600}.shoe-mileage{color:var(--text-muted);font-size:.85em}.shoe-row-actions{align-items:center;gap:8px;display:flex}.shoe-default-toggle{width:22px;height:22px;min-height:unset;flex-shrink:0}.shoe-row-actions button{min-height:36px;padding:0 12px;font-size:.9em}.history-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;margin-bottom:16px;display:grid}.history-filters .field{min-width:0;margin-bottom:0}.history-filters input[type=date]{box-sizing:border-box;appearance:none;width:100%;min-width:0;padding:8px 4px}.history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;padding:14px 16px}.history-card-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.history-date{font-weight:600}.history-type{color:var(--text-muted);font-size:.9em}.history-extra-badge{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning);border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700}.history-summary{margin:4px 0}.history-plan-target,.history-meta-line,.history-feeling,.history-weather{color:var(--text-muted);margin:2px 0;font-size:.9em}.history-card button{min-height:36px;margin-top:8px;font-size:.9em}.history-card .history-card-delete{height:24px;min-height:unset;color:var(--text-subtle);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:0;margin-left:auto;padding:0 7px;font-size:16px;line-height:1;display:flex}.history-card .history-card-delete--confirming{color:var(--error);background:color-mix(in srgb, var(--error) 16%, transparent);font-size:12px;font-weight:700}@media (hover:hover){.history-card .history-card-delete:hover{color:var(--error);background:color-mix(in srgb, var(--error) 14%, transparent)}}.settings-menu{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.settings-menu button{width:100%;min-height:unset;text-align:left;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;align-items:flex-start;gap:3px;padding:16px;display:flex}.settings-menu-title{font-weight:600}.settings-menu-desc{color:var(--text-muted);font-size:.85em}.hrzone-settings>button{margin-bottom:16px}.zone-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:.9em}.zone-table th,.zone-table td{text-align:center;border-bottom:1px solid var(--border);padding:6px 4px}.zone-table td:first-child{text-align:left;white-space:nowrap;font-size:.9em}.zone-table input{text-align:center;min-height:40px;padding:4px 8px;font-size:16px}.mileage-chart{align-items:flex-end;gap:4px;padding-top:8px;display:flex}.mileage-bar-col{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.mileage-bar-value{color:var(--text-muted);white-space:nowrap;font-size:.7em}.mileage-bar-track{justify-content:center;align-items:flex-end;width:100%;display:flex}.mileage-bar{background:var(--accent);border-radius:3px 3px 0 0;width:70%;min-height:2px}.mileage-bar-label{color:var(--text-muted);white-space:nowrap;font-size:.7em}.slot-list{flex-direction:column;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.slot-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;padding:14px 16px}.slot-card--completed{opacity:.75}.slot-card-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.slot-day{font-weight:600}.slot-type{color:var(--text-muted);font-size:.9em}.slot-status{border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:3px 10px;font-size:.75rem;font-weight:600}.slot-status--planned{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.slot-status--completed{color:var(--success);border-color:var(--success);background:color-mix(in srgb, var(--success) 14%, transparent)}.slot-status--skipped{color:var(--text-muted)}.slot-target,.slot-actual{margin:4px 0;font-size:.9em}.slot-actual{color:var(--text-muted)}.slot-card button{min-height:36px;margin-top:8px;font-size:.9em}.slot-notes{margin-top:6px}.slot-notes summary{cursor:pointer;color:var(--text-muted);font-size:.85em}.slot-notes p{white-space:pre-wrap;color:var(--text-muted);margin:6px 0 0;font-size:.85em}
