:root{--gray-950:#09090b;--gray-900:#18181b;--gray-850:#202024;--gray-800:#27272a;--gray-700:#3f3f46;--gray-600:#52525b;--gray-500:#71717a;--gray-400:#a1a1aa;--gray-300:#d4d4d8;--gray-200:#e4e4e7;--gray-100:#f4f4f5;--gray-50:#fafafa;--bg:var(--gray-50);--surface:#fff;--surface-alt:var(--gray-100);--border:var(--gray-300);--text:var(--gray-950);--text-muted:var(--gray-600);--accent:#c8380f;--radius:2px;--border-hairline:1px solid var(--border);--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--warn-bg:#fdf3d9;--warn-border:#e3c579;--warn-text:#6b4e05;--error-bg:#fdecea;--error-border:#e3a29a;--error-text:#8a1f12;--ok-bg:#e6f4ea;--ok-border:#9cc7ab;--ok-text:#1f5c34;--band-short:#8ab4e8;--band-mid-range:#3f7dc9;--band-long:#1c4a8a;--category-private:#2f7ed8;--category-business:#8f6bd9;--category-commute:#2e8f6b;--map-ocean:#cfe3f2;--map-lake:#a9cfe8;--map-land:#dde8d6;--map-urban:#cbb9a3;--map-border:#8fa3b0;--map-river:#5f9dc4;--marker-start:#16213a;--marker-end:#a35a1f;--marker-roundtrip:#1c6b57;--marker-home:#6a3d9a;--marker-work:#b8860b;--font-body:-apple-system, system-ui, "Segoe UI", "Helvetica Neue", Arial, sans-serif;font-family:var(--font-body)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;line-height:1.5}h1,h2,h3,.row__value,.month-card__label{font-family:var(--font-body);letter-spacing:-.01em;font-weight:700;font-stretch:75%}button{font-family:var(--font-body)}.app-header{flex-wrap:wrap;align-items:center;gap:1.5rem;max-width:60rem;margin:0 auto;padding:1.5rem 1.5rem 1rem;display:flex}.app-brand{font-size:var(--text-lg);margin:0 auto 0 0}.app-brand a{color:inherit;text-decoration:none}.app-main{max-width:60rem;margin:0 auto;padding:0 1.5rem 4rem}.page-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.page-header__title{font-size:var(--text-xl);margin:0}.surface{background:var(--surface);border:var(--border-hairline);border-radius:var(--radius);padding:0 var(--space-4)}.section+.section{border-top:var(--border-hairline)}.section__label{padding:var(--space-3) 0 var(--space-1)}.label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.row{align-items:baseline;column-gap:var(--space-4);row-gap:var(--space-1);padding:var(--space-3) 0;border-bottom:var(--border-hairline);grid-template-columns:10rem 1fr auto;display:grid}.row:last-child{border-bottom:none}.row__label{font-size:var(--text-sm);color:var(--text-muted)}.row__value{font-size:var(--text-md);font-variant-numeric:tabular-nums;min-width:0}.row__caption{font-size:var(--text-xs);color:var(--text-muted);grid-column:2/-1}.row__action{grid-area:1/3}.row--link .row__value{font-weight:400;font-stretch:100%;font-size:var(--text-sm);color:var(--text-muted)}.row--link{color:inherit;cursor:pointer;text-decoration:none}.row--link:after{content:"›";color:var(--text-muted);font-size:var(--text-md);grid-area:1/3;line-height:1}.row--media{align-items:stretch;gap:var(--space-3);display:flex}.row--media>.row__label{display:none}.button{background:var(--surface-alt);border:var(--border-hairline);border-radius:var(--radius);color:var(--text);font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);cursor:pointer;text-decoration:none}.button--primary{background:var(--accent);border-color:var(--accent);color:var(--gray-50);font-weight:600}.button--quiet{color:var(--text-muted);padding:var(--space-1);background:0 0;border:none}.button--quiet:hover{color:var(--text)}.page-header .back-link:focus-visible{outline:2px solid var(--text);outline-offset:2px}.row--link:focus-visible{outline:2px solid var(--text);outline-offset:2px}.button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.top-nav__item:focus-visible{outline:2px solid var(--text);outline-offset:2px}.top-nav__action:focus-visible{outline:2px solid var(--text);outline-offset:2px}.tab-bar__item:focus-visible{outline:2px solid var(--text);outline-offset:2px}.back-link:focus-visible{outline:2px solid var(--text);outline-offset:2px}.month-card__link:focus-visible{outline:2px solid var(--text);outline-offset:2px}.timeline-entry__category-chip:focus-visible{outline:2px solid var(--text);outline-offset:2px}.timeline-entry__category-button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.category-picker__option:focus-visible{outline:2px solid var(--text);outline-offset:2px}.reports__chip-input:focus-visible+.reports__chip{outline:2px solid var(--text);outline-offset:2px}.report__export:focus-visible{outline:2px solid var(--text);outline-offset:2px}.cloud-sync__button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.vehicle-overview__entry:focus-visible{outline:2px solid var(--text);outline-offset:2px}@media (max-width:640px){.row{grid-template-columns:1fr auto}.row__label{grid-column:1}.row__value{grid-area:2/1/auto/-1}.row__caption{grid-column:1/-1}.row__action,.row--link:after{grid-area:1/2}}.upload-label{margin-bottom:.5rem;font-weight:600;display:block}.upload-input{color:var(--text-muted);font-size:var(--text-sm)}.notices:not(:empty){gap:.5rem;margin-bottom:1rem;display:grid}.notice{border-radius:var(--radius);font-size:var(--text-sm);opacity:1;border:1px solid;padding:.75rem 1rem;transition:opacity .3s ease-out}.notice--dismissing{opacity:0}.notice--error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.notice--warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.notice--ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.notice--reminder{background:var(--surface-alt);border-color:var(--accent);border-left-width:4px}.month-list{margin:0;list-style:none}.month-card:not(:last-child){border-bottom:var(--border-hairline)}.month-card__link{align-items:center;gap:var(--space-4);border-bottom:none}.month-card__body{justify-content:center;gap:var(--space-2);flex-direction:column;flex:auto;min-width:0;display:flex}.month-card__headline{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.month-card__label{font-size:var(--text-lg);margin:0}.month-card__stats{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0}.month-card__incomplete{font-size:var(--text-xs);background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);border-radius:var(--radius);padding:.1rem .4rem}.month-card__strips{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.month-card__thumbnail{flex:none;align-items:center;display:flex}.month-detail__stats{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0}.month-detail__charging{font-style:italic}.distance-breakdown{border-top:var(--border-hairline);gap:.6rem;margin:.75rem 0 0;padding-top:.75rem;display:grid}.distance-breakdown__row{grid-template-columns:4.5rem 1fr;align-items:center;gap:.6rem;display:grid}.distance-breakdown__row-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.distance-breakdown__bar{border-radius:var(--radius);background:var(--surface-alt);height:.6rem;display:flex;overflow:hidden}.distance-breakdown__bar--no-data{height:auto;color:var(--text-muted);font-size:var(--text-xs);background:0 0;border-radius:0;align-items:center;font-style:italic;display:flex}.distance-breakdown__segment{height:100%}.distance-breakdown__legend{flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0;list-style:none;display:flex}.distance-breakdown__legend-item{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:.4rem;display:flex}.distance-breakdown__swatch{border-radius:999px;flex-shrink:0;width:.6rem;height:.6rem}.band-short.distance-breakdown__segment,.band-short .distance-breakdown__swatch{background:var(--band-short)}.band-midRange.distance-breakdown__segment,.band-midRange .distance-breakdown__swatch{background:var(--band-mid-range)}.band-long.distance-breakdown__segment,.band-long .distance-breakdown__swatch{background:var(--band-long)}.category-breakdown{border-top:var(--border-hairline);gap:.6rem;margin:.75rem 0 0;padding-top:.75rem;display:grid}.category-breakdown__row{grid-template-columns:4.5rem 1fr;align-items:center;gap:.6rem;display:grid}.category-breakdown__row-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.category-breakdown__bar{border-radius:var(--radius);background:var(--surface-alt);height:.6rem;display:flex;overflow:hidden}.category-breakdown__bar--no-data{height:auto;color:var(--text-muted);font-size:var(--text-xs);background:0 0;border-radius:0;align-items:center;font-style:italic;display:flex}.category-breakdown__segment{height:100%}.category-breakdown__legend{flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0;list-style:none;display:flex}.category-breakdown__legend-item{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:.4rem;display:flex}.category-breakdown__swatch{border-radius:999px;flex-shrink:0;width:.6rem;height:.6rem}.category-private.category-breakdown__segment,.category-private .category-breakdown__swatch{background:var(--category-private)}.category-business.category-breakdown__segment,.category-business .category-breakdown__swatch{background:var(--category-business)}.category-commute.category-breakdown__segment,.category-commute .category-breakdown__swatch{background:var(--category-commute)}.distance-breakdown--compact,.category-breakdown--compact{border-top:none;gap:0;margin:0;padding-top:0}.distance-breakdown--compact .distance-breakdown__row,.category-breakdown--compact .category-breakdown__row{grid-template-columns:4rem 1fr;gap:.5rem}.distance-breakdown--compact .distance-breakdown__row-label,.category-breakdown--compact .category-breakdown__row-label{font-size:var(--text-xs);white-space:nowrap}.distance-breakdown--compact .distance-breakdown__bar,.category-breakdown--compact .category-breakdown__bar{height:.5rem}.distance-breakdown--compact .distance-breakdown__bar--no-data,.category-breakdown--compact .category-breakdown__bar--no-data{height:auto;font-size:var(--text-xs)}.vehicle-overview__lifetime-chart{padding-top:var(--space-2)}.vehicle-overview__lifetime-chart>.distance-breakdown:first-child{border-top:none;margin-top:0;padding-top:0}.vehicle-overview__lifetime .month-map{margin-top:var(--space-3)}.vehicle-overview__lease-edit,.vehicle-overview__vehicle-edit{font-size:var(--text-sm);line-height:1}.vehicle-overview__lease-add{margin-top:var(--space-1);display:block}.vehicle-overview__location-address{overflow-wrap:anywhere}.vehicle-overview__entry{text-align:left;border:none;border-bottom:var(--border-hairline);width:100%;font-family:var(--font-body);background:0 0}.vehicle-overview__lease-status{margin:0}.vehicle-overview__lease-status.is-over{color:var(--warn-text)}.vehicle-overview__lease-status.is-under{color:var(--ok-text)}.vehicle-overview__lease-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.vehicle-overview__lease-form:not([hidden]){gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:var(--border-hairline);max-width:24rem;display:grid}.vehicle-overview__lease-field{gap:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);display:grid}.vehicle-overview__lease-field input{background:var(--surface-alt);border:var(--border-hairline);border-radius:var(--radius);color:var(--text);padding:var(--space-2);font-size:var(--text-sm)}.vehicle-overview__lease-form-error:empty{display:none}.vehicle-overview__lease-form-error{color:var(--error-text);font-size:var(--text-sm);margin:0}.vehicle-overview__lease-form-actions{gap:var(--space-2);display:flex}.vehicle-overview__vehicle .row__value{overflow-wrap:anywhere}#category-dialog h2{font-size:var(--text-md);margin:0 0 .75rem}.vehicle-overview__vehicle-form:not([hidden]){gap:.75rem;max-width:24rem;margin-top:.75rem;display:grid}.vehicle-overview__vehicle-field{font-size:var(--text-sm);color:var(--text-muted);gap:.25rem;display:grid}.vehicle-overview__vehicle-field+select,.vehicle-overview__vehicle-form select{background:var(--surface-alt);border:var(--border-hairline);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm);width:100%;padding:.4rem .5rem}.vehicle-overview__vehicle-capacity{font-size:var(--text-sm);color:var(--text-muted);margin:0}.vehicle-overview__vehicle-form-actions{gap:.5rem;display:flex}.import-dialog__vehicle-ask:empty{display:none}.import-dialog__vehicle-ask{border-top:var(--border-hairline);margin-top:.75rem;padding-top:.75rem}.import-dialog__vehicle-title{font-size:var(--text-md);margin:0}.import-dialog__vehicle-note{font-size:var(--text-sm);color:var(--text-muted);margin:.25rem 0 0}.month-detail{gap:var(--space-4);padding-bottom:var(--space-4);display:grid}.back-link{color:var(--text-muted);font-size:var(--text-xl);border-radius:var(--radius);padding:.1rem .35rem .25rem;line-height:1;text-decoration:none}.back-link:hover{color:var(--text)}.back-link:focus-visible{color:var(--text)}.month-detail__recap{gap:var(--space-3);padding-top:var(--space-4);display:grid}.month-detail__missing{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:var(--space-6) var(--space-5);text-align:center;color:var(--text-muted)}.month-detail__missing h3{color:var(--text);font-size:var(--text-lg);margin:0 0 .5rem}.month-detail__no-charging{color:var(--text-muted);font-size:var(--text-sm);margin:0;font-style:italic}.timeline{margin:0;padding:0;list-style:none}.timeline-day{display:grid}.timeline-day__header{z-index:1;background:var(--surface);border-bottom:var(--border-hairline);margin:0;position:sticky;top:0}.timeline-day__entries{margin:0;padding:0;list-style:none}.timeline-entry{padding:var(--space-3) 0;border-bottom:var(--border-hairline);gap:var(--space-1);display:grid}.timeline-entry:last-child{border-bottom:none}.timeline-entry--trip{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;display:flex}.timeline-entry__info{font-size:var(--text-sm);flex:16rem;gap:.25rem;display:grid}.timeline-entry__leg{align-items:baseline;gap:.5rem;display:flex}.timeline-entry__leg-label{text-transform:uppercase;width:2.25rem;font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-muted);flex:none}.timeline-entry__start-time,.timeline-entry__end-time{font-variant-numeric:tabular-nums;flex:none;min-width:2.9rem}.timeline-entry__end-time,.timeline-entry__end-address{color:var(--text-muted)}.timeline-entry__metrics{gap:1rem;display:flex}.timeline-entry__distance,.timeline-entry__energy{font-variant-numeric:tabular-nums}.timeline-entry__category-buttons{flex-wrap:nowrap;flex:none;gap:.4rem;display:flex}.timeline-entry__category-chip{font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid;border-radius:999px;flex:none;padding:.2rem .7rem;font-weight:600;display:none}.timeline-entry__category-chip.category-private{color:var(--category-private)}.timeline-entry__category-chip.category-business{color:var(--category-business)}.timeline-entry__category-chip.category-commute{color:var(--category-commute)}.category-picker{flex-direction:column;gap:.5rem;display:flex}.category-picker__option{border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-md);text-align:left;cursor:pointer;background:0 0;border:1px solid;padding:.6rem 1rem}.category-picker__option.category-private{color:var(--category-private)}.category-picker__option.category-business{color:var(--category-business)}.category-picker__option.category-commute{color:var(--category-commute)}.category-picker__option[aria-pressed=true]{color:var(--gray-950);font-weight:600}.category-picker__option.category-private[aria-pressed=true]{background:var(--category-private)}.category-picker__option.category-business[aria-pressed=true]{background:var(--category-business)}.category-picker__option.category-commute[aria-pressed=true]{background:var(--category-commute)}@media (max-width:640px){.timeline-entry__category-buttons{display:none}.timeline-entry__category-chip{text-align:center;min-width:5.5rem;display:inline-block}}.timeline-entry__category-button{border:var(--border-hairline);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .7rem}.timeline-entry__category-button.category-private{border-color:var(--category-private);color:var(--category-private)}.timeline-entry__category-button.category-business{border-color:var(--category-business);color:var(--category-business)}.timeline-entry__category-button.category-commute{border-color:var(--category-commute);color:var(--category-commute)}.timeline-entry__category-button[aria-pressed=true]{color:var(--gray-950);font-weight:600}.timeline-entry__category-button.category-private[aria-pressed=true]{background:var(--category-private)}.timeline-entry__category-button.category-business[aria-pressed=true]{background:var(--category-business)}.timeline-entry__category-button.category-commute[aria-pressed=true]{background:var(--category-commute)}.is-unknown{color:var(--warn-text);font-style:italic}.timeline-entry--charge{border:1px dashed var(--border);background:var(--surface-alt);padding:var(--space-3);border-bottom:none}.timeline-entry__charge-heading{font-size:var(--text-sm);color:var(--text-muted);font-weight:600;display:block}.timeline-entry__charge-address{font-size:var(--text-xs);color:var(--text-muted);display:block}.mini-map{border-radius:var(--radius);flex-shrink:0;display:block;overflow:hidden}.mini-map__ocean{fill:#cfe3f2}.mini-map__land{fill:#dde8d6;stroke:none}.mini-map__border{fill:none;stroke:#8fa3b0;stroke-width:.5px}.mini-map__connector{fill:none;stroke:var(--text);stroke-width:1.5px;stroke-dasharray:4 3}.mini-map__marker{stroke:var(--bg);stroke-width:1px}.mini-map__marker--start{fill:#16213a}.mini-map__marker--end{fill:#a35a1f}.mini-map__marker--roundtrip{fill:none;stroke:#1c6b57;stroke-width:2px}.mini-map__marker--charge{fill:#c8380f}.mini-map__marker--home{fill:#6a3d9a}.mini-map__marker--work{fill:#b8860b}.mini-map__scale-bar{stroke:var(--text);stroke-width:1.5px}.mini-map__scale-bar-label{fill:var(--text);font-size:7px}.mini-map--unavailable{text-align:center;background:var(--surface-alt);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;display:flex}.mini-map__lake{fill:#a9cfe8;stroke:none}.mini-map__river{fill:none;stroke:#5f9dc4;stroke-width:.6px}.mini-map__urban{fill:#cbb9a3;stroke:none}.month-map{max-width:100%}.month-map.month-map--page{aspect-ratio:5/3;width:100%;max-width:34rem;height:auto}.month-map.month-map--row{aspect-ratio:5/3;width:12rem;height:auto}.month-map--animated{--map-beat-max:.24s;--map-run-max:2.6s;--map-beat-interval:min(var(--map-beat-max), calc(var(--map-run-max) / var(--beat-count)))}.month-map--animated .mini-map__connector{animation:month-map-connector-draw var(--map-beat-interval) linear backwards;animation-delay:calc(var(--beat) * var(--map-beat-interval))}@keyframes month-map-connector-draw{0%{stroke-dasharray:var(--len) var(--len);stroke-dashoffset:var(--len)}to{stroke-dasharray:var(--len) var(--len);stroke-dashoffset:0}}.month-map--animated .mini-map__marker--start,.month-map--animated .mini-map__marker--roundtrip{animation:month-map-mark-pop var(--map-beat-interval) ease-out backwards;animation-delay:calc(var(--beat) * var(--map-beat-interval));transform-box:fill-box;transform-origin:50%}@keyframes month-map-mark-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.month-map--animated .mini-map__marker--end{animation:month-map-mark-fade calc(var(--map-beat-interval) * .4) ease-out backwards;animation-delay:calc(var(--beat) * var(--map-beat-interval) + var(--map-beat-interval) * .6)}.month-map--animated .mini-map__marker--charge{animation:month-map-mark-fade var(--map-beat-interval) ease-out backwards;animation-delay:calc(var(--beat) * var(--map-beat-interval))}@keyframes month-map-mark-fade{0%{opacity:0}to{opacity:1}}.month-detail__map-replay{justify-self:start}#close-import-dialog{background:var(--surface-alt);border:var(--border-hairline);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm);cursor:pointer;align-self:flex-end;margin-top:1rem;padding:.4rem .9rem}.import-dialog__privacy{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 1rem}.top-nav{align-items:center;gap:1.25rem;display:flex}.top-nav__item{color:var(--text-muted);font-size:var(--text-sm);border-bottom:2px solid #0000;padding:.25rem 0;font-weight:600;line-height:normal;text-decoration:none}.top-nav__item:hover{color:var(--text)}.top-nav__item[aria-current=page]{color:var(--text);border-bottom-color:var(--text)}.top-nav__action{border:var(--border-hairline);border-radius:var(--radius);color:var(--text);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;padding:.45rem 1.1rem;font-weight:600;line-height:normal}body[data-stale] .top-nav__action{background:var(--accent);border-color:var(--accent);color:var(--gray-50)}.nav-icon{display:flex}.nav-icon svg{display:block}.tab-bar{left:0;right:0;z-index:10;background:var(--surface);border-top:var(--border-hairline);padding:.25rem .25rem calc(.25rem + env(safe-area-inset-bottom));display:none;position:fixed;bottom:0}.tab-bar__item{min-width:0;font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.2rem;padding:.4rem .2rem;font-weight:500;line-height:1.15;text-decoration:none;display:flex}.tab-bar__item[aria-current=page]{color:var(--text);font-weight:700}body[data-stale] .tab-bar__action{color:var(--accent)}body[data-stale] .tab-bar__action .nav-icon{position:relative}body[data-stale] .tab-bar__action .nav-icon:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:-1px;right:-3px}@media (max-width:640px){.app-header{display:none}.app-main{padding-top:var(--space-5)}.top-nav,.top-nav__action{display:none}.tab-bar{display:flex}.tab-bar[hidden]{display:none}.month-card__link{gap:var(--space-3)}.month-card__thumbnail .month-map.month-map--row{width:7.5rem}.app-main{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}}@media (min-width:641px){.nav-icon{display:none}}.reports,.report{padding-bottom:var(--space-4)}.report{padding-top:var(--space-4)}.reports__chips{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;display:flex}.reports__chip-input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reports__chip{border:var(--border-hairline);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.3rem .9rem}.reports__chip-input:checked+.reports__chip{background:var(--accent);border-color:var(--accent);color:var(--gray-50);font-weight:600}.reports__range-summary{align-items:baseline;gap:var(--space-1) var(--space-2);margin:0 0 var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.reports__range-value{font-variant-numeric:tabular-nums}.reports__range-change{text-decoration:underline;display:none}@media (max-width:640px){.reports__range-change:not([hidden]){display:inline-block}}.reports__range{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.reports__custom-sheet{display:none}.reports__custom-done{align-self:flex-end}@media (max-width:640px){.reports__custom-inline{display:none}.reports__custom-sheet{display:revert;background:var(--surface);color:var(--text);padding-inline:var(--space-5);padding-top:var(--space-5)}.reports__custom-sheet[open]{flex-direction:column;display:flex}.reports__custom-sheet::backdrop{background:#0009}.reports__custom-sheet h3{margin:0 0 var(--space-3);font-size:var(--text-md)}}.report__sessions{border-collapse:collapse;width:100%;margin-top:.75rem}.report__sessions th,.report__sessions td{text-align:left;border-bottom:var(--border-hairline);padding:.4rem .5rem .4rem 0}.report__sessions td:last-child,.report__sessions th:last-child{text-align:right;padding-right:0}.report__totals{margin-top:.75rem;font-weight:600}.report__export{margin-top:var(--space-4);display:inline-block}.import-dialog__help{font-size:var(--text-sm);margin:.35rem 0 0}.import-dialog__help a{color:var(--accent)}.import-dialog__pairing{margin:.75rem 0 0}.import-dialog__pairing button{font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.import-dialog__pairing button:hover{color:var(--text)}.sheet{--sheet-max-width:32rem;max-width:var(--sheet-max-width);background:var(--surface);border:var(--border-hairline);border-radius:var(--radius);width:90%;padding:var(--space-5);color:var(--text)}.sheet--narrow{--sheet-max-width:22rem}.sheet[open]{flex-direction:column;display:flex}.sheet--gate[open]{z-index:20;flex-direction:column;max-height:85vh;margin:0;display:flex;position:fixed;top:50%;left:50%;right:auto;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 1.5rem 3rem #0000004d}.sheet::backdrop{background:#0009}@media (max-width:640px){.sheet{border:none;border-top:var(--border-hairline);width:100%;max-width:100%;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));border-radius:.9rem .9rem 0 0;max-height:85vh;margin:auto 0 0;overflow-y:auto}.sheet--gate[open]{border-radius:.9rem .9rem 0 0;top:auto;bottom:0;left:0;right:0;transform:none}.sheet{transition:translate .22s ease-out, overlay .22s allow-discrete, display .22s allow-discrete;translate:0 100%}.sheet[open]{translate:0}@starting-style{.sheet[open]{translate:0 100%}}}@media (prefers-reduced-motion:reduce){.sheet{transition:none;translate:none}.month-map--animated .mini-map__connector,.month-map--animated .mini-map__marker--start,.month-map--animated .mini-map__marker--end,.month-map--animated .mini-map__marker--roundtrip,.month-map--animated .mini-map__marker--charge{animation:none}.month-detail__map-replay{display:none}}@media print{.report__export,.app-header,.tab-bar,.back-link,.timeline-entry__category-buttons,.timeline-entry__category-chip,.reports__chips,.reports__range{display:none}.timeline-day__header{position:static}.timeline-day{break-inside:avoid}}#close-cloud-sync{background:var(--surface-alt);border:var(--border-hairline);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm);cursor:pointer;align-self:flex-end;margin-top:1rem;padding:.4rem .9rem}#install-hint-dialog h2{font-size:var(--text-lg);margin:0 0 .75rem}#install-hint-dialog p{font-size:var(--text-sm);margin:0 0 .75rem}#install-hint-dialog ol{font-size:var(--text-sm);margin:0 0 1rem;padding-left:1.25rem}#install-hint-dialog li{margin-bottom:.35rem}#close-install-hint{background:var(--surface-alt);border:var(--border-hairline);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm);cursor:pointer;align-self:flex-end;padding:.4rem .9rem}.cloud-sync__intro,.cloud-sync__confirmation{font-size:var(--text-sm);margin:0 0 1rem}.cloud-sync__fineprint{color:var(--text-muted);font-size:var(--text-xs);margin:0 0 1rem}.cloud-sync__disclosure{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);color:var(--warn-text);font-size:var(--text-sm);margin:0 0 1rem;padding:.6rem .8rem}.cloud-sync__error{background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius);color:var(--error-text);font-size:var(--text-sm);margin:0 0 1rem;padding:.6rem .8rem}.cloud-sync__status{font-size:var(--text-sm);margin:0 0 1rem}.cloud-sync__status--error{color:var(--error-text)}.cloud-sync__qr{width:min(16rem,100%);margin:0 auto .75rem;display:block}.cloud-sync__qr-bg{fill:#fff}.cloud-sync__qr-modules{fill:#000}.cloud-sync__key-text{background:var(--surface-alt);border:var(--border-hairline);border-radius:var(--radius);font-size:var(--text-xs);word-break:break-all;-webkit-user-select:all;user-select:all;margin:0 0 1rem;padding:.5rem;display:block}.cloud-sync__actions{flex-wrap:wrap;gap:.5rem;display:flex}.cloud-sync__actions--column{flex-direction:column;align-items:stretch}.cloud-sync__button{background:var(--surface-alt);border:var(--border-hairline);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm);cursor:pointer;padding:.5rem 1rem}.cloud-sync__button--primary{background:var(--accent);border-color:var(--accent);color:var(--gray-50);font-weight:600}.cloud-sync__button--danger{color:var(--error-text);border-color:var(--error-border)}.cloud-sync__pair-form{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.cloud-sync__pair-label{font-weight:600;font-size:var(--text-sm)}.cloud-sync__pair-input{border:var(--border-hairline);border-radius:var(--radius);font-family:monospace;font-size:var(--text-sm);padding:.5rem}.cloud-sync__scan-video{border:var(--border-hairline);border-radius:var(--radius);width:100%;margin:.75rem 0;display:block}.cloud-sync__install-bridge{background:var(--surface-alt);border:var(--border-hairline);border-radius:var(--radius);margin-top:1rem;padding:.75rem .9rem}.cloud-sync__install-bridge-steps{font-size:var(--text-sm);margin:0 0 .75rem;padding-left:1.25rem}.cloud-sync__install-bridge-steps li{margin-bottom:.35rem}.month-card__link{color:inherit;text-decoration:none}
