:root{--bg:#07101f;--bg2:#0d1d36;--text:#f6f8ff;--muted:#a8b5ca;--glass:rgba(15,30,54,.54);--glass-strong:rgba(14,29,53,.76);--border:rgba(255,255,255,.13);--hair:rgba(255,255,255,.08);--blue:#73b8ff;--blue2:#3e8fff;--blue-rgb:115,184,255;--blue2-rgb:62,143,255;--accent-glow1:#0d72ff;--accent-glow2:#7b45ff;--accent-glow3:#00bfa6;--green:#76e3aa;--red:#ff8e9d;--shadow:0 24px 80px rgba(0,0,0,.30);--radius:26px;--nav-h:74px;--safe-bottom:env(safe-area-inset-bottom,0px);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color-scheme:dark}
:root[data-accent="cyan"]{--blue:#70e8ff;--blue2:#18b8d8;--blue-rgb:112,232,255;--blue2-rgb:24,184,216;--accent-glow1:#00b8df;--accent-glow2:#327dff;--accent-glow3:#00cbb1}
:root[data-accent="violet"]{--blue:#b9a5ff;--blue2:#7d5cff;--blue-rgb:185,165,255;--blue2-rgb:125,92,255;--accent-glow1:#714cff;--accent-glow2:#b24cff;--accent-glow3:#4f83ff}
:root[data-accent="pink"]{--blue:#ff9bd5;--blue2:#e05aa9;--blue-rgb:255,155,213;--blue2-rgb:224,90,169;--accent-glow1:#df3f9b;--accent-glow2:#7b45ff;--accent-glow3:#ff6d8c}
:root[data-accent="orange"]{--blue:#ffc27b;--blue2:#ef8a42;--blue-rgb:255,194,123;--blue2-rgb:239,138,66;--accent-glow1:#f07e2f;--accent-glow2:#dc4f73;--accent-glow3:#f0bd38}
:root[data-accent="green"]{--blue:#82e8b7;--blue2:#39b97d;--blue-rgb:130,232,183;--blue2-rgb:57,185,125;--accent-glow1:#27b979;--accent-glow2:#1b8fd5;--accent-glow3:#67d86b}
:root[data-theme="light"]{--bg:#dfeaf7;--bg2:#edf4fb;--text:#0f1c2e;--muted:#5e6d80;--glass:rgba(255,255,255,.58);--glass-strong:rgba(255,255,255,.78);--border:rgba(255,255,255,.75);--hair:rgba(26,53,82,.10);--shadow:0 24px 70px rgba(44,75,110,.16);color-scheme:light}
@media(prefers-color-scheme:light){:root[data-theme="system"]{--bg:#dfeaf7;--bg2:#edf4fb;--text:#0f1c2e;--muted:#5e6d80;--glass:rgba(255,255,255,.58);--glass-strong:rgba(255,255,255,.78);--border:rgba(255,255,255,.75);--hair:rgba(26,53,82,.10);--shadow:0 24px 70px rgba(44,75,110,.16);color-scheme:light}}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}body{margin:0;min-height:100vh;min-height:100dvh;color:var(--text);background:linear-gradient(160deg,var(--bg),var(--bg2));overflow-x:hidden;overscroll-behavior-x:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}button{cursor:pointer}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.hidden{display:none!important}.shell-width{width:min(980px,calc(100% - 28px));margin-inline:auto}.ambient{position:fixed;pointer-events:none;border-radius:50%;filter:blur(70px);opacity:.42;z-index:0}.ambient-one{width:42vw;height:42vw;min-width:320px;min-height:320px;background:var(--accent-glow1);top:-15vw;right:-10vw}.ambient-two{width:38vw;height:38vw;min-width:300px;min-height:300px;background:var(--accent-glow2);left:-18vw;top:34vh;opacity:.22}.ambient-three{width:34vw;height:34vw;background:var(--accent-glow3);right:-14vw;bottom:-10vw;opacity:.17}.app-shell{position:relative;z-index:1;min-height:100vh;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 58px)}.liquid-glass,.glass-control{background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035)),var(--glass);border:1px solid var(--border);box-shadow:inset 0 1px rgba(255,255,255,.15),var(--shadow);backdrop-filter:blur(26px) saturate(160%);-webkit-backdrop-filter:blur(26px) saturate(160%)}.topbar{height:auto;min-height:calc(68px + env(safe-area-inset-top,0px));padding-top:calc(env(safe-area-inset-top,0px) + 14px);padding-bottom:16px;padding-inline:4px;display:flex;align-items:center;justify-content:space-between}.brand-lockup{display:flex;gap:11px;align-items:center;min-width:0}.brand-icon{border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.24);flex:0 0 auto}.brand-copy{display:flex;flex-direction:column}.brand-kicker,.eyebrow,.ride-land{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--blue)}h1,h2,h3,p{margin:0}.brand-copy h1{font-size:1.26rem;line-height:1.05}.icon-button{width:44px;height:44px;flex:0 0 44px;padding:0;margin-right:2px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;background-color:var(--glass);overflow:hidden;line-height:0}.icon-button svg{display:block;width:20px;height:20px;overflow:visible;transform:translateZ(0)}.main-content{padding-top:10px}.view-panel{display:none;animation:fade .2s ease}.view-panel.active{display:block}.hero-card{border-radius:32px;padding:26px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:end;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(var(--blue-rgb),.35),transparent 70%);right:-50px;top:-70px;pointer-events:none}.hero-card h2,.page-heading h2,.section-heading h2{font-size:clamp(1.75rem,5vw,2.6rem);letter-spacing:-.04em}.hero-card p,.page-heading p{color:var(--muted);line-height:1.55;max-width:650px;margin-top:10px}.hero-watch{min-width:112px;border:0;border-radius:22px;padding:16px;background:rgba(var(--blue2-rgb),.18);box-shadow:inset 0 0 0 1px rgba(var(--blue-rgb),.24);display:flex;flex-direction:column;align-items:flex-start}.hero-watch strong{font-size:1.8rem}.hero-watch span{font-size:.74rem;color:var(--muted)}.park-strip{display:flex;gap:8px;overflow:auto;padding:16px 1px 10px;scrollbar-width:none}.park-strip::-webkit-scrollbar{display:none}.park-chip{flex:0 0 auto;border:1px solid var(--border);background:rgba(255,255,255,.055);padding:10px 14px;border-radius:999px;color:var(--muted);font-weight:750}.park-chip span{margin-right:7px}.park-chip.active{background:rgba(var(--blue2-rgb),.20);color:var(--text);border-color:rgba(var(--blue-rgb),.42)}.toolbar{border-radius:22px;padding:10px;display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:8px;margin:8px 0 24px}.search{display:flex;align-items:center;gap:8px;min-width:0;background:rgba(0,0,0,.12);border-radius:15px;padding:0 12px}.search svg{width:18px}.search input{width:100%;border:0;outline:0;background:transparent;padding:10px 0}.filter-button,.toolbar select,.settings-group select{border:1px solid var(--hair);background:rgba(255,255,255,.06);border-radius:14px;padding:10px 12px}.filter-button.active{background:rgba(var(--blue2-rgb),.20);border-color:rgba(var(--blue-rgb),.40)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.park-heading-copy{min-width:0}.park-hours{display:block;margin-top:4px;font-size:.82rem;font-weight:650;color:var(--muted);line-height:1.2}.park-hours:empty{display:none}.park-events{display:grid;gap:4px;margin-top:5px}.park-events:empty{display:none}.park-event{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;font-size:.78rem;line-height:1.25}.park-event b{color:#bda8ff;font-weight:780}.park-event>span{color:var(--muted);font-weight:650}.refresh-copy{font-size:.78rem;color:var(--muted)}.ride-list,.watch-list{display:grid;gap:10px}.ride-card{border-radius:22px;display:grid;grid-template-columns:1fr 58px;overflow:hidden;box-shadow:0 10px 34px rgba(0,0,0,.16)}.ride-card.watching{border-color:rgba(var(--blue-rgb),.34)}.ride-main,.watch-card-main{border:0;background:transparent;text-align:left;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.ride-copy{min-width:0}.ride-copy h3,.watch-card h3{font-size:1rem;line-height:1.22;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:4px}.updated,.status-label,.watch-card p,.setting-row small,.about-row p,.duration-row small,.toggle-row small,.threshold-head small{font-size:.74rem;color:var(--muted)}.ride-status{text-align:right;flex:0 0 auto}.wait{font-size:1.05rem;font-weight:850;display:block}.wait.open{color:var(--green)}.wait.closed{color:var(--red)}.watch-button{border:0;border-left:1px solid var(--hair);background:rgba(255,255,255,.025);display:grid;place-items:center}.watch-button.active{color:var(--blue);background:rgba(var(--blue2-rgb),.11)}.watch-button svg{width:24px}.bell-dot{fill:currentColor;stroke:none}.page-heading{padding:18px 3px 20px}.notification-callout{width:100%;border-radius:22px;padding:15px 16px;margin-bottom:12px;border:1px solid rgba(var(--blue-rgb),.30);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left}.notification-callout span{font-size:1.35rem}.notification-callout div{display:flex;flex-direction:column}.notification-callout small{color:var(--muted);margin-top:3px}.notification-callout b{color:var(--blue)}.watch-card{border-radius:22px;display:grid;grid-template-columns:1fr auto;align-items:center;overflow:hidden}.watch-card-main{display:block}.watch-card h3{margin:4px 0 5px}.watch-live{display:flex;align-items:center;gap:11px;padding-right:12px}.delete-watch{width:34px;height:34px;border-radius:50%;border:1px solid var(--hair);background:rgba(255,255,255,.05);font-size:1.35rem;line-height:1}.empty{border-radius:24px;text-align:center;padding:36px 22px;color:var(--muted)}.empty h3{color:var(--text);margin:10px 0 6px}.empty-icon{font-size:2rem}.empty button{margin-top:15px;border:0;border-radius:14px;padding:10px 14px;background:rgba(var(--blue2-rgb),.22);color:var(--text)}.settings-group{border-radius:24px;overflow:hidden;margin-bottom:12px}.setting-row{min-height:72px;padding:15px 17px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--hair)}.setting-row:last-child{border-bottom:0}.setting-row div{display:flex;flex-direction:column;gap:3px}.setting-action{border:0;background:rgba(var(--blue2-rgb),.14);color:var(--blue);font-weight:800;border-radius:12px;padding:9px 12px}.about-row{padding:18px}.about-row p{margin:6px 0 12px;line-height:1.5}.about-row a,.source-footer a{color:var(--blue);text-decoration:none}.fine-print{font-size:.76rem;color:var(--muted);padding:8px 6px 28px;line-height:1.45}.source-footer{text-align:center;padding:25px 0 6px;font-size:.75rem}.bottom-nav{position:fixed;z-index:20;left:50%;transform:translateX(-50%);bottom:calc(10px + var(--safe-bottom));width:min(460px,calc(100% - 24px));height:var(--nav-h);border-radius:25px;display:grid;grid-template-columns:repeat(3,1fr);padding:7px}.nav-item{position:relative;border:0;background:transparent;border-radius:19px;color:var(--muted);display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;font-size:.69rem;font-weight:750}.nav-item.active{background:rgba(var(--blue-rgb),.14);color:var(--text)}.nav-item svg{width:21px;height:21px}.nav-icon-wrap{position:relative;display:grid}.nav-badge{position:absolute;right:-9px;top:-7px;min-width:17px;height:17px;border-radius:999px;background:var(--blue2);color:white;font-size:.58rem;display:grid;place-items:center;padding:0 4px}.network-banner{position:sticky;top:0;z-index:25;text-align:center;padding:8px;background:#8c3f4b;color:#fff;font-size:.78rem}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.44);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.ride-sheet{position:fixed;z-index:41;left:50%;transform:translateX(-50%);bottom:0;width:min(660px,100%);border-radius:30px 30px 0 0;padding:10px 18px calc(22px + var(--safe-bottom));max-height:90vh;overflow:auto;background-color:var(--glass-strong)}.sheet-handle{width:42px;height:5px;border-radius:999px;background:rgba(255,255,255,.28);margin:2px auto 15px}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.sheet-head h2{font-size:1.55rem;margin-top:3px}.sheet-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--hair);background:rgba(255,255,255,.06);font-size:1.4rem}.sheet-status{margin:14px 0 16px;display:flex;align-items:baseline;gap:8px}.sheet-status .wait{font-size:1.4rem}.toggle-row,.duration-row{position:relative;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 2px;border-top:1px solid var(--hair)}.toggle-row div,.duration-row span,.threshold-head div{display:flex;flex-direction:column;gap:3px}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.switch{width:48px;height:28px;border-radius:99px;background:rgba(255,255,255,.13);position:relative;transition:.2s}.switch:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:white;transition:.2s;box-shadow:0 3px 10px rgba(0,0,0,.25)}.toggle-row input:checked+.switch{background:var(--blue2)}.toggle-row input:checked+.switch:after{transform:translateX(20px)}.threshold-block{padding:15px 2px;border-top:1px solid var(--hair)}.threshold-head{display:flex;justify-content:space-between;gap:15px}.mini-toggle{border:1px solid var(--hair);background:rgba(255,255,255,.06);border-radius:12px;padding:7px 11px;height:max-content}.mini-toggle.active{color:var(--blue);background:rgba(var(--blue2-rgb),.15)}.threshold-controls{margin-top:13px;display:grid;grid-template-columns:44px 1fr auto 44px;align-items:center;gap:8px;transition:.2s}.threshold-controls.disabled{opacity:.35;pointer-events:none}.threshold-controls button{height:40px;border-radius:12px;border:1px solid var(--hair);background:rgba(255,255,255,.06);font-size:1.2rem}.threshold-controls output{text-align:right;font-size:1.8rem;font-weight:850}.duration-row select{border:1px solid var(--hair);background:rgba(255,255,255,.06);border-radius:12px;padding:9px 10px}.primary-button{width:100%;border:0;border-radius:16px;background:linear-gradient(135deg,var(--blue2),var(--blue));color:white;font-weight:850;padding:14px 18px;margin-top:8px;box-shadow:0 10px 28px rgba(var(--blue2-rgb),.26)}.danger-text{width:100%;border:0;background:transparent;color:var(--red);padding:14px}.toast-region{position:fixed;z-index:80;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + var(--safe-bottom) + 28px);width:min(420px,calc(100% - 28px));pointer-events:none}.toast{padding:13px 16px;border-radius:16px;text-align:center;transform:translateY(12px);opacity:0;transition:.22s}.toast.show{transform:translateY(0);opacity:1}.noscript{padding:30px;text-align:center}.sheet-open{overflow:hidden}@keyframes fade{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:640px){.shell-width{width:min(calc(100% - 20px),980px)}.topbar{min-height:calc(68px + env(safe-area-inset-top,0px));padding-top:calc(env(safe-area-inset-top,0px) + 14px);padding-bottom:16px;padding-inline:4px}.main-content{padding-top:14px}.hero-card{grid-template-columns:1fr;padding:22px 20px 20px;gap:18px}.hero-card p{margin-top:12px;line-height:1.48}.hero-watch{width:100%;flex-direction:row;align-items:baseline;gap:8px;padding:14px 16px}.park-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:16px 0 12px;overflow:visible}.park-chip{min-width:0;padding:10px 5px;font-size:clamp(.72rem,3.15vw,.84rem);white-space:nowrap}.park-chip span{margin-right:4px}.toolbar{grid-template-columns:1fr 1fr;margin:4px 0 18px;padding:9px}.search{grid-column:1/-1}.search input{padding:11px 0}.filter-button,.toolbar select{min-width:0;min-height:46px;padding-inline:8px}.section-heading{margin:0 1px 13px}.section-heading .eyebrow{display:block;margin-bottom:4px}.refresh-copy{padding-bottom:4px}.ride-list{gap:12px}.ride-card{grid-template-columns:1fr 52px}.ride-main{padding:15px 14px}.ride-copy h3{max-width:55vw}.source-footer{padding-bottom:2px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.ride-card.stale,.watch-card.stale{opacity:.78;border-color:rgba(255,196,92,.22)}
.wait.stale{color:#f1c56f}
.health-pill,.setting-value{font-size:.78rem;color:var(--muted);text-align:right;max-width:52%}
.health-pill{display:inline-flex;align-items:center;gap:6px}
.health-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted);flex:0 0 auto}
.health-pill.good{color:var(--green)}
.health-pill.good:before{background:var(--green)}
.health-pill.bad{color:var(--red)}
.health-pill.bad:before{background:var(--red)}
@media(max-width:640px){.status-label{max-width:92px;display:block;line-height:1.15;margin-top:2px}.health-pill,.setting-value{max-width:48%;font-size:.74rem}}

.ride-insights{margin:0 0 14px;padding:13px 14px;border:1px solid var(--hair);border-radius:16px;background:rgba(255,255,255,.035)}
.insight-loading{display:block;color:var(--muted);font-size:.76rem;line-height:1.4}
.insight-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:.75rem;color:var(--muted)}
.insight-head>b{color:var(--blue);font-size:.72rem;text-align:right}
.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}
.insight-grid>div{padding:10px 11px;border-radius:13px;background:rgba(255,255,255,.045);display:flex;flex-direction:column;gap:2px}
.insight-grid span,.ride-insights small{font-size:.68rem;color:var(--muted)}
.insight-grid strong{font-size:.95rem}
.ride-insights small{display:block;line-height:1.35}
@media(max-width:420px){.insight-grid{grid-template-columns:1fr 1fr}}


/* Mobile/touch interaction polish */
a,button,input,select,label,[role="button"]{touch-action:manipulation}
button,.nav-item,.park-chip,.ride-main,.watch-card-main,.watch-button,.setting-action,.notification-callout,.hero-watch,.mini-toggle,.primary-button,.danger-text{-webkit-tap-highlight-color:transparent}
button,select,input{max-width:100%}
button{user-select:none;-webkit-user-select:none}
input{user-select:text;-webkit-user-select:text}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.park-strip{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.park-chip{min-height:44px;display:flex;align-items:center;justify-content:center}
.icon-button,.watch-button,.nav-item,.setting-action,.filter-button,.mini-toggle,.threshold-controls button,.primary-button,.danger-text{min-height:44px}
.sheet-close,.delete-watch{width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;padding:0}
.watch-button{min-width:52px}
.setting-row>div,.threshold-head>div,.duration-row>span,.toggle-row>div{min-width:0}
.setting-row strong,.setting-row small,.status-label,.updated{overflow-wrap:anywhere}

.ride-sheet{
  max-height:90vh;
  max-height:min(90dvh,calc(100dvh - env(safe-area-inset-top,0px) - 10px));
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom;
  scroll-padding-bottom:calc(28px + var(--safe-bottom));
  padding-left:calc(18px + env(safe-area-inset-left,0px));
  padding-right:calc(18px + env(safe-area-inset-right,0px));
}
.sheet-backdrop{touch-action:none}
.sheet-head>div{min-width:0}
.sheet-head h2{overflow-wrap:anywhere}
.sheet-status{min-width:0;flex-wrap:wrap}
.sheet-status small{line-height:1.3}

.bottom-nav{
  min-height:var(--nav-h);
  height:var(--nav-h);
  padding:7px;
}
.nav-item{min-width:0}
.nav-item>span:last-child{white-space:nowrap}
.toast-region{padding-inline:env(safe-area-inset-left,0px);padding-inline-end:env(safe-area-inset-right,0px)}

@media(hover:hover) and (pointer:fine){
  .park-chip:hover,.filter-button:hover,.setting-action:hover,.mini-toggle:hover,.icon-button:hover,.watch-button:hover,.nav-item:hover{background-color:rgba(var(--blue-rgb),.10)}
  .ride-card:hover,.watch-card:hover{transform:translateY(-1px)}
}
@media(pointer:coarse){
  button:active,.ride-main:active,.watch-card-main:active,.park-chip:active,.nav-item:active{transform:scale(.985)}
}

@media(max-width:640px){
  input,select{font-size:16px}
  .shell-width{width:min(calc(100% - 20px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)),980px)}
  .topbar{padding-left:max(4px,env(safe-area-inset-left,0px));padding-right:max(4px,env(safe-area-inset-right,0px))}
  .toolbar{align-items:stretch}
  .search{min-height:48px}
  .filter-button,.toolbar select{height:48px}
  .ride-card{min-width:0}
  .ride-main{gap:10px}
  .ride-copy h3{max-width:none}
  .ride-status{max-width:104px}
  .watch-card{grid-template-columns:minmax(0,1fr) auto}
  .watch-live{gap:7px;padding-right:8px}
  .setting-row{padding:14px 15px;gap:12px}
  .setting-row>div{flex:1 1 auto}
  .health-pill,.setting-value{flex:0 1 45%;max-width:45%;overflow-wrap:anywhere}
  .threshold-head{align-items:flex-start}
  .duration-row select{font-size:16px;min-height:44px}
  .bottom-nav{width:min(460px,calc(100% - 20px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));bottom:calc(8px + var(--safe-bottom))}
  .toast-region{width:min(420px,calc(100% - 20px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))}
}

@media(max-width:360px){
  .park-chip{font-size:.7rem;padding-inline:3px}
  .park-chip span{margin-right:3px}
  .ride-main{padding-inline:12px}
  .ride-status{max-width:88px}
  .status-label{font-size:.69rem}
  .setting-row{align-items:flex-start}
  .health-pill,.setting-value{max-width:44%;padding-top:2px}
  .insight-grid{grid-template-columns:1fr}
}

@media(orientation:landscape) and (max-height:520px){
  .ride-sheet{max-height:calc(100dvh - env(safe-area-inset-top,0px) - 6px)}
  .bottom-nav{--nav-h:64px}
  .nav-item{font-size:.64rem}
}

.ride-card,.watch-card,.park-chip,.nav-item,.filter-button,.setting-action,.mini-toggle,.icon-button,.watch-button{transition:transform .12s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease}
@media(prefers-reduced-motion:reduce){.ride-card,.watch-card,.park-chip,.nav-item,.filter-button,.setting-action,.mini-toggle,.icon-button,.watch-button{transition:none!important}}

.about-row a,.source-footer a{display:inline-block;min-height:36px;padding-block:8px}

@media(max-width:420px){
  .park-hours{font-size:.78rem}
}

@media(max-width:420px){
  .park-event{font-size:.74rem;gap:5px}
}


/* Park crowd intelligence */
.park-crowd-wrap{margin-top:7px}
.park-crowd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.25}
.crowd-score{font-size:.8rem;font-weight:760;color:var(--text)}
.crowd-score b{font-size:.88rem;margin-right:3px}
.crowd-detail{font-size:.74rem;color:var(--muted);font-weight:620}
.crowd-level-1 .crowd-score,.crowd-level-2 .crowd-score,.crowd-level-3 .crowd-score{color:var(--green)}
.crowd-level-4 .crowd-score,.crowd-level-5 .crowd-score,.crowd-level-6 .crowd-score{color:var(--blue)}
.crowd-level-7 .crowd-score,.crowd-level-8 .crowd-score{color:#f1c56f}
.crowd-level-9 .crowd-score,.crowd-level-10 .crowd-score{color:var(--red)}
.crowd-note .crowd-detail{font-style:italic}
@media(max-width:420px){
  .park-crowd{gap:5px}
  .crowd-score{font-size:.76rem}
  .crowd-detail{font-size:.7rem}
}


/* v1.5 ride intelligence + customization */
.ride-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px}
.value-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;background:rgba(var(--blue2-rgb),.13);border:1px solid rgba(var(--blue-rgb),.20);color:var(--blue);font-size:.67rem;font-weight:800;line-height:1}
.crowd-trend{font-size:.72rem;font-weight:800;text-transform:capitalize}
.trend-up{color:#f1c56f}.trend-down{color:var(--green)}.trend-steady{color:var(--muted)}
.settings-section-title{padding:6px 7px 9px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--muted)}
.accent-setting{align-items:center}
.accent-picker{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:7px!important;flex-wrap:wrap;max-width:210px}
.accent-swatch{width:32px;height:32px;min-width:32px;min-height:32px;padding:3px;border-radius:50%;border:1px solid var(--hair);background:rgba(255,255,255,.045);display:grid;place-items:center;transition:transform .12s ease,border-color .16s ease,box-shadow .16s ease}
.accent-swatch>span{display:block;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 1px rgba(255,255,255,.3)}
.accent-swatch.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(var(--blue-rgb),.16)}
.accent-swatch.active>span{transform:scale(.82)}
.accent-blue>span{background:linear-gradient(135deg,#3e8fff,#73b8ff)}
.accent-cyan>span{background:linear-gradient(135deg,#18b8d8,#70e8ff)}
.accent-violet>span{background:linear-gradient(135deg,#7d5cff,#b9a5ff)}
.accent-pink>span{background:linear-gradient(135deg,#e05aa9,#ff9bd5)}
.accent-orange>span{background:linear-gradient(135deg,#ef8a42,#ffc27b)}
.accent-green>span{background:linear-gradient(135deg,#39b97d,#82e8b7)}
@media(pointer:coarse){.accent-swatch{width:38px;height:38px;min-width:38px;min-height:38px}.accent-swatch>span{width:23px;height:23px}}
@media(max-width:420px){.accent-setting{align-items:flex-start}.accent-picker{max-width:180px;gap:5px!important}.value-badge{font-size:.64rem;padding-inline:6px}}


/* Desktop layout — intentionally isolated from phone/tablet styling */
@media (min-width:1024px) {
  .shell-width{width:min(1180px,calc(100% - 56px))}
  .app-shell{padding-bottom:42px}

  .topbar{
    min-height:84px;
    padding-top:16px;
    padding-bottom:14px;
  }
  .brand-icon{width:48px;height:48px;border-radius:15px}
  .brand-copy h1{font-size:1.34rem}
  .brand-kicker{font-size:.7rem}

  .bottom-nav{
    top:16px;
    bottom:auto;
    width:auto;
    height:52px;
    min-height:52px;
    grid-template-columns:repeat(3,auto);
    padding:5px;
    border-radius:19px;
  }
  .nav-item{
    min-width:108px;
    min-height:42px;
    padding:0 15px;
    flex-direction:row;
    gap:7px;
    border-radius:14px;
    font-size:.76rem;
  }
  .nav-item svg{width:18px;height:18px}
  .nav-icon-wrap{display:grid;place-items:center}
  .nav-badge{right:-9px;top:-8px}

  .main-content{padding-top:12px}

  #view-explore.active{
    display:grid;
    grid-template-columns:minmax(360px,.9fr) minmax(0,1.35fr);
    column-gap:16px;
    align-items:start;
  }
  #view-explore .hero-card{grid-column:1/-1}
  #view-explore .park-strip{
    grid-column:1;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    padding:16px 0 12px;
    overflow:visible;
  }
  #view-explore .park-chip{
    width:100%;
    min-width:0;
    padding:11px 9px;
    justify-content:center;
    white-space:nowrap;
  }
  #view-explore .toolbar{
    grid-column:2;
    align-self:center;
    margin:16px 0 12px;
    min-height:56px;
  }
  #view-explore .section-heading{
    grid-column:1/-1;
    margin-top:8px;
    margin-bottom:14px;
  }
  #view-explore .ride-list{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .hero-card{
    padding:28px 30px;
    min-height:176px;
  }
  .hero-card h2{font-size:clamp(2rem,3vw,2.7rem)}
  .hero-card p{max-width:720px}
  .hero-watch{min-width:132px;padding:17px 18px}

  .ride-card{min-height:104px}
  .ride-main{padding:18px 19px}
  .ride-copy h3{font-size:1.02rem}
  .ride-status{min-width:94px}
  .watch-button{min-width:58px}

  #view-watching.active,
  #view-settings.active{
    max-width:1040px;
    margin-inline:auto;
  }
  #view-watching .watch-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  #view-watching .empty,
  #view-watching .notification-callout,
  #view-watching .page-heading{
    grid-column:1/-1;
  }

  #view-settings.active{max-width:900px}
  #view-settings .page-heading{padding-top:24px}
  #view-settings .settings-group{border-radius:26px}
  #view-settings .setting-row{min-height:78px;padding-inline:20px}
  #view-settings .about-row{padding:20px}

  .ride-sheet{
    top:50%;
    bottom:auto;
    width:min(620px,calc(100% - 64px));
    max-height:min(82vh,760px);
    transform:translate(-50%,-50%);
    border-radius:30px;
    padding:22px 24px 24px;
    box-shadow:0 34px 100px rgba(0,0,0,.42);
  }
  .sheet-handle{display:none}
  .sheet-head h2{font-size:1.7rem}
  .sheet-status{margin:16px 0 18px}
  .ride-insights{padding:15px 16px}
  .sheet-backdrop{background:rgba(0,0,0,.38)}

  .toast-region{
    bottom:30px;
    width:min(460px,calc(100% - 48px));
  }
  .source-footer{padding:30px 0 12px}
}

@media (min-width:1440px) {
  .shell-width{width:min(1240px,calc(100% - 72px))}
}


/* Native mobile pull-to-refresh */
.pull-refresh{
  --pull-y:0px;
  position:fixed;
  z-index:75;
  left:50%;
  top:calc(env(safe-area-inset-top,0px) + 6px);
  display:none;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,calc(-58px + var(--pull-y)));
  transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .16s ease;
}
.pull-refresh.active{opacity:1}
.pull-refresh.pulling{transition:none}
.pull-refresh.no-transition{transition:none!important}
.pull-refresh-pill{
  min-height:40px;
  padding:8px 13px 8px 10px;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:760;
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.pull-refresh-icon{
  width:25px;
  height:25px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--blue);
  background:rgba(var(--blue2-rgb),.12);
  transition:transform .18s ease,background-color .18s ease;
}
.pull-refresh-icon svg{width:15px;height:15px}
.pull-refresh.armed .pull-refresh-icon{
  transform:rotate(90deg);
  background:rgba(var(--blue2-rgb),.2);
}
.pull-refresh.refreshing .pull-refresh-icon{animation:pull-refresh-spin .8s linear infinite}
.pull-refresh.success .pull-refresh-icon{background:rgba(118,227,170,.14);color:var(--green)}
.pull-refresh.error .pull-refresh-icon{background:rgba(255,142,157,.14);color:var(--red)}
body.ptr-tracking{overscroll-behavior-y:none}
@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}
@media (pointer:coarse) and (max-width:1023px){
  .pull-refresh.enabled{display:flex}
}
@media(prefers-reduced-motion:reduce){
  .pull-refresh,.pull-refresh-icon{transition:none!important}
  .pull-refresh.refreshing .pull-refresh-icon{animation-duration:1.4s}
}
