*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{color-scheme:light}:root{color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--text-xs: 12px;--leading-xs: 1.4;--text-sm: 13px;--leading-sm: 1.5;--text-base: 15px;--leading-base: 1.55;--text-lg: 17px;--leading-lg: 1.35;--text-xl: 20px;--leading-xl: 1.3;--text-2xl: 26px;--leading-2xl: 1.15;--weight-regular: 400;--weight-medium: 550;--weight-semibold: 650;--weight-bold: 750;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(30, 37, 33, .04), 0 1px 3px rgba(30, 37, 33, .05);--shadow-md: 0 6px 20px rgba(30, 37, 33, .12), 0 2px 6px rgba(30, 37, 33, .06);--bg: #f6f7f5;--paper: #ffffff;--surface: #fbfcfb;--ink: #1e2521;--ink-inverse: #ffffff;--muted: #5b665d;--line: #d7ded8;--line-strong: #9aa69d;--ink-strong: #26302a;--accent: #2f6f4e;--accent-strong: #2b6647;--accent-2: #b66a26;--accent-tint: #e4efe7;--accent-tint-weak: #eff5f1;--accent-line: #9bc3a8;--accent-ring: rgba(47, 111, 78, .3);--chip: #edf3ee;--chip-active: #d8eadc;--weather-tint: #eef4fb;--weather-line: #b9cfe6;--rating-bad-tint: #f6f1e5;--rating-bad-line: #dccfa8;--warn: #fff4d6;--warn-line: #ead8a3;--warn-ink: #6d5315;--danger-bg: #fff5f2;--danger-bg-hover: #ffeee9;--danger-line: #d5b3ac;--danger-line-strong: #c39a91;--danger-ink: #8a2e23;--tap-min: 44px;--tap-lg: 48px;--app-max: 480px;--transition: .14s ease;--focus-outline: 2px solid var(--accent);--focus-offset: 2px}@media(prefers-reduced-motion:reduce){:root{--transition: 0ms}}*,*:before,*:after{box-sizing:border-box}#app{max-width:var(--app-max);margin:0 auto;min-height:100vh;background:var(--bg);position:relative;padding-bottom:84px;color:var(--ink);font-size:var(--text-base);line-height:var(--leading-base)}button{font:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}.hidden{display:none!important}:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.appbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--paper);border-bottom:1px solid var(--line);min-height:56px}.appbar-actions{display:flex;align-items:center;gap:var(--space-2)}.screen-header-row{display:flex;align-items:center;gap:var(--space-3);min-width:0}.brand{min-width:0}.brand strong{display:block;font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-bold);color:var(--ink);letter-spacing:-.01em}.brand span{display:block;color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-xs)}.icon-button,.ghost-button,.primary-button,.danger-button{min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--line);padding:var(--space-2) var(--space-4);background:var(--paper);color:var(--ink);font-weight:var(--weight-semibold);font-size:var(--text-sm);transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition)}.ghost-button:hover,.icon-button:hover{background:var(--bg);border-color:var(--line-strong)}.ghost-button:active,.icon-button:active{background:var(--chip)}.icon-button{width:var(--tap-min);padding:0;font-size:var(--text-xl)}.primary-button{border-color:var(--accent);background:var(--accent);color:var(--ink-inverse);font-weight:var(--weight-bold)}.primary-button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.primary-button:active{background:var(--accent-strong)}.primary-button:disabled{opacity:.45;cursor:default}.danger-button{border-color:var(--danger-line);background:var(--danger-bg);color:var(--danger-ink)}.danger-button:hover{border-color:var(--danger-line-strong);background:var(--danger-bg-hover)}.ghost-button.small{min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.content{padding:var(--space-4);display:grid;gap:var(--space-4)}.search{min-height:var(--tap-min);display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search input{border:0;background:transparent;width:100%;outline:none;font-size:var(--text-base);color:var(--ink)}.count-label{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0}.ride-list{display:grid;gap:var(--space-3)}.card{display:grid;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--paper);text-align:left;width:100%;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.card:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);border-color:var(--accent)}a.card,button.card{text-decoration:none;color:inherit}.card-title{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-bold);color:var(--ink);letter-spacing:-.01em}.card-sub,.setup-line{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-sm)}.notes-preview{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-sm);font-style:italic}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{min-height:32px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);background:var(--chip);color:var(--ink);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1}.chip-btn{border:1px solid var(--line);cursor:pointer;min-height:var(--tap-min);transition:background-color var(--transition),border-color var(--transition)}.chip-btn:hover{border-color:var(--line-strong)}.chip.active{border-color:var(--accent-line);background:var(--chip-active);color:var(--ink)}.chip.active:before{content:"✓ "}.chip-surface{background:var(--chip)}.chip-weather{background:var(--weather-tint);border-color:var(--weather-line)}.chip-rating{background:var(--rating-bad-tint);border-color:var(--rating-bad-line)}.chip-rating-good{background:var(--accent-tint);border-color:var(--accent-line)}.chip-rating-ok{background:var(--chip);border-color:var(--line-strong)}.chip-rating-bad{background:var(--rating-bad-tint);border-color:var(--rating-bad-line)}.active-filter-row{display:flex}.empty-state{display:grid;gap:var(--space-3);justify-items:center;text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-5);color:var(--muted)}.empty-state p{margin:0;font-size:var(--text-base)}.fab-wrap{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;z-index:10;pointer-events:none}.fab-inner{width:100%;max-width:var(--app-max);padding:var(--space-3) var(--space-4);pointer-events:auto;background:linear-gradient(to top,var(--bg) 65%,transparent)}.floating-action{width:100%;min-height:var(--tap-lg);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent);color:var(--ink-inverse);font-weight:var(--weight-bold);border:1px solid var(--accent);font-size:var(--text-base);box-shadow:var(--shadow-md);transition:background-color var(--transition),box-shadow var(--transition)}.floating-action:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.floating-action:active{box-shadow:var(--shadow-sm)}.field{display:grid;gap:var(--space-2)}.label{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase}.hint{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-xs)}.textinput{min-height:var(--tap-min);width:100%;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--surface);color:var(--ink);font-size:var(--text-base);transition:border-color var(--transition),box-shadow var(--transition)}.textinput:focus,.textinput:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}textarea.textinput{min-height:84px;resize:vertical;line-height:var(--leading-base)}.carried{border:2px dashed var(--accent-line);border-radius:var(--radius-md);padding:var(--space-2);background:var(--accent-tint-weak)}.carried-note{color:var(--accent);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-semibold);margin:var(--space-2) 0 0}.stepper{display:grid;grid-template-columns:var(--tap-min) 1fr var(--tap-min);gap:var(--space-2);align-items:stretch}.step{min-height:var(--tap-lg);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);font-size:var(--text-xl);font-weight:var(--weight-bold);transition:background-color var(--transition),border-color var(--transition)}.step:hover{background:var(--bg);border-color:var(--line-strong)}.step:active{background:var(--chip)}.step-display{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:border-color var(--transition),box-shadow var(--transition)}.step-display:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.step-display input{border:0;background:transparent;width:70px;text-align:right;font-size:var(--text-lg);font-weight:var(--weight-bold);outline:none;color:var(--ink)}.step-display span{color:var(--muted);font-size:var(--text-xs)}.note-box{border:1px solid var(--warn-line);border-radius:var(--radius-md);padding:var(--space-3);background:var(--warn);color:var(--warn-ink);font-size:var(--text-xs);line-height:var(--leading-sm);margin:0}fieldset{border:0;margin:0;padding:0}.collapse-toggle{min-height:var(--tap-min);width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);padding:var(--space-2) var(--space-3);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--ink);transition:background-color var(--transition),border-color var(--transition)}.collapse-toggle:hover{background:var(--bg);border-color:var(--line-strong)}.collapse-body{display:grid;gap:var(--space-4);padding-top:var(--space-2)}.form-actions{display:grid;gap:var(--space-2);padding-top:var(--space-2)}.detail-hero{padding:var(--space-4);border-bottom:1px solid var(--line);background:var(--surface);display:grid;gap:var(--space-3)}.detail-title{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:var(--weight-bold);color:var(--ink);margin:0;letter-spacing:-.01em}.summary-list{display:grid;gap:var(--space-4)}.summary-row{display:grid;grid-template-columns:88px 1fr;gap:var(--space-3);align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:var(--space-4)}.summary-row>div:last-child{font-size:var(--text-base);line-height:var(--leading-base);color:var(--ink)}.summary-row:last-child{border-bottom:0;padding-bottom:0}.pressure-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.pressure-box{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);background:var(--paper)}.pressure-box span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.03em;display:block;margin-bottom:var(--space-1)}.pressure-box strong{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-bold);color:var(--ink);display:block}.startfrom-hint{color:var(--muted);font-size:var(--text-xs)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14191673;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal-overlay.hidden{display:none}.modal-card{width:100%;max-width:var(--app-max);background:var(--paper);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5);display:grid;gap:var(--space-4);box-shadow:var(--shadow-md)}.modal-card h2{margin:0;font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-bold);color:var(--ink)}.modal-card p{margin:0;font-size:var(--text-base);line-height:var(--leading-base);color:var(--muted)}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.toast-wrap{position:fixed;left:0;right:0;bottom:88px;display:flex;justify-content:center;z-index:60;pointer-events:none}.toast{background:var(--ink-strong);color:var(--ink-inverse);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-semibold);box-shadow:var(--shadow-md);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateY(0)}.settings-note{color:var(--muted);font-size:var(--text-xs);line-height:1.6}.trust-note{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);background:var(--paper);color:var(--muted);font-size:var(--text-xs);line-height:1.6}.banner{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);background:var(--paper);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm)}.banner p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--ink)}.banner-actions{display:flex;gap:var(--space-2)}.banner-actions .ghost-button{width:auto;flex:1}.file-hidden{display:none}.link-btn{background:none;border:0;color:var(--accent);font-weight:var(--weight-bold);text-decoration:underline;padding:0;min-height:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0ms!important;animation-duration:0ms!important;animation-iteration-count:1!important}}
