:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#042225;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--bg: oklch(1 0 0);--surface: oklch(.975 .01 188);--surface-strong: oklch(.955 .018 188);--ink: oklch(.23 .035 205);--muted: oklch(.48 .035 205);--faint: oklch(.62 .025 205);--line: oklch(.9 .018 188);--primary: oklch(.52 .12 188);--primary-deep: oklch(.39 .09 188);--coral: oklch(.68 .15 35);--yellow: oklch(.84 .15 92);--success: oklch(.55 .14 150);--danger: oklch(.58 .16 25)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;background:var(--bg)}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:#fff}.brand-lockup,.topbar-meta,.live-dot,.location-line,.sync-metric,.refreshing,.attribution a{display:flex;align-items:center}.brand-lockup{gap:12px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--primary);border-radius:10px;box-shadow:0 4px 10px #00797333;box-shadow:0 4px 10px oklch(.52 .12 188 / .2)}.brand-name{font-size:15px;font-weight:750;letter-spacing:.01em}.brand-subtitle{margin-top:2px;color:var(--muted);font-size:11px}.topbar-meta{gap:18px;color:var(--muted);font-size:12px}.live-dot{gap:7px;color:var(--primary-deep);font-weight:700}.live-dot span,.source-pulse{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px #1c87421f}.icon-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;transition:border-color .18s,color .18s,background .18s}.icon-button:hover{border-color:var(--primary);color:var(--primary-deep);background:var(--surface)}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{display:flex;flex-direction:column;min-height:calc(100vh - 72px);padding:30px 22px 18px;border-right:1px solid var(--line);background:#f9fdfc}.sidebar-heading{display:flex;justify-content:space-between;align-items:flex-start;margin:0 10px 22px}.eyebrow{margin:0 0 6px;color:var(--primary-deep);font-size:10px;font-weight:800;line-height:1;letter-spacing:.1em;text-transform:uppercase}.sidebar h1,.content h2,.content h3{margin:0;color:var(--ink);letter-spacing:0}.sidebar h1{max-width:210px;font-size:21px;line-height:1.15}.heading-icon{color:var(--faint)}.search-box{height:42px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;transition:border-color .18s,box-shadow .18s}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0079731a;box-shadow:0 0 0 3px oklch(.52 .12 188 / .1)}.search-box input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px}.search-box input::placeholder{color:var(--faint)}.search-clear{padding:0 2px;border:0;color:var(--faint);background:transparent;font-size:20px;line-height:1}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.select-wrap{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0}.select-wrap.full-width{grid-column:1 / -1}.select-wrap span{color:var(--muted);font-size:10px;font-weight:700}.select-wrap select{width:100%;height:34px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 28px 0 9px;border:1px solid var(--line);outline:0;color:var(--ink);background:#fff;border-radius:6px;font-size:12px}.select-wrap select:focus{border-color:var(--primary)}.select-wrap svg{position:absolute;right:9px;bottom:9px;pointer-events:none;color:var(--faint)}.list-heading{display:flex;align-items:center;gap:8px;margin:25px 10px 9px;color:var(--muted);font-size:11px;font-weight:750}.count-badge{min-width:23px;padding:2px 6px;border-radius:12px;color:var(--primary-deep);background:#0079731a;background:oklch(.52 .12 188 / .1);text-align:center;font-size:10px}.park-list{flex:1;min-height:0;overflow-y:auto;margin:0 -8px;padding:0 8px}.park-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 9px;border:1px solid transparent;color:var(--ink);background:transparent;border-radius:8px;text-align:left;transition:background .18s,border-color .18s,transform .18s}.park-item:hover{border-color:var(--line);background:#fff;transform:translate(2px)}.park-item.selected{border-color:#00797340;border-color:oklch(.52 .12 188 / .25);background:#00797314;background:oklch(.52 .12 188 / .08)}.park-item-icon{width:29px;height:29px;display:grid;flex:0 0 auto;place-items:center;color:var(--primary-deep);background:#0079731a;background:oklch(.52 .12 188 / .1);border-radius:7px}.park-item-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.park-item-copy strong{overflow:hidden;font-size:12px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.park-item-copy small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.park-chevron{color:var(--faint);font-size:20px;line-height:1}.sidebar-footer{display:flex;align-items:center;gap:7px;margin:16px 4px 0;color:var(--muted);font-size:10px}.footer-separator{color:var(--line)}.source-pulse{width:6px;height:6px;box-shadow:none}.loading-list{display:grid;gap:9px;padding-top:4px}.skeleton-row{display:flex;align-items:center;gap:10px;padding:9px}.skeleton-row>span{width:29px;height:29px;border-radius:7px;background:var(--surface-strong);animation:pulse 1.4s ease-in-out infinite}.skeleton-row>div{display:grid;gap:6px;width:75%}.skeleton-row i{display:block;height:8px;border-radius:4px;background:var(--surface-strong);animation:pulse 1.4s ease-in-out infinite}.skeleton-row i:last-child{width:65%}.empty-list{padding:34px 12px;color:var(--muted);text-align:center}.empty-list p{margin:10px 0 12px;font-size:12px}.empty-list button{border:0;color:var(--primary-deep);background:transparent;font-size:11px;font-weight:700}.content{min-width:0;max-width:1440px;width:100%;margin:0 auto;padding:37px clamp(28px,5vw,76px) 40px}.error-banner{display:flex;align-items:center;gap:9px;margin-bottom:20px;padding:11px 13px;border:1px solid oklch(.58 .16 25 / .25);color:#822b2a;background:#c74b4712;border-radius:7px;font-size:12px}.error-banner button{margin-left:auto;border:0;color:inherit;background:transparent;font-size:19px;line-height:1}.content-header{display:flex;align-items:end;justify-content:space-between;gap:24px}.breadcrumb{display:flex;gap:8px;margin-bottom:10px;color:var(--muted);font-size:11px}.content h2{font-size:clamp(25px,3vw,37px);font-weight:760;line-height:1.12;text-wrap:balance}.location-line{gap:6px;margin:11px 0 0;color:var(--muted);font-size:12px}.location-line svg{color:var(--primary)}.location-line span{color:var(--line)}.time-control{display:flex;flex-direction:column;align-items:flex-end;gap:8px;color:var(--muted);font-size:10px;font-weight:700}.segmented-control{display:flex;padding:3px;border:1px solid var(--line);background:var(--surface);border-radius:7px}.segmented-control button{height:27px;padding:0 10px;border:0;color:var(--muted);background:transparent;border-radius:5px;font-size:11px}.segmented-control button.active{color:var(--primary-deep);background:#fff;box-shadow:0 1px 3px #04222517;font-weight:750}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:29px}.metric,.sync-metric{min-width:0;display:flex;align-items:center;gap:11px;min-height:76px;padding:14px 15px;border:1px solid var(--line);background:#fff;border-radius:9px}.metric-icon{width:31px;height:31px;display:grid;flex:0 0 auto;place-items:center;border-radius:7px}.metric-teal .metric-icon{color:var(--primary-deep);background:#0079731f;background:oklch(.52 .12 188 / .12)}.metric-coral .metric-icon{color:#95402b;background:#e5725526}.metric-yellow .metric-icon{color:#755000;color:oklch(.46 .11 78);background:#eec7433d}.metric>div,.sync-metric>div{min-width:0;display:flex;flex-direction:column;gap:4px}.metric span,.sync-metric span{color:var(--muted);font-size:10px}.metric strong,.sync-metric strong{color:var(--ink);font-size:19px;line-height:1}.metric small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.sync-metric{color:var(--success)}.sync-metric strong{font-size:13px}.chart-panel{margin-top:15px;padding:22px 23px 13px;border:1px solid var(--line);background:#fff;border-radius:10px}.panel-header,.section-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.content h3{font-size:18px;line-height:1.2}.refreshing{gap:5px;color:var(--primary-deep);font-size:11px}.wait-chart{width:100%;height:360px;margin-top:12px}.chart-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.legend-line{width:15px;height:2px;display:inline-block;background:var(--primary)}.note-divider{width:1px;height:11px;display:inline-block;margin:0 3px;background:var(--line)}.rides-section{margin-top:31px}.section-heading{align-items:end;margin-bottom:12px}.section-heading h3 span{margin-left:6px;color:var(--faint);font-size:13px;font-weight:500}.section-caption{color:var(--muted);font-size:10px}.rides-table{border-top:1px solid var(--line)}.ride-row{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 150px 95px;align-items:center;gap:16px;padding:8px 4px;border-bottom:1px solid var(--line)}.ride-name{min-width:0;display:flex;align-items:center;gap:10px}.status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.status-dot.open{background:var(--success);box-shadow:0 0 0 3px #1c87421f}.status-dot.closed{background:var(--faint)}.ride-name>div{min-width:0;display:flex;flex-direction:column;gap:3px}.ride-name strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ride-name small{color:var(--muted);font-size:10px}.ride-updated{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--muted);font-size:10px;white-space:nowrap}.delayed-tag{padding:3px 5px;border-radius:4px;color:#734700;color:oklch(.44 .11 70);background:#eec74340;font-size:9px;font-weight:700}.ride-wait{color:var(--primary-deep);font-size:13px;font-weight:800;text-align:right}.ride-wait.closed{color:var(--muted);font-weight:650}.attribution{display:flex;align-items:center;gap:5px;margin-top:27px;color:var(--muted);font-size:10px}.attribution a{gap:4px;color:var(--primary-deep);text-decoration:none}.attribution a:hover{text-decoration:underline}.welcome-state{min-height:62vh;display:grid;place-content:center;justify-items:center;padding:30px;text-align:center}.welcome-icon{width:58px;height:58px;display:grid;place-items:center;color:var(--primary-deep);background:#0079731a;background:oklch(.52 .12 188 / .1);border-radius:14px}.welcome-state h2{margin-top:19px;font-size:23px}.welcome-state p{max-width:380px;margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@media(max-width:1050px){.workspace{grid-template-columns:290px minmax(0,1fr)}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.topbar{height:64px;padding:0 16px}.topbar-time{display:none}.workspace{display:block}.sidebar{min-height:auto;padding:22px 16px 16px;border-right:0;border-bottom:1px solid var(--line)}.park-list{max-height:260px}.content{padding:25px 16px 32px}.content-header{align-items:start;flex-direction:column}.time-control{align-items:start}.metric-strip{grid-template-columns:1fr 1fr;margin-top:22px}.chart-panel{padding:17px 12px 11px}.wait-chart{height:310px}.ride-row{grid-template-columns:minmax(0,1fr) auto;gap:7px}.ride-updated{grid-column:1;justify-content:flex-start;padding-left:18px}.ride-wait{grid-column:2;grid-row:1 / span 2}}@media(max-width:420px){.metric-strip{grid-template-columns:1fr}.metric,.sync-metric{min-height:67px}.topbar-meta .live-dot{font-size:10px}.content h2{font-size:25px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
