:root{--bg: #08090b;--bg-2: #0d0f12;--text: #f3f3f5;--text-dim: #9a9aa4;--text-faint: #6b6b74;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--glass: rgba(255, 255, 255, .045);--glass-2: rgba(255, 255, 255, .07);--accent: #f5f5f7;--gold: #e9c46a;--good: #6fcf97;--warn: #e9c46a;--bad: #eb6f6f;--radius: 22px;--radius-sm: 14px;--shadow: 0 24px 60px -18px rgba(0, 0, 0, .7);--blur: saturate(150%) blur(22px);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Helvetica Neue,Helvetica,Inter,system-ui,-apple-system,sans-serif;color:var(--text);background:radial-gradient(1200px 800px at 75% -10%,#15171c,#15171c00 55%),radial-gradient(900px 700px at 10% 110%,#121319,#12131900 50%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:.1px}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img{display:block}::selection{background:#ffffff2e}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.logo{font-family:Impact,Haettenschweiler,Helvetica Neue,sans-serif;font-weight:400;letter-spacing:4px;text-transform:uppercase;background:linear-gradient(180deg,#fff,#c7c7cf);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-user-select:none;user-select:none}.glass{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--radius);box-shadow:var(--shadow),inset 0 1px #ffffff0f}.pill{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);font-size:13px;color:var(--text-dim);white-space:nowrap;transition:border-color .25s ease,color .25s ease,background .25s ease,transform .25s ease}.pill.solid{color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:999px;border:1px solid var(--line-strong);background:var(--glass-2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--text);font-size:15px;font-weight:600;transition:transform .2s cubic-bezier(.22,1,.36,1),background .25s ease,border-color .25s ease,box-shadow .25s ease}.btn:hover{transform:translateY(-1px);border-color:var(--line-strong);background:#ffffff1c}.btn:active{transform:translateY(0) scale(.99)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(180deg,#fff,#e6e6ea);color:#0a0b0d;border-color:#ffffff80;box-shadow:0 10px 30px -8px #ffffff40,inset 0 1px #fffc}.btn-primary:hover{background:linear-gradient(180deg,#fff,#f0f0f3)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text-dim)}.btn-ghost:hover{color:var(--text);background:var(--glass)}.icon-btn{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--text-dim);transition:color .2s ease,background .2s ease,transform .2s ease,border-color .2s ease}.icon-btn:hover{color:var(--text);transform:translateY(-1px);border-color:var(--line-strong)}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}.app-header{position:sticky;top:0;z-index:40;padding:14px 0;background:linear-gradient(180deg,#08090bd9,#08090b00);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-row{display:flex;align-items:center;gap:16px}.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.nav-link{padding:9px 15px;border-radius:999px;font-size:14px;color:var(--text-dim);display:inline-flex;align-items:center;gap:8px;transition:color .2s ease,background .2s ease}.nav-link:hover{color:var(--text);background:var(--glass)}.nav-link.active{color:var(--text);background:var(--glass-2);border:1px solid var(--line)}.section-title{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-faint);margin:30px 4px 16px}.search-wrap{position:relative}.search-input{width:100%;padding:18px 20px 18px 54px;font-size:17px;color:var(--text);background:var(--glass);border:1px solid var(--line);border-radius:999px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);outline:none;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease}.search-input::placeholder{color:var(--text-faint)}.search-input:focus{border-color:var(--line-strong);background:var(--glass-2);box-shadow:0 0 0 4px #ffffff0a}.search-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--text-faint)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}@media (min-width: 720px){.grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:22px}}.card{position:relative;cursor:pointer}.poster{position:relative;aspect-ratio:2 / 3;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-2);border:1px solid var(--line);box-shadow:0 16px 36px -20px #000c;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .3s ease}.poster img{width:100%;height:100%;object-fit:cover}.card:hover .poster{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 26px 48px -18px #000000d9}.poster-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 45%,#000000d9);opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end;padding:14px}.card:hover .poster-overlay{opacity:1}.poster-badge{position:absolute;top:10px;left:10px;font-size:11px;padding:5px 9px;border-radius:999px;background:#00000073;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);text-transform:uppercase;letter-spacing:.6px}.score-badge{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:5px 9px;border-radius:999px;background:#00000080;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--gold)}.card-title{margin-top:10px;font-size:14px;font-weight:600;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-sub{font-size:12.5px;color:var(--text-faint);margin-top:2px}.detail-hero{position:relative;border-radius:var(--radius);overflow:hidden;min-height:420px}.detail-bg{position:absolute;top:0;right:0;bottom:0;left:0}.detail-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.05)}.detail-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#08090b40,#08090b8c 45%,#08090bf5),linear-gradient(90deg,#08090bb3,#08090b00 60%)}.detail-content{position:relative;padding:34px;display:flex;gap:28px;align-items:flex-end;flex-wrap:wrap}.detail-poster{width:190px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line-strong);box-shadow:var(--shadow)}.detail-poster img{width:100%}.detail-main{flex:1;min-width:260px}.title-logo{max-width:360px;max-height:130px;object-fit:contain;margin-bottom:6px}.detail-title{font-size:clamp(30px,5vw,50px);font-weight:800;line-height:1.02;letter-spacing:-.5px}.detail-tagline{color:var(--text-dim);font-style:italic;margin-top:8px}.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;align-items:center}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.cast-row{display:grid;grid-auto-flow:column;grid-auto-columns:120px;gap:14px;overflow-x:auto;padding:6px 4px 14px;scroll-snap-type:x mandatory}.cast-card{scroll-snap-align:start}.cast-photo{aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-2);border:1px solid var(--line)}.cast-photo img{width:100%;height:100%;object-fit:cover}.cast-name{font-size:13px;font-weight:600;margin-top:8px}.cast-char{font-size:12px;color:var(--text-faint)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#040507a8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:100%;max-width:560px;padding:26px}.modal-title{font-size:20px;font-weight:700}.field{margin-top:16px}.field label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:7px}.input,.textarea{width:100%;padding:14px 16px;font-size:15px;color:var(--text);background:var(--glass);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;transition:border-color .2s ease,background .2s ease}.input:focus,.textarea:focus{border-color:var(--line-strong);background:var(--glass-2)}.textarea{resize:vertical;min-height:84px;font-family:inherit}.trailer-frame{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--radius)}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);text-transform:capitalize}.status.pending{color:var(--text-dim)}.status.requested{color:var(--warn);border-color:#e9c46a4d;background:#e9c46a14}.status.available{color:var(--good);border-color:#6fcf974d;background:#6fcf9714}.status.declined{color:var(--bad);border-color:#eb6f6f4d;background:#eb6f6f14}.req-row{display:flex;gap:14px;align-items:center;padding:14px}.req-poster{width:52px;aspect-ratio:2/3;border-radius:9px;overflow:hidden;background:var(--bg-2);border:1px solid var(--line);flex-shrink:0}.req-poster img{width:100%;height:100%;object-fit:cover}.req-main{flex:1;min-width:0}.req-title{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.req-sub{font-size:12.5px;color:var(--text-faint);margin-top:3px}.stack{display:flex;flex-direction:column;gap:12px}.center-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top-color:var(--text);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:90;padding:14px 20px;font-size:14px;font-weight:600}.empty{text-align:center;padding:60px 20px;color:var(--text-faint)}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none}@media (max-width: 640px){.header-nav .label{display:none}.detail-content{padding:20px}.detail-poster{width:130px}}.spin-slow{animation:spin 1.6s linear infinite}
