:root{--ink:#102033;--muted:#5c7085;--blue:#347fbd;--blue-bright:#42a5e8;--pink:#ff7fbd;--mist:#f4f9fd;--panel:#fff;--border:#d7e8f5;--border-strong:#9bc9ec;--good-bg:#eaf8ef;--good-text:#157344;--bad-bg:#fff1eb;--bad-text:#b4431f;--blue-bg:#eaf6ff;--signal-text:#b72772;--hero-gradient:linear-gradient(135deg, #347fbdf5, #42a5e8e0);--theme-glow:#42a5e833;--shadow:0 18px 55px #1020331f;--sans:"Motiva Sans Light", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--cream:#fff4d6;--spark:#ffd45c;--ink-line:#0d3558;--night-ink:#eaf4ff;--night-bg:#0d1b2f;--night-panel:#132844;--night-blue:#8cc8ff;--night-star:#ffd86b;--night-pink:#ff9bcf;--display:"Cooper Black", "Cooper Std Black", "Arial Rounded MT Bold", "Trebuchet MS", var(--sans);color:var(--ink);background:radial-gradient(circle at top left, #42a5e833, transparent 34rem), linear-gradient(180deg, #fff 0%, var(--mist) 44%, #edf7fd 100%);font:16px/1.45 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100svh}body{min-width:320px;margin:0}button,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{width:min(1040px,100% - 32px);margin:0 auto;padding:28px 0 48px;position:relative}.app-shell:before{background:radial-gradient(circle at top left, var(--theme-glow), transparent 34rem), linear-gradient(180deg, #fff 0%, var(--mist) 44%, #edf7fd 100%);content:"";pointer-events:none;z-index:-1;min-height:100svh;position:fixed;inset:0}.app-shell.is-night{color:var(--night-ink)}.app-shell.is-night:before{background:radial-gradient(circle at 16% 8%, #8cc8ff29, transparent 25rem), radial-gradient(circle at 82% 18%, #ffd86b1f, transparent 18rem), linear-gradient(180deg, #081326 0%, var(--night-bg) 58%, #10243c 100%)}.app-shell.is-night .brand-logo circle:first-child{fill:var(--night-panel);stroke:var(--night-blue)}.app-shell.is-night .brand-logo circle:nth-child(2),.app-shell.is-night .brand-logo path{stroke:var(--night-blue)}.app-shell.is-night .brand-logo line{stroke:var(--night-pink)}.app-shell.is-night .brand-logo circle:last-child{fill:var(--night-pink)}.app-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{flex:none;width:58px;height:58px;display:block}.clock-hand{transform-box:view-box;transform-origin:50%;animation:12s linear infinite clock-sweep}.brand strong{font-size:1.12rem;line-height:1.1;display:block}.brand-wordmark{flex-wrap:wrap;align-items:baseline;gap:.12em;display:flex}.brand-wordmark span{display:inline-block}.brand small,.park-switcher-label,.eyebrow,.section-heading>span,.ride-details span,.ride-details small,.feature-card small,.hero-copy,.empty-state{color:var(--muted)}.brand small{margin-top:2px;font-size:.82rem;display:block}.park-switcher{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.park-switcher-label,.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.park-switcher-track{border:2px solid var(--border);background:#ffffffbd;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px;display:grid}.park-ticket{--park-accent:var(--blue);color:var(--ink);text-align:left;background:0 0;border:2px solid #0000;border-radius:13px;align-items:center;gap:9px;min-width:138px;min-height:48px;padding:7px 10px;display:flex}.park-ticket:hover{background:#ffffffc7}.park-ticket:focus-visible{outline:3px solid color-mix(in srgb, var(--park-accent), white 35%);outline-offset:2px}.park-ticket.is-active{border-color:var(--park-accent);background:#fffffff5;box-shadow:0 5px #0d355814}.park-ticket-mark{background:radial-gradient(circle at 50% 20%, #ffffffbf 0 2px, transparent 2.5px), var(--park-accent);border-radius:999px;flex:none;width:10px;height:28px}.park-ticket strong,.park-ticket small{display:block}.park-ticket strong{font-size:.92rem;line-height:1.05}.park-ticket small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:8.5rem;margin-top:3px;font-size:.68rem;line-height:1.1;overflow:hidden}.hero-panel{background:var(--hero-gradient), var(--blue);box-shadow:var(--shadow);color:#fff;border-radius:28px;grid-template-columns:1fr auto;align-items:stretch;gap:28px;margin-bottom:18px;padding:34px;display:grid;position:relative;overflow:hidden}.hero-panel:after{content:"";border:2px solid #ffffff5c;border-radius:999px;width:220px;height:220px;position:absolute;top:-86px;right:-54px}.hero-panel .eyebrow,.hero-panel .hero-copy{color:#ffffffd1}.hero-panel h1{max-width:760px;margin:8px 0 18px;font-size:clamp(2.2rem,7vw,5rem);line-height:.95}.hero-copy{max-width:620px;margin:0;font-size:1.02rem}.hero-stat{text-align:center;z-index:1;background:#ffffff29;border:1px solid #ffffff4d;border-radius:22px;align-self:end;min-width:150px;padding:18px;position:relative}.hero-stat span{font-size:4.5rem;font-weight:850;line-height:.9;display:block}.hero-stat small{color:#ffffffd1;font-weight:750}.night-hero{border-color:color-mix(in srgb, var(--night-blue), var(--night-bg) 40%);color:var(--night-ink);background:radial-gradient(circle at 20% 20%,#ffd86b29,#0000 13rem),linear-gradient(135deg,#132844 0%,#0d1b2f 54%,#173a5c 100%)}.night-hero:before{opacity:.42}.night-hero:after{border-color:#8cc8ff42}.night-hero .eyebrow,.night-hero .hero-copy{color:color-mix(in srgb, var(--night-ink), var(--night-blue) 22%)}.night-stat{background:#eaf4ff1a;border-color:#8cc8ff47}.night-stat span{color:var(--night-star);font-size:3.5rem}.app-shell.is-night .queue-panel,.app-shell.is-night .calendar-panel,.app-shell.is-night .attraction-detail,.app-shell.is-night .feature-card{color:#102033;background:#e8f2fff0;border-color:#8cc8ffc7;box-shadow:0 8px #0000003d,0 18px 38px #0003}.app-shell.is-night .calendar-panel,.app-shell.is-night .attraction-detail{color:var(--night-ink)}.app-shell.is-night .ride-row,.app-shell.is-night .calendar-detail,.app-shell.is-night .visit-picker>div,.app-shell.is-night .park-switcher-track{background:#ffffffeb;border-color:#8cc8ff9e}.app-shell.is-night .ride-details span,.app-shell.is-night .ride-details small,.app-shell.is-night .empty-state,.app-shell.is-night .brand small,.app-shell.is-night .park-ticket small{color:#345066}.app-shell.is-night .calendar-panel .empty-state,.app-shell.is-night .attraction-detail .empty-state,.app-shell.is-night .calendar-panel .calendar-subtitle,.app-shell.is-night .attraction-detail .detail-now{color:#eaf4ffc7}.app-shell.is-night .favorite-button{color:#345066;background:#fff;border-color:#8cc8ff}.app-shell.is-night .favorite-button.is-active{border-color:var(--night-star);color:var(--night-star);background:#ffd86b38}.notice{background:var(--blue-bg);border:1px solid var(--border);border-radius:16px;margin:16px 0;padding:14px 16px}.notice.is-error{color:#a32244;background:#fff1f4;border-color:#ffc4d3}.feature-card,.queue-panel{border:1px solid var(--border);background:#ffffffdb;border-radius:24px;box-shadow:0 14px 40px #10203314}.feature-card{grid-template-columns:1fr auto;align-items:center;gap:20px;margin:18px 0;padding:24px;display:grid}.feature-card.is-good{border-color:#15734447;box-shadow:0 14px 44px #1573441f}.feature-card.is-bad{border-color:#b4431f3d}.pill{background:var(--good-bg);color:var(--good-text);letter-spacing:.08em;text-transform:uppercase;border:1px solid #15734447;border-radius:999px;margin-bottom:12px;padding:6px 10px;font-size:.78rem;font-weight:850;display:inline-flex}.feature-card h2,.section-heading h2{margin:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.1}.feature-card p{color:var(--muted);margin:10px 0 4px}.feature-wait{background:var(--blue-bg);border:1px solid var(--border-strong);color:var(--blue);text-align:center;border-radius:20px;min-width:126px;padding:18px}.feature-wait strong{font-size:3rem;line-height:.92;display:block}.feature-wait span{color:var(--muted);font-size:.85rem;font-weight:750}.queue-panel{padding:24px}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.queue-actions{background:var(--blue-bg);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.filter-button{color:var(--muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:7px 12px;font-weight:850;display:inline-flex}.filter-button span{opacity:.72}.filter-button.is-active{background:var(--panel);color:var(--blue);box-shadow:0 8px 18px #10203314}.ride-search{gap:7px;max-width:420px;margin:0 0 16px;display:grid;position:relative}.ride-search span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.ride-search-input{appearance:none;background:var(--panel);border:1px solid var(--border-strong);color:var(--ink);font:inherit;border-radius:999px;width:100%;min-height:44px;padding:10px 44px 10px 16px}.ride-search-input:focus{box-shadow:0 0 0 3px var(--theme-glow);outline:none}.ride-search-clear{background:var(--blue-bg);border:1px solid var(--border);color:var(--blue);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.1rem;font-weight:850;line-height:1;display:inline-flex;position:absolute;top:32px;right:8px}.ride-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ride-row{border:1px solid var(--border);background:#fbfdff;border-radius:18px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px;display:grid}.rank{border:1px solid var(--border);color:var(--blue);background:#fff;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:850;display:inline-flex}.ride-details{gap:2px;min-width:0;display:grid}.ride-details strong{overflow-wrap:anywhere}.ride-details small{font-size:.82rem}.ride-metrics{flex-direction:column;align-items:end;gap:6px;display:flex}.wait-chip,.delta-chip{white-space:nowrap;border-radius:999px;justify-content:center;font-weight:850;display:inline-flex}.wait-chip{background:var(--blue);color:#fff;min-width:76px;padding:8px 12px}.delta-chip{background:var(--blue-bg);color:var(--muted);padding:5px 9px;font-size:.76rem}.delta-chip.is-good{background:var(--good-bg);color:var(--good-text)}.delta-chip.is-bad{background:var(--bad-bg);color:var(--bad-text)}.delta-chip.is-neutral,.delta-chip.is-unknown{background:var(--blue-bg);color:var(--muted)}.favorite-button{background:var(--panel);border:1px solid var(--border);color:#9aaabb;border-radius:999px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;font-weight:900;line-height:1;display:inline-flex}.favorite-button.is-active{background:var(--good-bg);color:var(--signal-text);border-color:#ff7fbd80}@keyframes clock-sweep{to{transform:rotate(360deg)}}.view-tabs{gap:8px;margin:0 0 18px;display:flex}.view-tabs button,.calendar-nav button{background:var(--panel);border:1px solid var(--border-strong);color:var(--ink);border-radius:999px;padding:10px 14px;font-weight:800}.view-tabs button.is-active{background:var(--blue);color:#fff}.calendar-panel{background:linear-gradient(180deg, #fffffff5, #f7fbffeb), var(--panel);border:1px solid var(--border);border-radius:22px;padding:22px 24px 24px;box-shadow:0 14px 40px #10203314}.calendar-subtitle{color:var(--muted);margin:4px 0 0}.calendar-nav{align-items:center;gap:10px;display:flex}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.calendar-weekday{color:var(--muted);text-align:center;font-size:.76rem;font-weight:850}.calendar-day{aspect-ratio:1/.82;background:var(--panel);border:1px solid var(--border);color:var(--ink);text-align:left;border-radius:14px;flex-direction:column;justify-content:space-between;min-width:0;padding:10px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.calendar-day:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 28px #1020331f}.calendar-date{font-weight:900}.calendar-score{margin-top:auto;font-size:clamp(1.35rem,2.8vw,2.15rem);line-height:.95;display:block}.calendar-day small{color:inherit;opacity:.78;text-transform:uppercase;margin-top:5px;font-size:.64rem;font-weight:800;line-height:1.15}.calendar-day.is-empty{opacity:0;pointer-events:none}.calendar-day.is-very_quiet,.calendar-detail.is-very_quiet{background:#e9f8ef;border-color:#83d6a6}.calendar-day.is-quiet,.calendar-detail.is-quiet{background:#edf8ff;border-color:#8fcdea}.calendar-day.is-normal,.calendar-detail.is-normal{background:#fff8e4;border-color:#ecc86e}.calendar-day.is-busy,.calendar-detail.is-busy{background:#fff0e7;border-color:#efad80}.calendar-day.is-very_busy,.calendar-detail.is-very_busy{background:#fff0f5;border-color:#e88ba8}.calendar-detail{border:1px solid var(--border);border-radius:16px;margin-top:16px;padding:14px 16px}.calendar-detail strong,.calendar-detail span{display:block}.calendar-detail span{color:var(--muted);margin-top:2px;font-size:.9rem}.calendar-detail p{margin:10px 0 0}.calendar-factors{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.calendar-factors li{background:#ffffffad;border:1px solid #10203314;border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:800}@media (prefers-reduced-motion:reduce){.clock-hand{animation:none}}.empty-state{margin:0;padding:18px 0 4px}@media (width<=720px){.app-shell{width:min(100% - 22px,1040px);padding-top:18px}.app-header,.feature-card,.section-heading{flex-direction:column;align-items:stretch}.app-header{gap:16px}.hero-panel{border-radius:22px;grid-template-columns:1fr;padding:24px}.hero-stat{align-self:start}.feature-card{grid-template-columns:1fr}.feature-wait{min-width:0}.queue-panel{padding:16px}.ride-row{grid-template-columns:auto 1fr auto;align-items:start}.ride-metrics{flex-flow:wrap;grid-column:2;align-items:start}.ride-row .favorite-button{grid-area:1/3}.queue-actions{align-self:stretch}.ride-search{max-width:none}.filter-button{flex:1;justify-content:center}}.attraction-detail{border:1px solid var(--border);background:var(--mist);border-radius:16px;padding:1.25rem}.detail-back{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0 0 .5rem;font-weight:600}.detail-now{color:var(--blue)}.detail-moments ul{gap:.35rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:grid}.detail-moments li{align-items:baseline;gap:.5rem;display:flex}.ride-open{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.ride-open:hover{text-decoration:underline}.attraction-chart{width:100%;max-width:480px;height:auto}.attraction-chart .bar{fill:var(--blue-bright);opacity:.55}.attraction-chart .bar.is-now{fill:var(--pink);opacity:1}.attraction-chart .bar.is-best{fill:var(--blue);opacity:1}.attraction-chart .bar-label{fill:currentColor;opacity:.5;font-size:8px}.header-controls{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.visit-picker{gap:.25rem;display:grid}.visit-picker>span{text-transform:uppercase;letter-spacing:.05em;color:var(--blue);font-size:.7rem}.visit-picker>div{align-items:center;gap:.4rem;display:flex}.visit-picker input[type=time]{border:1px solid var(--border);font:inherit;border-radius:8px;padding:.3rem .5rem}.chart-toolbar{justify-content:space-between;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.chart-caption{color:var(--blue);font-size:.75rem}.grain-toggle{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.grain-toggle button{font:inherit;cursor:pointer;color:var(--blue);background:0 0;border:none;padding:.3rem .6rem}.grain-toggle button.is-active{background:var(--blue);color:#fff}.app-shell:before{background:radial-gradient(circle at 12% 8%, #ffd45c38, transparent 18rem), radial-gradient(circle at 92% 2%, var(--theme-glow), transparent 24rem), linear-gradient(180deg, #fff 0%, var(--mist) 48%, #edf7fd 100%)}.app-shell:after{content:"";opacity:.22;pointer-events:none;z-index:-1;background-image:radial-gradient(circle,#0d35581f 0 1px,#0000 1.2px);background-size:18px 18px;min-height:100svh;position:fixed;inset:0}.brand-logo{filter:drop-shadow(0 5px #0d355814)}.brand strong,.hero-panel h1,.feature-card h2,.section-heading h2,.attraction-detail h2{font-family:var(--display);letter-spacing:0}.brand strong{color:var(--ink-line);text-shadow:0 2px #ffffffe6;font-size:clamp(1.22rem,2vw,1.55rem)}.brand-wordmark{color:var(--ink-line);font-family:var(--display);text-shadow:0 2px 0 #fff, 0 5px 0 var(--cream), 0 8px 0 #ff7fbd33;font-size:clamp(1.9rem,5vw,3.15rem);font-weight:950;line-height:.84}.brand-wordmark span:nth-child(2){color:var(--blue);transform:translateY(.04em)rotate(-1deg)}.brand-wordmark span:nth-child(3){transform:translateY(-.02em)rotate(1deg)}.brand small{color:var(--blue);font-weight:850}.header-controls{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:12px;display:flex}.park-switcher-label,.visit-picker>span,.ride-search span,.eyebrow{color:var(--blue);letter-spacing:.09em;font-weight:900}.visit-picker input[type=time],.ride-search-input{border:2px solid var(--border-strong);background:#fffffff0;border-radius:14px;box-shadow:0 5px #0d355814}.visit-picker{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.visit-picker>div{border:2px solid var(--border);background:#ffffffbd;border-radius:16px;gap:6px;padding:4px;display:flex}.visit-picker input[type=time]{color:var(--ink);min-height:34px;padding:5px 7px}.hero-panel{background:radial-gradient(circle at 10% 18%, #ff7fbd29, transparent 15rem), linear-gradient(135deg, var(--cream) 0%, #fff 48%, var(--blue-bg) 100%);border:4px solid var(--ink-line);color:var(--ink);isolation:isolate;border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(132px,190px) auto;align-items:end;gap:22px;padding:clamp(22px,4vw,36px);box-shadow:0 10px #0d35581f,0 26px 55px #10203324}.hero-panel:before{content:"";opacity:.26;pointer-events:none;z-index:-1;background:linear-gradient(90deg,#0000 0 18px,#0d355814 18px 20px,#0000 20px 38px) 0 0/38px 100%,radial-gradient(circle,#0d35581a 0 1px,#0000 1.2px) 0 0/14px 14px;position:absolute;inset:0}.hero-panel:after{background:var(--pink);border:4px solid var(--ink-line);content:"";border-radius:999px;width:22px;height:22px;position:absolute;top:22px;right:24px;box-shadow:0 5px #0d35581f}.hero-panel .eyebrow{color:var(--signal-text)}.hero-panel .hero-copy{color:var(--muted)}.hero-content{min-width:0}.hero-panel h1{color:var(--ink-line);text-shadow:0 3px #fff,0 6px #0d355814;max-width:760px;margin:8px 0 18px;font-size:clamp(2.4rem,7.2vw,5.7rem);line-height:.9}.mascot-figure{pointer-events:none;margin:0}.mascot-figure img{width:100%;height:auto;display:block}.hero-mascot{filter:drop-shadow(0 10px #0d35581a);z-index:1;align-self:end;min-width:132px;max-width:190px;position:relative}.sleep-mascot{filter:drop-shadow(0 12px 22px #00000042)}.night-hero .sleep-mascot{align-self:center;max-width:210px}.hero-stat{background:var(--blue);border:4px solid var(--ink-line);color:#fff;border-radius:18px;align-self:end;min-width:142px;padding:16px;box-shadow:0 7px #0d355829}.hero-stat span,.feature-wait strong{font-family:var(--display);letter-spacing:0}.hero-stat small{color:#ffffffdb}.feature-card,.queue-panel,.attraction-detail{border:3px solid var(--ink-line);background:#ffffffe6;border-radius:18px;box-shadow:0 8px #0d35581a,0 18px 38px #10203314}.feature-card{background:linear-gradient(90deg, #fff4d6d1, #fffffff0), var(--panel)}.feature-card.is-good,.feature-card.is-bad{border-color:var(--ink-line)}.pill{background:var(--spark);border:2px solid var(--ink-line);color:var(--ink-line);box-shadow:0 3px #0d35581f}.feature-wait,.wait-chip{background:var(--blue);border:3px solid var(--ink-line);color:#fff;box-shadow:0 4px #0d35581f}.feature-wait span{color:#ffffffd1}.app-shell.is-night:after{opacity:.2;background-image:radial-gradient(circle,#eaf4ff42 0 1px,#0000 1.2px)}.app-shell.is-night .brand strong,.app-shell.is-night .brand-wordmark,.app-shell.is-night .hero-panel h1{color:var(--night-ink);text-shadow:0 2px #081326e6,0 6px #8cc8ff14}.app-shell.is-night .brand-wordmark span:nth-child(2),.app-shell.is-night .park-switcher-label,.app-shell.is-night .visit-picker>span,.app-shell.is-night .ride-search span,.app-shell.is-night .eyebrow{color:var(--night-blue)}.app-shell.is-night .visit-picker input[type=time],.app-shell.is-night .ride-search-input{color:var(--night-ink);background:#eaf4ff1f;border-color:#8cc8ff57;box-shadow:0 5px #00000029}.app-shell.is-night .night-hero{color:var(--night-ink);background:radial-gradient(circle at 20% 20%,#ffd86b29,#0000 13rem),linear-gradient(135deg,#132844 0%,#0d1b2f 54%,#173a5c 100%);border-color:#8cc8ff6b;box-shadow:0 10px #0003,0 26px 55px #0000003d}.app-shell.is-night .night-hero:after{background:var(--night-star);border-color:#fff3b4;box-shadow:0 0 26px #ffd86b61}.app-shell.is-night .night-hero .eyebrow,.app-shell.is-night .night-hero .hero-copy{color:#eaf4ffc7}.app-shell.is-night .night-stat{color:var(--night-ink);background:#eaf4ff1a;border-color:#8cc8ff61}.app-shell.is-night .night-stat span{color:var(--night-star);font-size:3.5rem}.app-shell.is-night .wait-chip,.app-shell.is-night .delta-chip.is-neutral{color:var(--night-ink);background:#8cc8ff24;border-color:#8cc8ff6b}.ride-row{border:2px solid var(--border-strong);background:linear-gradient(90deg,#fff4d6b8,#fbfdfffa 38%),#fbfdff;border-radius:14px;box-shadow:0 4px #0d35580f}.rank{background:var(--cream);border:3px solid var(--ink-line);color:var(--ink-line);font-family:var(--display);border-radius:12px;box-shadow:0 3px #0d35581a}.delta-chip{border:2px solid #0000}.delta-chip.is-good{border-color:#15734442}.delta-chip.is-bad{border-color:#b4431f3d}.favorite-button{border:2px solid var(--border-strong);box-shadow:0 3px #0d355814}.favorite-button.is-active{background:var(--cream);border-color:var(--pink)}.empty-state{color:var(--muted);align-items:center;gap:12px;margin:0;padding:18px 0 4px;display:flex}.empty-state p{margin:0}.empty-mascot{flex:none;width:72px}.detail-back{background:var(--cream);border:2px solid var(--ink-line);color:var(--ink-line);border-radius:12px;margin-bottom:14px;padding:7px 11px;font-weight:900;box-shadow:0 3px #0d35581a}.detail-intro{justify-content:space-between;align-items:end;gap:16px;display:flex}.detail-intro h2{color:var(--ink-line);margin:0;font-size:clamp(1.9rem,5vw,3.4rem);line-height:.95}.detail-now{color:var(--blue);font-weight:850}.detail-mascot{filter:drop-shadow(0 7px #0d355814);flex:none;width:min(128px,28vw)}.detail-moments{background:var(--cream);border:2px dashed var(--border-strong);border-radius:14px;margin:14px 0;padding:14px}.chart-toolbar{border:2px solid var(--border);background:#eaf6ffc7;border-radius:14px;padding:8px}.chart-compare{color:var(--blue);align-items:center;gap:8px;font-size:.82rem;font-weight:850;display:inline-flex}.chart-compare input{accent-color:var(--pink);width:18px;height:18px}.history-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.history-date-picker{color:var(--ink-line);align-items:center;gap:8px;font-size:.82rem;font-weight:850;display:inline-flex}.history-date-picker span,.history-loading{color:var(--blue);font-weight:900}.history-date-picker input[type=date]{border:2px solid var(--border-strong);color:var(--ink-line);font:inherit;background:#fffffff0;border-radius:12px;padding:7px 10px;font-weight:800;box-shadow:0 4px #0d355814}.history-loading{font-size:.82rem}.detail-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.detail-stats div{border:2px solid var(--border);background:#ffffffd1;border-radius:14px;min-width:0;padding:10px 12px;box-shadow:0 4px #0d35580f}.detail-stats dt{color:var(--blue);text-transform:uppercase;font-size:.72rem;font-weight:900}.detail-stats dd{color:var(--ink-line);margin:4px 0 0;font-size:1rem;font-weight:950}.grain-toggle{border:2px solid var(--ink-line);border-radius:12px}.grain-toggle button.is-active{background:var(--blue)}.app-shell.is-night .queue-panel,.app-shell.is-night .calendar-panel,.app-shell.is-night .attraction-detail{color:#102033;background:linear-gradient(#f1f8fffa,#dcecf9f5),#eaf4ff;border-color:#8cc8ff}.app-shell.is-night .calendar-panel h2,.app-shell.is-night .calendar-panel .calendar-subtitle,.app-shell.is-night .calendar-weekday,.app-shell.is-night .calendar-nav strong,.app-shell.is-night .queue-panel h2,.app-shell.is-night .attraction-detail h2,.app-shell.is-night .attraction-detail .detail-now,.app-shell.is-night .attraction-detail .detail-now strong,.app-shell.is-night .attraction-detail .empty-state,.app-shell.is-night .detail-now,.app-shell.is-night .detail-now strong,.app-shell.is-night .detail-moments,.app-shell.is-night .detail-moments .eyebrow,.app-shell.is-night .detail-moments li,.app-shell.is-night .detail-moments strong,.app-shell.is-night .chart-compare,.app-shell.is-night .history-date-picker,.app-shell.is-night .detail-stats dd,.app-shell.is-night .empty-state,.app-shell.is-night .empty-state p{color:#102033}.app-shell.is-night .queue-panel .eyebrow,.app-shell.is-night .calendar-panel .eyebrow,.app-shell.is-night .ride-search span,.app-shell.is-night .detail-stats dt,.app-shell.is-night .history-date-picker span,.app-shell.is-night .history-loading,.app-shell.is-night .chart-caption{color:#2b78b7}.app-shell.is-night .ride-search-input,.app-shell.is-night .history-date-picker input[type=date]{color:#102033;background:#fff;border-color:#8cc8ff}.app-shell.is-night .ride-search-input::placeholder{color:#5b7085;opacity:1}.app-shell.is-night .ride-row,.app-shell.is-night .calendar-detail,.app-shell.is-night .detail-stats div,.app-shell.is-night .chart-toolbar{color:#102033;background:#ffffffeb;border-color:#a8d7ff}.app-shell.is-night .detail-moments{background:#fff5d8;border-color:#8cc8ff}.app-shell.is-night .ride-details span,.app-shell.is-night .ride-details small,.app-shell.is-night .calendar-detail span{color:#345066}.app-shell.is-night .wait-chip,.app-shell.is-night .delta-chip,.app-shell.is-night .delta-chip.is-neutral{color:#102033;opacity:1;background:#e9f5ff;border-color:#8cc8ff}@media (width<=720px){.header-controls{justify-content:stretch;width:100%}.park-switcher,.visit-picker{width:100%}.park-switcher-track{width:calc(100% - 14px)}.park-ticket{min-width:0}.visit-picker>div{width:calc(100% - 12px)}.visit-picker input[type=time]{width:100%;min-width:0}.hero-panel{grid-template-columns:1fr;padding:22px}.hero-mascot{order:2;justify-self:center;max-width:150px}.hero-stat{order:3;justify-self:stretch}.empty-state,.detail-intro{align-items:flex-start}.chart-toolbar,.history-toolbar,.history-date-picker{flex-direction:column;align-items:stretch}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.planner{margin:18px 0}.planner-steps{gap:8px;margin:0 0 18px;padding:0;list-style:none;display:flex}.planner-steps li{flex:1}.planner-steps button{border:1px solid var(--border);color:inherit;cursor:pointer;font:inherit;background:#ffffffdb;border-radius:14px;width:100%;padding:10px 12px}.planner-steps li.is-active button{border-color:var(--border-strong);font-weight:700}.planner-steps li.is-done button{background:var(--good-bg)}.planner-steps button span{color:var(--blue);margin-right:4px;font-weight:700}.planner-panel{border:1px solid var(--border);background:#ffffffdb;border-radius:24px;padding:24px;box-shadow:0 14px 40px #10203314}.planner-picklist{flex-direction:column;gap:6px;max-height:420px;margin:12px 0;padding:0;list-style:none;display:flex;overflow-y:auto}.planner-picklist li{align-items:center;gap:10px;display:flex}.planner-picklist label{cursor:pointer;align-items:center;gap:10px;width:100%;display:flex}.planner-picklist label small{color:#6b8299;margin-left:auto}.must-toggle{color:var(--border-strong);cursor:pointer;background:0 0;border:none;font-size:20px;line-height:1}.must-toggle.is-active{color:var(--pink)}.planner-field{align-items:center;gap:12px;margin:12px 0;display:flex}.planner-field>span{min-width:84px}.planner-field input{border:1px solid var(--border-strong);font:inherit;border-radius:10px;padding:8px 10px}.planner-crowd{color:var(--signal-text);margin:4px 0 12px;font-weight:600}.planner-nav{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.planner-nav>span{margin-right:auto}.planner-nav button{background:var(--blue);color:#fff;cursor:pointer;font:inherit;border:none;border-radius:12px;padding:10px 18px;font-weight:600}.planner-nav button:disabled{opacity:.5;cursor:not-allowed}.planner-planhead{justify-content:space-between;align-items:center;gap:12px;display:flex}.visitday-toggle{cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.planner-done,.planner-plan{margin:12px 0;padding:0;list-style:none}.planner-done li{color:#6b8299;padding:6px 0}.done-check{color:var(--blue);font-weight:700}.planner-plan li{border:1px solid var(--border);border-radius:14px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.planner-plan li.is-must{border-color:var(--border-strong)}.plan-time{font-variant-numeric:tabular-nums;min-width:48px;font-weight:700}.plan-details{flex-direction:column;display:flex}.plan-details small{color:#6b8299}.plan-done-btn{background:var(--good-bg);border:1px solid var(--border-strong);cursor:pointer;font:inherit;border-radius:10px;margin-left:auto;padding:6px 12px}.planner-unscheduled{background:#fff1f4;border:1px solid #ffc4d3;border-radius:14px;margin-top:12px;padding:12px 16px}.planner-unscheduled ul{margin:6px 0 0;padding-left:18px}
