:root{--ink:#172124;--muted:#5d6b68;--paper:#f2eee4;--surface:#fffdf8;--sand:#ece4d2;--line:#d7d0c2;--orange:#e45b2d;--orange-dark:#b74421;--blue:#176b83;background:var(--paper);color:var(--ink);font-synthesis:none;line-height:1.5}body{background-color:var(--paper);background-image:radial-gradient(#d6cdbb 1px,#0000 1px);background-size:22px 22px;min-width:320px;margin:0}#root{max-width:78rem;margin:0 auto;padding:clamp(1rem,2.5vw,2.5rem) clamp(1rem,5vw,4rem)}main{font-family:Avenir Next,Avenir,Segoe UI,sans-serif}.app-shell{gap:1.5rem;display:grid}.hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;padding-bottom:1.25rem;display:flex}.brand-lockup{align-items:center;gap:.7rem;margin-bottom:1.2rem;display:flex}.brand-mark{background:var(--orange);border:3px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex;position:relative;transform:rotate(-18deg)}.brand-mark:before,.brand-mark:after{background:var(--ink);content:"";width:2.25rem;height:2px;position:absolute}.brand-mark:after{transform:rotate(90deg)}.brand-mark span{background:var(--paper);border:2px solid var(--ink);z-index:1;border-radius:50%;width:.45rem;height:.45rem;position:relative}.brand-name{color:var(--ink);letter-spacing:-.055em;font-size:1.2rem;font-weight:850}.brand-name span{color:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Arial Narrow,Avenir Next,sans-serif}h1{color:var(--ink);letter-spacing:-.075em;max-width:14ch;margin-bottom:.65rem;font-size:clamp(2.2rem,4.5vw,4.25rem);font-weight:800;line-height:.9}h2{color:var(--ink);letter-spacing:-.045em;margin-bottom:0;font-size:clamp(1.45rem,3vw,2rem)}h3{color:var(--ink);margin-bottom:.25rem;font-size:1rem}.eyebrow,.section-kicker{color:var(--orange-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;font-size:.73rem;font-weight:850}.section-kicker{margin-bottom:.25rem}.intro,.optional,.record-meta,.record-notes,.form-help,.record-no-cost{color:var(--muted)}.intro{max-width:42rem;margin-bottom:0;font-size:1rem;line-height:1.5}.storage-note{background:var(--ink);color:var(--paper);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;margin:0 0 .25rem;padding:.55rem .8rem;font-size:.8rem;font-weight:750;display:flex}.storage-note span{color:var(--orange);font-size:1rem}.header-tools{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.header-icon-button{background:var(--surface);border:1px solid var(--ink);color:var(--ink);justify-content:center;align-items:center;width:2.6rem;height:2.6rem;padding:.55rem;display:inline-flex}.header-icon-button:hover{background:var(--sand)}.header-icon-button:disabled{cursor:not-allowed;opacity:.5}.header-icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.25rem;height:1.25rem}.garage-switcher{background:var(--sand);border:1px solid var(--line)}.garage-switcher summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem clamp(1rem,3vw,1.5rem);list-style:none;display:flex}.garage-switcher summary::-webkit-details-marker{display:none}.garage-switcher summary>span:first-child{gap:.1rem;display:grid}.garage-switcher summary strong{color:var(--ink);font-size:1.05rem}.garage-summary-action{color:var(--orange-dark);font-size:.85rem;font-weight:800}.garage-switcher[open] summary{border-bottom:1px solid var(--line)}.garage-content{gap:.9rem;padding:1rem clamp(1rem,3vw,1.5rem);display:grid}.garage-content h2{font-size:1.3rem}.garage-controls{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.garage-select select{width:auto;min-height:2.6rem}.motorcycle-name-form{gap:.45rem;display:flex}.motorcycle-name-form input{width:min(15rem,38vw);min-height:2.6rem}.garage-switcher .field-error{flex-basis:100%;margin:0}.app-nav{border-bottom:2px solid var(--ink);gap:.2rem;display:flex}.nav-tab{color:var(--muted);background:0 0;border:0;border-bottom:4px solid #0000;border-radius:0;min-height:3rem;padding:.55rem 1rem;font-size:.9rem}.nav-tab:hover{background:var(--sand);color:var(--ink)}.nav-tab[aria-current=page]{border-bottom-color:var(--orange);color:var(--ink)}.card,.history{background:var(--surface);border:1px solid var(--line);border-radius:.35rem;padding:clamp(1.1rem,3vw,2.25rem);box-shadow:0 14px 35px #17212412}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.4rem;padding-bottom:.9rem;display:flex}.field-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;display:grid}.field-label{gap:.4rem;font-weight:750;display:grid}.required-mark{color:var(--orange-dark);font-size:.76rem;font-weight:800}input,select,textarea{box-sizing:border-box;color:var(--ink);font:inherit;background:#fffdf9;border:1px solid #9aa8a7;border-radius:.2rem;width:100%;min-height:2.75rem;padding:.6rem .7rem}textarea{resize:vertical;min-height:auto}input::placeholder,textarea::placeholder{color:#71807e;opacity:1}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}input[aria-invalid=true],select[aria-invalid=true]{border-color:#aa2f22}fieldset{border:0;border-top:1px solid var(--line);margin:1.5rem 0;padding:1.25rem 0 0}legend{padding:0;font-weight:750}.record-type-fieldset{border-top:0;margin:0 0 1.5rem;padding:0}.record-type-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.65rem;display:grid}.record-type-option{cursor:pointer;border:1px solid #b6c0bd;border-radius:.2rem;gap:.1rem;min-height:4.7rem;padding:.75rem;transition:border-color .15s,background .15s;display:grid}.record-type-option:hover{border-color:var(--ink)}.record-type-option.is-selected{background:var(--sand);border-color:var(--orange);box-shadow:inset 4px 0 var(--orange)}.record-type-option input{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.record-type-option:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}.record-type-name{color:var(--ink);font-weight:850}.record-type-description{color:var(--muted);font-size:.82rem;font-weight:500;line-height:1.3}.field-error{color:#aa2f22;margin:0;font-size:.9rem;font-weight:650}.error-summary{color:#6e211a;background:#fff0eb;border-left:4px solid #aa2f22;margin-bottom:1rem;padding:.8rem 1rem}button{cursor:pointer;font:inherit;border-radius:.2rem;min-height:2.6rem;padding:.55rem .8rem;font-weight:750}.primary-button{background:var(--orange);border:1px solid var(--orange);color:#fff}.primary-button:hover{background:var(--orange-dark);border-color:var(--orange-dark)}.text-button,.danger-button{background:0 0}.text-button{color:var(--ink);border:1px solid #758381}.danger-button{color:#8e261b;border:1px solid #aa2f22}.form-actions{flex-wrap:wrap;align-items:center;gap:.8rem 1rem;margin-top:1.25rem;display:flex}.form-help{font-size:.84rem}.record-count{color:var(--muted);white-space:nowrap}.empty-state{background:var(--sand);border:1px dashed #b8a37f;border-radius:.2rem;align-items:center;gap:1rem;padding:clamp(1rem,3vw,1.5rem);display:flex}.empty-state h3{margin-bottom:.35rem;font-size:1.1rem}.empty-state p{color:var(--muted);max-width:35rem;margin-bottom:0}.empty-state-icon{background:var(--orange);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.6rem;display:flex}.record-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.record-item{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:1rem .25rem;display:flex}.record-item:hover{border-color:var(--orange)}.record-content{min-width:0}.record-heading{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.55rem;display:flex}.record-item p{margin-bottom:.35rem}.record-meta{font-size:.88rem;margin:0!important}.record-kind{border-radius:.15rem;padding:.2rem .5rem;font-size:.7rem;font-weight:850}.kind-fuel{color:#145b55;background:#d8eee9}.kind-part{color:#285275;background:#dfe8f3}.kind-work{color:#8e421d;background:#f9dfca}.record-side{flex-direction:column;flex:none;align-items:flex-end;gap:.7rem;display:flex}.record-cost{color:var(--ink);margin:0;font-size:1.1rem;font-weight:850}.record-no-cost{margin:.15rem 0 0;font-size:.85rem}.record-actions,.delete-confirmation{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.delete-confirmation{background:#fff0eb;border-radius:.2rem;align-items:flex-end;padding:.5rem}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.expenses-panel{min-width:0}.currency-filter{color:var(--muted);align-items:center;gap:.5rem;font-size:.88rem;font-weight:750;display:flex}.currency-filter select{width:auto;min-height:2.4rem}.chart-legend{flex-wrap:wrap;gap:.6rem 1rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.chart-legend li{color:var(--muted);align-items:center;gap:.35rem;font-size:.9rem;font-weight:700;display:flex}.legend-swatch{border-radius:2px;width:.75rem;height:.75rem}.legend-fuel{background:#167d73}.legend-part{background:#3970a4}.legend-work{background:var(--orange)}.chart-scroll{padding:.25rem .2rem .5rem;overflow-x:auto}.expense-chart{width:100%;min-width:620px;display:block}.chart-axis{stroke:#83918f;stroke-width:1px}.chart-bar{stroke:var(--surface);stroke-width:1px}.chart-total{fill:var(--ink);font-size:12px;font-weight:800}.chart-month{fill:var(--muted);font-size:11px}.chart-data{margin-top:1rem}.chart-data summary{color:var(--orange-dark);cursor:pointer;width:fit-content;font-weight:750}.table-scroll{overflow-x:auto}.chart-data table{border-collapse:collapse;width:100%;min-width:38rem;margin-top:.75rem}.chart-data caption{color:var(--muted);caption-side:bottom;text-align:left;padding-top:.5rem;font-size:.85rem}.chart-data th,.chart-data td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:.55rem .7rem}.chart-data thead th{color:var(--muted);font-size:.85rem}.chart-data th:first-child{text-align:left}.about-panel{background:var(--ink);border:1px solid var(--ink);color:var(--paper);border-radius:.35rem;padding:clamp(1.25rem,4vw,3rem);overflow:hidden}.about-hero{border-bottom:1px solid #f2eee442;justify-content:space-between;align-items:end;gap:2rem;padding-bottom:clamp(1.5rem,4vw,2.75rem);display:flex}.about-hero h2{color:var(--paper);max-width:12ch;font-size:clamp(2rem,5vw,3.8rem);line-height:.95}.about-hero .section-kicker{color:#f08b5d}.about-lead{color:#d5d8ce;max-width:43rem;margin:0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.55}.about-badge{border:1px solid var(--orange);color:var(--orange);border-radius:50%;flex-direction:column;flex:0 0 7rem;justify-content:center;align-items:center;width:7rem;height:7rem;line-height:1;display:flex;transform:rotate(7deg)}.about-badge span{letter-spacing:.15em;font-size:.7rem;font-weight:850}.about-badge strong{letter-spacing:-.04em;font-size:1.35rem}.about-grid{grid-template-columns:repeat(3,1fr);gap:1px;margin:clamp(1.5rem,4vw,2.75rem) 0;display:grid}.about-card{border-left:1px solid #f2eee442;padding:.2rem clamp(1rem,2.5vw,2rem) 0}.about-card:first-child{border-left:0;padding-left:0}.about-card h3{color:var(--paper);margin:.85rem 0 .5rem;font-size:1.15rem}.about-card p{color:#b8c0bb;max-width:26ch;margin:0;line-height:1.55}.about-card-mark{color:var(--orange);letter-spacing:.12em;font-size:.75rem;font-weight:850}.about-boundary{background:#243235;align-items:center;gap:.8rem;padding:.85rem 1rem;display:flex}.about-boundary p{color:#d5d8ce;margin:0;font-size:.88rem;line-height:1.45}.about-boundary strong{color:var(--paper)}.about-boundary-icon{background:var(--orange);color:#fff;border-radius:50%;flex:0 0 1.8rem;justify-content:center;align-items:center;width:1.8rem;height:1.8rem;font-weight:850;display:flex}.backup-tools{border-top:1px solid #f2eee442;grid-template-columns:1fr auto;gap:1rem;margin-top:clamp(1.5rem,4vw,2.75rem);padding-top:clamp(1.5rem,3vw,2rem);display:grid}.backup-tools h3{color:var(--paper);margin-bottom:.35rem;font-size:1.15rem}.backup-tools>div>p,.backup-message{color:#b8c0bb;margin-bottom:0}.backup-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.backup-tools .text-button{color:var(--paper);border-color:#aeb9b2}.backup-tools .text-button:hover{background:#314144}.backup-message,.backup-confirmation{grid-column:1/-1}.backup-confirmation{border-left:4px solid var(--orange);background:#243235;gap:.8rem;padding:.9rem 1rem;display:grid}.backup-confirmation p{color:#d5d8ce;margin:0}.backup-confirmation strong{color:var(--paper)}.backup-status{gap:.75rem;display:grid}.backup-status .backup-message{background:var(--sand);color:var(--ink);padding:.8rem 1rem;font-weight:700}.about-story,.about-privacy{border-top:1px solid #f2eee442;grid-template-columns:minmax(12rem,.7fr) 1fr;gap:1.5rem;margin-top:clamp(1.5rem,4vw,2.75rem);padding-top:clamp(1.5rem,3vw,2rem);display:grid}.about-story h3,.about-privacy h3{color:var(--paper);margin-bottom:0;font-size:1.2rem}.about-story>p,.about-privacy>p{color:#d5d8ce;max-width:48rem;margin:0;line-height:1.55}.about-story a{color:#f08b5d;text-underline-offset:.15em;font-weight:800}.about-story a:hover{color:var(--paper)}.about-privacy .section-kicker{color:#8fc9bd}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (width<=34rem){#root{padding:1rem}.hero,.record-item{flex-direction:column;align-items:stretch}.brand-lockup{margin-bottom:.85rem}.header-tools{align-self:flex-start}.garage-switcher summary{flex-direction:column;align-items:flex-start}.garage-controls,.motorcycle-name-form{flex-direction:column;align-items:stretch}.garage-select select,.motorcycle-name-form input{width:100%}.record-type-options{grid-template-columns:1fr}.record-type-option{min-height:auto}.record-side,.record-actions,.delete-confirmation{align-items:stretch}.record-cost,.record-no-cost{align-self:flex-start}.record-actions{grid-template-columns:1fr 1fr;display:grid}.delete-confirmation{grid-column:1/-1}.empty-state{align-items:flex-start}.section-heading,.currency-filter,.about-hero{flex-direction:column;align-items:flex-start}.about-badge{align-self:flex-end}.about-grid{grid-template-columns:1fr;gap:1.4rem}.about-card,.about-card:first-child{border-top:1px solid #f2eee442;border-left:0;padding:1.2rem 0 0}.about-card:first-child{border-top:0;padding-top:0}.about-story,.about-privacy,.backup-tools{grid-template-columns:1fr}}
