:root{font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif;line-height:1.4;font-weight:400;color:#ece8e0;background:#0c1014;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;background:#0c1014;-webkit-text-size-adjust:100%;text-size-adjust:100%}.boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 42% 38%,rgba(200,29,37,.16),transparent 42%),radial-gradient(ellipse at 50% 80%,rgba(224,197,106,.08),transparent 46%),#0c1014;color:#fff8ee}.boot.is-leaving{opacity:0;pointer-events:none;transition:opacity .36s ease}.boot.is-gone{opacity:0;pointer-events:none;transition:opacity .18s ease}.boot-card{display:flex;flex-direction:column;align-items:flex-start;width:min(280px,78vw)}.boot-kicker{font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#e0c56a}.boot-title{font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:clamp(42px,12vw,56px);font-weight:700;letter-spacing:.08em;line-height:.88}.boot-track{width:100%;height:3px;margin:18px 0 10px;overflow:hidden;border-radius:99px;background:#f4efe61f}.boot-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#c81d25,#e0c56a);transition:width .4s ease}.boot-bar.is-indeterminate{width:36%;animation:boot-slide 1.15s ease-in-out infinite}.boot-status{margin:0;color:#9aa3ab;font-size:13px}@keyframes boot-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}@media (prefers-reduced-motion: reduce){.boot-bar,.boot.is-leaving,.boot.is-gone,.app .scene{transition:none}.boot-bar.is-indeterminate{animation:none;width:50%}}.app{position:relative;width:100%;height:100%;overflow:hidden;background:#0c1014}.app .scene,.app .scene canvas{display:block;width:100%;height:100%;touch-action:none}.app .scene{opacity:0;transition:opacity .35s ease}.app.is-lit .scene{opacity:1}.app:after{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 42% 48%,transparent 52%,rgba(8,10,12,.34) 100%)}.hud-top{position:absolute;z-index:3;top:14px;left:16px;right:380px;display:flex;align-items:center;gap:18px;pointer-events:none}.wordmark{display:flex;flex-direction:column;pointer-events:none;padding:4px 10px 6px;border-radius:8px;background:#0a0d109e;border:1px solid rgba(244,239,230,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wordmark-kicker{font-family:Barlow Condensed,IBM Plex Sans,sans-serif;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#e0c56a}.wordmark strong{font-family:Barlow Condensed,IBM Plex Sans,sans-serif;font-size:28px;font-weight:700;letter-spacing:.08em;line-height:.9;color:#fff8ee}.cam-bar{display:flex;gap:4px;flex-wrap:wrap;pointer-events:auto;padding:3px;border-radius:8px;background:#0a0d108c;border:1px solid rgba(244,239,230,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cam-bar button{background:transparent;border-color:transparent;color:#c5c0b6;border-radius:5px;padding:5px 10px;font-size:12px}.cam-bar button.active{background:#f4efe6;color:#141814;border-color:transparent}.lower-third{position:absolute;z-index:3;left:16px;bottom:18px;box-sizing:border-box;display:flex;flex-direction:column;width:420px;overflow:hidden;border-radius:8px;background:#f4efe614;border:1px solid rgba(244,239,230,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lower-third-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px}.lower-third-stats>div{min-width:0;padding:9px 12px 10px;background:#0a0d109e}.lower-third-blurb{margin:0;padding:8px 12px 9px;background:#0a0d109e;border-top:1px solid rgba(244,239,230,.08);color:#d7d2c8;font-size:13px;line-height:1.4;overflow-wrap:break-word}.lower-third .tip-btn{display:block;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9aa3ab;text-decoration-color:#9aa3ab8c}.lower-third strong{display:block;margin-top:2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:18px;font-weight:500;letter-spacing:-.02em}.lower-third strong.overlay,.readout strong.overlay{color:#8ed4ff}.panel{position:absolute;z-index:4;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:min(348px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;padding:12px 13px 14px;border-radius:12px;background:#0c1014c7;color:#ece8e0;border:1px solid rgba(244,239,230,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:13px}.panel-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:10px;flex:0 0 auto}.panel-head-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.panel-toggle{font-size:12px;padding:5px 10px;color:#d7d2c8}.panel-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.panel.is-collapsed .panel-body{display:none}.panel.is-collapsed{max-height:none}.actions{display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px;flex:0 0 auto;margin-bottom:8px}.actions .primary,.actions button:not(.primary){flex:unset;min-width:0;width:100%}.panel h1{margin:0;font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.panel-head p{margin:2px 0 0;color:#9aa3ab;font-size:11px;line-height:1.4}.panel.is-collapsed p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mode-toggle,.adv-tabs,.row,.chips{display:flex;gap:6px}.row .field{min-width:0}.mode-toggle,.adv-tabs{background:#0a0e12;border-radius:7px;padding:2px}.mode-toggle button,.adv-tabs button,.chips button{flex:1;border:0;background:transparent;color:#c8c3b8;border-radius:5px;padding:5px 7px;font:inherit;font-size:12px;cursor:pointer}.mode-toggle button.active,.adv-tabs button.active,.chips button.active{background:#f4efe6;color:#161410;font-weight:650}.chips.overlay button.active{background:#5ec8ff;color:#102028}.grow{flex:1}button{border:1px solid rgba(244,239,230,.14);background:#22282e;color:#f2eee6;border-radius:6px;padding:6px 10px;font:inherit;cursor:pointer}button.primary{background:#c81d25;color:#fff8f6;border-color:transparent;font-weight:650;flex:1}button:hover{filter:brightness(1.08)}.readout{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:6px;margin:0 0 8px}.readout.advanced{grid-template-columns:1fr 1fr 1fr}.readout.simple{display:none}.readout div{background:#ffffff0a;border-radius:6px;padding:5px 6px}.readout strong{display:block;margin-top:2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:13px}.ok{color:#b6e38a}.ball{color:#f0b07a}.chips{display:grid;grid-template-columns:1fr 1fr 1fr;flex-wrap:unset;margin-bottom:4px}.pitch-pick{margin-bottom:8px}.pitch-pick .slider{margin:2px 0 0}.spin-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spin-pair .spin-preview.compact{height:auto}.spin-pair .spin-stage{width:min(100%,110px)}.spin-preview.overlay{border-color:#5ec8ff59}.compare-bar{display:flex;flex-direction:column;gap:6px;margin:0 0 8px}.compare-bar .mode-toggle{align-self:stretch}.compare-line{margin:0;color:#c5d4de;font-size:11px;line-height:1.35}.compare-picks{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.compare-picks .toolbar-tag{display:block;margin-bottom:3px}.toolbar-tag.overlay{color:#7ec8ef}.chips button{flex:unset;background:#1c2228;border:1px solid rgba(244,239,230,.1)}.custom-spins{margin:2px 0 8px}.custom-spins .slider{margin:3px 0}.pitch-line{margin:4px 0 6px;color:#c5c0b6;font-size:12px;line-height:1.4}.pitch-line.overlay{color:#9ecbe0}.field,.slider,.check{display:flex;flex-direction:column;gap:3px;margin:5px 0}.field select{background:#0a0e12;color:inherit;border:1px solid rgba(244,239,230,.14);border-radius:6px;padding:5px 7px;font:inherit}.slider span{display:flex;justify-content:space-between;gap:8px;align-items:center}.slider b{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-weight:500;color:#d7d2c8}.slider input{width:100%;margin:0;accent-color:#c81d25}.slider-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.check{flex-direction:row;align-items:center;gap:8px}.adv-tabs{margin:2px 0 8px}.adv-pane{min-height:0}.aero-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.spin-preview{position:relative;display:flex;flex-direction:column;align-items:center;height:auto;margin:4px 0 6px;border-radius:8px;overflow:hidden;background:#080c10;border:1px solid rgba(244,239,230,.1)}.spin-preview.compact{height:auto}.spin-stage{position:relative;width:min(100%,148px);aspect-ratio:1}.spin-preview.compact .spin-stage{width:min(100%,128px)}.spin-stage>div{width:100%!important;height:100%!important}.simple-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 4px}.toolbar-cluster.play-speed,.toolbar-cluster.play-speed .mode-toggle{flex:1}.hand-select{background:#0a0e12;color:inherit;border:1px solid rgba(244,239,230,.14);border-radius:6px;padding:4px 6px;font:inherit;font-size:12px}.toolbar-cluster{display:inline-flex;align-items:center;gap:5px}.toolbar-tag{color:#9aa3ab;font-size:10px;font-weight:650;letter-spacing:.06em}.toolbar-cluster .mode-toggle{flex:0 0 auto}.spin-preview canvas,.spin-preview.compact canvas{display:block;width:100%!important;height:100%!important}.spin-meta{position:static;width:100%;box-sizing:border-box;padding:2px 8px 6px;display:flex;flex-direction:column;gap:1px;font-size:10px;color:#9aa3ab}.spin-meta strong{color:#ece8e0;font-size:12px;font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}.zone-wrap{display:flex;flex-direction:column;align-items:center;margin:2px 0 6px}.zone-key{display:flex;justify-content:space-between;width:min(100%,188px);color:#8b949c;font-size:10px}.zone-pad{position:relative;display:block;width:min(100%,188px);height:auto;aspect-ratio:var(--pad-aspect, .83);margin:4px 0;padding:0;overflow:hidden;border:1px solid rgba(244,239,230,.14);background:#10161c;cursor:crosshair}.zone-box,.zone-grid{position:absolute;left:var(--zone-inset-x, 17.74%);right:var(--zone-inset-x, 17.74%);top:var(--zone-inset-y, 13%);bottom:var(--zone-inset-y, 13%)}.zone-box{border:1.5px solid rgba(159,208,234,.8);background:#8ec8e814}.zone-grid{background:linear-gradient(to right,transparent 32.8%,rgba(159,208,234,.28) 33%,rgba(159,208,234,.28) 34%,transparent 34.2%,transparent 65.8%,rgba(159,208,234,.28) 66%,rgba(159,208,234,.28) 67%,transparent 67.2%),linear-gradient(to bottom,transparent 32.8%,rgba(159,208,234,.28) 33%,rgba(159,208,234,.28) 34%,transparent 34.2%,transparent 65.8%,rgba(159,208,234,.28) 66%,rgba(159,208,234,.28) 67%,transparent 67.2%)}.zone-mark{position:absolute;box-sizing:border-box;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.zone-mark.thrown{background:transparent;border:1.5px dashed #d7c056}.zone-mark.result{background:#ffffff61;border:1.5px solid #fff;box-shadow:none}.zone-mark.result:after{content:"";position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.zone-mark.result.overlay{background:#5ec8ff52;border-color:#5ec8ff}.zone-mark.result.overlay:after{background:#5ec8ff}.swatch{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%;vertical-align:middle}.swatch.thrown{background:transparent;border:1.5px dashed #d7c056;box-sizing:border-box}.swatch.result{background:#fff}.swatch.overlay{background:#5ec8ff}.tip{position:relative;display:inline-flex}.tip-btn{border:0;background:transparent;color:#8b949c;padding:0;font:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.04em;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:help}.tip-btn:hover,.tip-btn[aria-expanded=true]{color:#ece8e0}.tip-pop{position:fixed;z-index:40;width:236px;padding:8px 9px;border-radius:6px;background:#0f1418;color:#ece8e0;border:1px solid rgba(244,239,230,.18);box-shadow:0 8px 24px #0006;font-size:12px;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.4}@media (max-width: 980px){.hud-top{right:16px;flex-wrap:wrap}}.app.is-compact .panel,.app.is-compact .hud-top,.app.is-compact .lower-third{touch-action:manipulation}.app.is-compact .field select,.app.is-compact .hand-select,.app.is-compact .slider input{font-size:16px}.app.is-compact .panel{width:auto;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:auto;max-height:min(56dvh,calc(100dvh - 88px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.app.is-compact .panel.is-open{height:var(--panel-h, min(56dvh, calc(100dvh - 88px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) ));max-height:min(90dvh,calc(100dvh - 72px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));padding-bottom:4px}.app.is-compact .panel.is-resizing .panel-body{pointer-events:none}.panel-resize{display:none}.app.is-compact .panel.is-open .panel-resize{display:flex;align-items:center;justify-content:center;flex:0 0 auto;height:28px;margin:2px -13px -4px;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none}.app.is-compact .panel.is-open .panel-resize:before{content:"";width:42px;height:4px;border-radius:99px;background:#f4efe661}.app.is-compact .panel.is-open .panel-resize:active:before,.app.is-compact .panel.is-resizing .panel-resize:before{background:#f4efe69e}.app.is-compact .panel.is-collapsed{max-height:none}.app.is-compact .panel-head{margin-bottom:8px}.app.is-compact .panel-head-actions{flex-direction:row;align-items:center}.app.is-compact .panel-toggle{min-height:40px;min-width:56px}.app.is-compact .actions{margin-bottom:0}.app.is-compact .actions button{min-height:44px}.app.is-compact .panel.is-open .actions{margin-bottom:8px}.app.is-compact .chips,.app.is-compact .compare-picks .chips{display:flex;grid-template-columns:none;flex-wrap:nowrap;overflow-x:auto;gap:6px;margin-bottom:8px;padding-bottom:2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.app.is-compact .zone-pad,.app.is-compact .zone-key{width:min(100%,148px)}.app.is-compact .spin-preview.compact{height:auto}.app.is-compact .spin-preview.compact .spin-stage{width:min(100%,104px)}.app.is-compact .chips button{flex:0 0 auto;white-space:nowrap;min-height:40px;padding:8px 12px;scroll-snap-align:start}.app.is-compact .play-speed .mode-toggle button{min-height:40px}.app.is-compact .readout.simple{display:grid}.app.is-compact .lower-third,.app.is-compact .hud-top .wordmark{display:none}.app.is-compact .hud-top{top:auto;right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom))}.app.is-compact .cam-bar{width:100%;justify-content:stretch;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app.is-compact .cam-bar::-webkit-scrollbar{display:none}.app.is-compact .cam-bar button{flex:1 1 0;min-width:0;min-height:36px;padding-left:4px;padding-right:4px;text-align:center}
