@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/literata-latin-600-normal-A9sHopYh.woff2) format("woff2"),url(/assets/literata-latin-600-normal-BFEFPlMO.woff) format("woff")}@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/literata-latin-700-normal-DYBWKELl.woff2) format("woff2"),url(/assets/literata-latin-700-normal-ocJiFfAw.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-RR2C27NP.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-Ck0n4g8U.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2) format("woff2"),url(/assets/source-sans-3-latin-700-normal-B-h9tW5h.woff) format("woff")}:root{--paper: #f3ecdf;--paper-deep: #e7ddcc;--card: #fffdf8;--ink: #1c2430;--ink-soft: #5c6672;--line: #e0d4c2;--navy: #1b3a5c;--navy-deep: #14283f;--btn: #1b3a5c;--btn-text: #f7f1e6;--car: #8a3412;--car-bg: #fde4d2;--car-line: #e2b089;--bike: #0d5c3c;--bike-bg: #d7f2e4;--bike-line: #8dceb0;--danger: #9f1239;--focus: #1d4e89;--shadow: 0 18px 40px rgba(55, 36, 14, .08);--serif: "Literata", "Iowan Old Style", Palatino, Georgia, serif;--sans: "Source Sans 3", "Segoe UI", sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper: #12161c;--paper-deep: #1a212b;--card: #1c242e;--ink: #f4efe6;--ink-soft: #c4bbae;--line: #344252;--navy: #d5e4f5;--navy-deep: #0c1520;--btn: #d5e4f5;--btn-text: #122033;--car: #ffc2a3;--car-bg: #3c261c;--car-line: #8d5340;--bike: #9ee0c2;--bike-bg: #17352a;--bike-line: #2f7a58;--danger: #fda4af;--focus: #f0c14d;--shadow: 0 18px 40px rgba(0, 0, 0, .28);color-scheme:dark}}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.5;color:var(--ink);background:radial-gradient(circle at top left,rgba(255,255,255,.35),transparent 28%),var(--paper)}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}:focus{outline:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}::selection{background:#d7e4f5;color:#122033}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:1rem;top:-4rem;z-index:5;background:var(--card);color:var(--ink);padding:.55rem .9rem;border-radius:999px}.skip:focus{top:1rem}.page{min-height:100vh;display:flex;flex-direction:column}.hero{background:radial-gradient(circle at 90% 10%,rgba(240,192,154,.35),transparent 26%),linear-gradient(165deg,#1b3a5c,#14283f 78%);color:#f7f1e6;padding:1.35rem 0 3.4rem}@media(prefers-color-scheme:dark){.hero{color:#f7f1e6}}.hero-inner,.shell,.colophon{width:min(1120px,calc(100% - 1.5rem));margin-inline:auto}.brand{display:flex;align-items:center;gap:.9rem}.logo{width:3rem;height:3rem;flex:none}.kicker{margin:0;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:700;opacity:.78}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.02em}h1{margin:0;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.05}.lede{max-width:42rem;margin:.9rem 0 0;font-size:1.05rem;color:#f7f1e6e0}.shell{flex:1;margin-top:-2.1rem;display:grid;gap:1rem;align-items:start}@media(min-width:980px){.shell{grid-template-columns:minmax(0,1fr) 320px}.side{position:sticky;top:1rem;display:grid;gap:1rem}}.board,.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.board{padding:1rem .85rem}@media(min-width:720px){.board{padding:1.15rem 1.25rem 1.25rem}}.side{display:grid;gap:1rem}.panel{padding:1.05rem 1.05rem 1.15rem}.panel h2,.month-nav h2{margin:0}.month-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.month-nav-main{display:flex;align-items:center;gap:.35rem}.month-nav h2{min-width:11.5rem;text-align:center;font-size:clamp(1.45rem,2.4vw,1.9rem)}.icon-btn,.btn{border-radius:999px;border:1px solid var(--line);background:var(--paper)}.icon-btn{width:2.75rem;height:2.75rem;display:grid;place-items:center;padding:0;color:var(--ink)}.icon{width:1.15rem;height:1.15rem;display:block}.btn{padding:.55rem .95rem;font-weight:700;background:transparent}.btn-primary{background:var(--btn);color:var(--btn-text);border-color:transparent}.btn-ghost{background:transparent}.btn:disabled{opacity:.45;cursor:not-allowed}.help,.field-hint,.month-kicker,.colophon{color:var(--ink-soft)}.help{margin:.85rem 0 .75rem;font-size:.95rem}.legend{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:0 0 .8rem;padding:0;list-style:none;font-size:.92rem}.legend li{display:flex;align-items:center;gap:.4rem}.swatch{width:.9rem;height:.9rem;border-radius:4px;border:1px solid var(--line);background:transparent}.swatch-car{background:var(--car-bg);border-color:var(--car-line)}.swatch-bike{background:var(--bike-bg);border-color:var(--bike-line)}.swatch-own{background:var(--car-bg);border-color:var(--ink);box-shadow:inset 4px 0 0 var(--ink)}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dow{text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding-bottom:.2rem}.cell{position:relative;min-width:0}.cell-out{min-height:3.5rem;display:flex;justify-content:flex-end;padding:.3rem;color:var(--ink-soft);opacity:.55;font-variant-numeric:tabular-nums;font-size:.85rem}.day{width:100%;min-height:4.6rem;display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.35rem 1.55rem .4rem .4rem;border-radius:12px;border:1px solid transparent;background:transparent;text-align:left}.day:hover{background:#8080801f}.day.is-car{background:var(--car-bg);border-color:var(--car-line);color:var(--car)}.day.is-bike{background:var(--bike-bg);border-color:var(--bike-line);color:var(--bike)}.day.is-override{box-shadow:inset 3px 0 0 var(--ink)}.day-num{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink);line-height:1.2}.day.is-today .day-num{width:1.55rem;height:1.55rem;display:grid;place-items:center;border-radius:999px;background:var(--btn);color:var(--btn-text)}.day-mode{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mode-short{display:none}.day-km{font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.day.is-override .day-km{text-decoration:underline dotted;text-underline-offset:2px}.day-flag{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}.day-edit{position:absolute;top:3px;right:3px;width:1.7rem;height:1.7rem;display:grid;place-items:center;padding:0;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink)}@media(max-width:640px){.mode-long,.day-km-suffix{display:none}.mode-short{display:inline}.day{min-height:3.7rem;padding-right:1.35rem}.day-flag{position:absolute;right:.28rem;bottom:.28rem;width:.42rem;height:.42rem;padding:0;border-radius:50%;background:currentColor;color:var(--ink);font-size:0;overflow:hidden}.cell-out{min-height:3.7rem}}.month-kicker{margin:.15rem 0 .85rem}.stats{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:0}.stat{margin:0;padding:.7rem .75rem;border-radius:14px;background:var(--paper)}.stat dt{font-size:.82rem;color:var(--ink-soft)}.stat dd{margin:.1rem 0 0;font-family:var(--serif);font-size:1.45rem;font-variant-numeric:tabular-nums;line-height:1.1}.stat dd span{font-family:var(--sans);font-size:.85rem;font-weight:600}.stat-car dd{color:var(--car)}.stat-bike dd{color:var(--bike)}.grand{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin:.95rem 0 0;padding-top:.85rem;border-top:1px dashed var(--line)}.grand strong{font-family:var(--serif);font-size:1.85rem;font-variant-numeric:tabular-nums;font-weight:600}.amount{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin:.35rem 0 0;font-variant-numeric:tabular-nums}.amount strong{font-family:var(--serif);font-size:1.45rem;font-weight:600}.export{width:100%;margin-top:.9rem}.fields{display:grid;gap:.75rem;margin-top:.8rem}.field{display:grid}label{font-weight:700;font-size:.95rem}input{width:100%;margin-top:.3rem;padding:.6rem .7rem;border-radius:12px;border:1px solid var(--line);background:var(--paper)}.field-hint{margin:.35rem 0 0;font-size:.9rem}.field-error{min-height:0;margin:.25rem 0 0;color:var(--danger);font-size:.88rem;font-weight:600}.field-error:empty{display:none}.editor{width:min(28rem,calc(100vw - 1.5rem));padding:0;border:none;border-radius:20px;background:var(--card);color:var(--ink);box-shadow:0 24px 70px #00000047}.editor::backdrop{background:#10141c85}.editor-form{padding:1.1rem 1.15rem 1.2rem}.editor-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.editor-head h2{font-size:1.45rem}.editor-date{margin:.35rem 0 0;font-weight:700}.editor-note{margin:.3rem 0 .9rem;color:var(--ink-soft)}.editor-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.colophon{padding:1.4rem 0 1.6rem;font-size:.9rem}.colophon p{margin:.15rem 0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media print{.hero{background:#fff;color:#000;padding-bottom:1rem}.lede,.skip,.day-edit,.export,.colophon{display:none}.shell{margin-top:0;display:block}.board,.panel{box-shadow:none;break-inside:avoid}}
