:root{--bg:#0a0a0f;--bg-card:#14141f;--bg-elevated:#1c1c2a;--text:#f5f5f7;--text-muted:#9ca3af;--accent:#7c5cff;--accent-soft:rgba(124,92,255,0.15);--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--border:rgba(255,255,255,0.08);--radius:16px;--nav-height:72px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.page{padding:20px 16px calc(var(--nav-height) + 24px)}.landing,.page{min-height:100dvh;max-width:480px;margin:0 auto}.landing{padding:32px 20px;display:flex;flex-direction:column;justify-content:center;gap:24px}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--accent-soft);color:#c4b5fd;font-size:13px;font-weight:600}.hero-title{font-size:36px;line-height:1.05;letter-spacing:-.03em;margin:0}.hero-text{color:var(--text-muted);font-size:16px;line-height:1.6;margin:0}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;border:none;border-radius:14px;background:var(--accent);color:white;font-weight:700;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}.field-label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}.field,.input,.select,.textarea{width:100%;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:14px;padding:14px 16px}.textarea{min-height:140px;resize:vertical;line-height:1.5}.stack{display:flex;flex-direction:column;gap:16px}.section-title{margin:0;font-size:24px;letter-spacing:-.02em}.section-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:14px}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(480px,100%);height:var(--nav-height);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(10,10,15,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:8px 6px 10px}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);font-size:11px;font-weight:600}.nav-item.active{color:var(--text)}.score-ring{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;margin:8px auto 0;background:conic-gradient(var(--accent) calc(var(--score) * 1%),rgba(255,255,255,.08) 0);position:relative}.score-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--bg-card)}.score-value{position:relative;z-index:1;font-size:42px;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.metric{background:var(--bg-elevated);border-radius:12px;padding:12px;text-align:center}.metric-label{font-size:11px;color:var(--text-muted);margin-bottom:6px}.metric-value{font-size:14px;font-weight:700}.list-item{padding:12px 0;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:none}.error{color:#fecaca;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);border-radius:12px;padding:12px 14px;font-size:14px}.feature-grid{display:grid;grid-gap:12px;gap:12px}.feature-card h3{margin:0 0 6px;font-size:16px}.feature-card p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.5}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:140px;padding:20px;border:1px dashed rgba(124,92,255,.45);border-radius:var(--radius);background:rgba(124,92,255,.08);color:var(--text);cursor:pointer}.video-preview{width:100%;max-height:280px;border-radius:12px;background:#000}.status-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}.status-ok{color:var(--success);font-weight:700}.status-off{color:var(--text-muted)}.badge-live{background:rgba(34,197,94,.15);color:#86efac}.badge-live,.badge-mock{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge-mock{background:rgba(245,158,11,.15);color:#fcd34d}.list-item.highlight{border-left:3px solid var(--accent);padding-left:12px;font-weight:600;line-height:1.5}.priority-tag{flex-shrink:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.06)}.hint-card{padding:14px 16px;border-radius:16px;border:1px solid rgba(139,92,246,.25);background:rgba(139,92,246,.08)}.hint-card-alt{border-color:rgba(56,189,248,.25);background:rgba(56,189,248,.08)}.hint-card-title{font-weight:700;margin-bottom:6px}.hint-card p{margin:0;font-size:14px;line-height:1.55;color:var(--text-muted)}.tech-grid{display:grid;grid-gap:10px;gap:10px}.tech-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.4}.tech-label{color:var(--text-muted)}.tech-value{text-align:right;font-weight:600}.tech-value.ok{color:#86efac}.tech-value.warn{color:#fcd34d}.video-tech-card{gap:16px}.video-tech-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.video-tech-filename{margin-top:4px;font-size:13px;color:var(--text-muted);word-break:break-all}.video-tech-badge{flex-shrink:0;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2;text-align:center}.video-tech-badge-ok{background:rgba(34,197,94,.15);color:#86efac}.video-tech-badge-warn{background:rgba(245,158,11,.15);color:#fcd34d}.video-tech-badge-bad{background:rgba(239,68,68,.15);color:#fca5a5}.tech-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.tech-chip{padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.tech-chip-ok{border-color:rgba(34,197,94,.25)}.tech-chip-warn{border-color:rgba(245,158,11,.25)}.tech-chip-bad{border-color:rgba(239,68,68,.25)}.tech-chip-label{font-size:12px;color:var(--text-muted);margin-bottom:6px}.tech-chip-value{font-size:13px;font-weight:700;line-height:1.35}.video-tech-notes-title{font-size:13px;font-weight:700;margin-bottom:8px}.video-tech-note{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);font-size:14px;line-height:1.45;margin-bottom:8px}.video-tech-note:last-child{margin-bottom:0}.video-tech-speech{padding-top:4px}.video-tech-speech-text{padding:14px;border-radius:14px;background:linear-gradient(180deg,rgba(139,92,246,.12),rgba(255,255,255,.03));border:1px solid rgba(139,92,246,.18);color:var(--text-muted);line-height:1.65;font-size:14px;white-space:pre-wrap}.video-tech-speech-empty{padding:12px 14px;border-radius:12px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.18);color:#fcd34d;font-size:13px;line-height:1.5}.hashtag-chip{padding:6px 10px;border-radius:999px;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.22);color:#7dd3fc;font-size:13px}.hashtag-chip,.tiktok-link{display:inline-flex;font-weight:600}.tiktok-link{justify-content:center;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--text);text-decoration:none;font-size:14px}.verdict-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.verdict-badge{display:inline-flex;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.verdict-badge-viral{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.35);color:#86efac}.verdict-badge-mid{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.28);color:#fcd34d}.verdict-badge-weak{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.28);color:#fca5a5}.stats-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.stat-chip{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--border)}.stat-label{font-size:12px;color:var(--text-muted)}.stat-value{font-size:16px;font-weight:700}.usage-meter{display:flex;flex-direction:column;gap:8px}.usage-meter-head{display:flex;justify-content:space-between;gap:12px;font-size:14px}.usage-meter-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.usage-meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#38bdf8)}