:root{--ink:#f2f4f8;--ink-dim:#99a1b3;--ink-faint:#646c7e;--ground:#0b0d12;--ground-raised:#141821;--ground-hover:#1c212d;--edge:#262c3a;--brand:#f0508c;--brand-strong:#ff6ba1;--brand-ink:#14060d;--good:#47c98a;--warn:#e2b23c;--bad:#ef5f5f;--radius:10px;--radius-lg:16px;--shadow:0 12px 32px #00000073;--header-height:60px;--page-max:1360px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);margin:0;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}.app-shell{flex-direction:column;min-height:100%;display:flex}.page{width:100%;max-width:var(--page-max);flex:1;margin:0 auto;padding:28px 24px 72px}.page--narrow{max-width:460px;padding-top:64px}.page-title{letter-spacing:-.01em;margin:0 0 4px;font-size:26px;font-weight:650}.page-subtitle{color:var(--ink-dim);margin:0 0 24px}.section{margin-bottom:44px}.section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.section-heading h2{margin:0;font-size:18px;font-weight:620}.section-note{color:var(--ink-faint);font-size:13px}.header{z-index:20;height:var(--header-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--edge);background:#0b0d12e0;align-items:center;gap:20px;padding:0 24px;display:flex;position:sticky;top:0}.header__brand{letter-spacing:-.02em;flex-shrink:0;align-items:center;gap:9px;font-size:17px;font-weight:700;display:flex}.header__brand img{border-radius:6px;width:26px;height:26px}.header__nav{flex-shrink:0;gap:4px;display:flex}.header__link{color:var(--ink-dim);border-radius:999px;padding:6px 11px;font-size:14px;font-weight:500;transition:background .12s,color .12s}.header__link:hover{background:var(--ground-hover);color:var(--ink)}.header__link--active{background:var(--ground-raised);color:var(--ink)}.header__spacer{flex:1}.header__search{flex:0 340px;min-width:140px}.field{margin-bottom:14px;display:block}.field__label{color:var(--ink-dim);margin-bottom:6px;font-size:13px;display:block}.input{border-radius:var(--radius);border:1px solid var(--edge);background:var(--ground-raised);width:100%;color:var(--ink);font:inherit;padding:10px 13px;transition:border-color .12s}.input:hover{border-color:#343c4d}.input::placeholder{color:var(--ink-faint)}.button{border-radius:var(--radius);background:var(--brand);color:var(--brand-ink);font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:620;transition:background .12s,opacity .12s;display:inline-flex}.button:hover:not(:disabled){background:var(--brand-strong)}.button:disabled{opacity:.55;cursor:not-allowed}.button--block{width:100%}.button--quiet{background:var(--ground-raised);border-color:var(--edge);color:var(--ink)}.button--quiet:hover:not(:disabled){background:var(--ground-hover)}.button--danger{border-color:var(--bad);color:var(--bad);background:0 0}.button--danger:hover:not(:disabled){background:#ef5f5f1f}.button--small{padding:6px 12px;font-size:13px}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.notice{border:1px solid var(--edge);border-left:3px solid var(--ink-faint);border-radius:var(--radius);background:var(--ground-raised);margin-bottom:16px;padding:12px 14px}.notice--error{border-left-color:var(--bad)}.notice--good{border-left-color:var(--good)}.notice__message{margin:0}.notice__detail{color:var(--ink-faint);margin:6px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.empty{text-align:center;color:var(--ink-dim);padding:48px 16px}.spinner{color:var(--ink-dim);justify-content:center;align-items:center;gap:10px;padding:48px 0;display:flex}.spinner__ring{border:2px solid var(--edge);border-top-color:var(--brand);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner__ring{animation:none}*{transition-duration:1ms!important}}.grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:18px 16px;display:grid}.card{border-radius:var(--radius);transition:transform .14s;display:block}.card:hover{transform:translateY(-3px)}.card__poster{aspect-ratio:2/3;border-radius:var(--radius);background:var(--ground-raised);border:1px solid var(--edge);position:relative;overflow:hidden}.card__poster img{object-fit:cover;width:100%;height:100%}.card__fallback{text-align:center;height:100%;color:var(--ink-faint);justify-content:center;align-items:center;padding:12px;font-size:13px;display:flex}.card__rating{background:#0b0d12d1;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:620;position:absolute;top:7px;right:7px}.card__progress{background:#ffffff2e;height:3px;position:absolute;bottom:0;left:0;right:0}.card__progress span{background:var(--brand);height:100%;display:block}.card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:14px;font-weight:550;line-height:1.35;display:-webkit-box;overflow:hidden}.card__meta{color:var(--ink-faint);font-size:12.5px}.detail{position:relative}.detail__backdrop{inset:calc(var(--header-height) * -1) 0 auto;z-index:-1;height:460px;position:absolute;overflow:hidden}.detail__backdrop img{object-fit:cover;opacity:.28;width:100%;height:100%}.detail__backdrop:after{content:"";background:linear-gradient(180deg, #0b0d124d 0%, var(--ground) 92%);position:absolute;inset:0}.detail__body{grid-template-columns:250px 1fr;gap:32px;padding-top:28px;display:grid}@media (width<=720px){.detail__body{grid-template-columns:1fr}}.detail__poster{border-radius:var(--radius-lg);border:1px solid var(--edge);box-shadow:var(--shadow);background:var(--ground-raised);aspect-ratio:2/3;overflow:hidden}.detail__poster img{object-fit:cover;width:100%;height:100%}.detail__title{letter-spacing:-.02em;margin:0 0 6px;font-size:32px;font-weight:700;line-height:1.15}.detail__tagline{color:var(--ink-dim);margin:0 0 14px;font-style:italic}.detail__facts{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.detail__overview{color:#cfd5e2;max-width:62ch;margin-bottom:22px}.chip{border:1px solid var(--edge);background:var(--ground-raised);color:var(--ink-dim);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:12.5px;display:inline-flex}.chip--good{color:var(--good);border-color:#47c98a73}.chip--warn{color:var(--warn);border-color:#e2b23c73}.chip--bad{color:var(--bad);border-color:#ef5f5f73}.chip--origin{color:var(--brand-strong);border-color:#f0508c66}.sources{border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--ground-raised);overflow:hidden}.sources__header{border-bottom:1px solid var(--edge);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.sources__header h3{margin:0;font-size:15px;font-weight:620}.sources__list{max-height:460px;margin:0;padding:0;list-style:none;overflow-y:auto}.source{border-bottom:1px solid var(--edge);align-items:center;gap:16px;padding:13px 18px;transition:background .12s;display:flex}.source:last-child{border-bottom:none}.source:hover{background:var(--ground-hover)}.source__main{flex:1;min-width:0}.source__name{word-break:break-all;color:#dde2ec;margin:0 0 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}.source__tags{flex-wrap:wrap;gap:6px;display:flex}.source__side{text-align:right;color:var(--ink-dim);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;font-size:12.5px;display:flex}.watch{background:#000;flex-direction:column;min-height:100%;display:flex}.watch__stage{flex:1;justify-content:center;align-items:center;min-height:60vh;padding:16px;display:flex}.watch__video{border-radius:var(--radius);background:#000;width:100%;max-width:1360px;max-height:82vh}.watch__status{text-align:center;color:var(--ink-dim);max-width:460px}.watch__status h2{color:var(--ink);margin:0 0 8px;font-size:20px}.watch__bar{border-top:1px solid var(--edge);background:var(--ground);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 24px;display:flex}.watch__bar h1{margin:0;font-size:16px;font-weight:620}.watch__bar-meta{color:var(--ink-faint);font-size:13px}.panel{border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--ground-raised);margin-bottom:20px;padding:22px}.panel h2{margin:0 0 4px;font-size:17px;font-weight:620}.panel__hint{color:var(--ink-dim);margin:0 0 18px;font-size:13.5px}.auth-card{border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--ground-raised);box-shadow:var(--shadow);padding:30px}.auth-card__brand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-card__brand img{border-radius:8px;width:38px;height:38px}.auth-card__brand span{letter-spacing:-.02em;font-size:21px;font-weight:700}.auth-card__switch{text-align:center;color:var(--ink-dim);margin:18px 0 0;font-size:13.5px}.auth-card__switch a{color:var(--brand-strong);font-weight:550}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.carousel{margin-bottom:34px}.carousel__head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:12px;display:flex}.carousel__heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.carousel__heading h2{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:620}.carousel__tools{opacity:0;gap:6px;transition:opacity .12s;display:flex}.carousel:hover .carousel__tools,.carousel:focus-within .carousel__tools{opacity:1}.carousel__frame{position:relative}.carousel__strip{scroll-snap-type:x proximity;scrollbar-width:thin;gap:16px;padding:4px 4px 10px;display:flex;overflow-x:auto}.carousel__strip:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius)}.carousel__cell{scroll-snap-align:start;flex:0 0 158px}.carousel__remove{width:100%;margin-top:6px}.carousel__arrow{cursor:pointer;width:44px;color:var(--ink);background:linear-gradient(90deg,#0b0d12eb,#0b0d1200);border:0;justify-content:center;align-items:center;font-size:26px;line-height:1;transition:opacity .12s;display:flex;position:absolute;top:0;bottom:14px}.carousel__arrow--back{border-radius:var(--radius) 0 0 var(--radius);left:0}.carousel__arrow--forward{border-radius:0 var(--radius) var(--radius) 0;background:linear-gradient(270deg,#0b0d12eb,#0b0d1200);right:0}.carousel__arrow:disabled{opacity:0;pointer-events:none}.library{margin-bottom:18px}.heart{cursor:pointer;width:38px;height:38px;color:var(--ink-dim);background:var(--ground-raised);border:1px solid var(--edge);border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:19px;line-height:1;transition:color .12s,border-color .12s,transform .12s;display:inline-flex}.heart:hover:not(:disabled){color:var(--brand-strong);border-color:var(--brand)}.heart--on{color:var(--brand);border-color:var(--brand)}.heart:active:not(:disabled){transform:scale(.92)}.heart:disabled{cursor:not-allowed;opacity:.6}.menu{position:relative}.menu>summary{cursor:pointer;list-style:none}.menu>summary::-webkit-details-marker{display:none}.menu__panel{z-index:20;background:var(--ground-raised);border:1px solid var(--edge);border-radius:var(--radius);width:268px;max-height:320px;box-shadow:var(--shadow);padding:8px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.menu__empty{color:var(--ink-faint);margin:4px 6px 8px;font-size:13px}.menu__item{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:7px 8px;font-size:14px;display:flex}.menu__item:hover:not(:disabled){background:var(--ground-hover)}.menu__item--on{color:var(--brand-strong)}.menu__new{border-top:1px solid var(--edge);gap:6px;margin-top:8px;padding-top:8px;display:flex}.menu__new .input{min-width:0}.dialog{width:min(520px,100vw - 32px);color:var(--ink);background:var(--ground-raised);border:1px solid var(--edge);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:0}.dialog::backdrop{background:#0000009e}.dialog__body{padding:22px}.dialog__title{margin:0 0 6px;font-size:19px;font-weight:620}.dialog__hint{color:var(--ink-faint);margin:0 0 16px;font-size:13px}.dialog__field{border:0;margin:0 0 16px;padding:0}.dialog__check{cursor:pointer;align-items:flex-start;gap:9px;font-size:14px;display:flex}.dialog__check .dialog__hint{margin:0;display:inline}.dialog__actions{margin-top:20px}.grades{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.grade{min-width:36px;color:var(--ink-dim);background:var(--ground);border:1px solid var(--edge);cursor:pointer;border-radius:7px;padding:6px 9px;font-size:13px;font-weight:550}.grade:hover{color:var(--ink);border-color:var(--ink-faint)}.grade--chosen{color:var(--brand-ink);background:var(--brand);border-color:var(--brand)}.lists-bar{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 28px;display:flex}.lists-bar__search{flex:260px}.lists-bar__new{gap:8px;display:flex}.tabs{background:var(--ground-raised);border:1px solid var(--edge);border-radius:999px;padding:3px;display:inline-flex}.tab{color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:550}.tab:hover{color:var(--ink)}.tab--on{color:var(--brand-ink);background:var(--brand)}.footer{max-width:var(--page-max);margin:0 auto;padding:26px 22px 30px}.version{color:var(--ink-faint);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;margin:0;font-size:12.5px;display:flex}.version--mismatch{color:var(--warn)}.version__note{color:var(--ink-faint);font-size:12px;font-style:italic}.auth-card .version{border-top:1px solid var(--edge);margin-top:16px;padding-top:14px}.chips{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.chip--removable{cursor:pointer;font:inherit;color:var(--ink);border-color:var(--brand);font-size:13px}.chip--removable:hover{background:var(--ground-hover);color:var(--brand-strong)}.refine{background:var(--ground-raised);border:1px solid var(--edge);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:0 0 22px;padding:16px;display:grid}.refine .field{margin:0}.refine select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-dim) 50%), linear-gradient(135deg, var(--ink-dim) 50%, transparent 50%);background-position:calc(100% - 16px) calc(50% + 2px),calc(100% - 11px) calc(50% + 2px);background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}
