:root{--bg: #0a0a0b;--bg-grid: rgba(255, 255, 255, .025);--panel: #161618;--panel-2: #1e1e21;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #ededf0;--text-dim: #8b8b93;--text-faint: #5a5a62;--accent: #7c5cff;--accent-2: #c054ff;--radius: 16px;--shadow: 0 8px 40px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}.app{position:relative;height:100vh;width:100vw;background-color:var(--bg);background-image:radial-gradient(var(--bg-grid) 1px,transparent 1px);background-size:22px 22px;overflow:hidden}.brand{display:flex;align-items:center;gap:10px}.logo{width:26px;height:26px;border-radius:8px;background:conic-gradient(from 200deg,var(--accent),var(--accent-2),var(--accent));box-shadow:0 0 16px #7c5cff66}.title{font-weight:700;font-size:16px;letter-spacing:.2px}.admin-gate{height:100vh;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;color:var(--text-dim)}.admin{height:100vh;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.admin-top{height:58px;display:flex;align-items:center;gap:28px;padding:0 24px;border-bottom:1px solid var(--border)}.admin-tabs{display:flex;gap:22px}.admin-tabs button{background:none;border:none;color:var(--text-dim);font-size:15px;font-weight:600;cursor:pointer;padding:4px 0}.admin-tabs button.on{color:var(--text)}.admin-exit{margin-left:auto;color:var(--text-dim);font-size:13px;text-decoration:none}.admin-body{flex:1;overflow-y:auto;padding:24px;max-width:1280px;margin:0 auto;width:100%}.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.admin-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px}.admin-card-n{font-size:30px;font-weight:800}.admin-card-l{font-size:13px;color:var(--text-dim);margin-top:6px}.admin-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.admin-chart{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}.admin-chart h4{margin:0 0 12px;font-size:13px;color:var(--text-dim)}.admin-bars{display:flex;align-items:flex-end;gap:4px;height:120px}.admin-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.admin-bar{width:70%;min-height:2px;border-radius:3px 3px 0 0}.admin-bar-x{font-size:9px;color:var(--text-faint);margin-top:4px;transform:rotate(-45deg);white-space:nowrap}.admin-sec{font-size:16px;margin:26px 0 14px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border)}.admin-table th{color:var(--text-dim);font-weight:600}.admin-gen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.admin-gen,.admin-tpl{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.admin-gen-media,.admin-tpl-media{aspect-ratio:16 / 9;background:#000}.admin-gen-media video,.admin-tpl-media video,.admin-tpl-media img{width:100%;height:100%;object-fit:cover}.admin-gen-info,.admin-tpl-info{padding:10px 12px}.admin-gen-meta{font-size:11px;color:var(--text-dim)}.admin-gen-prompt{font-size:12px;margin:6px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-tpl-info{display:flex;flex-direction:column;gap:4px}.admin-tpl-cat{font-size:11px;color:var(--text-dim)}.admin-del{align-self:flex-start;background:#e0443e26;border:1px solid rgba(224,68,62,.4);color:#ff7b73;border-radius:7px;padding:4px 12px;font-size:12px;cursor:pointer;margin-top:4px}.admin-sec-stat{font-size:12px;font-weight:400;color:var(--text-dim);margin-left:12px}.admin-tpl.pinned{border-color:#7c5cff;box-shadow:0 0 0 1px #7c5cff66}.admin-tpl.banner{border-color:#2ec27e;box-shadow:0 0 0 1px #2ec27e66}.badge-banner{background:#2ec27e}.admin-tpl-media{position:relative;cursor:pointer}.admin-tpl-play{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;background:#00000073;border-radius:50%;pointer-events:none}.admin-tpl-badges{position:absolute;top:6px;left:6px;display:flex;gap:4px}.badge{font-size:10px;padding:2px 7px;border-radius:6px;font-weight:600;color:#fff}.badge-pin{background:#7c5cff}.badge-feat{background:#e0a43e}.badge-universal{background:#27a7c7}.admin-tpl-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.admin-btn{background:#ffffff12;border:1px solid var(--border);color:var(--text);border-radius:7px;padding:4px 11px;font-size:12px;cursor:pointer}.admin-btn:hover:not(:disabled){background:#ffffff21}.admin-btn.on{background:#7c5cff33;border-color:#7c5cff;color:#b9a6ff}.admin-btn:disabled{opacity:.4;cursor:not-allowed}.admin-preview-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-preview{position:relative;max-width:90vw;max-height:88vh;background:var(--panel);border-radius:12px;overflow:hidden}.admin-preview video{display:block;max-width:90vw;max-height:78vh}.admin-preview-x{position:absolute;top:8px;right:8px;width:32px;height:32px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:15px;cursor:pointer;z-index:2}.admin-preview-meta{display:flex;flex-direction:column;gap:2px;padding:10px 14px}.admin-preview-meta span{font-size:12px;color:var(--text-dim)}.admin-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.admin-agent-toolbar{display:flex;gap:8px;margin:-4px 0 14px}.admin-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.admin-agent{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px}.admin-agent.off{opacity:.62}.admin-agent-media{position:relative;width:116px;aspect-ratio:1 / 1;overflow:hidden;border-radius:8px;background:#08080c}.admin-agent-media img,.admin-agent-media video{width:100%;height:100%;object-fit:cover;display:block}.admin-agent-status{position:absolute;top:6px;right:6px;padding:2px 7px;border-radius:999px;background:#0000009e;color:#7be28a;font-size:11px;font-weight:700}.admin-agent.off .admin-agent-status{color:#c3c3cc}.admin-agent-form{min-width:0;display:flex;flex-direction:column;gap:7px}.admin-agent-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center}.admin-agent-row.split{grid-template-columns:58px 82px minmax(0,1fr)}.admin-agent-row label,.admin-agent-toggle,.admin-agent-meta{color:var(--text-dim);font-size:12px}.admin-agent input,.admin-agent select,.admin-agent textarea{min-width:0;width:100%;background:#ffffff0f;border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:12px;padding:6px 8px}.admin-agent input[readonly]{color:var(--text-dim)}.admin-agent textarea{min-height:58px;resize:vertical;line-height:1.35}.admin-agent-toggle{display:flex;align-items:center;gap:6px}.admin-agent-toggle input{width:auto}.admin-agent-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-note,.admin-empty{color:var(--text-faint);font-size:13px;margin-top:16px}button,input,select{font:inherit}button,a{color:inherit}.login-page{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(124,92,255,.18),transparent 36%),radial-gradient(circle at 80% 80%,rgba(192,84,255,.12),transparent 32%),#09090b}.login-card{width:min(100%,430px);padding:34px;border:1px solid var(--border-strong);border-radius:20px;background:#161618f5;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.login-brand>div{display:flex;flex-direction:column}.login-brand strong{font-size:18px}.login-brand span:last-child{color:var(--text-dim);font-size:12px;margin-top:2px}.login-card h1{margin:0 0 8px;font-size:26px}.login-copy{margin:0 0 24px;color:var(--text-dim);font-size:14px;line-height:1.6}.login-card form{display:flex;flex-direction:column;gap:16px}.login-card label{display:flex;flex-direction:column;gap:8px;color:var(--text-dim);font-size:13px}.login-card input{width:100%;padding:12px 13px;border:1px solid var(--border-strong);border-radius:10px;outline:none;background:#101012;color:var(--text)}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c5cff24}.primary-btn,.secondary-btn,.admin-logout{border:0;border-radius:9px;padding:10px 16px;cursor:pointer;text-decoration:none}.primary-btn{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:700}.primary-btn:disabled{opacity:.55;cursor:wait}.secondary-btn{border:1px solid var(--border-strong);background:var(--panel)}.login-submit{width:100%;margin-top:4px}.login-error{padding:10px 12px;border-radius:9px;background:#e0443e21;color:#ff8b84;font-size:13px}.business-link{display:inline-block;margin-top:24px;color:var(--text-dim);font-size:13px;text-decoration:none}.business-link:hover{color:var(--text)}.access-denied h1{margin:0;color:var(--text)}.access-denied p{margin:0}.gate-logo .logo{display:block;width:42px;height:42px}.gate-actions{display:flex;gap:10px}.admin-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.admin-exit{margin-left:0}.admin-logout{padding:7px 12px;border:1px solid var(--border);background:var(--panel-2);font-size:12px}.admin-logout:hover{border-color:var(--border-strong)}.admin-body{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) rgba(255,255,255,.04)}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:#ffffff09}*::-webkit-scrollbar-thumb{background:#ffffff40;border:2px solid #0a0a0b;border-radius:999px}@media(max-width:820px){.admin{overflow:auto}.admin-top{height:auto;min-height:58px;padding:12px 16px;flex-wrap:wrap;gap:12px}.admin-tabs{order:3;width:100%;overflow-x:auto;gap:16px}.admin-actions{margin-left:auto}.admin-body{padding:16px;overflow:visible}.admin-charts{grid-template-columns:1fr}}
