﻿:root{--paper:#f7f2e8;--ink:#171715;--muted:#77736b;--line:#d8d1c5;--accent:#f05a28;--white:#fffdf8;--radius:18px}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif}body{margin:0;min-height:100svh;padding-bottom:92px}.top{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);z-index:10}.brand{font:900 15px/1 Arial;letter-spacing:.18em;color:var(--ink);text-decoration:none}.sync-status{font-size:12px;color:var(--muted)}.page{max-width:640px;margin:auto;padding:26px 20px 64px;animation:enter .35s ease both}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--accent);margin:0 0 12px}.intro{padding:8px 0 30px}.intro h1,.login h1,.trip-head h1{font-family:Georgia,serif;font-size:clamp(42px,12vw,68px);line-height:.94;letter-spacing:-.045em;margin:0}.lede{color:var(--muted);font-size:17px;line-height:1.5;max-width:430px}.route-list h2,.recent h2,.event-log h2,.exports h2{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px}.route-row{display:grid;grid-template-columns:1fr 54px;align-items:center;border:0;border-top:1px solid var(--line);padding:17px 0;background:none;width:100%;text-align:left}.route-row div,.setting-row div{display:flex;flex-direction:column;gap:5px}.route-row strong,.setting-row strong{font-size:20px}.route-row small,.setting-row small{color:var(--muted)}.direction{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.route-row button{height:48px;width:48px;border-radius:50%;border:0;background:var(--ink);color:white;font-size:23px;transition:.2s}.route-row button:active,.primary:active{transform:scale(.96)}.active-trip{display:flex;flex-direction:column;gap:8px;background:var(--ink);color:var(--white);text-decoration:none;padding:25px;border-radius:var(--radius);margin:0 0 34px}.active-trip span{font-size:10px;letter-spacing:.15em;color:#ff9a79}.active-trip strong{font-family:Georgia,serif;font-size:28px}.active-trip i{font-style:normal;margin-top:8px}.recent{margin-top:38px}.recent a{display:grid;grid-template-columns:90px 1fr auto;gap:10px;padding:15px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none;font-size:13px}.recent a span{color:var(--muted)}.dock{position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--ink);display:flex;justify-content:center;padding:max(8px,env(safe-area-inset-bottom)) 8px}.dock a{color:#aaa;text-decoration:none;font-size:11px;padding:12px min(5vw,28px);border-radius:11px}.dock a.active,.dock a:hover{color:white;background:#2b2b28}.primary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border:0;border-radius:14px;background:var(--accent);color:white;font-size:16px;font-weight:800;padding:0 22px;text-decoration:none}.empty{padding:28px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--muted)}.empty strong{color:var(--ink);font-size:22px}.empty p{margin:0 0 16px}.settings-list{border-bottom:1px solid var(--line)}.setting-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:17px 0}.text-button{border:0;background:none;text-decoration:underline;font-weight:700}.editor{margin:28px 0}.editor summary{font-size:22px;font-weight:800;padding:20px 0;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;cursor:pointer}.editor form,.edit-form,.pin-form{display:grid;gap:16px;padding-top:20px}.editor form div,.edit-form div{display:grid;gap:7px}label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--white);padding:14px;font:inherit}input[type=checkbox]{width:auto}.exports{display:grid;border-top:1px solid var(--line);padding-top:24px}.exports a{padding:12px 0;color:var(--ink)}.trip-head{text-align:center;padding:8px 0 28px}.trip-head h1{font-size:42px}.trip-head>p:not(.eyebrow){color:var(--muted)}.timer{font:700 38px/1 monospace;margin:25px auto 0;animation:pulse 2s ease-in-out infinite}.timeline{list-style:none;padding:0;margin:0 0 28px}.timeline li{display:flex;gap:16px;border-top:1px solid var(--line);padding:18px 0}.timeline li>span{font:700 12px monospace;color:var(--accent)}.timeline li div{display:flex;flex-direction:column;gap:4px}.timeline small{color:var(--muted)}.event-actions{display:grid;gap:12px}.giant{height:72px;font-size:18px}.event-actions>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.event-actions>div button,.finish{min-height:48px;border:1px solid var(--line);background:transparent;border-radius:10px}.finish{color:#9b3320;border-color:#e1a08b}.event-log{margin-top:38px}.event-log p{display:flex;border-top:1px solid var(--line);margin:0;padding:12px}.event-log time{width:80px;color:var(--muted)}.finished{background:var(--ink);color:white;padding:24px;border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}.finished span{font-size:10px;letter-spacing:.12em}.finished strong{font-size:30px}.finished a{color:#ff9a79}.history-row{display:grid;grid-template-columns:56px 1fr auto;gap:16px;border-top:1px solid var(--line);padding:18px 0;color:inherit;text-decoration:none;align-items:center}.history-row time,.history-row div{display:flex;flex-direction:column;gap:4px}.history-row time{font:700 16px Georgia}.history-row small,.history-row span{font-size:11px;color:var(--muted)}.history-row b{font-size:22px}.insight{border-top:2px solid var(--ink);padding:20px 0 36px}.insight>span{font-size:11px;color:var(--muted);text-transform:uppercase}.insight h2{font-family:Georgia,serif;font-size:30px;line-height:1.05}.insight div p{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line);padding:12px 0;margin:0}.insight p small{grid-column:1/-1;color:var(--muted);margin-top:3px}.analysis-empty span{font:700 52px Georgia;color:var(--accent)}.login{min-height:calc(100svh - 150px);display:flex;flex-direction:column;justify-content:center}.login .pin-form{max-width:340px}.login input{font-size:28px;letter-spacing:.3em}.flash{background:#fff0d9;border-left:4px solid var(--accent);padding:12px}.offline-sheet{position:fixed;inset:62px 0 0;background:var(--paper);z-index:15;padding:30px 20px;display:flex;flex-direction:column}.offline-sheet h1{font:42px/1 Georgia;margin:12px 0}.offline-sheet .timer{margin:35px 0}.offline-sheet button{margin-top:auto}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.55}}@media(min-width:700px){.page{padding-top:44px}.dock{left:50%;right:auto;transform:translateX(-50%);bottom:16px;border-radius:17px;width:max-content}.top{padding-left:max(24px,calc((100vw - 900px)/2));padding-right:max(24px,calc((100vw - 900px)/2))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.route-tools{display:flex!important;align-items:flex-end!important;gap:7px!important}.route-tools a,.route-tools button{font-size:12px;color:var(--ink)}.timeline li.current{background:#fff3e8;border-left:4px solid var(--accent);padding-left:12px}.deviations{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.deviations summary{font-weight:800;cursor:pointer}.deviations form{display:grid;gap:8px;padding-top:12px}.deviations button{min-height:45px;border:1px solid var(--line);border-radius:10px;background:var(--white)}
