:root{color-scheme:dark;--bg:#0b132b;--panel:#161a21d1;--card:#1c212a;--border:#2a3140;--text:#e7ecf3;--muted:#8b95a7;--accent:#3ecf8e;--accent-dark:#24b377;--danger:#ff6b6b;--warn:#f0b429;--link:#93bbff}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{background:linear-gradient(#0b132b 0%,#111827 100%);flex-direction:column;gap:22px;max-width:1120px;min-height:100vh;margin:0 auto;padding:24px 16px 60px;display:flex}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}code,.mono,.url{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.topbar h1{letter-spacing:-.02em;background:linear-gradient(135deg,#93bbff 0%,#3ecf8e 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px}.topbar-actions{gap:8px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:8px;padding-bottom:10px;display:flex}.tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#ffffff05;border-radius:20px;padding:8px 18px;font-size:14px;font-weight:500;transition:all .2s}.tab:hover{color:var(--text);border-color:var(--link);background:#ffffff0d}.tab.active{border-color:var(--link);color:var(--link);background:#93bbff1f}.search{width:min(320px,46vw)}.movie-title{align-items:center;gap:10px;min-width:0;display:flex}.poster{object-fit:cover;border:1px solid var(--border);background:#0f1218;border-radius:8px;flex:none;width:44px;height:66px}.panel{background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(4px);border-radius:14px;padding:18px}.dark{color-scheme:dark}.light{color-scheme:light}.panel-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.panel h2{color:var(--text);margin:0 0 2px;font-size:18px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.empty{color:var(--muted);border:1px dashed var(--border);text-align:center;border-radius:10px;margin:0;padding:18px}.form-grid{background:var(--card);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:16px;padding:16px;display:grid}.form-grid label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.form-grid label.full,.form-grid .full{grid-column:1/-1}.mode-toggle,.se-inputs{gap:8px;display:flex}.se-inputs input{text-align:center;width:72px}input,select,textarea{border:1px solid var(--border);color:var(--text);font:inherit;background:#0f121899;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--link);outline:none;box-shadow:0 0 0 3px #93bbff1a}.form-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;display:flex}.btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff08;border-radius:8px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.btn:hover:not(:disabled){background:#ffffff0f;border-color:#4a5568}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);border-color:var(--accent);color:#06231a;font-weight:600;box-shadow:0 2px 6px #3ecf8e4d}.btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3ecf8e66}.btn.primary:active:not(:disabled){transform:translateY(0)}.btn.outline{border-color:var(--border);color:var(--text);background:0 0}.btn.outline:hover:not(:disabled){border-color:var(--text);color:var(--text);background:#ffffff0d}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.card.busy{border-color:var(--accent);box-shadow:0 0 0 1px #3ecf8e33,0 4px 12px #3ecf8e1a}.card.has-error{border-color:var(--danger);box-shadow:0 0 0 1px #ff6b6b33}.card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-top strong{color:var(--text);font-size:15px}.badge{color:var(--muted);white-space:nowrap;border:1px solid var(--border);background:#ffffff0d;border-radius:20px;padding:4px 10px;font-size:11.5px}.badge.ok{color:var(--accent);background:#3ecf8e26;border-color:#3ecf8e4d}.badge.ko{color:var(--danger);background:#ff6b6b26;border-color:#ff6b6b4d}.badge.busy{color:var(--warn);background:#f0b42926;border-color:#f0b4294d}.kv{word-break:break-all;grid-template-columns:68px 1fr;gap:4px 10px;margin:0;font-size:13px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.card-actions{flex-wrap:wrap;gap:8px;display:flex}.sources summary{cursor:pointer;color:var(--muted);font-size:13px}.sources ul{flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;display:flex}.progress{border:1px solid var(--border);background:#0f1218cc;border-radius:999px;height:6px;overflow:hidden}.progress .bar{background:linear-gradient(90deg, var(--accent), #6ee7b7);border-radius:999px;height:100%;transition:width .3s}.log{color:var(--muted);word-break:break-word;border:1px solid var(--border);background:#0f121866;border-radius:6px;margin:0;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.error{color:var(--danger);background:#ff6b6b1a;border:1px solid #ff6b6b33;border-radius:6px;margin:0;padding:8px 12px;font-size:13.5px}.playlist{border:1px solid var(--border);background:#0f121899;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.playlist .url{color:var(--link);word-break:break-all;background:#93bbff14;border:1px solid #93bbff26;border-radius:6px;padding:6px 10px;transition:background .2s,border-color .2s}.playlist .url:hover{background:#93bbff26;border-color:#93bbff4d}.loading{min-height:60vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--link);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--link);max-width:min(680px,100vw - 40px);color:var(--text);border-radius:10px;padding:12px 18px;font-size:14px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000080}.toast.error{border-left-color:var(--danger)}footer{text-align:center;border-top:1px solid var(--border);color:var(--muted);padding-top:16px;font-size:12.5px}.prog-day{margin-top:18px}.prog-day h3{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12.5px}.prog-status{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin:14px 0 4px;padding:12px 15px;display:flex}.prog-live{color:#fff;background:#ff244729;border:1px solid #ff24478c;border-radius:999px;padding:5px 14px;font-size:12.5px;font-weight:700}.panel-head a.btn{text-decoration:none}.modal-backdrop{z-index:60;background:#04060abd;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:min(460px,100%);padding:20px;box-shadow:0 24px 60px #00000080}.modal h3{color:var(--text);margin:0 0 10px}.modal p{color:var(--muted);margin:8px 0;line-height:1.65}.spin-mark{vertical-align:middle;border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{animation:.3s ease-out fadeIn}.btn.primary{position:relative;overflow:hidden}.btn.primary:after{content:"";background:#ffffff1a;border-radius:50%;width:0;height:0;transition:width .4s,height .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn.primary:hover:after{width:200px;height:200px}.color-mode-transition{transition:background 1.2s,color 1.2s,border-color 1.2s,box-shadow 1.2s}.sync-box{border:1px dashed var(--border);background:var(--card);border-radius:12px;flex-direction:column;gap:10px;margin-top:16px;padding:14px;display:flex}.sync-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sync-head strong{color:var(--text)}.sync-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sync-row .btn{flex:none}.sync-code{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);background:#00000040;border-radius:8px;flex:240px;min-width:0;padding:8px 10px;font-size:12px;overflow:hidden}.sync-adopt summary{cursor:pointer}.sync-adopt form{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.sync-adopt input{flex:240px;min-width:0}.gate{z-index:9999;background:radial-gradient(1200px 600px at 50% 0,#16233f 0%,#070b16 70%);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.gate-card{border:1px solid var(--border);background:var(--panel);border-radius:14px;flex-direction:column;gap:12px;width:min(400px,100%);padding:26px 24px;display:flex;box-shadow:0 24px 70px #0000008c}.gate-card h2{margin:0;font-size:20px}.gate-card p{margin:0}.gate-card input{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:#00000059;border-radius:8px;padding:11px 12px}.gate-card input:focus{outline:2px solid var(--accent);outline-offset:1px}.gate-error{color:var(--danger);font-size:14px}.series-grid{align-items:stretch}.series-card{padding:0}.series-open{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.series-open:hover{background:#93bbff0f}.series-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.series-poster{border:1px solid var(--border);background:#0006;border-radius:7px;flex:none;place-items:center;width:46px;height:66px;display:grid;overflow:hidden}.series-poster img{object-fit:cover;width:100%;height:100%}.series-initial{color:var(--muted);font-size:24px;font-weight:700}.series-meta{flex-direction:column;gap:5px;min-width:0;display:flex}.series-meta strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.series-modal{flex-direction:column;gap:14px;width:min(780px,100%);max-height:min(84vh,760px);display:flex;overflow:hidden}.series-modal-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.series-modal-head h3{margin:0 0 4px}.season-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;background:#0f1218b3;border-radius:999px;padding:6px 12px;font-size:13px}.chip:hover{color:var(--text);border-color:var(--link)}.chip.active{color:#fff;background:var(--accent);border-color:var(--accent)}.ep-list{flex-direction:column;gap:8px;margin:0;padding:6px 4px 4px 0;list-style:none;display:flex;overflow-y:auto}.ep-row{border:1px solid var(--border);background:#0f12188c;border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.ep-label{color:var(--link);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700}.ep-title{text-overflow:ellipsis;white-space:nowrap;flex:160px;min-width:0;font-size:14px;overflow:hidden}.ep-actions{gap:6px;display:flex}
