:root[data-theme=dark]{--bg:#060b18;--bg-glow:#101d38;--card:#0b1428;--surface:#0d1830;--panel:#101d38;--border:#1d3562;--border-strong:#2b4a80;--field-border:#4f6b98;--text:#e6ebf5;--muted:#95a6c6;--accent:#ff8a4c;--accent-hover:#ffa270;--accent-strong:#ff8a4c;--on-accent:#060b18;--danger:#ff8f87;--lowest:#2dd4bf;--low:#3fb950;--moderate:#d6a622;--high:#e8833a;--very-high:#e5484d;--series-1:#8fa8d6;--series-2:#2dd4bf;--series-3:#d6a622;--series-4:#c084fc;--series-5:#5b8def;--nav-bg:rgba(6,11,24,0.85);--card-shadow:0 24px 70px rgba(0,0,0,0.6);--nav-h:3.4rem;--cell-1:#d03b3b;--cell-2:#a32d33;--cell-3:#383835;--cell-4:#184f95;--cell-5:#256abf;--cell-1-ink:#ffffff;--cell-2-ink:#ffffff;--cell-3-ink:#ffffff;--cell-4-ink:#ffffff;--cell-5-ink:#ffffff}:root,:root[data-theme=light]{--bg:#f5f8fd;--bg-glow:#ffffff;--card:#ffffff;--surface:#edf1f9;--panel:#ffffff;--border:#d9e0ee;--border-strong:#b9c4d8;--field-border:#6f81a6;--text:#0b1428;--muted:#46639b;--accent:#a83408;--accent-hover:#8a2a05;--accent-strong:#a83408;--on-accent:#ffffff;--danger:#b42318;--lowest:#0f766e;--low:#1a7f37;--moderate:#9a6a00;--high:#b8531a;--very-high:#c0333a;--series-1:#2b4a80;--series-2:#0f766e;--series-3:#9a6a00;--series-4:#9333ea;--series-5:#2563eb;--nav-bg:rgba(255,255,255,0.85);--card-shadow:0 12px 32px rgba(11,20,40,0.1);--nav-h:3.4rem;--cell-1:#c0333a;--cell-2:#f0a6a5;--cell-3:#f0efec;--cell-4:#86b6ef;--cell-5:#1c5cab;--cell-1-ink:#ffffff;--cell-2-ink:#1b1b22;--cell-3-ink:#1b1b22;--cell-4-ink:#1b1b22;--cell-5-ink:#ffffff}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html{scroll-padding-top:calc(var(--nav-h) + .75rem)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-body),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:radial-gradient(circle at top,var(--bg-glow),var(--bg) 60%);background-attachment:fixed;color:var(--text)}h1{font-family:var(--font-display),Georgia,serif;font-size:1.75rem;font-weight:700;letter-spacing:-.01em;line-height:1.15;margin:0 0 .25rem}h2{font-size:1.05rem;margin:0 0 .75rem}.muted{color:var(--muted)}.small{font-size:.8rem}.loading{color:var(--muted);padding:2rem;text-align:center}.app{min-height:100vh;display:flex;flex-direction:column}.app-nav{position:sticky;top:0;z-index:10;gap:1.5rem;padding:.75rem 1.25rem;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.app-nav,.nav-brand{display:flex;align-items:center}.nav-brand{gap:.5rem;font-weight:700}.nav-logo{display:flex}.nav-title{white-space:nowrap}.nav-links{display:flex;gap:.35rem;flex:1}.nav-link{padding:.4rem .8rem;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.9rem;font-weight:500}.nav-link:hover{background:var(--surface);color:var(--text)}.nav-link.active{background:var(--accent-strong);color:var(--on-accent)}.units-toggle{display:flex;align-items:center;gap:.25rem;padding:.35rem .6rem;border:1px solid var(--field-border);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:.85rem;font-weight:600}.units-toggle .on{color:var(--accent)}.units-toggle .sep{opacity:.4}.skip-link{position:absolute;left:.75rem;top:-4rem;z-index:20;padding:.5rem .9rem;border-radius:8px;background:var(--accent-strong);color:var(--on-accent);font-weight:600;text-decoration:none}.skip-link:focus{top:.6rem}.app-main:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.result-events{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.result-events-head{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.result-events ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.result-events li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.85rem}.event-swatch{width:10px;height:10px;border-radius:50%;flex:none}.event-name{font-weight:600}.event-cat{border:1px solid var(--border-strong);border-radius:999px;padding:.05rem .45rem}.event-cat,.event-dates{font-size:.72rem;color:var(--muted)}.event-dates{margin-left:auto}.cal-key-hint{margin:0 0 .5rem}.cal-key{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;margin:0;padding:0;list-style:none;color:var(--text)}.cal-key li{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.scale-swatch{width:22px;height:14px;border-radius:3px;border:1px solid var(--border)}.key-actual{border-radius:3px;border:1px dashed var(--border-strong)}.key-actual,.key-event-bar{width:22px;height:14px;background:var(--surface)}.key-event-bar{border-radius:3px;border:1px solid var(--border);box-shadow:inset 0 3px 0 var(--accent)}.key-event-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.scale-swatch.lvl-1{background:var(--cell-1)}.scale-swatch.lvl-2{background:var(--cell-2)}.scale-swatch.lvl-3{background:var(--cell-3)}.scale-swatch.lvl-4{background:var(--cell-4)}.scale-swatch.lvl-5{background:var(--cell-5)}.calendar-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.resort-select{display:flex}.resort-select select{padding:.4rem .7rem;border:1px solid var(--field-border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer}.resort-select select:hover{border-color:var(--accent)}.nav-toggles{gap:.5rem}.nav-toggles,.theme-toggle{display:flex;align-items:center}.theme-toggle{justify-content:center;width:2.1rem;height:2.1rem;padding:0;border:1px solid var(--field-border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;line-height:1}.theme-toggle span{display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}:root:not([data-theme=dark]) .theme-glyph-dark,:root[data-theme=dark] .theme-glyph-light{display:none}.app-main{padding:1.5rem;max-width:1200px;margin:0 auto;flex:1 0 auto;width:100%}.app-main:has(>.planner-root){max-width:none;padding:0}.app-footer{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.25rem;border-top:1px solid var(--border);color:var(--muted);font-size:.8rem}.app-footer-brand{font-weight:600}.app-footer-version{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.app-footer-version:before{content:"·";margin-right:.5rem;opacity:.6}:where(button){border:none;cursor:pointer;font-family:inherit}:where(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}:where(a){color:var(--accent);text-underline-offset:.18em}:where(a:hover){color:var(--accent-hover)}.error{margin-top:1rem;padding:.75rem;border-radius:8px;background:rgba(229,72,77,.15);color:var(--danger);font-size:.9rem}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.skel{border-radius:8px;background:linear-gradient(90deg,var(--panel) 25%,var(--border-strong) 50%,var(--panel) 75%);background-size:200% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.skel-title{height:1.75rem;width:12rem}.skel-sub{height:1rem;width:9rem}.skel-controls{height:2.3rem;width:16rem;max-width:60vw}.skel-legend{height:2.75rem;width:100%;max-width:42rem;margin:.5rem 0 1.5rem}.cal-skel-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.cal-skel-cell{height:5.5rem;border-radius:10px}@media (max-width:640px){.cal-skel-grid{grid-template-columns:1fr;gap:.35rem}.cal-skel-cell{height:3rem}}.metrics-skel-tile{height:4.75rem;border-radius:12px}.metrics-skel-panel{height:11rem;border-radius:12px}.metrics-skel-panel.wide{grid-column:1/-1}.error-state{margin:2.5rem auto;max-width:26rem;padding:1.75rem 1.5rem;text-align:center;border:1px solid rgba(229,72,77,.3);background:rgba(229,72,77,.06);border-radius:14px}.error-state-icon{display:block;margin:0 auto;color:var(--danger)}.error-state-title{margin:.6rem 0 .35rem;font-size:1.02rem;font-weight:600}.error-state-msg{margin:0 auto;max-width:24rem;color:var(--muted);font-size:.9rem}.error-state-retry{margin-top:1.1rem;padding:.5rem 1.1rem;border:1px solid var(--field-border);background:var(--surface);color:var(--text);border-radius:9px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.error-state-retry:hover{background:var(--panel);border-color:var(--accent)}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.metric-toggle{display:inline-flex;border:1px solid var(--field-border);border-radius:8px;overflow:hidden}.metric-btn{padding:.45rem .85rem;background:var(--surface);color:var(--muted);font-size:.85rem;font-weight:600}.metric-btn.active{background:var(--accent-strong);color:var(--on-accent)}.metric-btn:focus-visible{outline-offset:-3px}.metric-btn.active:focus-visible{outline-color:var(--on-accent)}.calendar-legend{color:var(--muted);font-size:.8rem;margin:.5rem 0 1.5rem}.resort{margin-bottom:2.5rem}.resort-head{justify-content:space-between;gap:1rem;margin-bottom:.75rem}.month-nav,.resort-head{display:flex;align-items:center}.month-nav{gap:.75rem}.month-nav button{width:30px;height:30px;border-radius:8px;background:var(--surface);border:1px solid var(--field-border);color:var(--text);font-size:1.1rem}.month-nav button:disabled{opacity:.35;cursor:not-allowed}.month-label{min-width:9rem;text-align:center;font-weight:600}.month-nav button.month-today{width:auto;height:auto;padding:.3rem .6rem;font-size:.72rem;font-weight:600;border-radius:8px;background:var(--surface);border:1px solid var(--field-border);color:var(--text)}.month-today:hover{border-color:var(--accent);color:var(--accent)}.dcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.dcal-weekday{padding:0 .2rem .4rem;text-align:center;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.dcal-cell{min-height:5.5rem;padding:.35rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.dcal-cell:hover{border-color:var(--border-strong)}.dcal-cell:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dcal-cell.empty{border-color:transparent}.dcal-cell.empty,.dcal-cell.offrange{background:transparent;cursor:default}.dcal-cell.offrange .dcal-daynum{color:var(--muted)}.dcal-cell.has-event{box-shadow:inset 0 3px 0 var(--event-color,var(--accent))}.dcal-cell.open{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.dcal-cell.has-event.open{box-shadow:inset 0 3px 0 var(--event-color,var(--accent)),0 0 0 2px var(--accent)}.dcal-cell-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.dcal-daynum{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.dcal-cell.weekend .dcal-daynum{color:var(--accent)}.dcal-cell.is-today:not(.open){border-color:var(--text)}.dcal-today{margin-left:.35rem;padding:.05rem .35rem;border-radius:999px;background:var(--text);color:var(--bg);font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:.1em}.dcal-dots{display:flex;align-items:center;gap:3px}.dcal-dots .dot{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 1px var(--surface)}.dcal-dots-more{font-size:.6rem;font-weight:700;color:var(--muted);margin-left:1px}.dcal-parks{gap:2px}.dcal-park,.dcal-parks{display:flex;flex-direction:column}.dcal-park{position:relative;gap:.05rem;padding:.1rem .35rem;border-radius:5px;font-size:.72rem;border:1px solid transparent}.dcal-park.empty{color:var(--muted);opacity:.5}.dcal-park-row{display:flex;align-items:center;justify-content:space-between;gap:.3rem}.dcal-park-name{font-weight:600;letter-spacing:.01em}.dcal-park-val{font-weight:700;font-variant-numeric:tabular-nums}.dcal-park-band{font-size:.6875rem;font-weight:500;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dcal-park.has-event{border-color:var(--accent)}.dcal-park.is-actual,.mcal-cell.is-actual{border-style:dashed;opacity:.88}.actual-tag,.dcal-park-band.actual-tag{font-style:italic}.lowconf-mark{color:inherit;opacity:.85;font-weight:700;margin-left:.15em}.lowconf-tag{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border:1px dashed var(--field-border);border-radius:999px;padding:.05rem .42rem;margin-left:.4rem;line-height:1.5}.lowconf-hint{margin-top:.35rem}.rec-star{color:#f5b301;font-weight:700;text-shadow:0 0 2px rgba(0,0,0,.55),.5px .5px 0 rgba(0,0,0,.7),-.5px .5px 0 rgba(0,0,0,.7),.5px -.5px 0 rgba(0,0,0,.7),-.5px -.5px 0 rgba(0,0,0,.7)}:root:not([data-theme=dark]) .rec-star{color:#c8860a}.mcal-cell .rec-star{position:absolute;top:1px;left:3px;font-size:.72rem;line-height:1;pointer-events:none}.dcal-park .rec-star{margin-right:.15rem;font-size:.72rem;line-height:1}.dcal-park.is-recommended,.mcal-cell.is-recommended{border-color:#f5b301}.mcal-detail-rec{margin:.4rem 0 0;font-size:.8rem;font-weight:600;color:var(--text)}.dcal-park.lvl-1,.mcal-cell.lvl-1{background:var(--cell-1);color:var(--cell-1-ink)}.dcal-park.lvl-2,.mcal-cell.lvl-2{background:var(--cell-2);color:var(--cell-2-ink)}.dcal-park.lvl-3,.mcal-cell.lvl-3{background:var(--cell-3);color:var(--cell-3-ink)}.dcal-park.lvl-4,.mcal-cell.lvl-4{background:var(--cell-4);color:var(--cell-4-ink)}.dcal-park.lvl-5,.mcal-cell.lvl-5{background:var(--cell-5);color:var(--cell-5-ink)}.mcal-detail-metrics>div.lvl-1{background:var(--cell-1);color:var(--cell-1-ink)}.mcal-detail-metrics>div.lvl-2{background:var(--cell-2);color:var(--cell-2-ink)}.mcal-detail-metrics>div.lvl-3{background:var(--cell-3);color:var(--cell-3-ink)}.mcal-detail-metrics>div.lvl-4{background:var(--cell-4);color:var(--cell-4-ink)}.mcal-detail-metrics>div.lvl-5{background:var(--cell-5);color:var(--cell-5-ink)}.mcal-detail-metrics>div[class*=lvl-] .mcal-detail-band,.mcal-detail-metrics>div[class*=lvl-] dt{color:inherit}.dcal-daydetail{margin:.15rem 0 .35rem;padding:.9rem 1rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--panel);cursor:default}.dcal-daydetail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;font-size:1rem;margin-bottom:.75rem}.dcal-daydetail-parks{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem}.dcal-daydetail-park{padding:.6rem .7rem;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.dcal-daydetail-parkname{display:flex;align-items:center;gap:.35rem;font-weight:700;font-size:.85rem;margin-bottom:.5rem}.dcal-daydetail-parkname .rec-star{position:static;font-size:.85rem}.rec-tag{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#8a6100;background:rgba(245,179,1,.16);border-radius:999px;padding:.05rem .42rem;line-height:1.5}:root[data-theme=dark] .rec-tag{color:#f5cf7a;background:rgba(245,179,1,.14)}.agenda{margin-top:1rem}.agenda h3{font-size:.9rem;margin:0 0 .5rem}.agenda ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.agenda li{display:flex;align-items:center;gap:.6rem;font-size:.82rem}.agenda-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.agenda-name{font-weight:600}.agenda-cat,.agenda-dates{color:var(--muted)}.agenda-dates{margin-left:auto;white-space:nowrap}.mcal-grid{display:grid;grid-template-columns:3.1rem repeat(var(--park-count,4),1fr);gap:3px}.mcal-headrow,.mcal-row{display:contents}.mcal-headrow>*{position:sticky;top:var(--nav-h);z-index:3;background:var(--bg);padding:.4rem 0;text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.02em;border-bottom:1px solid var(--border)}.mcal-parkhead{text-decoration:none;cursor:help}.mcal-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;padding:.2rem 0;color:var(--muted);line-height:1.1;border-radius:6px}.mcal-row.weekend .mcal-date{color:var(--text);font-weight:600}.mcal-row.is-today .mcal-date{background:var(--text);color:var(--bg);font-weight:700}.mcal-date.has-event{box-shadow:inset 0 0 0 1px var(--event-color,var(--accent));background:color-mix(in srgb,var(--event-color,var(--accent)) 12%,transparent)}.mcal-dow{font-size:.6875rem;text-transform:uppercase;letter-spacing:.03em}.mcal-dnum{font-size:1rem;font-variant-numeric:tabular-nums}.mcal-dots{display:flex;align-items:center;gap:3px;margin-top:.15rem}.mcal-dots .dot{width:7px;height:7px;border-radius:50%}.mcal-dots-more{font-size:.6875rem;font-weight:700;color:var(--muted)}.mcal-cell{position:relative;display:flex;align-items:center;justify-content:center;min-height:46px;padding:0;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit}.mcal-cell.empty{background:transparent;border-color:transparent}.mcal-cell.has-event{border-color:var(--accent)}.mcal-cell.open{box-shadow:inset 0 0 0 2px var(--text)}.mcal-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mcal-val{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.mcal-detail{grid-column:1/-1;margin:.15rem 0 .35rem;padding:.8rem .9rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--panel)}.mcal-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;font-size:.9rem;margin-bottom:.6rem}.mcal-detail-close{flex:none;width:1.75rem;height:1.75rem;margin:-.25rem -.25rem 0 0;border-radius:6px;background:transparent;color:var(--muted);font-size:.85rem;line-height:1}.mcal-detail-close:hover{background:var(--surface);color:var(--text)}.mcal-detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0}.mcal-detail-metrics.single-metric{grid-template-columns:minmax(0,8rem)}.mcal-detail-actual{margin-left:.4rem;font-size:.7rem;color:var(--muted);font-style:italic}.mcal-detail-metrics>div{background:var(--surface);border-radius:8px;padding:.45rem .5rem;text-align:center}.mcal-detail-metrics dt{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mcal-detail-metrics dd{margin:.15rem 0 0}.mcal-detail-val{display:block;font-size:1.15rem;font-weight:700;line-height:1.1}.mcal-detail-band{display:block;font-size:.6875rem;color:var(--muted)}.mcal-detail-foot{margin:.6rem 0 0;font-size:.78rem;color:var(--muted)}.mcal-detail-events{list-style:none;margin:.5rem 0 0;padding:.5rem 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.3rem;font-size:.78rem}.mcal-detail-events li{display:flex;align-items:center;gap:.4rem}@media (max-width:720px){.app-main{padding:1rem .85rem 2rem}h1{font-size:1.45rem}.calendar-head{display:block}.calendar-controls{display:grid;gap:.5rem;margin-top:.75rem}.resort-select select{width:100%;padding:.6rem .7rem;font-size:1rem}.metric-toggle{display:grid;grid-template-columns:repeat(3,1fr)}.metric-btn{padding:.6rem .3rem;font-size:.85rem}.metric-btn+.metric-btn{border-left:1px solid var(--field-border)}.calendar-legend{margin:.75rem 0 1rem;font-size:.78rem}.cal-key{gap:.3rem .7rem}.resort-head{margin-bottom:.6rem}.month-nav{display:flex;width:100%;justify-content:space-between;gap:.5rem}.month-nav button{width:44px;height:44px;font-size:1.3rem}.month-label{flex:1;min-width:0;align-self:center}.app-nav{gap:.5rem;padding:.6rem .85rem}.nav-title{display:none}.nav-links{gap:.15rem;min-width:0}.nav-link{padding:.4rem .5rem;font-size:.85rem}.nav-toggles{gap:.35rem}.agenda li{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.1rem .5rem}.agenda-name{grid-column:2}.agenda-cat,.agenda-dates{grid-column:2;margin-left:0;font-size:.75rem}}@media (max-width:420px){.app-nav{gap:.4rem;padding:.6rem}.nav-links{gap:.1rem;overflow-x:auto;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-link{flex:none;padding:.4rem .45rem;font-size:.82rem}.units-toggle{padding:.35rem .5rem}.units-toggle .sep,.units-toggle span:not(.on){display:none}}.metrics,.stats{--data:#5c6577;--data-rest:#9aa1ae}:root[data-theme=dark] .metrics,:root[data-theme=dark] .stats{--data:#b9c0cc;--data-rest:#5a6070}.metrics-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.generated{color:var(--muted);font-size:.8rem}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem}.tiles.compact{margin-bottom:.75rem}.tile{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem}.tile-value{font-size:1.5rem;font-weight:700}.tile-label{text-transform:uppercase;letter-spacing:.05em}.tile-label,.tile-sub{font-size:.72rem;color:var(--muted);margin-top:.15rem}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem}.panel.wide{grid-column:1/-1}.badge{font-size:.6875rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;vertical-align:middle}.badge.good{background:rgba(63,185,80,.1);color:var(--low)}.badge.bad{background:rgba(229,72,77,.1);color:var(--very-high)}.kv{width:100%;border-collapse:collapse;font-size:.9rem}.kv td{padding:.25rem .5rem .25rem 0}.kv td:nth-child(2){font-weight:700;font-variant-numeric:tabular-nums}.park-skill{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums}.park-skill th{text-align:right;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 0 .35rem .75rem}.park-skill th.rho{text-transform:none;font-size:.85rem}.park-skill td{text-align:right;padding:.25rem 0 .25rem .75rem}.park-skill td:first-child,.park-skill th:first-child{text-align:left;padding-left:0}.park-skill td:nth-child(2){font-weight:700}.park-skill .badge{margin-left:.4rem}.metrics-alert{border:1px solid var(--very-high);border-radius:12px;padding:.75rem 1rem;margin:0 0 1rem;font-size:.9rem}.metrics-alert .badge{margin-right:.4rem}.freshness .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem}.freshness{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}.freshness li{display:flex;align-items:center;gap:.4rem}.fresh-name{flex:1}.fresh-status{min-width:3.4em;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.bars{display:flex;flex-direction:column;gap:.4rem}.bar-row{display:flex;align-items:center;gap:.6rem;font-size:.8rem}.bar-label{width:11rem;flex-shrink:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{flex:1;height:10px;background:var(--surface);border-radius:5px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--data,var(--muted));border-radius:5px}.bar-val{width:4rem;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.metrics .bar-label{width:15rem;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.metrics .bar-val{width:auto;min-width:3rem}.metrics-note{margin:-.4rem 0 .8rem}@media (max-width:560px){.metrics .bar-row{flex-wrap:wrap;row-gap:.2rem}.metrics .bar-label{width:100%}}.stats-crumb{margin:0 0 .5rem;font-size:.85rem}.stats-crumb a{color:var(--muted);text-decoration:none}.stats-crumb a:hover{color:var(--text)}.stats .generated a{color:var(--accent);text-underline-offset:.18em}.stats-hours-note{margin:.5rem 0 0}.stats-resort{margin-bottom:1.75rem}.stats-resort-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .6rem}.park-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.park-card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;color:inherit;text-decoration:none;transition:border-color .12s ease}.park-card:hover{border-color:var(--accent)}.park-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.park-card-name{font-weight:700}.park-card-score{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;text-align:right}.park-card-score-value{font-weight:700;font-size:1.1rem;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--text)}.park-card-score-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}.park-card-sub{font-size:.75rem;margin-top:.2rem}.park-card-facts{display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;margin:.7rem 0 0}.park-card-facts dt{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.park-card-facts dd{margin:0;font-size:.85rem;font-weight:600}.park-card-spark{display:flex;align-items:center;gap:.6rem;margin-top:.7rem}.spark{width:120px;height:28px;flex-shrink:0}.spark-line{fill:none;stroke:var(--data);stroke-width:1.5}.stats-skel-card{height:160px;border-radius:12px}.stat-bars .bar-label{width:2.6rem}.stat-bar-rest{background:var(--data-rest)}.stats .panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.stats .panel-grid{grid-template-columns:minmax(0,1fr)}}.chart-readout{font-size:.8rem;min-height:1.3em;margin-bottom:.35rem;font-variant-numeric:tabular-nums}.hourcols{align-items:flex-end;gap:2px;height:110px}.hourcol,.hourcols{position:relative;display:flex}.hourcol{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;flex:1;min-width:0;height:100%;flex-direction:column;justify-content:flex-end;border-radius:3px}.hourcol.is-selected{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border-strong)}.hourcol:focus-visible{outline:2px solid var(--accent);outline-offset:1px;z-index:1}.hourcol-fill{display:block;width:100%;border-radius:3px 3px 0 0;background:var(--data)}.hourcol-stub{display:block;width:100%;height:14%;border-radius:3px;border:1px dashed var(--muted);opacity:.45}.hourcol-peak-label{position:absolute;top:-2px;left:50%;transform:translateX(-50%);font-size:.6875rem;font-weight:700;color:var(--text);white-space:nowrap}.hourcols.diverging .hourcol{justify-content:center}.hourcol-div{position:absolute;left:0;width:100%}.hourcol-div.busier{border-radius:3px 3px 0 0}.hourcol-div.quieter{border-radius:0 0 3px 3px}.hourcols-key{display:inline-block;width:.7em;height:.7em;border-radius:2px;margin-right:.3em;vertical-align:-.05em}.hourcols-baseline{position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--border)}.hourcols-axis{display:flex;gap:2px;margin-top:.25rem}.hourcol-tick{flex:1;min-width:0;text-align:center;font-size:.6rem;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.hourcols-note{margin:.4rem 0 0}.trend-scrub{border-radius:4px}.trend-scrub:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.trend-svg{display:block;width:100%;height:180px;cursor:crosshair;touch-action:pan-y}.trend-grid{stroke:var(--border);stroke-width:1}.trend-grid-v{stroke-dasharray:2 4}.trend-line{fill:none;stroke:var(--data);stroke-width:2;vector-effect:non-scaling-stroke}.trend-crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.trend-dot{fill:var(--data);stroke:var(--panel);stroke-width:2}.trend-axis{display:flex;justify-content:space-between;margin-top:.2rem}.ride-table{width:100%;border-collapse:collapse;font-size:.85rem}.ride-table th{text-align:left;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:.3rem .5rem .3rem 0}.ride-table td,.ride-table th{border-bottom:1px solid var(--border)}.ride-table td{padding:.4rem .5rem .4rem 0}.ride-table tr:last-child td{border-bottom:none}.ride-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ride-table a{color:var(--accent);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.ride-table a:hover{color:var(--accent-hover);text-decoration-thickness:2px}.ride-land{display:inline-block;margin-left:.4rem}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_fb126b{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_fb126b{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_8f38c6{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_8f38c6{--font-body:"Figtree","Figtree Fallback"}