:root{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;color:#132c31;background:#f1f5f3;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}main{max-width:780px;margin:auto;padding:26px 22px 40px}header,.day-heading,.feed-line,.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-size:26px;font-weight:800;text-decoration:none;color:inherit;letter-spacing:-1px}.badge{font-size:11px;letter-spacing:.9px;border:1px solid #b8c9c5;padding:7px;border-radius:5px;white-space:nowrap}.day-heading{margin:26px 0}.eyebrow,.label{font-size:12px;font-weight:750;letter-spacing:1.5px;color:#4b6d63}.eyebrow{margin:0 0 8px}h1{font-size:clamp(34px,7vw,46px);line-height:1.08;letter-spacing:-1.8px;margin:0}h2{font-size:23px;letter-spacing:-.5px;margin:25px 0 10px}.context{padding:18px 20px;border:1px solid #bfcec8;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#e7efea}.context .label{display:block;margin-bottom:6px}.context strong{font-size:16px}.context .text-button{display:block;padding:5px 0;min-height:32px}button,input,select{font:inherit}button{cursor:pointer;min-height:46px;border-radius:9px;padding:11px 16px;font-weight:650;border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bc791b;outline-offset:3px}.primary{background:#d9ed94;color:#132c31}.secondary{background:#e0e9e5;color:#132c31}.text-button{background:transparent;color:#23634e;padding:10px 0}.day-heading .secondary{font-size:14px;white-space:nowrap}nav{display:flex;gap:5px;border-bottom:1px solid #c4d4cd;margin-top:20px}nav button{border-radius:0;background:transparent;color:#596d64;border-bottom:3px solid transparent}nav button[aria-pressed=true]{color:#132c31;border-bottom-color:#23634e}#count{font-size:12px;margin-left:5px}.feed-line{font-size:14px;color:#4b6259;margin:8px 0}.card{padding:24px;border:1px solid #cedbd5;border-radius:18px;background:white;margin-bottom:12px}.card:first-child{background:#132c31;color:white;border:0}.kicker{font-size:12px;letter-spacing:1.5px;font-weight:700;color:#d9ed94;margin:0 0 14px}.card h2{font-size:28px;line-height:1.2;margin:0 0 20px;letter-spacing:-.6px}.metrics{display:flex;gap:28px;margin-bottom:18px}.metric strong{display:block;font-size:38px;letter-spacing:-1.5px;line-height:1.1}.metric span{font-size:14px;opacity:.8}.reasons{font-size:15px;line-height:1.6;margin:0 0 15px;padding-left:20px}.card:not(:first-child) h2{font-size:22px}.card:not(:first-child) .metric strong{font-size:28px}.actions{display:flex;gap:10px;margin-top:18px}.actions button{flex:1;background:#d9ed94;color:#132c31}.actions button+button{background:transparent;color:inherit;border:1px solid #82958e}.detail,.small,.hint{font-size:14px;line-height:1.6;color:#50675d}.card .detail{color:inherit;opacity:.8;font-size:13px}.card a{color:inherit}.empty{padding:26px;background:white;border:1px solid #cedbd5;border-radius:14px;line-height:1.6}.section-heading{margin:30px 0 18px}.section-heading p{color:#50675d}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;font-weight:650}select,input{width:100%;min-height:48px;border:1px solid #a9bdb3;background:white;border-radius:9px;padding:11px;color:#132c31;margin-top:7px}input::placeholder{font-size:13px}.hint{display:block;font-weight:400;font-size:13px;margin-top:7px}.search-label{margin:18px 0}.ride-row{display:grid;grid-template-columns:1fr 145px;gap:14px;align-items:center;background:white;border:1px solid #d4e0d9;border-radius:10px;padding:14px;margin-bottom:8px}.ride-row strong{display:block;font-size:16px}.ride-row p{margin:5px 0 0;font-size:13px;line-height:1.5;color:#566d62}.ride-row select{margin:0;font-size:14px}.ride-row .text-button{font-size:14px;text-align:right}.sticky-actions{position:sticky;bottom:0;background:#f1f5f3ee;backdrop-filter:blur(12px);display:flex;gap:10px;padding:16px 0}.sticky-actions button{flex:1}#message{font-size:14px;line-height:1.5;margin-top:20px;border-radius:8px;color:#355d4d}#message.error{background:#fff2df;color:#7a4312;padding:12px}#progress-summary{color:#50675d;font-size:15px}.pill{display:inline-block;background:#eaf2cf;border-radius:5px;padding:3px 6px;color:#345127;font-size:12px;margin-top:7px}footer{border-top:1px solid #c8d6d0;margin-top:32px;padding-top:22px;color:#50675d;font-size:13px;line-height:1.6}footer a{color:#245a4b}details{margin-top:14px}summary{cursor:pointer;font-size:14px;font-weight:650}.card details{font-size:13px}.card summary{font-weight:450}.notice{border-left:3px solid #a7b85e;padding-left:12px}@media(max-width:530px){main{padding:22px 16px}.brand{font-size:24px}.badge{font-size:10px}.field-grid{grid-template-columns:1fr}.ride-row{grid-template-columns:1fr 120px;gap:10px}.context{grid-template-columns:1fr;padding:16px;gap:10px}.context .text-button{display:inline;margin-left:12px}.card{padding:22px}.day-heading{gap:8px}.day-heading .secondary{padding:10px}.metric strong{font-size:36px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}

.break-section{border-top:1px solid #c4d4cd;margin-top:30px;padding-top:24px}.break-section h2{margin-top:8px}.break-section .ride-row{background:#e7efea}.break-section .secondary{background:white}

.theme-label{font-size:14px}.theme-label select{min-height:40px;margin-top:3px;padding:7px;width:105px}textarea{font:inherit;width:100%;border:1px solid #a9bdb3;border-radius:9px;background:white;color:#132c31;padding:12px;margin-top:7px;resize:vertical}.trip-overview{padding:16px 0}.trip-overview p{margin:6px 0}nav{overflow-x:auto}nav button{font-size:14px;flex:1;min-width:100px}#events-list{margin-top:20px}#upcoming-highlight:not(:empty),#reminder-alert:not(:empty){border:1px solid #7d963b;border-radius:12px;padding:14px;margin:14px 0;background:#eaf2cf}#upcoming-highlight p{margin:0}.reminder-row{padding:16px;border:1px solid #b9ccc2;border-radius:12px;margin:12px 0}.reminder-row .actions button{flex:initial}.reminder-row .text-button{color:inherit}#reminder-form button{margin-top:16px}.ride-row p,.hint,.detail,footer{font-size:14px}.day-heading{flex-wrap:wrap}.day-heading .secondary{white-space:normal}h1{line-height:1.2}input::placeholder{font-size:14px}
:root[data-theme=dark]{color-scheme:dark;color:#e9f2ee;background:#101c20}:root[data-theme=dark] .context,:root[data-theme=dark] .break-section .ride-row{background:#203338;border-color:#47605c}:root[data-theme=dark] .card,:root[data-theme=dark] .ride-row,:root[data-theme=dark] .empty,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:#1a2b30;color:#e9f2ee;border-color:#47605c}:root[data-theme=dark] .card:first-child{background:#254039}:root[data-theme=dark] .secondary,:root[data-theme=dark] .break-section .secondary{background:#344b48;color:#eff8f3}:root[data-theme=dark] .small,:root[data-theme=dark] .hint,:root[data-theme=dark] .ride-row p,:root[data-theme=dark] .section-heading p,:root[data-theme=dark] .feed-line,:root[data-theme=dark] footer,:root[data-theme=dark] #progress-summary{color:#b9cec5}:root[data-theme=dark] .text-button,:root[data-theme=dark] a,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .label,:root[data-theme=dark] #message{color:#cbe79a}:root[data-theme=dark] nav button{color:#b9cec5}:root[data-theme=dark] nav button[aria-pressed=true]{color:#e6f5d0;border-color:#cbe79a}:root[data-theme=dark] .sticky-actions{background:#101c20ee}:root[data-theme=dark] #upcoming-highlight,:root[data-theme=dark] #reminder-alert{background:#2a4031}:root[data-theme=dark] #message.error{background:#4a301d;color:#ffdcac}@media(max-width:530px){.ride-row{grid-template-columns:1fr}.ride-row select{width:100%}.ride-row button{text-align:left}.theme-label{font-size:12px}.day-heading h1{font-size:36px}}

:root[data-theme=dark] .brand{color:#e9f2ee}.ride-row strong,.context strong,.reminder-row strong{overflow-wrap:anywhere}#events-view>details{padding-bottom:20px}#events-view .field-grid{margin-bottom:12px}#theme{font-size:14px}:root[data-theme=dark] .reminder-row .actions button+button{color:#e9f2ee}

header #theme{width:auto;min-height:46px;white-space:nowrap;font-size:14px}#do-everything{margin:8px 0;min-height:48px}

/* Original celestial palette: abstract light, jewel tones and gilded controls. */
:root{--ink:#272443;--muted:#625c79;--surface:#fff;--soft:#eeeafa;--line:#d9d1ea;--accent:#6841a5;--gold:#f4ce78;--page:#f6f3fc;color:var(--ink);background:var(--page);color-scheme:light}
:root[data-theme=dark]{--ink:#f4efff;--muted:#c3b9d8;--surface:#211d37;--soft:#2a2443;--line:#4a3c65;--accent:#d4b9ff;--gold:#f4ce78;--page:#100e20;color:var(--ink);background:var(--page)}
body{background:radial-gradient(ellipse at 95% 0%,#a76ee522,transparent 45%),radial-gradient(ellipse at 0% 40%,#d7b56b18,transparent 40%);min-height:100vh}main{max-width:820px;padding-top:28px}header{padding-bottom:20px;border-bottom:1px solid var(--line)}.brand,:root[data-theme=dark] .brand{color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:29px;letter-spacing:-1px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-1.5px;font-size:clamp(38px,8vw,52px)}h2{letter-spacing:-.4px}.day-heading{margin:30px 0 24px}.eyebrow,.label,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .label{color:var(--accent);letter-spacing:1.6px;font-size:12px}
.context,:root[data-theme=dark] .context{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:20px}.trip-overview{padding:20px 4px}.trip-overview>strong{font-size:18px}.trip-overview p{color:var(--muted)}
nav{padding:5px;background:var(--soft);border:1px solid var(--line);border-radius:16px;gap:4px;margin-top:8px}nav button,:root[data-theme=dark] nav button{border:0;border-radius:11px;color:var(--muted);font-size:14px;min-height:48px}nav button[aria-pressed=true],:root[data-theme=dark] nav button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 2px 10px #13072612;border:0}
.card,:root[data-theme=dark] .card{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:24px;box-shadow:0 8px 28px #160d3010;padding:26px;margin-bottom:16px}.card:first-child,:root[data-theme=dark] .card:first-child{background:radial-gradient(ellipse at top right,#a76ad65c,transparent 60%),linear-gradient(135deg,#211934,#40265c);color:#fff8ec;border:1px solid #9672b5;box-shadow:0 12px 35px #2d14412b}.kicker{color:#f4ce78}.card:first-child .metric strong{color:#ffe0a0}.metric strong{font-variant-numeric:tabular-nums}.metrics{padding:16px 0;border-top:1px solid #a094b440;border-bottom:1px solid #a094b440}.primary,.actions button{background:linear-gradient(120deg,#f8dfa1,#edc269);color:#33244a;box-shadow:0 3px 10px #80581315;border:1px solid #d9ac53}.actions button+button{box-shadow:none;background:transparent;color:inherit;border:1px solid #9589a7}.secondary,:root[data-theme=dark] .secondary,.break-section .secondary,:root[data-theme=dark] .break-section .secondary{background:var(--soft);color:var(--ink);border:1px solid var(--line)}button{border-radius:12px}.text-button,:root[data-theme=dark] .text-button,footer a,:root[data-theme=dark] a{color:var(--accent)}.card a,:root[data-theme=dark] .card a{color:inherit}
.small,.hint,.detail,.feed-line,footer,.section-heading p,.ride-row p,#progress-summary,:root[data-theme=dark] .small,:root[data-theme=dark] .hint,:root[data-theme=dark] .ride-row p,:root[data-theme=dark] .section-heading p,:root[data-theme=dark] .feed-line,:root[data-theme=dark] footer,:root[data-theme=dark] #progress-summary{color:var(--muted)}.card .detail{color:inherit}.feed-line{margin:12px 4px}.ride-row,.empty,:root[data-theme=dark] .ride-row,:root[data-theme=dark] .empty,.break-section .ride-row,:root[data-theme=dark] .break-section .ride-row{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:18px}.ride-row p{font-size:14px}select,input,textarea,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px}input::placeholder{color:var(--muted)}.field-grid{background:var(--soft);padding:20px;border:1px solid var(--line);border-radius:20px;gap:20px}.search-label{margin:24px 0 16px}.sticky-actions,:root[data-theme=dark] .sticky-actions{background:var(--page);border-top:1px solid var(--line);padding:16px 0}.pill{background:var(--soft);color:var(--accent)}.break-section,footer{border-color:var(--line)}#message,:root[data-theme=dark] #message{color:var(--muted)}#upcoming-highlight:not(:empty),#reminder-alert:not(:empty),:root[data-theme=dark] #upcoming-highlight:not(:empty),:root[data-theme=dark] #reminder-alert:not(:empty){background:var(--soft);border:1px solid #b99a5b;color:var(--ink);border-radius:16px}.reminder-row{border-color:var(--line);background:var(--surface)}.reminder-row .actions button+button,:root[data-theme=dark] .reminder-row .actions button+button{color:var(--ink)}#do-everything{padding:14px 22px;margin-top:8px}#theme{box-shadow:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:530px){main{padding:20px 16px 32px}.brand,:root[data-theme=dark] .brand{font-size:26px}.card{padding:22px}.field-grid{padding:16px;gap:18px}.day-heading h1{font-size:40px}.context{padding:18px}nav button{padding:10px 7px;min-width:95px}.ride-row{padding:16px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .18s,box-shadow .18s,transform .18s}button:hover:not(:disabled){filter:brightness(1.04)}button:active:not(:disabled){transform:translateY(1px)}}

.checklist-controls{display:flex;flex-direction:column;gap:10px}.checklist-controls button{font-size:14px}.checklist-controls label{font-size:14px}.ride-count{font-weight:700;color:var(--accent)!important}.check-label{display:flex;align-items:flex-start;gap:10px}.check-label input{width:22px;min-height:22px;flex:none;margin:0}#signup-form>.primary{margin-top:12px}#enable-notifications{margin-top:10px}

dialog{max-width:540px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:22px;padding:26px;background:var(--surface);color:var(--ink);line-height:1.6}dialog::backdrop{background:#100e20b8}dialog h2{margin-top:0}.danger{color:#a12742!important}:root[data-theme=dark] .danger{color:#ffb9c7!important}dialog .actions button:last-child{background:var(--soft);border-color:#ae4963}.departure-note{font-weight:650;color:var(--accent)!important}#showtimes-shortcut{margin:0 0 12px}#master-reset{margin-top:12px}

.header-controls{display:flex;gap:8px;align-items:center}.header-controls button{font-size:14px;padding:10px 12px}header{flex-wrap:wrap}.context,.field-grid,.ride-row{min-width:0}button{overflow-wrap:anywhere}.header-controls button{white-space:nowrap}@media(max-width:390px){.header-controls{width:100%}.header-controls button{flex:1}}

/* Keep native iOS date/time controls within their grid cell, including empty values. */
.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.field-grid>label{min-width:0;max-width:100%;overflow-wrap:break-word}
input:not([type=checkbox]):not([type=radio]),select,textarea{box-sizing:border-box;min-width:0;max-width:100%}
input[type=date],input[type=time]{display:block;-webkit-appearance:none;appearance:none;width:100%;min-inline-size:0;max-inline-size:100%;min-height:48px;text-align:left}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{min-height:1.5em;text-align:left}
input[type=date]::-webkit-datetime-edit,input[type=time]::-webkit-datetime-edit{min-width:0;padding:0}
@media(max-width:530px){.field-grid{grid-template-columns:minmax(0,1fr)}}

/* ParkWhim's map shares the same plan and recommendations as the list. */
.view-switch{display:flex;gap:4px;width:fit-content;padding:4px;margin:16px 0;background:var(--soft,#ede5f5);border:1px solid #82739166;border-radius:14px}.view-switch button{min-width:90px;background:transparent;color:inherit}.view-switch button[aria-pressed=true]{background:#f5d384;color:#25153d;box-shadow:0 2px 8px #0002}.map-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between}.map-toolbar p{flex:1}.map-toolbar button{font-size:14px;flex-shrink:0}#park-map{height:clamp(340px,58svh,540px);width:100%;border:1px solid #827391;border-radius:18px;isolation:isolate;background:#e6e2dc;font-family:inherit;z-index:0}.ride-marker{background:none;border:none}.wait-pin{display:flex;align-items:center;justify-content:center;width:68px;height:44px;background:#fff;color:#30213d;border:2px solid #6c537e;border-radius:22px;font-size:14px;font-weight:800;box-shadow:0 2px 7px #0004;white-space:nowrap}.wait-pin.recommended{background:#f8d67f;border:3px solid #68440a;color:#352308}.wait-pin.ridden{position:relative;border:3px solid #168044;box-shadow:0 0 0 2px #fff,0 2px 7px #0004}.ride-done-tick{position:absolute;top:-10px;right:-8px;display:flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;border:2px solid #fff;background:#168044;color:#fff;font-size:15px;line-height:1;font-weight:800}.origin-marker span{display:block;width:20px;height:20px;background:#146cdf;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 3px #146cdf77}.leaflet-control-attribution{font-size:12px!important;line-height:1.5!important;max-width:100%;color:#222!important;background:#fffffff0!important}.leaflet-control-attribution a{color:#164b73!important}.leaflet-control-zoom a{color:#231333!important;background:#fff!important}.map-card .text-button{color:inherit}.map-card h2{overflow-wrap:anywhere}.map-card p{line-height:1.5}#map-notice:empty{display:none}[data-theme=dark] #park-map .leaflet-tile-pane{filter:brightness(.75) saturate(.65)}@media(max-width:430px){.map-toolbar{align-items:flex-start;flex-direction:column;gap:0}.map-toolbar button{margin-bottom:12px}}

.queue-warning{margin:16px 0;padding:16px;border:2px solid #b77713;border-radius:14px;background:#fff0cf;color:#5b3900;font-weight:650;line-height:1.5}.quick-undo{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:1500;width:calc(100% - 32px);max-width:700px;display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--surface);color:var(--ink);border:2px solid var(--accent);border-radius:16px;box-shadow:0 8px 32px #0005}.quick-undo span:first-child{flex:1;overflow-wrap:anywhere}.quick-undo button{flex-shrink:0}#report-form textarea{width:100%;padding:12px;font:inherit;margin-top:8px;box-sizing:border-box}#report-form label{margin-top:16px}@media(max-width:480px){.quick-undo{flex-wrap:wrap}.quick-undo span:first-child{flex-basis:100%}}

#home-view{padding:34px 0 10px}#home-title{max-width:560px;font-size:clamp(36px,7vw,54px);line-height:1.08}.home-intro{font-size:18px;line-height:1.6;color:var(--muted);max-width:470px;margin:20px 0 26px}.home-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:16px;border:1px solid var(--line);padding:26px;border-radius:24px;background:var(--surface);color:var(--ink);min-height:300px;box-shadow:0 8px 24px #20112c0a}.home-choice:first-child{background:linear-gradient(135deg,#35224b,#1b1730);color:#fff;border-color:#80608f}.choice-symbol{font-size:30px;color:#b77a17;line-height:1}.home-choice:first-child .choice-symbol{color:#f6d382}.choice-title{font-family:Georgia,serif;font-size:30px;line-height:1.15;font-weight:500}.choice-copy{font-size:16px;font-weight:400;line-height:1.6;opacity:.9}.choice-link{margin-top:auto;font-size:15px;font-weight:750;padding-top:8px}.home-choice:first-child .choice-link{color:#f6d382}#back-home{margin:16px 0}#nearby-view h1{font-size:clamp(32px,6vw,44px)}#nearby-view>p{line-height:1.6}#nearby-results .secondary{margin-top:18px;width:100%}#nearby-plan{width:100%;margin-top:12px}@media(max-width:580px){.home-choices{grid-template-columns:1fr}.home-choice{min-height:unset;gap:12px;padding:24px}.choice-title{font-size:28px}#home-view{padding-top:26px}}

/* ParkWhim: daylight shimmer and midnight starlight. Original abstract accents only. */
:root,:root[data-theme=light]{--ink:#271747;--muted:#625474;--surface:#ffffff;--soft:#f0eafd;--line:#d8c9ec;--accent:#65409c;--gold:#926218;--page:#faf8ff;color:var(--ink);background:var(--page)}
:root[data-theme=dark]{--ink:#fff6e8;--muted:#c6c5e3;--surface:#20203e;--soft:#28264a;--line:#514777;--accent:#e0bfff;--gold:#f7d88f;--page:#10112c;color:var(--ink);background:var(--page)}
body{background:radial-gradient(ellipse at 8% 0%,#efcc7850,transparent 36%),radial-gradient(ellipse at 100% 22%,#b998f04a,transparent 40%),radial-gradient(ellipse at 12% 75%,#a6e4e832,transparent 36%);background-attachment:fixed}
:root[data-theme=dark] body{background:radial-gradient(ellipse at 5% 0%,#8454d449,transparent 36%),radial-gradient(ellipse at 100% 32%,#176b8030,transparent 40%),radial-gradient(ellipse at 15% 85%,#64488c30,transparent 42%);background-attachment:fixed}
header{border-bottom-color:var(--line);padding-bottom:22px}.brand,:root[data-theme=dark] .brand{display:inline-flex;align-items:baseline;font-size:32px;letter-spacing:-1.2px;white-space:nowrap}.brand-whim{font-style:italic;color:var(--accent)}.brand-spark{align-self:center;font-size:27px;color:var(--gold);margin-right:8px;text-shadow:0 0 22px #edca8066}
#home-view{position:relative;padding:42px 0 18px}#home-title{font-style:italic;font-size:clamp(40px,7.7vw,60px);max-width:640px;line-height:1.1;letter-spacing:-1.6px}.home-intro{font-size:18px;margin-top:22px}.eyebrow{font-weight:750;letter-spacing:2px}
.home-choices{gap:20px;margin-top:30px}.home-choice,.home-choice:first-child{position:relative;overflow:hidden;isolation:isolate;min-height:340px;padding:30px;border-radius:30px 30px 30px 10px;background:radial-gradient(ellipse at 100% 0%,#f8dfa45e,transparent 65%),linear-gradient(150deg,#fff,#f3eafa);border:1px solid #cdb5e3;color:#2e184c;box-shadow:0 12px 34px #4e236414,inset 0 1px 0 #fff}
.home-choice.quick-choice{border-radius:30px 30px 10px 30px;background:radial-gradient(ellipse at 100% 0%,#b9e5e960,transparent 65%),linear-gradient(150deg,#fff,#f5edf9);border-color:#bccdd7}
.home-choice::after{content:'✦';position:absolute;right:22px;top:23px;font-size:50px;line-height:1;color:#9e762a24;pointer-events:none;z-index:-1}.home-choice.quick-choice::after{content:'✧';color:#45798d35;font-size:65px}
.choice-symbol,.home-choice:first-child .choice-symbol{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid #c7abd9;border-radius:50%;font-size:29px;background:#ffffffa6;color:#7850a0;box-shadow:0 0 25px #bfa0e024;margin-bottom:4px}.choice-title{font-size:34px;font-style:italic;line-height:1.15;max-width:240px}.choice-copy{opacity:1;color:#62516e;line-height:1.65}.choice-link,.home-choice:first-child .choice-link{color:#653b8d;border-top:1px solid #cbb9dc;width:100%;padding-top:18px;margin-top:auto}
:root[data-theme=dark] .home-choice,:root[data-theme=dark] .home-choice:first-child{background:radial-gradient(ellipse at 95% 0%,#a465c64d,transparent 62%),linear-gradient(145deg,#30264b,#211f3c);border-color:#7a6196;color:#fff3d9;box-shadow:0 12px 36px #05071855,inset 0 1px 0 #d9bce51a}
:root[data-theme=dark] .home-choice.quick-choice{background:radial-gradient(ellipse at 100% 0%,#3a8b9a42,transparent 68%),linear-gradient(145deg,#222a47,#1b213c);border-color:#546d88}
:root[data-theme=dark] .choice-symbol,:root[data-theme=dark] .home-choice:first-child .choice-symbol{color:#f7d88f;border-color:#b1936580;background:#f6d68a0d;box-shadow:0 0 25px #f1cb7920}
:root[data-theme=dark] .choice-copy{color:#d2c8e0}:root[data-theme=dark] .choice-link,:root[data-theme=dark] .home-choice:first-child .choice-link{color:#f7d88f;border-color:#70607b}:root[data-theme=dark] .home-choice::after{color:#f7d88f35}:root[data-theme=dark] .home-choice.quick-choice::after{color:#b9edf344}
:root[data-theme=light] .card:first-child{background:radial-gradient(ellipse at 100% 0%,#f6d78655,transparent 70%),linear-gradient(135deg,#f4ebff,#fff);color:#2e184c;border-color:#c7b0dd;box-shadow:0 10px 30px #5d387515}:root[data-theme=light] .card:first-child .kicker{color:#70418e}:root[data-theme=light] .card:first-child .metric strong{color:#633b88}
:root[data-theme=dark] .card:first-child{background:radial-gradient(ellipse at 100% 0%,#a765b54a,transparent 65%),linear-gradient(135deg,#26213f,#372550);border-color:#79658e;box-shadow:0 12px 34px #09041940}.primary,.actions button{background:linear-gradient(120deg,#fbe5ad,#edc16b);border-color:#c8a158;color:#302041}.actions button+button{background:transparent;color:inherit;border-color:var(--line)}
@media(prefers-reduced-motion:no-preference){.home-choice{transition:transform .2s,box-shadow .2s}.home-choice:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 18px 38px #50306426;filter:none}.home-choice:active:not(:disabled){transform:translateY(0)}}
@media(max-width:580px){.brand,:root[data-theme=dark] .brand{font-size:28px}.brand-spark{font-size:23px;margin-right:5px}#home-view{padding-top:30px}.home-choice,.home-choice:first-child{min-height:unset;padding:24px;gap:14px}.choice-title{max-width:none;font-size:31px}.choice-symbol,.home-choice:first-child .choice-symbol{width:44px;height:44px;font-size:25px}.home-choices{gap:16px}.choice-link{margin-top:6px}.home-intro{font-size:17px}}

/* Magic Waypoint — a compass-led interface, in daylight and after dark. */
:root,:root[data-theme=light]{--ink:#173244;--muted:#506777;--surface:#fff;--soft:#e7f1f4;--line:#c0d5dc;--accent:#156778;--gold:#916313;--page:#f4f9fb;color:var(--ink);background:var(--page)}
:root[data-theme=dark]{--ink:#edf7f8;--muted:#b5cbd3;--surface:#132d3d;--soft:#1a394a;--line:#385565;--accent:#82d7da;--gold:#f2cd7f;--page:#0b1c2b;color:var(--ink);background:var(--page)}
body,:root[data-theme=dark] body{background:radial-gradient(ellipse at 100% 0%,#299eaf16,transparent 45%),radial-gradient(ellipse at 0% 70%,#d2ad5914,transparent 50%);background-attachment:fixed}
main{max-width:900px}header{gap:20px;border-bottom:1px solid var(--line)}.brand,:root[data-theme=dark] .brand{display:flex;align-items:center;gap:10px;letter-spacing:0;white-space:normal;text-decoration:none}.brand-icon{width:52px;height:52px;border-radius:50%;flex:none}.brand-name{display:flex;flex-direction:column;gap:1px;color:var(--ink)}.brand-name>span{font:700 12px/1.2 ui-sans-serif,system-ui,sans-serif;text-transform:uppercase;letter-spacing:3px;color:var(--accent)}.brand-name>strong{font:500 29px/1 Georgia,serif;letter-spacing:-.7px}
h1,#home-title{font-style:normal;letter-spacing:-1px;font-family:Georgia,serif;font-weight:500}#home-view{padding:32px 0 12px}#home-title{font-size:clamp(35px,6.5vw,52px);line-height:1.13;max-width:660px}.home-intro{font-size:18px;line-height:1.6;max-width:590px;margin:18px 0 26px}.eyebrow,.label{letter-spacing:1.7px}
.home-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.home-choice,.home-choice:first-child,.home-choice.quick-choice,:root[data-theme=dark] .home-choice,:root[data-theme=dark] .home-choice:first-child,:root[data-theme=dark] .home-choice.quick-choice{padding:26px;min-height:300px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 8px 24px #0a293710;gap:16px}
.home-choice:first-child,:root[data-theme=dark] .home-choice:first-child{border-top:4px solid #c7a45e;background:linear-gradient(155deg,var(--surface),var(--soft))}.home-choice.quick-choice,:root[data-theme=dark] .home-choice.quick-choice{border-top:4px solid #3996a1}.home-choice::after,.home-choice.quick-choice::after{content:none}
.choice-symbol,.home-choice:first-child .choice-symbol,:root[data-theme=dark] .choice-symbol,:root[data-theme=dark] .home-choice:first-child .choice-symbol{height:40px;width:40px;border:1px solid var(--line);border-radius:50%;color:var(--accent);background:var(--soft);box-shadow:none;font:700 14px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:1px;margin:0}
.choice-title{font-size:31px;font-style:normal;line-height:1.15;max-width:280px}.choice-copy,:root[data-theme=dark] .choice-copy{color:var(--muted);font-size:16px;line-height:1.65}.choice-link,.home-choice:first-child .choice-link,:root[data-theme=dark] .choice-link,:root[data-theme=dark] .home-choice:first-child .choice-link{border-top:1px solid var(--line);color:var(--accent);padding-top:18px;font-size:15px}
.context,:root[data-theme=dark] .context,.field-grid{border-radius:16px;background:var(--soft);border-color:var(--line)}.context{border-left:4px solid var(--accent)}nav{border-radius:12px}nav button{border-radius:8px}.card,:root[data-theme=dark] .card{border-radius:18px;box-shadow:0 6px 20px #0926380a}.card:first-child,:root[data-theme=light] .card:first-child,:root[data-theme=dark] .card:first-child{background:linear-gradient(135deg,#163747,#0d2938);color:#f0f8f7;border:1px solid #537e89;border-top:4px solid #d2ae60;box-shadow:0 8px 28px #0b29371f}.card:first-child .kicker,:root[data-theme=light] .card:first-child .kicker{color:#f2cd7f}.card:first-child .metric strong,:root[data-theme=light] .card:first-child .metric strong{color:#fff0c6}
.primary,.actions button{background:linear-gradient(110deg,#f5dfa5,#e9c071);border-color:#b59048;color:#173244}.actions button+button{background:transparent;color:inherit;border-color:#829da8}.card:first-child .secondary,:root[data-theme=dark] .card:first-child .secondary{background:#244d5a;color:#edf7f8;border-color:#668a95}.view-switch button[aria-pressed=true]{background:#f2cd7f;color:#173244}.map-card .text-button{color:inherit}.wait-pin{border-color:#156778;color:#173244}#park-map{border-radius:16px}.home-choice:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:580px){header{align-items:center;flex-wrap:wrap;gap:16px}.header-controls{margin-left:auto;gap:6px}.header-controls button{font-size:14px;padding:9px 11px}.brand-icon{width:44px;height:44px}.brand-name>strong{font-size:26px}.brand-name>span{font-size:11px}.home-choices{grid-template-columns:1fr;gap:14px}.home-choice,.home-choice:first-child,.home-choice.quick-choice,:root[data-theme=dark] .home-choice,:root[data-theme=dark] .home-choice:first-child,:root[data-theme=dark] .home-choice.quick-choice{min-height:unset;padding:22px;gap:12px}.choice-title{font-size:29px;max-width:none}.home-intro{font-size:16px}#home-view{padding-top:26px}}

/* Clear choices, with a little more wonder around them. */
body{background:radial-gradient(ellipse at 10% 0%,#e9c77530,transparent 36%),radial-gradient(ellipse at 100% 22%,#a994de2e,transparent 48%),radial-gradient(ellipse at 0% 80%,#5cb4bd18,transparent 45%);background-attachment:fixed}
:root[data-theme=dark] body{background:radial-gradient(ellipse at 5% 0%,#7451bc38,transparent 40%),radial-gradient(ellipse at 100% 35%,#1777842c,transparent 48%),radial-gradient(ellipse at 15% 85%,#c49a3910,transparent 45%);background-attachment:fixed}
#home-view{padding-top:40px}#home-title{max-width:660px;text-wrap:balance;font-size:clamp(38px,7vw,56px);line-height:1.12}.home-intro{max-width:560px}.home-choices{gap:22px;margin-top:32px;align-items:stretch}
.home-choice,.home-choice:first-child,.home-choice.quick-choice{position:relative;overflow:hidden;isolation:isolate;padding:34px 28px 26px;border-radius:28px 28px 28px 8px;border:1px solid #cab8df;background:radial-gradient(ellipse at 90% 0%,#f7dc9360,transparent 65%),linear-gradient(150deg,#fffaf1,#f0e7fb);min-height:270px;box-shadow:0 12px 36px #55316813,inset 0 1px 0 #fff;gap:20px}
.home-choice.quick-choice{border-radius:28px 28px 8px 28px;border-color:#a8cfd2;background:radial-gradient(ellipse at 100% 0%,#cff7ea8a,transparent 65%),linear-gradient(145deg,#f7ffff,#e0eff4)}
.home-choice::before{content:'';position:absolute;width:160px;height:160px;border:1px solid #b48b3c2b;border-radius:50%;right:-96px;top:-99px;box-shadow:0 0 0 17px #b48b3c0a,0 0 0 34px #b48b3c08;z-index:-1;pointer-events:none}
.home-choice::after,.home-choice.quick-choice::after{content:'✦';position:absolute;right:22px;top:16px;color:#9f783d88;font-size:20px;line-height:1;z-index:-1;pointer-events:none}.home-choice.quick-choice::after{content:'✧';color:#377c8699;font-size:26px}
.choice-title{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-weight:750;font-style:normal;font-size:28px;letter-spacing:-.8px;line-height:1.2;max-width:270px;padding-right:12px}.choice-copy{font-size:16px;line-height:1.65;max-width:320px}.choice-link,.home-choice:first-child .choice-link{display:block;margin-top:auto;border-top:1px solid #b8a9c777;padding-top:18px;color:#5b3e85;font-weight:750}.quick-choice .choice-link{color:#176778;border-color:#9bc2c777}
:root[data-theme=dark] .home-choice,:root[data-theme=dark] .home-choice:first-child{padding:34px 28px 26px;border-radius:28px 28px 28px 8px;border:1px solid #81699d;background:radial-gradient(ellipse at 100% 0%,#d0a65925,transparent 65%),linear-gradient(145deg,#35264a,#22283f);min-height:270px;box-shadow:0 14px 38px #050b2255,inset 0 1px 0 #e8dba321;gap:20px}
:root[data-theme=dark] .home-choice.quick-choice{padding:34px 28px 26px;border-radius:28px 28px 8px 28px;border:1px solid #498d96;background:radial-gradient(ellipse at 100% 0%,#66d6c22a,transparent 60%),linear-gradient(145deg,#173e48,#172d43);min-height:270px;box-shadow:0 14px 38px #050b2255,inset 0 1px 0 #a3e8e121;gap:20px}
:root[data-theme=dark] .home-choice::after{color:#f5d38dc9}:root[data-theme=dark] .home-choice.quick-choice::after{color:#b8f2e6c9}:root[data-theme=dark] .home-choice::before{border-color:#ead39438;box-shadow:0 0 0 17px #ead3940a,0 0 0 34px #ead39408}:root[data-theme=dark] .choice-copy{color:#d1dae4}:root[data-theme=dark] .choice-link,:root[data-theme=dark] .home-choice:first-child .choice-link{color:#f5d592;border-color:#af99bf55}:root[data-theme=dark] .quick-choice .choice-link{color:#a6e8df;border-color:#9dd6d455}
.context,:root[data-theme=dark] .context{box-shadow:0 6px 22px #14333d08}.brand-icon{box-shadow:0 0 0 3px #d8b76430,0 0 24px #d8b76416}nav{padding:6px;gap:6px}.primary{box-shadow:0 4px 18px #b98a2f20}.card:first-child,:root[data-theme=light] .card:first-child,:root[data-theme=dark] .card:first-child{background:radial-gradient(ellipse at 100% 0%,#7b579042,transparent 65%),linear-gradient(130deg,#163747,#15273e);border-top-color:#e0bf77}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.home-choice:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 18px 40px #41346225;filter:none}.home-choice:active:not(:disabled){transform:translateY(0)}}
@media(max-width:580px){#home-view{padding-top:30px}.home-choices{gap:18px;margin-top:24px}.home-choice,.home-choice:first-child,.home-choice.quick-choice,:root[data-theme=dark] .home-choice,:root[data-theme=dark] .home-choice:first-child,:root[data-theme=dark] .home-choice.quick-choice{min-height:unset;padding:28px 24px 22px;gap:16px}.choice-title{font-size:27px;max-width:100%;padding-right:20px}.choice-link{margin-top:2px}.home-intro{font-size:17px}}

/* Launch accessibility and data controls. */
.skip-link{position:fixed;top:-100px;left:16px;z-index:9999;padding:12px;background:var(--paper,#fff);color:var(--ink,#142d42)}.skip-link:focus{top:12px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba881e;outline-offset:4px}.beta-label{display:inline-block;padding:5px 10px;border:1px solid currentColor;border-radius:99px;font-size:14px;margin-bottom:14px}footer details{margin:18px 0}footer .actions{flex-wrap:wrap}#backup-status{overflow-wrap:anywhere}

.beta-label{margin-right:10px}main:focus{outline:none}

/* Compact footer: contact, useful tools, then attribution. */
.site-footer{margin-top:52px;padding:28px 0 18px;border-top:1px solid var(--line);font-size:16px}.footer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.footer-wordmark{font:500 25px/1.2 Georgia,serif;color:var(--ink)}.site-footer .beta-label{margin:0;white-space:nowrap;font-size:13px}.footer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px}.footer-contact{padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--surface),var(--soft));align-self:start}.site-footer h2{font:700 18px/1.4 ui-sans-serif,system-ui,sans-serif;margin:0 0 14px;color:var(--ink)}.footer-contact p{margin:0 0 14px;line-height:1.6}.footer-contact .eyebrow{font-size:12px;margin-bottom:8px}.contact-email{display:block;font-weight:700;overflow-wrap:anywhere;margin:0 0 18px}.footer-contact button{margin-bottom:12px;width:100%}.site-footer .small{font-size:14px;line-height:1.6}.footer-tools details{margin:0;border-bottom:1px solid var(--line);padding:0}.footer-tools summary{padding:14px 0;cursor:pointer;line-height:1.5;font-size:15px}.footer-tools details>p,.footer-tools details>.actions{margin:0 0 14px}.footer-tools details>button{margin-bottom:14px}.footer-tools details>p,.footer-tools details>a{font-size:14px;line-height:1.65}.footer-bottom{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;line-height:1.6}.footer-bottom p{margin:0 0 8px}.footer-bottom a{display:inline-block;margin-top:4px}@media(max-width:650px){.footer-grid{grid-template-columns:1fr;gap:24px}.site-footer{margin-top:36px;padding-top:24px}.footer-contact{padding:20px}.footer-wordmark{font-size:23px}}

/* Footer tools and illustrated in-page help. */
.compact-footer{margin-top:36px;padding-top:22px}.footer-buttons{display:flex;flex-wrap:wrap;gap:10px}.footer-buttons button{font-size:14px;min-height:44px;margin:0}.compact-footer .footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:18px;padding-top:14px}.compact-footer .footer-bottom p,.compact-footer .footer-bottom a{margin:0}.home-help{display:block;margin:10px 0 0 auto}.info-dialog{width:min(760px,calc(100vw - 28px));max-width:760px;max-height:88dvh;padding:0;box-sizing:border-box;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);overflow:auto}.info-dialog::backdrop{background:#061321b8;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:1;background:var(--surface);padding:20px 24px;border-bottom:1px solid var(--line)}.modal-heading h2{font-size:23px;line-height:1.3;margin:0}.modal-close{flex:none;min-height:44px}.modal-content{padding:22px 24px;line-height:1.65;font-size:16px}.modal-content>p:first-child{margin-top:0}.modal-content a{overflow-wrap:anywhere}.modal-content .contact-email{font-size:20px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.guide-step h3,.guide-note h3{font-size:18px;line-height:1.4;margin:0 0 12px}.guide-step p{font-size:15px;margin:12px 0;line-height:1.6}.guide-visual{margin:0;padding:20px;min-height:180px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--soft),var(--surface));display:flex;flex-direction:column;justify-content:center;gap:10px;color:var(--ink)}.guide-choice,.guide-field,.guide-location{padding:10px 12px;border-radius:10px;border:1px solid var(--line);font-size:14px;font-weight:700;background:var(--surface)}.guide-choice{border-left:4px solid #c7a45e}.guide-choice.alternate{border-left-color:#3996a1}.guide-or{text-align:center;font-size:14px}.guide-label{font-size:13px;color:var(--muted)}.guide-field{display:flex;justify-content:space-between}.guide-location{margin-left:14px;font-weight:400}.guide-tag{color:var(--accent);font-size:14px}.guide-metrics{display:flex;gap:24px}.guide-metrics span{display:flex;flex-direction:column}.guide-metrics b{font-size:30px;line-height:1.2}.guide-metrics small{font-size:13px}.guide-pills{display:flex;gap:8px;font-size:13px}.guide-pills span{padding:3px 12px;border:1px solid var(--line);border-radius:20px}.guide-done{display:flex;align-items:center;gap:12px;justify-content:center}.guide-done>span{width:42px;height:42px;border:2px solid #29966e;color:#29966e;border-radius:50%;display:grid;place-items:center;font-size:28px}.guide-arrow{text-align:center;font-size:24px;color:var(--accent)}.guide-note{padding-top:20px;border-top:1px solid var(--line);margin-top:20px}.guide-note li{margin-bottom:10px}.guide-note ul{padding-left:22px}@media(max-width:580px){.footer-buttons{display:grid;grid-template-columns:1fr 1fr}.footer-buttons button{padding:10px;font-size:14px}.guide-grid{grid-template-columns:1fr}.modal-heading{padding:16px}.modal-heading h2{font-size:21px}.modal-content{padding:18px 16px}.guide-visual{min-height:160px}.info-dialog{max-height:90dvh}}
