/* Shared reading preferences; no age or sensor permission changes. */
:root { --pk-read: 18px; --pk-heading: 28px; }
:root[data-parking-reading="compact"] { --pk-read: 16px; --pk-heading: 24px; }
:root[data-parking-reading="large"] { --pk-read: 22px; --pk-heading: 34px; }
.site-parking-plan,.street-radar,.rc,.pk-reading-settings { font-size:var(--pk-read); line-height:1.65; overflow-wrap:anywhere; }
.site-parking-plan .spp-auto { padding:20px 0 8px; }
.site-parking-plan .spp-auto h2 { font-size:var(--pk-heading);line-height:1.35;margin:12px 0 16px; }
.spp-floor-label { display:table;padding:5px 12px;margin-bottom:12px;border-radius:10px;color:#07543b;background:#e3f4eb;font-size:var(--pk-read);font-weight:800; }
.spp-zone-label { display:block;color:#173b2e; }
.site-parking-plan .spp-auto-kicker { font-size:var(--pk-read);color:#31604e; }
.site-parking-plan .spp-auto p,.site-parking-plan .spp-secondary p,.site-parking-plan .spp-secondary button,.site-parking-plan .spp-secondary summary,.site-parking-plan .spp-choices b,.rc p,.rc button,.sr-auto-heading p,.sr-card p { font-size:var(--pk-read);line-height:1.65; }
.site-parking-plan .spp-auto-guide { padding:14px 16px;border-left:4px solid #137b55;border-radius:0 12px 12px 0;background:#edf6f0;color:#173b2e;font-weight:750; }
.site-parking-plan .spp-auto-status { padding:8px 10px;color:#645427;font-size:max(16px,calc(var(--pk-read) - 2px))!important; }
.site-parking-plan .spp-auto-why { color:#41534a; }
.site-parking-plan .spp-auto-map { margin:16px 0; }
.spp-auto-map svg { display:block;width:100%;height:auto; }
.site-parking-plan .spp-secondary summary { min-height:56px;padding:16px 8px;color:#263e33;cursor:pointer; }
.site-parking-plan button,.rc button,.street-radar button,.pk-reading-settings button { min-height:48px;min-width:48px;white-space:normal; }
.site-parking-plan .spp-small,.site-parking-plan small,.site-parking-plan .spp-source { font-size:max(15px,calc(var(--pk-read) - 2px));line-height:1.6; }
.pk-learning-note { background:#f0f4f8;border:1px solid #c9d5df;border-radius:16px;padding:16px;margin:12px 0 18px;color:#243b50; }
.pk-learning-note b { font-size:var(--pk-read); }
.pk-learning-note p { font-size:max(16px,calc(var(--pk-read) - 2px));margin:6px 0 0;line-height:1.65; }
#passiveParkingStatus summary,#passiveParkingStatus button { min-height:48px;padding:10px 4px;font:inherit; }
#passiveParkingStatus button { padding:10px 16px;border:1px solid #6a7f72;border-radius:10px;background:white;color:#234334; }
/* v456: one next action, at the actual field. Empty fields stay neutral. */
#profileSetupSheet .pset-warning { border-color:#b9cfe8;background:#edf5ff;color:#164b82; }
#profileSetupSheet .pset-warning>span { background:#1768e5;animation:none; }
#profileSetupSheet .pset-warning b { font-size:var(--pk-read);line-height:1.5; }
#profileSetupSheet .pset-warning small { color:#49637d;font-size:15px;line-height:1.5; }
#profileSetupSheet .pset-warning.complete { background:#edf7f1;color:#155b3f; }
#profileSetupNext { margin-top:8px;min-height:48px;padding:8px 14px;background:white;border:1px solid #84acd8;border-radius:10px;color:#164b82;font-size:16px;font-weight:750; }
#profileSetupSheet .pset-step { background:#fff;border:1px solid #dce5ef;box-shadow:none;animation:none; }
#profileSetupSheet .pset-step-head b { font-size:var(--pk-read); }
#profileSetupSheet .pset-step-head small { font-size:14px; }
#profileSetupSheet .pset-step-state { color:#64748b;background:#f0f3f7;font-size:12px; }
#profileSetupSheet .is-complete .pset-step-state { color:#226248;background:#eef6f1; }
#profileSetupSheet .is-current .pset-step-state { color:white;background:#1768e5; }
#profileSetupSheet .pset-field-guide { margin:14px 0 9px;padding:10px 12px;border-radius:10px;background:#eaf3ff;color:#144f94;font-size:var(--pk-read);line-height:1.5;font-weight:800;scroll-margin:110px 0; }
#profileSetupSheet .field-next { outline:2px solid #1768e5;outline-offset:4px;border-radius:12px; }
#profileSetupSheet .pset-dong-grid { max-height:none;overflow:visible; }
#profileSetupSheet .pset-dong-grid button { min-height:52px;font-size:16px; }
#profileSetupSheet .pset-connection button { min-height:56px; }
#profileSetupSheet .pset-connection button b,#profileSetupSheet .pset-label { font-size:16px; }
#profileSetupSheet .pset-label small { font-size:13px; }
#profileSetupSheet .pset-note { font-size:15px;line-height:1.6; }
#profileSetupSheet .pset-optional { margin-top:16px;border-top:1px solid #dce5ef;padding-top:6px; }
#profileSetupSheet .pset-optional summary { min-height:48px;padding:12px 4px;font-size:16px;color:#465b72;cursor:pointer; }
#profileSetupSheet .pset-save { position:sticky;bottom:0;z-index:2;margin-top:20px;min-height:56px;font-size:18px;white-space:normal;box-shadow:0 0 0 8px #f4f7fb; }
#profileSetupSheet .pset-types button b { font-size:14px; }
.pk-reading-settings { border:1px solid #becdc5;border-radius:16px;padding:16px;margin:12px 0 22px;min-width:0; }
.pk-reading-settings legend { color:#173b2e;font-weight:800;padding:0 6px; }
.pk-reading-settings p { margin:0 0 12px;color:#40564b;font-size:16px; }
.pk-reading-settings [role="group"] { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.pk-reading-settings button { font:inherit;font-size:17px;border:1px solid #a8bfb2;background:#fff;color:#183d2b;border-radius:12px;padding:10px 6px; }
.pk-reading-settings button[aria-pressed="true"] { background:#116646;color:white;border-color:#116646;box-shadow:inset 0 0 0 2px white; }
:where(button,a,summary,input,select):focus-visible { outline:3px solid #1769bc;outline-offset:3px; }
.rc h3,.sr-auto-heading h3 { font-size:var(--pk-heading);line-height:1.4; }
.rc .rc-scan-status { font-size:var(--pk-read); }
.rc .rc-scan-status small { font-size:16px; }
.rc .rc-actions { display:flex;flex-wrap:wrap;gap:10px; }
.rc .rc-actions button { flex:1 1 130px; }
.rc-comparison summary,.street-radar .spp-secondary summary { min-height:56px;padding:14px 4px;font-size:var(--pk-read);cursor:pointer; }
.street-radar .sr-card-copy>b { font-size:var(--pk-heading);line-height:1.4; }
.street-radar .sr-card-meta,.street-radar .sr-card-evidence,.street-radar .sr-state,.street-radar button b { font-size:var(--pk-read);line-height:1.6; }
.street-radar .sr-card-copy>small,.street-radar button small { font-size:max(15px,calc(var(--pk-read) - 2px));line-height:1.6; }
@media(prefers-reduced-motion:reduce) {
  .spp-auto *, .rc *, .sr-comparing *, .rs-overlay * { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}

.spp-relative-route{display:grid;gap:14px;margin:24px 0;padding:20px 20px 20px 46px;border-radius:20px;background:#eef6f2;color:#234d3c;font-size:18px;line-height:1.65}.spp-relative-route li::marker{font-weight:800;color:#176a49}.spp-relative-route strong{display:block;background:#176a49;color:white;padding:12px;border-radius:12px}

.sr-context-map{max-width:420px;margin:16px auto}.sr-context-map svg{display:block;width:100%;max-height:310px}.sr-context-map small{display:block;color:#4c6473;font-size:14px;line-height:1.6;margin:8px 12px}

.sr-optional-search,.sr-optional-help{margin:12px 0;border:1px solid #d7e2e9;border-radius:16px;background:#fff}.sr-optional-search>summary,.sr-optional-help>summary{padding:16px;min-height:48px;font-size:16px;font-weight:700;cursor:pointer;color:#234960}.sr-optional-search[open],.sr-optional-help[open]{padding-bottom:12px}

/* Scan follows an active data comparison. Existing recommendation remains readable. */
#streetRadarResults[aria-busy="true"] .sr-context-map{position:relative;overflow:hidden}
#streetRadarResults[aria-busy="true"] .sr-context-map:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#2da5e32a 50%,transparent 65%);background-size:250% 100%;animation:pk-data-compare 1.5s linear infinite}
@keyframes pk-data-compare{from{background-position:150% 0}to{background-position:-150% 0}}
@media(prefers-reduced-motion:reduce){#streetRadarResults[aria-busy="true"] .sr-context-map:after{animation:none;background:#2da5e30a}}

.sr-optional-actions,.sr-comparison-detail{margin:12px 14px;color:#344e60;font-size:16px;line-height:1.6}.sr-optional-actions summary,.sr-comparison-detail summary{padding:12px 0;min-height:44px;cursor:pointer}.sr-comparison-detail p{font-size:15px}.sr-auto-heading p{font-size:17px;line-height:1.6}

/* v468: motion explains guidance; it never represents a live vacancy sensor. */
.rc-radar-summary{display:flex;align-items:center;gap:18px;margin:20px 0;padding:18px;background:#edf5ff;border-radius:20px;color:#183c62}.rc-radar-summary strong{font-size:20px}.rc-radar-summary p{font-size:17px;margin:6px 0!important}.rc-radar-orbit{position:relative;flex:0 0 92px;width:92px;height:92px;border:2px solid #83b4e1;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 14px,#adcfe94a 15px 16px);overflow:hidden;display:grid;place-items:center}.rc-radar-orbit i{position:absolute;inset:0;background:conic-gradient(from 0deg,transparent 65%,#267edd70 98%,#246ccc 100%);opacity:0}.rs-comparing .rc-radar-orbit i{opacity:1;animation:pkRadarOrbit 1.8s linear infinite}.rc-radar-orbit b{z-index:1;background:#fff;border-radius:50%;padding:9px;font-size:16px}.rc-evidence-summary{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.rc-evidence-summary span{font-size:16px;border-radius:10px;background:#eaf5ef;color:#195539;padding:9px 12px}.rc-evidence-summary .unknown{background:#f1f2f4;color:#526174}@keyframes pkRadarOrbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rs-comparing .rc-radar-orbit i{animation:none;opacity:.25}}@media(prefers-color-scheme:dark){.rc-radar-summary{background:#19344d;color:#e3efff}.rc-radar-orbit b{background:#163047}.rc-evidence-summary span{background:#1c4135;color:#ceebdf}.rc-evidence-summary .unknown{background:#303b47;color:#dae2eb}}

/* Arrival preview: nonmodal, no focus/route capture while navigating. */
.pk-arrival-preview{position:fixed;z-index:11000;top:calc(env(safe-area-inset-top,0px) + 12px);left:16px;right:16px;max-width:520px;margin:auto;padding:16px 20px;border-radius:20px;background:#123b54;color:#fff;font-size:18px;line-height:1.5;font-weight:700;box-shadow:0 8px 28px #0003;pointer-events:none}.pk-arrival-preview[hidden]{display:none}

/* Home context is not an active trip recommendation. */
.spp-home{padding:8px 0 18px}.spp-home h2{font-size:var(--pk-heading);line-height:1.35;margin:12px 0}.spp-home p{font-size:var(--pk-read);line-height:1.6}.spp-home-title{font-weight:750;color:#174d3a}.spp-home small{display:block;color:#52665d}.spp-preview-note{padding:12px;border-left:4px solid #7896aa;background:#f0f5f9}.spp-saved-preview>.spp-auto{margin-top:20px}

/* Recent parking: readable without opening another tab or answering a prompt. */
.recent-parking{margin:16px 0;padding:24px;background:var(--card,#fff);color:var(--text,#172c42);border:1px solid #d9e3ea;border-radius:24px}.recent-parking h2{margin:0;font-size:22px}.rp-sub{margin:8px 0 14px;color:#66788c;font-size:14px}.recent-parking ol{list-style:none;margin:0;padding:0}.rp-row{display:flex;gap:14px;padding:17px 0;border-top:1px solid #e4eaf0}.rp-icon{font-size:25px;flex:0 0 32px}.rp-row div{min-width:0}.rp-row b{display:block;font-size:18px;line-height:1.5;overflow-wrap:anywhere}.rp-row span:not(.rp-icon),.rp-row small,.rp-row time{display:block;line-height:1.6;overflow-wrap:anywhere}.rp-row small{font-size:14px;color:#69788b}.rp-row time{font-size:14px;color:#526a80;margin-top:4px}.recent-parking summary{padding:16px 0;min-height:44px;cursor:pointer;font-weight:700}.rp-empty{color:#526a80;line-height:1.8;margin-bottom:0}

.recent-parking{text-align:left;background:#fff;color:#172c42}.recent-parking .rp-empty{font-size:16px;text-align:left}.recent-parking .rp-row b{font-size:max(18px,var(--pk-read,18px))}

/* Search actions remain readable with large reading settings and narrow screens. */
.street-radar .pi-query button { flex:0 0 auto; min-width:4em; white-space:nowrap; }
.street-radar .pi-locate { display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:4px 0 16px;padding:14px 16px;border:2px solid #147653;border-radius:12px;background:#fff;color:#105b40;font:inherit;font-weight:800;cursor:pointer; }
.street-radar .pi-locate:disabled { opacity:.65;cursor:wait; }
.street-radar .pi-locate:focus-visible { outline:3px solid #1866e8;outline-offset:3px; }

/* Saved destination arrivals remain readable while another place is being browsed. */
.pk-monitored-arrival{position:fixed;z-index:10990;top:calc(env(safe-area-inset-top,0px) + 16px);left:16px;right:16px;max-width:520px;margin:auto;padding:20px 22px;border:2px solid #80b9ab;border-radius:22px;background:#f5fffa;color:#143b32;box-shadow:0 12px 36px #112e4133;pointer-events:none;line-height:1.5;overflow-wrap:anywhere}
.pk-monitored-arrival strong{display:block;font-size:20px;line-height:1.4}.pk-monitored-arrival p{font-size:20px;font-weight:700;margin:12px 0}.pk-monitored-arrival small{font-size:15px;color:#52675e;display:block}.pk-monitored-scan{display:block;margin-top:12px;padding:8px 10px;font-size:16px;border-radius:10px;background:#e4f2ec}.pk-monitored-arrival.is-scanning .pk-monitored-scan{background:linear-gradient(100deg,#e4f2ec 25%,#bcdecd 50%,#e4f2ec 75%);background-size:220% 100%;animation:pkMonitorScan 1.4s linear infinite}.pk-monitored-arrival.is-preview{background:#123b54;border-color:#23526b;color:white}.pk-monitored-arrival.is-preview p{font-size:18px;font-weight:500;margin-bottom:0}
@keyframes pkMonitorScan{to{background-position:220% 0}}
@media(prefers-reduced-motion:reduce){.pk-monitored-arrival.is-scanning .pk-monitored-scan{animation:none}}
@media(prefers-color-scheme:dark){.pk-monitored-arrival{background:#17372e;color:#effff4;border-color:#62998a}.pk-monitored-arrival small{color:#bfd5ca}.pk-monitored-scan{background:#294b3d}.pk-monitored-arrival.is-scanning .pk-monitored-scan{background:linear-gradient(100deg,#294b3d 25%,#39644f 50%,#294b3d 75%);background-size:220% 100%}}

/* v559: glanceable, touch-through arrival notice, no manual dismissal. */
.pk-monitored-arrival,.pk-monitored-arrival.is-preview,.pk-arrival-preview{padding:10px 14px;border-width:1px;background:rgba(239,247,242,.35);color:#17382e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);box-shadow:0 3px 12px #122e411c;pointer-events:none}
.pk-monitored-arrival strong{font-size:15px}.pk-monitored-arrival p,.pk-monitored-arrival.is-preview p{font-size:15px;line-height:1.4;margin:5px 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.pk-monitored-arrival small{font-size:11px}.pk-monitored-scan{font-size:12px;padding:3px 6px;margin-top:5px}.pk-arrival-preview{font-size:15px}
@media(prefers-color-scheme:dark){.pk-monitored-arrival,.pk-monitored-arrival.is-preview,.pk-arrival-preview{background:rgba(20,42,36,.35);color:#f2fff8}}

/* v645 clear evidence status without map text bleeding through. */
.pk-monitored-arrival,.pk-monitored-arrival.is-preview{background:rgba(24,48,41,.82);color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#82ab9b;padding:12px 16px;box-shadow:0 8px 26px #10271e30}
.pk-monitored-arrival .pk-monitored-scan{background:#234a3c;color:#fff}.pk-monitored-arrival.is-missing .pk-monitored-scan{font-size:18px;font-weight:800;color:#ffe0a1;background:#263f35}
.pk-monitored-arrival p{display:block;overflow:visible;font-size:14px;line-height:1.45;font-weight:500}.pk-monitored-arrival small{color:#d1dfd9}.pk-monitored-arrival .pk-monitored-close{position:absolute;right:10px;top:5px;font-size:12px;min-width:44px;min-height:44px;margin:0}.pk-monitored-arrival strong{padding-right:44px}
