:root{color-scheme:light;--accent: #00796a;--accent-text: #00796a;--accent-deep: #005b41;--accent-hover: #00695c;--accent-bright: #00917f;--bg: #f7f8f8;--surface: #ffffff;--surface-2: #f0f4f3;--surface-2-hover: #e7eeec;--surface-inset: #fafbfb;--map-bg: #e8edef;--border: #e4e8ea;--border-strong: #d5dbde;--text: #1f2933;--text-muted: #57626d;--text-dim: #6b7680;--text-faint: #5f6b78;--placeholder: #68737d;--heading: #141c26;--danger: #b23b2b;--danger-bg: #fbeeeb;--danger-border: rgba(178, 59, 43, .35);--accent-soft: rgba(0, 121, 106, .1);--accent-soft-hover: rgba(0, 121, 106, .16);--accent-soft-border: rgba(0, 121, 106, .25);--toast-bg: #eaf5f2;--toast-text: #143f36;--topbar-bg: rgba(247, 248, 248, .86);--backdrop: rgba(15, 23, 32, .4);--shadow-lg: 0 16px 40px rgba(16, 24, 40, .16);--shadow-drawer: -24px 0 70px rgba(16, 24, 40, .18);--card-hover-shadow: 0 16px 36px rgba(16, 24, 40, .14);--focus-ring: 0 0 0 3px rgba(0, 121, 106, .15);--ghost-bg: #dfe9e6;--ghost-text: #14453a;--ghost-hover: #d3e1dd;--footer-bg: #eef0f0;--info-bg: rgba(0, 121, 106, .07);--glow: 0 0 0 4px rgba(0, 121, 106, .14), 0 12px 30px -10px rgba(0, 121, 106, .6);--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--maxw: 1320px;--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .5, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .35s;--app-safe-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--app-safe-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{color-scheme:dark;--accent: #008170;--accent-text: #2ed3b0;--accent-deep: #2ed3b0;--accent-hover: #00a08b;--accent-bright: #2ed3b0;--bg: #0f0f0f;--surface: #161a20;--surface-2: #202c28;--surface-2-hover: #28352f;--surface-inset: #0f0f0f;--map-bg: #0b0f14;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .1);--text: #eaecef;--text-muted: #9aa3b0;--text-dim: #8a93a1;--text-faint: #7b8798;--placeholder: #9aa3b0;--heading: #ffffff;--danger: #c98c72;--danger-bg: rgba(214, 124, 94, .14);--danger-border: rgba(201, 140, 114, .4);--accent-soft: rgba(0, 129, 112, .15);--accent-soft-hover: rgba(0, 129, 112, .24);--accent-soft-border: rgba(0, 129, 112, .38);--toast-bg: #11362b;--toast-text: #eaf3ef;--topbar-bg: rgba(15, 15, 15, .86);--backdrop: rgba(0, 0, 0, .55);--shadow-lg: 0 30px 80px rgba(0, 0, 0, .6);--shadow-drawer: -24px 0 70px rgba(0, 0, 0, .6);--card-hover-shadow: 0 16px 36px rgba(0, 0, 0, .3);--focus-ring: 0 0 0 3px rgba(0, 129, 112, .18);--ghost-bg: #2d3b36;--ghost-text: #ffffff;--ghost-hover: #34433d;--footer-bg: #0a0a0a;--info-bg: rgba(0, 129, 112, .14);--glow: 0 0 0 4px rgba(0, 129, 112, .22), 0 12px 34px -10px rgba(46, 211, 176, .5)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--bg)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--accent-text)}.rp-input{min-width:0;border:0;outline:0;color:var(--text);background:transparent;font-family:inherit}.rp-input::placeholder{color:var(--placeholder)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.planner-app{min-height:100vh;background:var(--bg)}.topbar{position:sticky;top:0;z-index:40;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding-top:var(--app-safe-top)}.topbar-inner{max-width:var(--maxw);margin:0 auto;height:62px;padding:0 26px;display:flex;align-items:center;gap:26px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brand-word{color:var(--heading);font-weight:600;font-size:18px;letter-spacing:-.01em}.tabs{display:flex;align-self:stretch;align-items:stretch;gap:26px}.tab{display:inline-flex;align-items:center;gap:7px;height:62px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-dim);font-size:14px;font-weight:500;text-decoration:none;transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.tab:hover{color:var(--heading)}.tab.active{color:var(--heading);font-weight:600;border-bottom-color:var(--accent-text)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:600}.topbar-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex:none}.topbar-cta{display:inline-flex;align-items:center;background:var(--accent);color:#fff;padding:9px 18px;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none;transition:filter var(--dur-base) var(--ease-out)}.topbar-cta:hover{filter:brightness(1.08)}.unit-toggle{display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px}.unit-btn{min-height:44px;border:0;border-radius:999px;padding:6px 13px;background:transparent;color:var(--text-dim);font-size:12.5px;font-weight:600;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.unit-btn.active{background:var(--accent);color:#fff}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text-muted);transition:background var(--dur-base) var(--ease-out)}.theme-toggle:hover{background:var(--surface-2)}.planner-main{max-width:var(--maxw);margin:0 auto;padding:26px 26px 64px}.top-grid{display:grid;grid-template-columns:392px 1fr;gap:22px;align-items:start}.planner-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px}.planner-title{margin:0 0 16px;font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--heading)}.planner-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.planner-title-row .planner-title{margin-bottom:0}.mode-toggle{display:flex;gap:3px;background:var(--surface-inset);border:1px solid var(--border);border-radius:999px;padding:4px;margin-bottom:20px}.mode-btn{flex:1;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:10px 14px;background:transparent;color:var(--text-dim);font-size:13.5px;font-weight:600;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.mode-btn.active{background:var(--accent);color:#fff}.route-preferences{margin:-8px 0 18px}.route-preferences-label{display:block;margin-bottom:7px;color:var(--text-dim);font-size:12px;font-weight:700}.route-preference-controls{display:flex;flex-wrap:wrap;gap:7px}.route-preference-btn{min-height:44px;border:1px solid var(--border);border-radius:999px;padding:7px 11px;background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:650;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.route-preference-btn:hover{border-color:var(--accent-text)}.route-preference-btn.active{border-color:var(--accent-text);background:var(--accent-soft);color:var(--accent-text)}.route-preferences p{margin:7px 0 0;color:var(--text-muted);font-size:11px;line-height:1.4}.field-label{display:block;margin:0 0 7px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}.end-label{margin-top:20px}.field-input{position:relative;display:flex;align-items:center;background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:var(--radius);padding:13px 14px;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.field-input:focus-within{border-color:var(--accent-text);box-shadow:var(--focus-ring)}.field-icon{display:inline-flex;margin-right:10px}.field-action{display:inline-flex;align-items:center;justify-content:center;margin-left:10px;padding:4px;border:none;border-radius:8px;background:transparent;color:var(--accent-text);cursor:pointer}.field-action:hover{background:var(--accent-soft)}.field-action:disabled{color:var(--text-faint);cursor:default}.field-input .rp-input{flex:1;font-size:14.5px}.stops-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px}.stops-head .field-label{margin:0}.add-stop-btn{display:inline-flex;min-height:44px;align-items:center;gap:6px;border:1px solid var(--border-strong);border-radius:999px;padding:6px 12px;background:var(--surface-2);color:var(--text);font-size:12.5px;font-weight:600;transition:background var(--dur-base) var(--ease-out)}.add-stop-btn:hover:not(:disabled){background:var(--surface-2-hover)}.stop-list{display:flex;flex-direction:column;gap:10px}.stop-row{display:flex;align-items:center;gap:9px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:9px 10px;animation:rp-rowin .35s ease both}.stop-row.dragging{opacity:.4}.stop-row.drop-target{box-shadow:inset 0 2px 0 0 var(--accent)}.stop-grip{flex:none;display:inline-flex;align-items:center;color:var(--placeholder);cursor:grab}.stop-grip:active{cursor:grabbing}.stop-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:600}.stop-row .rp-input{flex:1;font-size:14px;padding:6px 2px}.stop-delete{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-strong);border-radius:8px;background:transparent;color:var(--danger);transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.stop-delete:hover{background:var(--danger-bg);border-color:var(--danger-border)}.stops-empty{text-align:center;padding:22px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-faint);font-size:13px;line-height:1.6}.sample-route-btn{display:inline-flex;align-items:center;gap:6px;margin:10px auto 0;padding:7px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text);font-size:13px;font-weight:600;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.sample-route-btn:hover{border-color:var(--accent-text)}.stop-move-group{flex:none;display:inline-flex;flex-direction:column;gap:2px}.stop-move{display:inline-flex;align-items:center;justify-content:center;width:22px;height:15px;border:0;border-radius:5px;background:transparent;color:var(--text-muted);transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.stop-move:hover:not(:disabled){background:var(--surface-2);color:var(--accent-text)}.stop-move:disabled{color:var(--placeholder);opacity:.5}@media(pointer:coarse){.stop-grip{display:none}.stop-move,.stop-delete{width:48px;height:48px}.stop-move-group{flex-direction:row}.stop-row{gap:6px}.field-input{min-height:50px;padding-block:0}.field-input .rp-input,.stop-row .rp-input,.signin-input,.trips-search input,.trips-sort select,.trips-search,.trips-sort,.mode-btn,.unit-btn,.route-preference-btn,.add-stop-btn,.roundtrip-toggle,.btn-primary,.btn-save,.btn-danger,.btn-io,.sample-route-btn,.full-route-btn,.trip-tools-summary,.trips-new-btn,.trips-empty-cta,.tern-accent-btn,.tern-ghost-btn,.tern-white-btn,.signin-forgot,.signin-switch,.trip-card-open,.trip-card-menu button,.trip-undo-toast button,.trips-no-results button{min-height:48px}.trip-card-icon-btn,.drawer-close,.paywall-close,.pw-toggle,.field-action{min-width:48px;min-height:48px}}.stops-head-actions{display:flex;align-items:center;gap:8px}.stop-limit{display:inline-flex;margin-left:7px;padding:2px 6px;border-radius:999px;background:var(--surface-2);color:var(--text-faint);font-size:10.5px;font-weight:650;letter-spacing:0;vertical-align:1px}.stop-limit.over{background:var(--danger-bg);color:var(--danger)}.bulk-panel{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);animation:rp-rowin .35s ease both}.bulk-textarea{width:100%;min-height:96px;resize:vertical;padding:10px 12px;background:var(--surface-inset);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:13.5px;line-height:1.6}.bulk-textarea::placeholder{color:var(--placeholder)}.bulk-textarea:focus{outline:none;border-color:var(--accent-text)}.bulk-actions{display:flex;gap:8px}.end-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.end-head .end-label{margin-top:0}.roundtrip-toggle{display:inline-flex;min-height:44px;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.roundtrip-toggle input{width:15px;height:15px;margin:0;accent-color:var(--accent-text);cursor:pointer}.roundtrip-note{display:flex;align-items:center;gap:9px;padding:11px 13px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:14px}.btn-primary{display:flex;width:100%;align-items:center;justify-content:center;gap:9px;margin-top:22px;margin-bottom:10px;border:0;border-radius:var(--radius);padding:15px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;transition:filter var(--dur-base) var(--ease-out)}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-save{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;border:1px solid var(--accent);border-radius:var(--radius);padding:13px;background:var(--surface-2);color:var(--text);font-size:14px;font-weight:600;transition:background var(--dur-base) var(--ease-out)}.btn-save:hover{background:var(--surface-2-hover)}.trip-tools{position:relative}.trip-tools-summary{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;border:0;border-radius:var(--radius);color:var(--text-faint);font-size:13px;font-weight:600;cursor:pointer;list-style:none;transition:color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.trip-tools-summary::-webkit-details-marker{display:none}.trip-tools-summary:hover,.trip-tools[open] .trip-tools-summary{background:var(--surface-2);color:var(--text)}.trip-tools-menu{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:8px}.btn-io{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:12px;background:var(--surface-2);color:var(--text);font-size:13.5px;font-weight:600;transition:background var(--dur-base) var(--ease-out)}.btn-io svg{color:var(--text-muted)}.btn-io:hover{background:var(--surface-2-hover)}.error-boundary{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;background:var(--bg);color:var(--text)}.error-boundary h1{margin:0;font-size:24px;color:var(--heading)}.error-boundary p{margin:0;color:var(--text-muted)}.error-boundary .btn-primary{margin-top:10px;padding:13px 28px}.btn-danger{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;border:1px solid var(--danger-border);border-radius:var(--radius);padding:13px;background:var(--surface-2);color:var(--danger);font-size:14px;font-weight:600;transition:background var(--dur-base) var(--ease-out)}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.settings-inline .btn-save,.settings-inline .btn-danger{margin-bottom:0}.settings-inline{display:flex;align-items:stretch;gap:8px}.settings-inline .signin-input{flex:1;min-width:0}.settings-inline .settings-save{width:auto;flex:none;margin-bottom:0;padding:13px 20px}.terms-check{display:flex;align-items:center;min-height:48px;gap:9px;font-size:12.5px;line-height:1.55;color:var(--text-muted);cursor:pointer}.terms-check-control{position:relative;width:48px;height:48px;flex:none}.terms-check input{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:48px;height:48px;margin:0;opacity:0;cursor:pointer}.terms-check-box{position:absolute;top:14px;left:14px;width:20px;height:20px;border:1.5px solid var(--border-strong);border-radius:5px;background:var(--surface)}.terms-check input:checked+.terms-check-box{border-color:var(--accent-text);background:var(--accent-text)}.terms-check input:checked+.terms-check-box:after{content:"";position:absolute;top:3px;left:6px;width:5px;height:9px;border-right:2px solid var(--surface);border-bottom:2px solid var(--surface);transform:rotate(45deg)}.terms-check input:focus-visible+.terms-check-box{box-shadow:var(--focus-ring)}.terms-check a{color:var(--accent-text)}.site-footer{margin-top:26px;background:var(--footer-bg);color:var(--text-faint);padding:40px 0 calc(40px + var(--app-safe-bottom))}.site-footer-inner{max-width:1180px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}.site-footer-brand{display:flex;align-items:center;gap:10px}.site-footer-word{font-weight:600;font-size:16px;color:var(--heading)}.site-footer-nav{display:flex;flex-wrap:wrap;gap:26px;font-size:14px}.site-footer-nav a{color:var(--text-faint);text-decoration:none;transition:color var(--dur-base) var(--ease-out)}.site-footer-nav a:hover{color:var(--text)}.site-footer-copy{font-size:12px}.signin-hint{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-muted)}.confirm-email{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:10px 0 4px;font-size:14px;line-height:1.6;color:var(--text)}.confirm-email-icon{color:var(--accent-text)}.page-loader{min-height:60vh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:15px}.spin{animation:spin .95s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{margin:12px 0 0;border:0;border-left:3px solid var(--danger);border-radius:8px;padding:10px 12px;background:var(--danger-bg);color:var(--text);font-size:.9rem;line-height:1.5}.route-col{display:flex;flex-direction:column;gap:16px}.preview-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px}.preview-head{margin-bottom:14px}.preview-eyebrow{margin:0 0 5px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}.preview-route{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;color:var(--heading)}.map-slot{position:relative;height:430px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--map-bg)}.map-status-pill{position:absolute;left:10px;bottom:10px;padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-muted);font-size:12px;pointer-events:none}.map-slot .google-map,.map-slot .demo-map{width:100%;height:100%;min-height:0;border:0;border-radius:0}.map-slot .demo-map svg{width:100%;height:100%;min-height:0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.stat-tile{background:var(--surface-inset);border:1px solid var(--border);border-radius:14px;padding:14px 16px}.stat-label{margin:0 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.stat-value{margin:0;font-size:24px;font-weight:600;color:var(--heading)}.stat-unit{font-size:14px;font-weight:500;color:var(--text-dim)}.full-route-btn{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--accent);border-radius:var(--radius);padding:14px 18px;background:var(--surface);color:var(--heading);font-size:14.5px;font-weight:600;text-decoration:none;transition:background var(--dur-base) var(--ease-out)}.full-route-btn:hover{background:var(--surface-2-hover)}.route-segment-links{display:grid;gap:9px;border:1px solid var(--accent-soft-border);border-radius:var(--radius);padding:13px 15px;background:var(--accent-soft)}.route-segment-links p{margin:0;color:var(--text);font-size:13px;font-weight:650}.route-segment-links>div{display:grid;gap:6px}.route-segment-links a{color:var(--accent-text);font-size:13px;font-weight:600;line-height:1.45}.route-segment-links a.visited{color:var(--text-faint)}.legs-section{margin-top:26px}.legs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px}.leg-card{display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:16px}.leg-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.leg-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:600}.leg-route{margin:0;font-size:14.5px;line-height:1.4;color:var(--text)}.leg-route>span:first-child,.leg-route>span:last-child{font-weight:600;color:var(--heading)}.leg-arrow{color:var(--text-faint)}.leg-meta{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:13px;color:var(--text-muted)}.leg-dist{color:var(--text);font-weight:500}.leg-dot{color:var(--text-faint)}.leg-link{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:auto;border:1px solid var(--accent-soft-border);border-radius:10px;padding:8px 12px;background:var(--accent-soft);color:var(--accent-text);font-size:12.5px;font-weight:600;text-decoration:none;transition:background var(--dur-base) var(--ease-out)}.leg-link:hover{background:var(--accent-soft-hover)}.trips-main{width:100%;max-width:1180px;min-height:calc(100vh - 90px);margin:0 auto;padding:34px 26px 72px}.trips-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.trips-eyebrow{margin:0 0 6px;color:var(--accent-text);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.trips-title{margin:0;color:var(--heading);font-size:clamp(30px,4vw,42px);font-weight:650;letter-spacing:-.035em}.trips-intro{margin:8px 0 0;color:var(--text-muted);font-size:14.5px;line-height:1.5}.trips-head-actions{flex:none;display:flex;align-items:center;gap:10px}.trip-sync-status{display:inline-flex;align-items:center;justify-content:center;min-height:38px;gap:6px;border:1px solid var(--accent-soft-border);border-radius:999px;padding:0 12px;background:var(--accent-soft);color:var(--accent-deep);font-size:12px;font-weight:700}.trip-sync-status.failed{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.trips-count{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:600}.trips-new-btn,.trips-empty-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:12px;background:var(--accent);color:#fff;font-size:13.5px;font-weight:650;text-decoration:none;transition:transform .16s ease,filter .18s ease,box-shadow .18s ease}.trips-new-btn{padding:0 15px}.trips-new-btn:hover,.trips-empty-cta:hover{filter:brightness(1.07)}.trips-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:16px}.trips-search,.trips-sort{display:flex;align-items:center;min-height:44px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text-faint);transition:border-color .18s ease,box-shadow .18s ease}.trips-search{gap:9px;padding:0 13px}.trips-search:focus-within,.trips-sort:focus-within{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft)}.trips-search input,.trips-sort select{min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:13.5px}.trips-search input{flex:1;width:100%}.trips-search input::placeholder{color:var(--text-faint)}.trips-sort{padding:0 11px}.trips-sort select{cursor:pointer;font-weight:600}.trips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.trip-page-card{min-width:0;display:flex;flex-direction:column;padding:18px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 6px 20px #1018280b;animation:rp-native-card-in .42s cubic-bezier(.2,.75,.2,1) both;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.trip-page-card:nth-child(2){animation-delay:.05s}.trip-page-card:nth-child(3){animation-delay:.1s}.trip-page-card:hover{transform:translateY(-2px);border-color:var(--accent-soft-border);box-shadow:var(--card-hover-shadow)}.trip-card-head{display:flex;align-items:center;min-height:34px;gap:6px}.trip-card-title{flex:1;min-width:0;margin:0;overflow:hidden;color:var(--heading);font-size:17px;font-weight:650;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.trip-card-edit{display:flex;align-items:center;width:100%;gap:6px}.trip-card-name{flex:1;width:100%;min-width:0;padding:5px 2px;border-bottom:1px solid transparent;color:var(--heading);font-size:17px;font-weight:650;transition:border-color var(--dur-base) var(--ease-out)}.trip-card-name:focus{border-bottom-color:var(--accent-text)}.trip-card-icon-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text-faint);transition:transform .16s ease,color .18s ease,background .18s ease,border-color .18s ease}.trip-card-icon-btn:hover{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent-text)}.trip-card-menu-wrap{position:relative;flex:none}.trip-card-menu{position:absolute;z-index:5;top:calc(100% + 6px);right:0;width:148px;padding:5px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-lg);animation:rp-rowin .18s ease both}.trip-card-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:600;text-align:left}.trip-card-menu button:hover{background:var(--surface-2)}.trip-card-menu button.danger{color:var(--danger)}.trip-card-menu button.danger:hover{background:var(--danger-bg)}.trip-card-save-name{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent-text)}.trip-card-favorite.active{border-color:color-mix(in srgb,#e7a928 45%,var(--border));background:color-mix(in srgb,#e7a928 13%,var(--surface));color:#c48200}.trip-card-delete:hover{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.trip-card-route{display:flex;align-items:center;gap:8px;min-width:0;margin-top:14px;color:var(--text);font-size:14px;font-weight:600}.trip-card-route>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-route-point{display:inline-flex;align-items:center;gap:6px}.trip-route-point svg,.trip-route-arrow{flex:none;color:var(--accent-text)}.trip-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.trip-card-meta span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:11.5px;font-weight:550}.trip-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.trip-card-stats>div{display:flex;flex-direction:column;gap:4px;padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-inset)}.trip-card-stats span{color:var(--text-faint);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.trip-card-stats strong{color:var(--heading);font-size:14px;font-weight:650}.trip-card-unoptimized{display:flex;align-items:center;min-height:38px;margin-top:14px;padding:8px 11px;border:1px dashed var(--accent-soft-border);border-radius:12px;background:var(--accent-soft)}.trip-card-unoptimized span{color:var(--accent-text);font-size:13px;font-weight:700}.trip-card-open{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin-top:14px;padding:0 14px;border:1px solid var(--accent-soft-border);border-radius:12px;background:var(--accent-soft);color:var(--accent-text);font-size:13.5px;font-weight:650;transition:transform .16s ease,background .18s ease,border-color .18s ease}.trip-card-open:hover{background:var(--accent-soft-hover);border-color:var(--accent-text)}.trips-empty{max-width:620px;margin:48px auto 0;padding:48px 26px;border:1px dashed var(--border-strong);border-radius:24px;background:linear-gradient(145deg,var(--surface),var(--surface-inset));text-align:center}.trips-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:18px;background:var(--accent-soft);color:var(--accent-text)}.trips-empty h2{margin:18px 0 8px;color:var(--heading);font-size:21px}.trips-empty p{max-width:390px;margin:0 auto;color:var(--text-muted);font-size:14px;line-height:1.6}.trips-empty-cta{margin-top:20px;padding:0 17px}.trips-no-results{margin:44px auto 0;color:var(--text-muted);text-align:center}.trips-no-results>svg{color:var(--text-faint)}.trips-no-results h2{margin:10px 0 4px;color:var(--heading);font-size:18px}.trips-no-results p{margin:0;font-size:13.5px}.trips-no-results button{margin-top:12px;border:0;background:transparent;color:var(--accent-text);font-size:13px;font-weight:700}.trip-undo-toast{position:fixed;z-index:95;right:24px;bottom:24px;display:flex;align-items:center;gap:18px;max-width:min(420px,calc(100vw - 32px));padding:12px 13px 12px 16px;border:1px solid var(--border-strong);border-radius:14px;background:var(--toast-bg);box-shadow:0 14px 38px #0c1c1738;color:var(--toast-text);font-size:13.5px;font-weight:600;animation:rp-trip-toastin .28s cubic-bezier(.2,.75,.2,1) both}@keyframes rp-trip-toastin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.trip-undo-toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-undo-toast button{flex:none;min-height:34px;padding:0 11px;border:1px solid var(--accent-soft-border);border-radius:9px;background:var(--surface);color:var(--accent-text);font-size:13px;font-weight:750}@media(max-width:640px){.trips-main{padding:24px 16px 64px}.trips-page-head{align-items:flex-start;flex-direction:column;gap:16px}.trips-head-actions{width:100%}.trips-count,.trips-new-btn{flex:1}.trips-grid{grid-template-columns:1fr}.trips-tools{grid-template-columns:minmax(0,1fr) minmax(126px,auto)}.trips-empty{margin-top:26px;padding:40px 20px}.trip-undo-toast{right:16px;bottom:16px;left:16px;max-width:none;justify-content:space-between}}@keyframes rp-fadein{0%{opacity:0}to{opacity:1}}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--backdrop);animation:rp-fadein .2s ease-out both}@media(prefers-reduced-motion:reduce){.toast,.trip-undo-toast,.paywall-card,.drawer-backdrop{animation:none}}.drawer-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text-muted);transition:background var(--dur-base) var(--ease-out)}.drawer-close:hover{background:var(--surface-2)}@keyframes rp-toastin{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast{position:fixed;left:50%;bottom:calc(28px + var(--app-safe-bottom));transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:11px;background:var(--toast-bg);border:1px solid var(--accent);border-radius:14px;padding:13px 18px;box-shadow:var(--shadow-lg);color:var(--toast-text);font-size:13.5px;animation:rp-toastin .35s cubic-bezier(.34,1.4,.5,1) both}.toast-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff}.toast.error{border-color:var(--danger);background:var(--danger-bg);color:var(--text)}.toast.error .toast-icon{background:var(--danger)}.toast.info{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.toast.info .toast-icon{background:var(--text-dim)}@keyframes rp-rowin{0%{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}@media(max-width:980px){.top-grid{grid-template-columns:1fr}.planner-main{padding:20px 16px 56px}.topbar-inner{padding:0 16px}}@media(max-width:640px){.topbar-inner{height:auto;flex-wrap:wrap;padding:10px 16px 0;gap:0 10px}.tabs{order:3;flex-basis:100%;align-self:auto;gap:20px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{height:44px;flex:none}.topbar-right{gap:8px}.account-name{display:none}.planner-card{padding:18px}.top-grid{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:12px}.route-col{order:-1;width:auto;min-width:0;margin:0 -16px}.route-col>.full-route-btn,.route-col>.route-segment-links{margin:0 16px}.preview-card{border:0;border-bottom:1px solid var(--border);border-radius:0 0 18px 18px;padding:0 0 10px;overflow:hidden;box-shadow:0 12px 32px #1018280f}.preview-head{display:none}.map-slot{height:clamp(220px,34vh,320px);border-radius:0;border-left:0;border-right:0;border-top:0}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 12px 0}.stat-tile{padding:8px 10px;border-radius:12px;background:var(--surface);box-shadow:0 3px 12px #1018280a}.stat-label{margin-bottom:2px;font-size:9.5px}.stat-value{font-size:17px}}.account-cluster{display:inline-flex;align-items:center;gap:8px}.account-link{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--accent);border-radius:999px;color:var(--text);font-size:13px;font-weight:600;text-decoration:none;transition:background var(--dur-base) var(--ease-out)}.account-link:hover{background:var(--surface-2)}.account-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);color:var(--text);font-size:13px;font-weight:600;text-decoration:none}.account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.account-pill:hover{background:var(--surface-2-hover)}a.btn-primary,a.btn-save,a.btn-io{text-decoration:none}.account-rows{margin-top:8px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border);font-size:14px}.account-row-label{color:var(--text-muted)}.account-row-value{font-weight:600;color:var(--heading)}.google-play-billing{display:grid;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.google-play-options{display:grid;grid-template-columns:1fr;gap:9px}.google-play-billing .google-play-buy{min-height:48px;margin:0}.google-play-buy:disabled{cursor:not-allowed;opacity:.55}.google-play-disclosure{margin:4px 1px 0;font-size:12px;line-height:1.5;color:var(--text-faint)}.google-play-restore{display:inline-flex;align-items:center;justify-content:center;justify-self:center;gap:6px;border:0;padding:6px 10px;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600}.google-play-restore:disabled{opacity:.55}.google-play-status,.google-play-note{justify-content:center;margin-top:2px;text-align:center}.account-signout{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text-muted);transition:background var(--dur-base) var(--ease-out)}.account-signout:hover{background:var(--surface-2)}.cost-note{margin:-2px 0 10px;text-align:center;font-size:12.5px;color:var(--text-faint)}@keyframes rp-paywallin{0%{opacity:0;transform:translate(-50%,-47%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.paywall-card{position:fixed;z-index:71;top:50%;left:50%;transform:translate(-50%,-50%);animation:rp-paywallin .28s cubic-bezier(.2,.7,.2,1) both;display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:420px;max-width:92vw;padding:28px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.paywall-close{position:absolute;top:14px;right:14px}.paywall-title{margin:4px 0 0;font-size:20px;font-weight:600;color:var(--heading)}.paywall-sub{margin:0;font-size:14px;line-height:1.55;color:var(--text-muted)}.paywall-actions{width:100%}.paywall-actions .btn-primary,.paywall-actions .btn-save{margin:10px 0 0;text-decoration:none}.paywall-alternatives{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin-top:12px}.paywall-alternatives a{color:var(--text-muted);font-size:12.5px;font-weight:600;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.paywall-alternatives a:hover{color:var(--accent-text);text-decoration-color:currentColor}.paywall-note{margin:8px 0 0;font-size:13px;color:var(--text-faint)}.paywall-dismiss{align-self:center;margin-top:8px;border:0;background:none;font-size:13px;color:var(--text-faint);transition:color var(--dur-base) var(--ease-out)}.paywall-dismiss:hover{color:var(--text-muted)}.signin-main{display:flex;justify-content:center;padding:60px 20px}.signin-card{width:440px;max-width:100%}.signin-sub{margin:4px 0 18px;font-size:14px;line-height:1.6;color:var(--text-muted)}.signin-input{width:100%;padding:13px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-inset);color:var(--text)}.signin-input:focus{outline:none;border-color:var(--accent-text)}.signin-input::placeholder{color:var(--placeholder)}.signin-divider{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:var(--border-strong)}.signin-notice{margin:12px 0 0;font-size:14px;color:var(--accent-text)}.signin-note{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;color:var(--text-muted)}.signin-note a{color:var(--accent-text)}.signin-form{display:flex;flex-direction:column;gap:14px}.signin-form .btn-primary{margin-top:6px;margin-bottom:0}.label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.signin-forgot,.signin-switch{border:0;padding:0;background:none;font-size:12.5px;font-weight:500;color:var(--text-muted);transition:color var(--dur-base) var(--ease-out)}.signin-forgot:hover,.signin-switch:hover{color:var(--accent-text)}.signin-switch{font-size:inherit;color:var(--accent-text)}.pw-field{position:relative}.pw-field .signin-input{padding-right:46px}.pw-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--text-dim);transition:color var(--dur-base) var(--ease-out)}.pw-toggle:hover{color:var(--text)}.pw-meter{display:flex;align-items:center;gap:10px;margin-top:8px}.pw-meter-bars{display:flex;flex:1;gap:4px}.pw-meter-seg{height:4px;flex:1;border-radius:999px;background:var(--surface-2)}.pw-meter-seg.on-1{background:var(--danger)}.pw-meter-seg.on-2{background:#d99a3d}.pw-meter-seg.on-3{background:#c3b83f}.pw-meter-seg.on-4{background:var(--accent-bright)}.pw-meter-label{min-width:62px;text-align:right;font-size:12px;color:var(--text-dim)}.legal-main{max-width:720px;margin:0 auto;padding:40px 24px 80px}.legal-article h1{margin:0 0 4px;font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--heading)}.legal-updated{margin:0 0 24px;font-size:13px;color:var(--text-faint)}.legal-article h2{margin:28px 0 8px;font-size:18px;font-weight:600;color:var(--heading)}.legal-article p,.legal-article li{margin:0 0 12px;font-size:14.5px;line-height:1.65;color:var(--text-muted)}.legal-article ul{padding-left:20px;margin:0 0 12px}.legal-article li{margin-bottom:8px}.legal-article a{color:var(--accent-text)}.legal-footerline{margin-top:28px;padding-top:16px;border-top:1px solid var(--border)}.legal-consent{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-faint);text-align:center}.legal-consent a{color:var(--text-muted)}.inline-error{margin:8px 0 0;font-size:13px;color:var(--danger)}.native-app .topbar{padding-top:var(--app-safe-top);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);box-shadow:0 1px 0 var(--border),0 8px 24px #1018280a}.native-app .topbar-inner{width:100%;max-width:680px;height:54px;padding:0 18px;flex-wrap:nowrap}.native-app .tabs,.native-app .account-pill,.native-app .account-signout{display:none}.native-app *{-webkit-tap-highlight-color:transparent}.native-app :focus:not(:focus-visible){outline:none}.native-app .planner-main{width:100%;max-width:680px;margin-inline:auto;padding:0 16px calc(104px + var(--app-safe-bottom))}.native-app .signin-main{padding-bottom:calc(104px + var(--app-safe-bottom))}.native-app .trips-main{width:100%;max-width:680px;min-height:calc(100vh - 81px);margin-inline:auto;padding:22px 16px calc(112px + var(--app-safe-bottom));animation:rp-native-panel-in .48s cubic-bezier(.2,.75,.2,1) both}.native-app .trips-title{font-size:30px}.native-app .trips-intro{max-width:430px}.native-app .trips-grid{grid-template-columns:1fr}.native-app .trip-page-card{box-shadow:0 6px 20px #1018280e}.native-app .trips-new-btn:active,.native-app .trips-empty-cta:active,.native-app .trip-card-icon-btn:active,.native-app .trip-card-delete:active,.native-app .trip-card-open:active{transform:scale(.97)}.native-app .trip-undo-toast{right:16px;bottom:calc(86px + var(--app-safe-bottom));left:16px;max-width:648px;margin-inline:auto}.native-app .site-footer{display:none}.native-app .top-grid{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:12px}.native-app .route-col{order:-1;width:auto;min-width:0;margin:0 -16px;animation:rp-native-mapin .5s cubic-bezier(.2,.75,.2,1) both}.native-app .preview-card{border:0;border-bottom:1px solid var(--border);border-radius:0 0 18px 18px;padding:0 0 10px;overflow:hidden;box-shadow:0 12px 32px #1018280f}.native-app .preview-head{display:none}.native-app .map-slot{height:clamp(220px,34vh,320px);border-radius:0;border-left:0;border-right:0;border-top:0}.native-app .stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 12px 0}.native-app .stat-tile{padding:8px 10px;border-radius:12px;background:var(--surface);box-shadow:0 3px 12px #1018280a;animation:rp-native-stat-in .38s cubic-bezier(.2,.75,.2,1) both}.native-app .stat-tile:nth-child(2){animation-delay:.06s}.native-app .stat-tile:nth-child(3){animation-delay:.12s}.native-app .stat-label{margin-bottom:2px;font-size:9.5px}.native-app .stat-value{font-size:17px}.native-app .planner-card{width:100%;min-width:0;background:transparent;border:0;border-radius:0;padding:14px 0 0;animation:rp-native-panel-in .48s cubic-bezier(.2,.75,.2,1) .08s both}.native-app .planner-title{font-size:20px;margin-bottom:10px}.native-app .mode-toggle{padding:4px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border),0 4px 14px #1018280a}.native-app .theme-toggle{width:48px;height:48px}.native-app .brand{min-width:48px;min-height:48px}.native-app .field-input{min-height:50px;padding-block:0}.native-app .field-input .rp-input,.native-app .stop-row .rp-input,.native-app .signin-input,.native-app .trips-search input,.native-app .trips-sort select,.native-app .trips-search,.native-app .trips-sort,.native-app .mode-btn,.native-app .unit-btn,.native-app .route-preference-btn,.native-app .add-stop-btn,.native-app .roundtrip-toggle,.native-app .btn-primary,.native-app .btn-save,.native-app .btn-danger,.native-app .btn-io,.native-app .sample-route-btn,.native-app .full-route-btn,.native-app .trip-tools-summary,.native-app .trips-new-btn,.native-app .trips-empty-cta,.native-app .tern-accent-btn,.native-app .tern-ghost-btn,.native-app .tern-white-btn,.native-app .bottom-nav-item,.native-app .signin-forgot,.native-app .signin-switch,.native-app .trip-card-open,.native-app .trip-card-menu button,.native-app .trip-undo-toast button,.native-app .google-play-restore,.native-app .trip-sync-status.failed,.native-app .trips-no-results button{min-height:48px}.native-app .trip-card-icon-btn,.native-app .drawer-close,.native-app .paywall-close,.native-app .pw-toggle{min-width:48px;min-height:48px}.native-app .stop-row{gap:6px}.native-app .stop-delete,.native-app .stop-move{width:48px;height:48px}.native-app .stop-move-group{flex-direction:row}@media(max-width:360px){.mode-btn{gap:6px;padding:10px 8px}.stop-row{display:grid;grid-template-columns:26px minmax(120px,1fr) 48px;grid-template-areas:"badge input delete" ". moves moves"}.stop-grip{display:none}.stop-badge{grid-area:badge}.stop-row .rp-input{grid-area:input;width:100%;min-width:120px}.stop-move-group{grid-area:moves;justify-self:end}.stop-delete{grid-area:delete}}.native-app .mode-btn,.native-app .unit-btn,.native-app .add-stop-btn,.native-app .btn-primary,.native-app .btn-save,.native-app .btn-io,.native-app .bottom-nav-item{transition:transform .16s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}.native-app .mode-btn.active{box-shadow:0 4px 12px #00796a33}.native-app .field-input{background:var(--surface);box-shadow:0 3px 12px #10182809;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.native-app .field-input:focus-within{transform:translateY(-1px);box-shadow:var(--focus-ring),0 8px 20px #10182814}.native-app .add-stop-btn{min-height:48px;padding-inline:13px;background:var(--surface);white-space:nowrap}.native-app .stop-row{background:var(--surface);box-shadow:0 3px 12px #10182809}.native-app .stops-empty{background:linear-gradient(145deg,var(--surface),var(--surface-inset))}.native-app .btn-primary{min-height:50px;box-shadow:0 8px 20px #00796a33}.native-app .btn-save,.native-app .btn-io{background:var(--surface)}.native-app .mode-btn:active,.native-app .unit-btn:active,.native-app .add-stop-btn:active:not(:disabled),.native-app .btn-primary:active:not(:disabled),.native-app .btn-save:active:not(:disabled),.native-app .btn-io:active:not(:disabled),.native-app .bottom-nav-item:active{transform:scale(.97)}.native-app .legs-section{width:100%}.native-app .leg-card{animation:rp-native-card-in .4s cubic-bezier(.2,.75,.2,1) both}.native-app .leg-card:nth-child(2){animation-delay:.05s}.native-app .leg-card:nth-child(3){animation-delay:.1s}.native-app .leg-card:nth-child(4){animation-delay:.15s}.native-app .toast{bottom:calc(104px + var(--app-safe-bottom));z-index:65}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;justify-content:center;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);border-top:1px solid var(--border);box-shadow:0 -10px 30px #10182812;padding:6px 8px calc(6px + max(var(--app-safe-bottom),18px));animation:rp-native-nav-in .42s cubic-bezier(.2,.75,.2,1) both}.bottom-nav-item{flex:1;position:relative;max-width:220px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 2px;border:0;background:none;border-radius:12px;font:inherit;font-size:11px;font-weight:600;color:var(--text-faint)}.bottom-nav-item.active{color:var(--accent-text);background:var(--accent-soft)}.bottom-nav-item.active:before{position:absolute;top:-6px;width:26px;height:3px;border-radius:0 0 999px 999px;background:var(--accent);content:"";animation:rp-native-indicator-in .28s cubic-bezier(.2,.8,.2,1) both}.bottom-nav-icon{position:relative;display:inline-flex}.bottom-nav-badge{position:absolute;top:-5px;right:-10px;min-width:15px;height:15px;padding:0 3px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:9.5px;font-weight:700;border-radius:8px}@media(min-width:641px){.native-app .route-col{margin:10px 0 0}.native-app .preview-card{border:1px solid var(--border);border-radius:22px}.native-app .map-slot{border-radius:0}.native-app .planner-card{padding-top:20px}}@keyframes rp-native-mapin{0%{opacity:0;transform:translateY(-8px) scale(.995)}to{opacity:1;transform:none}}@keyframes rp-native-panel-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes rp-native-stat-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes rp-native-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes rp-native-nav-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes rp-native-indicator-in{0%{opacity:0;transform:scaleX(.35)}to{opacity:1;transform:scaleX(1)}}.onboarding{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);padding:calc(max(var(--app-safe-top),38px) + 22px) 28px calc(26px + var(--app-safe-bottom))}.onboarding-hero{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px}@keyframes rp-fadeup{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.onboarding-brand{animation:rp-fadeup .5s ease-out both;display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--heading)}.onboarding-route{display:block;width:100%;max-width:330px;margin:6px auto}.onboarding-route-line{stroke-dasharray:620;stroke-dashoffset:620;animation:rp-routedraw 1.6s cubic-bezier(.4,0,.2,1) .25s forwards}@keyframes rp-routedraw{to{stroke-dashoffset:0}}.onboarding-route-stop{opacity:0;transform-box:fill-box;transform-origin:center;animation:rp-stopin .3s ease-out forwards}@keyframes rp-stopin{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.onboarding-title{animation:rp-fadeup .55s ease-out .9s both;margin:0;font-size:33px;font-weight:700;line-height:1.12;letter-spacing:-.02em;color:var(--heading)}.onboarding-points{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:15px}.onboarding-points li{animation:rp-fadeup .5s ease-out both;display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.45;color:var(--text-muted)}.onboarding-points svg{flex:none;margin-top:2px;color:var(--accent-text)}.onboarding-points strong{color:var(--text);font-weight:600}.onboarding-points li:nth-child(1){animation-delay:1.35s}.onboarding-points li:nth-child(2){animation-delay:1.55s}.onboarding-points li:nth-child(3){animation-delay:1.75s}.onboarding-actions{animation:rp-fadeup .55s ease-out 2s both;margin-top:28px}.onboarding-cta{padding:15px;font-size:16px}.onboarding-note{margin:12px 0 0;text-align:center;font-size:12.5px;color:var(--text-faint)}@media(prefers-reduced-motion:reduce){.onboarding-route-line,.onboarding-route-stop,.onboarding-brand,.onboarding-title,.onboarding-points li,.onboarding-actions,.native-app .route-col,.native-app .planner-card,.native-app .trips-main,.native-app .stat-tile,.native-app .leg-card,.trip-page-card,.native-app .bottom-nav,.native-app .bottom-nav-item.active:before{animation:none;stroke-dashoffset:0;opacity:1}.native-app .mode-btn,.native-app .unit-btn,.native-app .add-stop-btn,.native-app .btn-primary,.native-app .btn-save,.native-app .btn-io,.native-app .trips-new-btn,.native-app .trips-empty-cta,.native-app .trip-card-icon-btn,.native-app .trip-card-delete,.native-app .trip-card-open,.native-app .bottom-nav-item,.native-app .field-input{transition:none}}html{scrollbar-color:var(--border-strong) transparent}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)!important}:where(button,a,summary,select,textarea,input:not(.rp-input)):focus-visible{outline:none;box-shadow:var(--focus-ring)}@media(pointer:coarse){:where(button,a,summary,select,textarea,input):focus-visible{box-shadow:none}}@keyframes rp-fadeup{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes rp-rowout{to{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes rp-sheen{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes rp-pulse{0%{box-shadow:0 0 #00817073}to{box-shadow:0 0 0 14px #00817000}}@keyframes rp-toastout{to{opacity:0;transform:translate(-50%,6px)}}@keyframes rp-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stop-row{position:relative;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.stop-row:hover{background:var(--surface-2-hover)}.stop-row:hover .stop-grip{color:var(--text-dim)}.stop-row.dragging{opacity:1;transform:scale(1.015);background:var(--surface);border-color:var(--accent-soft-border);box-shadow:var(--card-hover-shadow);z-index:2}.stop-row.drop-target{box-shadow:none}.stop-row.drop-target:before{content:"";position:absolute;left:14px;right:14px;top:-7px;height:3px;border-radius:3px;background:var(--accent)}.stop-row.leaving{animation:rp-rowout var(--dur-base) var(--ease-out) forwards;pointer-events:none}.roundtrip-toggle input{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:34px;height:20px;margin:0;flex:none;border:0;border-radius:999px;background:var(--border-strong);cursor:pointer;transition:background var(--dur-base) var(--ease-out)}.roundtrip-toggle input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--dur-base) var(--ease-spring)}.roundtrip-toggle input:checked{background:var(--accent)}.roundtrip-toggle input:checked:after{transform:translate(14px)}.btn-primary{position:relative;overflow:hidden;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),filter var(--dur-base) var(--ease-out)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--glow);filter:brightness(1.04)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.985)}.btn-primary.loading:disabled{opacity:.85}.btn-primary.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);animation:rp-sheen 1.3s var(--ease-out) infinite}.btn-primary.landed{animation:rp-pulse .7s var(--ease-out) 1}.trip-tools-summary{padding:0 12px;background:transparent;font-family:inherit}.trip-tools-summary .chev{transition:transform var(--dur-base) var(--ease-out)}.trip-tools.open .trip-tools-summary{background:var(--surface-2);color:var(--text)}.trip-tools.open .trip-tools-summary .chev{transform:rotate(180deg)}.trip-tools-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-base) var(--ease-out)}.trip-tools-reveal>div{overflow:hidden;min-height:0}.trip-tools.open .trip-tools-reveal{grid-template-rows:1fr}.stat-grid.revealed .stat-tile{animation:rp-fadeup var(--dur-slow) var(--ease-out) both}.stat-grid.revealed .stat-tile:nth-child(2){animation-delay:60ms}.stat-grid.revealed .stat-tile:nth-child(3){animation-delay:.12s}.legs-section{animation:rp-fadeup var(--dur-slow) var(--ease-out) both}.leg-card{animation:rp-fadeup var(--dur-slow) var(--ease-out) both;animation-delay:calc(min(var(--i, 0),12)*40ms);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.leg-card:hover{transform:translateY(-2px);box-shadow:var(--card-hover-shadow)}.map-slot .google-map{background:var(--map-bg);transition:opacity var(--dur-base) var(--ease-out)}.map-slot .google-map.theme-swap{opacity:0}.notice{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;border:1px solid var(--accent-soft-border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--info-bg);color:var(--text);font-size:13.5px;line-height:1.5}.notice svg{flex:none;margin-top:2px;color:var(--accent-text)}.error-message{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--danger-border);border-left-width:3px}.error-message svg{flex:none;margin-top:2px;color:var(--danger)}.handoff{display:grid;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;animation:rp-fadeup var(--dur-slow) var(--ease-out) both}.handoff-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.handoff-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:650;color:var(--heading)}.handoff-title svg{color:var(--accent-text)}.app-chips{display:flex;gap:6px;flex-wrap:wrap}.app-chip{min-height:36px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:650;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.app-chip:hover{border-color:var(--accent-text)}.app-chip.active{border-color:var(--accent-text);background:var(--accent-soft);color:var(--accent-text)}.handoff .full-route-btn{transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.handoff .full-route-btn:hover{transform:translateY(-1px)}.handoff-hint{margin:0;font-size:12px;line-height:1.5;color:var(--text-faint)}.stop-by-stop{display:grid;gap:6px}.sbs-row{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-inset);transition:opacity var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.sbs-row.next{border-color:var(--accent-soft-border);background:var(--accent-soft)}.sbs-row.done{opacity:.72}.sbs-row .stop-badge{width:24px;height:24px;font-size:12px}.sbs-row.done .stop-badge{background:var(--surface-2);color:var(--text-faint)}.sbs-main{flex:1;min-width:0;display:flex;flex-direction:column}.sbs-kicker{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.sbs-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--text)}.sbs-row.done .sbs-label{color:var(--text-muted)}.sbs-go{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:12.5px;font-weight:600;text-decoration:none;transition:filter var(--dur-base) var(--ease-out)}.sbs-go:hover{filter:brightness(1.08)}.sbs-row.done .sbs-go{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted)}.toast.leaving{animation:rp-toastout var(--dur-base) var(--ease-out) forwards}.account-main{max-width:900px;margin:0 auto;padding:32px 26px 64px}.account-hero{display:flex;align-items:center;gap:18px;padding:22px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);animation:rp-fadeup var(--dur-slow) var(--ease-out) both}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid var(--accent-soft-border);border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:22px;font-weight:700}.hero-body{min-width:0}.hero-name{margin:0;font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-email{margin:2px 0 0;font-size:14px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:12px;font-weight:650}.badge.pro{border-color:transparent;background:var(--accent);color:#fff}.ghost-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-left:auto;border:0;border-radius:var(--radius-sm);padding:10px 14px;background:var(--ghost-bg);color:var(--ghost-text);font-size:13.5px;font-weight:600;transition:background var(--dur-base) var(--ease-out)}.ghost-btn:hover{background:var(--ghost-hover)}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-top:18px}.acard{display:flex;flex-direction:column;gap:14px;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);animation:rp-fadeup var(--dur-slow) var(--ease-out) both;animation-delay:calc(80ms + var(--i, 0) * 70ms)}.acard>.btn-save,.acard>.btn-danger,.acard>.btn-primary{margin:0}.acard .field-label{margin-bottom:0}.acard-head{display:flex;align-items:center;gap:10px}.acard-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent-text)}.acard.danger{border-color:var(--danger-border)}.acard.danger .acard-icon{background:var(--danger-bg);color:var(--danger)}.acard-title{margin:0;font-size:15px;font-weight:650;color:var(--heading)}.acard-sub{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-muted)}.credits-big{margin:0;font-size:42px;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--heading)}.credits-big small{margin-left:8px;font-size:14px;font-weight:500;letter-spacing:0;color:var(--text-dim)}.credit-bar{display:flex;gap:2px;height:10px;border-radius:999px;overflow:hidden;background:var(--surface-2)}.credit-bar span{display:block;height:100%;border-radius:999px;transform-origin:left;animation:rp-grow .8s var(--ease-out) .35s both}.credit-bar .pro{background:var(--accent)}.credit-bar .pack{background:var(--accent-bright);opacity:.55}.legend{display:grid;gap:8px}.legend-row{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-muted)}.legend-row .dot{flex:none;width:9px;height:9px;border-radius:50%}.legend-row .dot.pro{background:var(--accent)}.legend-row .dot.pack{background:var(--accent-bright);opacity:.55}.legend-row b{margin-left:auto;font-weight:600;color:var(--heading)}.settings-list{display:flex;flex-direction:column;margin:-4px -8px 0}.settings-row{display:flex;align-items:center;gap:12px;padding:12px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:14px;font-weight:500;text-align:left;text-decoration:none;transition:background var(--dur-base) var(--ease-out)}.settings-row:hover{background:var(--surface-2)}.settings-row svg.lead{flex:none;color:var(--text-muted)}.settings-row .chev{flex:none;margin-left:auto;color:var(--text-faint)}.settings-row+.settings-row{border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.btn-save.saved{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.confirm-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-base) var(--ease-out)}.confirm-reveal>div{overflow:hidden;min-height:0}.confirm-reveal.open{grid-template-rows:1fr}.confirm-reveal .settings-inline{margin-top:12px}@media(max-width:640px){.tabs:has(>.tab:only-child){display:none}.stop-row{display:grid;grid-template-columns:26px minmax(120px,1fr) 48px;grid-template-areas:"badge input delete" ". moves moves";gap:6px 8px}.stop-row .stop-grip{display:none}.stop-row .stop-badge{grid-area:badge;align-self:center}.stop-row .rp-input{grid-area:input;align-self:center;width:100%;min-width:120px}.stop-row .stop-move-group{grid-area:moves;justify-self:end;flex-direction:row}.stop-row .stop-delete{grid-area:delete}.route-col>.handoff{margin:0 16px}.app-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:0 18px}.app-chips::-webkit-scrollbar{display:none}.app-chip{flex:none}.account-main{padding:20px 16px 56px}.account-hero{flex-wrap:wrap}.ghost-btn{width:100%;margin-left:0}.account-grid{grid-template-columns:1fr}}@media(pointer:coarse){.app-chip,.sbs-go,.settings-row,.ghost-btn{min-height:48px}}@media(prefers-reduced-motion:reduce){.stop-row,.bulk-panel,.trip-card-menu,.stat-grid.revealed .stat-tile,.legs-section,.leg-card,.handoff,.btn-primary,.btn-primary.loading:after,.toast,.account-hero,.acard,.credit-bar span{animation:none!important}*,*:before,*:after{transition-duration:.01ms!important}}
