:root{--bg: #091540;--primary: #c8e8ff;--secondary: #7692ff;--cyan: #abd2fa;--dim: #adbfeb;--mesh-icy: #abd2fa;--mesh-corn: #7692ff;--mesh-persian: #1b2cc1;--mesh-dusk: #3d518c;--mesh-navy: #091540;color:var(--primary);background:var(--mesh-navy);font-family:IBM Plex Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;background:var(--mesh-navy)}.shell{position:relative;min-height:100vh;min-height:100dvh;isolation:isolate;cursor:crosshair}.mesh-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;display:block;width:100%;height:100%;pointer-events:none}.mesh-fallback{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-3;pointer-events:none;background:linear-gradient(115deg,transparent 28%,color-mix(in srgb,var(--mesh-icy) 62%,transparent) 43%,transparent 51%),linear-gradient(200deg,transparent 38%,color-mix(in srgb,var(--mesh-corn) 52%,transparent) 54%,transparent 64%),radial-gradient(36% 42% at 20% 28%,var(--mesh-icy) 0%,transparent 60%),radial-gradient(44% 48% at 80% 20%,var(--mesh-corn) 0%,transparent 58%),radial-gradient(54% 58% at 70% 76%,var(--mesh-persian) 0%,transparent 62%),radial-gradient(52% 56% at 22% 84%,var(--mesh-dusk) 0%,transparent 60%),radial-gradient(60% 60% at 92% 90%,var(--mesh-navy) 0%,transparent 55%),radial-gradient(130% 130% at 50% 45%,transparent 32%,var(--mesh-navy) 100%),var(--mesh-navy);filter:blur(58px) saturate(1.12) contrast(1.06)}.site-header{position:absolute;z-index:1;top:24px;right:28px;left:28px;display:flex;align-items:baseline;justify-content:space-between;font-size:12px;letter-spacing:.04em;text-shadow:0 1px 7px var(--bg),0 0 3px var(--bg)}.wordmark{color:var(--primary)}.page-name{color:var(--dim)}.stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px}.start{width:min(84vw,380px)}.user{text-align:center}.user-label{display:block;margin-bottom:12px;color:var(--primary);font-size:13px;letter-spacing:.04em;text-shadow:0 1px 10px var(--mesh-navy),0 0 5px var(--mesh-navy)}.user-row{display:flex;gap:8px}.user-input{flex:1;min-width:0;padding:9px 12px;font:inherit;font-size:16px;color:var(--primary);background:color-mix(in srgb,var(--mesh-navy) 42%,transparent);border:1px solid color-mix(in srgb,var(--secondary) 55%,transparent);border-radius:2px;backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);transition:border-color .14s ease}.user-input::placeholder{color:color-mix(in srgb,var(--secondary) 70%,transparent)}.user-input:focus{outline:none;border-color:var(--cyan)}.user-row .btn{flex:0 0 auto;min-width:58px}.btn-dots{display:inline-flex;gap:4px;align-items:center;justify-content:center;height:1em}.btn-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:pulse 1.15s ease-in-out infinite}.btn-dots i:nth-child(2){animation-delay:.16s}.btn-dots i:nth-child(3){animation-delay:.32s}@media(prefers-reduced-motion:reduce){.btn-dots i{animation:none}}.btn:disabled{opacity:.45;cursor:default}.user-sub{margin:10px 0 0;color:var(--dim);font-size:10px;letter-spacing:.06em;line-height:1.6}.or{margin:24px 0;text-align:center;color:color-mix(in srgb,var(--dim) 75%,transparent);font-size:10px;letter-spacing:.16em}.drop{width:min(78vw,380px);padding:48px 32px;text-align:center;border:1px dashed color-mix(in srgb,var(--secondary) 55%,transparent);border-radius:6px;background:color-mix(in srgb,var(--mesh-navy) 30%,transparent);backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);transition:border-color .14s ease,background .14s ease}.drop:hover,.drop:focus-visible{border-color:var(--secondary);outline:none}.drop--over{border-color:var(--cyan);border-style:solid;background:color-mix(in srgb,var(--cyan) 6%,transparent)}.drop--compact{width:100%;padding:22px 20px}.drop--compact .drop-main{font-size:12px}.drop-main{margin:0 0 10px;color:var(--primary);font-size:14px;letter-spacing:.04em}.drop-sub{margin:0;color:var(--dim);font-size:10px;letter-spacing:.06em;line-height:1.6}.warming{text-align:center;text-shadow:0 1px 12px var(--mesh-navy),0 0 6px var(--mesh-navy)}.warming-dots{display:flex;gap:7px;justify-content:center;margin-bottom:18px}.warming-dots i{width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:pulse 1.15s ease-in-out infinite}.warming-dots i:nth-child(2){animation-delay:.16s}.warming-dots i:nth-child(3){animation-delay:.32s}@keyframes pulse{0%,to{opacity:.22;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.warming-text{margin:0;color:var(--dim);font-size:10px;letter-spacing:.12em}@media(prefers-reduced-motion:reduce){.warming-dots i{animation:none;opacity:.7}}.result{width:min(84vw,460px);text-align:center;text-shadow:0 1px 12px var(--mesh-navy),0 0 6px var(--mesh-navy),0 0 3px var(--mesh-navy)}.count{margin:0 0 20px;color:var(--dim);text-shadow:0 1px 8px var(--mesh-navy),0 0 4px var(--mesh-navy),0 0 2px var(--mesh-navy);font-size:10px;letter-spacing:.12em}.refresh{padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;color:inherit;cursor:crosshair;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:3px;transition:color .14s ease,text-decoration-color .14s ease}.refresh:hover,.refresh:focus-visible{color:var(--primary);text-decoration-color:currentColor}.refresh:disabled{cursor:default;text-decoration-color:transparent}.poster{width:min(260px,34vh);margin:0 auto 22px;aspect-ratio:2 / 3;border-radius:4px;overflow:hidden;background:color-mix(in srgb,var(--mesh-navy) 55%,transparent);box-shadow:0 2px 10px color-mix(in srgb,var(--mesh-navy) 70%,transparent),0 14px 40px color-mix(in srgb,var(--mesh-navy) 55%,transparent);outline:1px solid color-mix(in srgb,var(--cyan) 22%,transparent);outline-offset:-1px}.poster-img{display:block;width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .26s ease}.poster-img[data-loading=true]{opacity:0}@media(prefers-reduced-motion:reduce){.poster-img{transition:none}}.pick-title{margin:0;color:var(--primary);font-size:clamp(22px,5vw,32px);font-weight:400;line-height:1.15;letter-spacing:.01em;text-wrap:balance}.pick-year{margin:12px 0 0;color:var(--dim);font-size:13px;letter-spacing:.06em}.rating{margin:10px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;letter-spacing:.04em}.stars{position:relative;display:inline-block;letter-spacing:2px;line-height:1}.stars-off{color:color-mix(in srgb,var(--secondary) 45%,transparent)}.stars-on{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;white-space:nowrap;color:var(--cyan)}.rating-num{color:var(--primary)}.rating-votes{color:var(--dim);font-size:10.5px}.genres{margin:9px 0 0;color:var(--dim);font-size:10.5px;letter-spacing:.1em;text-transform:lowercase}.pick-link{display:block;width:fit-content;margin:18px auto 0;color:var(--primary);font-size:12px;letter-spacing:.04em;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .12s ease,text-decoration-color .12s ease}.pick-link:hover{color:var(--cyan);text-decoration-color:currentColor}.pick{animation:none}@media(prefers-reduced-motion:reduce){.pick{animation:none}}.actions{margin-top:28px;display:flex;gap:16px;justify-content:center}.btn{padding:9px 18px;font:inherit;font-size:12px;letter-spacing:.06em;color:var(--bg);background:var(--primary);border:1px solid var(--primary);border-radius:2px;cursor:crosshair;transition:background .12s ease,color .12s ease,border-color .12s ease}.btn:hover{background:var(--cyan);border-color:var(--cyan)}.btn--spin:before{content:"spin again";display:block;height:0;overflow:hidden;visibility:hidden;pointer-events:none;white-space:nowrap}.btn--spin .btn-dots{height:1.2em}.btn--ghost{color:var(--primary);background:transparent}.btn--ghost:hover{color:var(--cyan);background:transparent;border-color:var(--cyan)}.btn:focus-visible{outline:1px solid var(--cyan);outline-offset:3px}@media(max-width:560px){.site-header{top:20px;right:20px;left:20px}.poster{width:132px;margin-top:22px}}
