﻿:root{
  --bg:#08050f; --panel:#12101b; --line:rgba(177,130,255,.18);
  --text:#fbf7ff; --muted:#a99bb8; --purple:#8b5cf6; --pink:#d946ef; --radius:22px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;min-height:100vh;font-family:Inter,Segoe UI,Microsoft YaHei,Arial,sans-serif;background:radial-gradient(circle at 18% 8%,rgba(139,92,246,.28),transparent 28%),radial-gradient(circle at 86% 0,rgba(217,70,239,.18),transparent 24%),linear-gradient(180deg,#090512,#040307 70%);color:var(--text)}
a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit} button{cursor:pointer}.hidden{display:none!important}
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;justify-content:space-between;padding:18px min(5vw,64px);background:rgba(8,5,15,.76);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:20px}.brand-mark{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 0 28px rgba(139,92,246,.45)}
.site-header nav,.hero-actions,.inline-row{display:flex;align-items:center;gap:12px}.site-header nav a{color:#d8cdf0;font-weight:700;font-size:14px}
.btn{border:0;border-radius:999px;padding:13px 20px;font-weight:900;color:white;background:#21182f}.btn.primary{background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 16px 32px rgba(139,92,246,.24)}.btn.ghost{border:1px solid var(--line);background:rgba(255,255,255,.04)}.btn.small{padding:9px 14px;font-size:13px}.btn.full{width:100%}
.hero-clean{max-width:1180px;margin:0 auto;padding:86px 22px 54px;display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}.eyebrow{margin:0 0 12px;color:#d8b4fe;font-size:12px;letter-spacing:.22em;font-weight:900}.hero-clean h1{margin:0;font-size:clamp(38px,6vw,68px);line-height:1.02;letter-spacing:-.04em}.hero-sub{max-width:620px;margin:22px 0 28px;color:#cfc3df;font-size:17px;line-height:1.8}
.hero-card{min-height:360px;border:1px solid var(--line);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));position:relative;overflow:hidden;display:grid;place-items:center}.preview-orb{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,#e879f9,transparent 58%);filter:blur(8px);opacity:.36}.hero-card-inner{position:relative;width:70%;padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:rgba(8,5,15,.62);backdrop-filter:blur(18px);display:grid;gap:10px}.hero-card-inner span,.hero-card-inner small{color:var(--muted)}.hero-card-inner strong{font-size:72px;line-height:1}
.creator-shell{max-width:1180px;margin:0 auto 80px;padding:0 22px;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:22px}.creator-panel,.result-panel,.admin-card,.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:rgba(18,16,27,.82);box-shadow:0 24px 70px rgba(0,0,0,.28)}.creator-panel,.result-panel{padding:24px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title h2{margin:0;font-size:24px}.section-title span{color:var(--muted);font-size:13px}
.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.mode-tabs button{height:46px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#dacff0;font-weight:900}.mode-tabs button.active{background:linear-gradient(135deg,var(--purple),var(--pink));border-color:transparent;color:white}
.field{display:grid;gap:9px;margin:14px 0}.field span,.advanced-row span,.settings-form span{font-size:13px;color:#d8cdf0;font-weight:800}.field textarea{min-height:170px;resize:vertical}.field textarea,.inline-row input,.advanced-row select,.settings-form input,.settings-form select,.login-card input{width:100%;border:1px solid var(--line);border-radius:16px;background:#090712;color:var(--text);outline:none;padding:14px 15px}
.upload-box{margin:14px 0;padding:18px;border:1px dashed rgba(34,211,238,.45);border-radius:18px;background:rgba(34,211,238,.05);display:flex;align-items:center;justify-content:space-between;gap:16px}.upload-box.dragover{border-color:var(--pink);background:rgba(217,70,239,.08)}.upload-box strong{display:block;margin-bottom:5px}.upload-box p{margin:0;color:var(--muted);font-size:13px}.inline-row input{flex:1}.advanced-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px}.advanced-row label,.settings-form label{display:grid;gap:9px}
.result-preview{min-height:340px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#080711;display:grid;place-items:center;overflow:hidden;color:var(--muted);text-align:center}.result-preview img,.result-preview video{width:100%;height:100%;display:block}.result-preview img{object-fit:cover}.result-preview video{object-fit:contain;background:#000}.result-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.result-meta div{padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.result-meta span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:#171126;border:1px solid var(--line);padding:12px 18px;border-radius:999px;color:white;box-shadow:0 18px 50px rgba(0,0,0,.32);transition:.22s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.login-dialog{border:0;padding:0;background:transparent}.login-dialog::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(6px)}.login-card{width:min(380px,calc(100vw - 36px));padding:24px;border-radius:24px;background:#12101b;border:1px solid var(--line);display:grid;gap:12px;position:relative}.login-card h3{margin:0 0 6px}.login-card p{margin:0;color:var(--muted);font-size:13px}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:white;font-size:24px}
.admin-page{display:grid;grid-template-columns:260px minmax(0,1fr);background:#07050d}.admin-side{position:sticky;top:0;height:100vh;padding:24px;border-right:1px solid var(--line);background:#0c0814;display:flex;flex-direction:column;gap:28px}.admin-side nav{display:grid;gap:8px}.admin-side nav a{padding:13px 15px;border-radius:14px;color:#d8cdf0;font-weight:800}.admin-side nav a.active,.admin-side nav a:hover{background:rgba(139,92,246,.16)}.admin-main{padding:28px;display:grid;gap:22px}.admin-top{display:flex;align-items:center;justify-content:space-between}.admin-top h1{margin:0;font-size:34px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{padding:22px}.stat-card span{color:var(--muted);font-size:13px}.stat-card b{display:block;margin-top:12px;font-size:34px}.admin-card{padding:22px}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-form button{align-self:end}.table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.07);font-size:14px}th{color:#d8cdf0;background:rgba(255,255,255,.04)}td{color:#eee6fb}.status{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(57,217,138,.14);color:#8ff0bc;font-size:12px;font-weight:900}
@media (max-width:960px){.hero-clean,.creator-shell{grid-template-columns:1fr}.admin-page{grid-template-columns:1fr}.admin-side{position:relative;height:auto}.admin-grid{grid-template-columns:1fr 1fr}.settings-form{grid-template-columns:1fr}.site-header{align-items:flex-start}.site-header nav{flex-wrap:wrap;justify-content:flex-end}.hero-card{min-height:240px}}
@media (max-width:620px){.site-header{padding:14px 16px}.hero-clean{padding-top:52px}.creator-panel,.result-panel{padding:18px}.mode-tabs,.advanced-row,.result-meta,.admin-grid{grid-template-columns:1fr}.hero-clean h1{font-size:38px}}

/* assets + redeem + cards */
.prompt-wrap{position:relative}.mention-panel{position:absolute;left:0;right:0;top:100%;z-index:8;margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:16px;background:#120d1d;box-shadow:0 18px 50px rgba(0,0,0,.35);display:grid;gap:6px}.mention-panel button{display:flex;align-items:center;gap:10px;border:0;border-radius:12px;background:rgba(255,255,255,.05);color:#fff;padding:8px;text-align:left}.mention-panel img{width:36px;height:36px;border-radius:10px;object-fit:cover}.asset-panel{margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.035)}.asset-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.asset-head h3{margin:0}.asset-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.asset-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.asset-btn{border:1px solid var(--line);border-radius:14px;background:rgba(139,92,246,.09);color:#fff;padding:12px;font-weight:900}.asset-btn b{display:block;margin-top:5px;color:#d8b4fe}.drop-zone{border:1px dashed rgba(34,211,238,.45);border-radius:16px;background:rgba(34,211,238,.05);color:#bfb3d2;text-align:center;padding:18px;margin-bottom:12px}.drop-zone.dragover{border-color:var(--pink);background:rgba(217,70,239,.08)}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.asset-empty{grid-column:1/-1;color:var(--muted);font-size:13px;text-align:center;padding:12px}.asset-card{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.04);overflow:hidden}.asset-thumb{height:86px;display:grid;place-items:center;background:#0a0712;color:#d8b4fe;font-weight:900}.asset-thumb img{width:100%;height:100%;object-fit:cover}.asset-thumb.video{background:linear-gradient(135deg,#1d1640,#3b0764)}.asset-thumb.audio{background:linear-gradient(135deg,#052e2b,#581c87)}.asset-card div:nth-child(2){padding:9px}.asset-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.asset-card span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.asset-card button{position:absolute;right:6px;top:6px;width:24px;height:24px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff}.redeem-row{display:flex;gap:10px;margin:14px 0}.redeem-row input{flex:1;border:1px solid var(--line);border-radius:999px;background:#090712;color:var(--text);outline:none;padding:13px 16px}.card-output{width:100%;min-height:100px;margin:14px 0;border:1px solid var(--line);border-radius:16px;background:#090712;color:#fff;padding:14px;resize:vertical}.status.used{background:rgba(255,255,255,.08);color:#b9adc8}code{color:#e9d5ff;font-family:ui-monospace,Consolas,monospace}.card-form{margin-bottom:10px}
@media (max-width:620px){.asset-actions,.asset-grid{grid-template-columns:1fr}.redeem-row{flex-direction:column}}

/* admin lock + compact mention */
body.locked{display:block}.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login.hidden{display:none!important}.admin-login-card{box-shadow:0 24px 80px rgba(0,0,0,.38)}.mention-panel button span{white-space:nowrap}.asset-card em{font-style:normal;display:inline-block;margin-right:6px;color:#d8b4fe;font-weight:900}.hero-actions .btn.ghost[href$="admin.html"],.site-header nav a[href$="admin.html"]{display:none!important}


/* video duration 5-15 */
.duration-field b{color:#d8b4fe;margin-left:6px}.duration-field input[type="range"]{width:100%;accent-color:var(--purple);height:34px}.duration-field.hidden{display:none!important}


/* redo */
.redo-btn{margin-top:14px}.redo-btn:disabled{opacity:.45;cursor:not-allowed}

/* admin controls */
.btn.tiny{padding:7px 10px;font-size:12px;margin-right:6px}.btn:disabled{opacity:.42;cursor:not-allowed}.mini-input{width:96px;border:1px solid var(--line);border-radius:12px;background:#090712;color:var(--text);outline:none;padding:8px 10px}.status.blocked,.status.revoked{background:rgba(239,68,68,.14);color:#fca5a5}td .status{margin-left:8px}
/* model selector */
.field select{width:100%;border:1px solid var(--line);border-radius:16px;background:#090712;color:var(--text);outline:none;padding:14px 15px}.model-field small{color:var(--muted);font-size:12px}.model-table input,.model-table select{min-width:120px}.mode-checks{display:flex;gap:8px;flex-wrap:wrap}.mode-checks label{display:inline-flex;align-items:center;gap:5px;color:#d8cdf0;font-size:12px}.mode-checks input{width:auto}.model-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.model-table table{min-width:1120px}
.progress-strip{margin-top:14px}.progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--muted);font-size:12px}.progress-row b{color:#e9d5ff;font-size:13px}.progress-track,.table-progress-track{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.progress-track i,.table-progress-fill{display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#22d3ee,#a78bfa,#f472b6);transition:width .35s ease}.table-progress{display:grid;gap:6px;min-width:120px}.table-progress small{color:var(--muted);font-size:12px}.status.processing,.status.queued{background:rgba(34,211,238,.12);color:#67e8f9}.status.completed{background:rgba(57,217,138,.14);color:#8ff0bc}.status.failed{background:rgba(239,68,68,.14);color:#fca5a5}
