:root{--bg-0: #090c11;--bg-1: #111722;--bg-2: #151f2e;--text-0: #ebf0fb;--text-1: #afbdd3;--accent: #f4b54a;--accent-alt: #3fb6ff;--danger: #ff7272;--card: rgba(20, 29, 43, .72);--border: rgba(255, 255, 255, .08);--shadow: 0 18px 40px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;font-family:Manrope,sans-serif;background:radial-gradient(circle at 90% 10%,#1f2838 0%,transparent 42%),radial-gradient(circle at 15% 15%,#132132 0%,transparent 40%),linear-gradient(135deg,var(--bg-0),#07090d 55%,#0f1321);color:var(--text-0);min-height:100vh}.app-shell{position:relative;max-width:1240px;margin:0 auto;padding:20px 16px 32px}.bg-shape{position:fixed;border-radius:50%;filter:blur(65px);z-index:-1;opacity:.3}.bg-shape-a{width:260px;height:260px;right:-60px;top:140px;background:#2d99d9}.bg-shape-b{width:220px;height:220px;left:-40px;bottom:80px;background:#d37f3b}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.eyebrow{margin:0;color:var(--text-1);letter-spacing:.11em;text-transform:uppercase;font-size:12px}h1,h2,h3,h4{font-family:Sora,sans-serif;margin:0 0 10px}h1{font-size:clamp(24px,4vw,36px)}.tab-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px}.tab{border:1px solid var(--border);background:#ffffff08;color:var(--text-0);border-radius:12px;padding:10px 12px;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.tab:hover{transform:translateY(-1px);border-color:#f4b54a8c}.tab.active{background:linear-gradient(120deg,#f4b54a26,#3fb6ff26);border-color:#f4b54a94}.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.panel{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeUp .32s ease}.digest-panel{min-height:320px}.message{margin-bottom:12px;background:#3fb6ff21;border:1px solid rgba(63,182,255,.4);border-radius:12px;padding:10px 12px;color:#d7f3ff}.skeleton{margin-bottom:12px;padding:11px 12px;border-radius:12px;border:1px dashed rgba(255,255,255,.22);color:var(--text-1);background:linear-gradient(90deg,#ffffff05,#ffffff14,#ffffff05);animation:pulse 1.2s infinite}label{display:block;margin-bottom:10px;color:var(--text-1);font-size:14px}input,select{width:100%;margin-top:6px;border-radius:10px;border:1px solid var(--border);background:#00000040;color:var(--text-0);padding:10px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent-alt);outline-offset:2px}.button-row{display:flex;gap:8px;flex-wrap:wrap}button,a{border:none;border-radius:10px;padding:9px 12px;cursor:pointer;text-decoration:none;color:inherit}button.primary{background:linear-gradient(120deg,var(--accent),#ffc976);color:#111;font-weight:700}button.primary.alt{background:linear-gradient(120deg,var(--accent-alt),#8acfff)}button.ghost{background:#ffffff0d;border:1px solid var(--border);color:var(--text-0)}.split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chip{border:1px solid var(--border);background:#ffffff0a;color:var(--text-0);padding:7px 10px;border-radius:999px}.chip.small{font-size:12px;padding:5px 9px}.chip.active{border-color:#3fb6ffe6;background:#3fb6ff33}.chip.danger{border-color:#ff7272cc;background:#ff727233}.hint{color:var(--text-1);font-size:13px}.results-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.video-list{display:grid;gap:10px}.video-list.compact .video-card{padding:12px}.video-card{border:1px solid var(--border);background:#070a1099;border-radius:14px;padding:14px;animation:cardIn .25s ease both}.video-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.metrics{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-1);font-size:13px;margin-top:6px}.metrics.accent{color:#f7ddaa}.why{margin-top:10px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff05}.why-bars{display:grid;grid-template-columns:1fr;gap:6px}progress{width:100%;height:8px}.sparkline{margin-top:8px;display:flex;align-items:end;gap:6px;height:48px}.sparkline span{width:14px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#7bc8ff,#3767a8)}.card-actions{display:flex;gap:8px;margin-top:10px}.card-actions a,.card-actions button{background:#ffffff0f;border:1px solid var(--border)}.preset-list,.download-list{display:grid;gap:8px}.preset-item,.download-item{border:1px solid var(--border);border-radius:12px;padding:10px;background:#04070c80;display:flex;justify-content:space-between;gap:8px;align-items:center}.admin-table{display:grid;gap:4px}.admin-controls{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.inline-input{width:180px}.admin-head,.admin-row{display:grid;grid-template-columns:2.3fr 1fr .9fr .9fr 1fr .8fr .8fr 1fr;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:8px}.admin-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-head{color:var(--text-1);background:#ffffff08}.proxy-head,.proxy-row{grid-template-columns:2fr .8fr .8fr 1fr .7fr .7fr .8fr .7fr 2fr}.proxy-row span,.proxy-head span{word-break:break-word}.field-inline{display:flex;align-items:center;gap:10px}@keyframes fadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}@keyframes cardIn{0%{opacity:0;transform:translateY(4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:980px){.panel-grid{grid-template-columns:1fr}.tab-row{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-head,.admin-row{grid-template-columns:1.6fr 1fr 1fr 1fr;font-size:12px}.admin-head span:nth-child(n+5),.admin-row span:nth-child(n+5){display:none}.proxy-head,.proxy-row{grid-template-columns:1.8fr 1fr 1fr 1fr}.proxy-head span:nth-child(n+5),.proxy-row span:nth-child(n+5){display:none}}@media(max-width:540px){.app-shell{padding:14px 10px 22px}.split{grid-template-columns:1fr}.tab-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
