:root{--ink:#161512;--ink-soft:#55504a;--ink-faint:#8a837a;--surface:#fbfaf7;--raised:#ffffff;--line:#e7e2d9;--accent:#c47f16;--accent-ink:#ffffff;--accent-wash:#fdf3e0;--agree:#2f7a4f;--agree-wash:#ecf6f0;--alert:#a8352b;--alert-wash:#fbeeec;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgba(22,21,18,0.06),0 4px 16px rgba(22,21,18,0.05)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#f4f1ea;--ink-soft:#b5aea3;--ink-faint:#837c72;--surface:#131210;--raised:#1d1b18;--line:#2e2a25;--accent:#e8a33d;--accent-ink:#1a1710;--accent-wash:#2a2015;--agree:#63b283;--agree-wash:#16251c;--alert:#e2776a;--alert-wash:#2a1815;--shadow:0 1px 2px rgba(0,0,0,0.4),0 4px 16px rgba(0,0,0,0.3)}}:root[data-theme=dark]{--ink:#f4f1ea;--ink-soft:#b5aea3;--ink-faint:#837c72;--surface:#131210;--raised:#1d1b18;--line:#2e2a25;--accent:#e8a33d;--accent-ink:#1a1710;--accent-wash:#2a2015;--agree:#63b283;--agree-wash:#16251c;--alert:#e2776a;--alert-wash:#2a1815;--shadow:0 1px 2px rgba(0,0,0,0.4),0 4px 16px rgba(0,0,0,0.3)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--surface);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.shell{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--raised);position:-webkit-sticky;position:sticky;top:0;z-index:10}.wordmark{font-size:17px;font-weight:700;letter-spacing:-.015em;color:var(--ink);text-decoration:none}.wordmark span{color:var(--accent)}.masthead nav{display:flex;gap:4px;align-items:center}.masthead nav a,.masthead nav button{font:inherit;font-size:14px;color:var(--ink-soft);background:none;border:none;text-decoration:none;padding:10px;border-radius:var(--radius-sm);cursor:pointer;min-height:44px;display:inline-flex;align-items:center}.masthead nav a:hover,.masthead nav button:hover{background:var(--accent-wash);color:var(--ink)}.masthead{flex-wrap:wrap}.masthead-notice{flex-basis:100%}main{flex:1 1;padding:18px;display:flex;flex-direction:column;gap:16px}h1{font-size:22px;line-height:1.25;letter-spacing:-.02em;text-wrap:balance}h1,h2{margin:0}h2{font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}p{margin:0;color:var(--ink-soft)}.card{background:var(--raised);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px}.card.feature{box-shadow:var(--shadow)}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;min-height:48px;width:100%}textarea{min-height:96px;resize:vertical}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hint{font-size:13px;color:var(--ink-faint);font-weight:400}a.primary,button.primary{font:inherit;font-weight:650;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-sm);padding:14px 18px;min-height:52px;cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button.primary:disabled{opacity:.45;cursor:not-allowed}button.quiet{font:inherit;background:transparent;color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;min-height:48px;cursor:pointer}button.danger{color:var(--alert);border-color:var(--alert);background:transparent}.row{display:flex;gap:10px;align-items:center}.row.spread{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em}.money.big{font-size:30px;line-height:1.1}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;letter-spacing:.02em;padding:5px 10px;border-radius:999px;background:var(--accent-wash);color:var(--ink);border:1px solid transparent}.pill.agree{background:var(--agree-wash);color:var(--agree)}.pill.alert{background:var(--alert-wash);color:var(--alert)}.pill.new{background:transparent;border-color:var(--line);color:var(--ink-faint)}.notice{border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;border:1px solid var(--line);background:var(--raised);color:var(--ink-soft)}.notice.error{background:var(--alert-wash);border-color:transparent;color:var(--alert)}.notice.good{background:var(--agree-wash);border-color:transparent;color:var(--agree)}.empty{text-align:center;padding:40px 16px;color:var(--ink-faint)}.receipt{border-top:1px dashed var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px;font-size:14px}.receipt .line{display:flex;justify-content:space-between;gap:12px;color:var(--ink-soft)}.receipt .line .money{font-weight:600}.receipt .line.claim{color:var(--agree);font-weight:650}.stars{display:flex;gap:4px}.stars button{font:inherit;font-size:28px;line-height:1;background:none;border:none;cursor:pointer;padding:6px;min-width:48px;min-height:48px;color:var(--line)}.stars button.lit,.stars button[aria-pressed=true]{color:var(--accent)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.map{height:280px;border-radius:var(--radius-sm);border:1px solid var(--line);overflow:hidden;position:relative;z-index:0}.map-pin{display:flex;align-items:center;justify-content:center;border-radius:50% 50% 50% 0;transform:rotate(-45deg);font-weight:700;font-size:13px;color:#fff;border:2px solid #fff;box-shadow:0 1px 4px rgb(0 0 0/35%)}.map-pin span{transform:rotate(45deg)}.map-pin-pickup{background:var(--agree)}.map-pin-dropoff{background:var(--accent)}.segmented{display:flex;gap:6px}.segmented button{flex:1 1;min-height:44px;font:inherit;font-size:14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--raised);color:var(--ink-soft);cursor:pointer}.segmented button.on{border-color:var(--accent);color:var(--ink);background:var(--accent-wash)}