:root{--bg: #0d0d0d;--surface: #161616;--surface-raised: #1e1e1e;--border: #2a2a2a;--text: #f2f2f2;--text-muted: #a3a3a3;--accent: #00e5fc;--accent-dim: #0aa8bd;--accent-glow: rgba(0, 229, 252, .35);--danger: #ff5c5c;--danger-bg: rgba(255, 92, 92, .12);--success: #3ddc84;--success-bg: rgba(61, 220, 132, .12);--warning: #f5c542;--warning-bg: rgba(245, 197, 66, .12);--radius: 10px;--font: "Prompt", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.topbar-brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.02em}.topbar-brand .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.topbar-nav{display:flex;align-items:center;gap:20px}.topbar-nav a{color:var(--text-muted);font-size:.9rem}.topbar-nav a:hover{color:var(--text);text-decoration:none}.btn-link{background:none;border:none;color:var(--text-muted);font-size:.9rem;padding:6px 10px}.btn-link:hover{color:var(--text)}.page{flex:1;width:100%;max-width:880px;margin:0 auto;padding:40px 24px 64px}.page h1{font-size:1.6rem;font-weight:600;margin:0 0 24px}.auth-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.auth-card h1{font-size:1.3rem;font-weight:600;margin:0 0 24px;text-align:center}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.8rem;color:var(--text-muted)}input[type=text],input[type=email],input[type=password],input[type=url],textarea{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:.95rem;outline:none;transition:border-color .15s;width:100%}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}textarea{min-height:90px;resize:vertical}.password-field{position:relative}.password-field input{padding-right:72px}.password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:.78rem;padding:6px 8px}.password-toggle:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:8px;padding:10px 18px;font-size:.95rem;font-weight:500;background:var(--accent);color:#04191c;transition:filter .15s,box-shadow .15s}.btn:hover{filter:brightness(1.08);box-shadow:0 0 16px var(--accent-glow)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-block{width:100%}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-secondary:hover{border-color:var(--accent);box-shadow:none}.error-text{color:var(--danger);font-size:.85rem;margin:-6px 0 16px}.new-analysis-form{display:flex;gap:10px;margin-bottom:32px}.new-analysis-form input{flex:1}.video-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.video-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s}.video-row:hover{border-color:var(--accent-dim)}.video-row-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:.92rem}.video-row-url:hover{text-decoration:none;color:var(--accent)}.badge{flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:999px;text-transform:uppercase}.badge-pending,.badge-processing{background:var(--warning-bg);color:var(--warning)}.badge-done{background:var(--success-bg);color:var(--success)}.badge-error{background:var(--danger-bg);color:var(--danger)}.empty-state{color:var(--text-muted);padding:32px 0;text-align:center}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.detail-header h1{margin:0;font-size:1.2rem;word-break:break-all}.detail-actions{display:flex;gap:8px;flex-shrink:0}.detail-meta{color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.score-pill{display:inline-block;background:var(--surface-raised);border:1px solid var(--border);border-radius:999px;padding:6px 16px;font-weight:600;color:var(--accent);margin-bottom:20px}.report{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 32px;font-family:inherit;line-height:1.65;font-size:.95rem;color:var(--text)}.report>*:first-child{margin-top:0}.report>*:last-child{margin-bottom:0}.report h1,.report h2,.report h3{font-weight:600;color:var(--text);margin:28px 0 12px;line-height:1.3}.report h3{font-size:1.05rem;padding-bottom:8px;border-bottom:1px solid var(--border)}.report p{margin:0 0 14px}.report strong{color:var(--accent);font-weight:600}.report ul,.report ol{margin:0 0 14px;padding-left:22px}.report li{margin-bottom:6px}.report table{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:.9rem}.report th,.report td{border:1px solid var(--border);padding:8px 12px;text-align:left}.report th{background:var(--surface-raised);color:var(--text-muted);font-weight:500}.report code{background:var(--surface-raised);padding:2px 6px;border-radius:4px;font-size:.85em}.report hr{border:none;border-top:1px solid var(--border);margin:24px 0}.notes-section{margin:24px 0}.notes-section .field{margin-bottom:12px}.video-header{display:flex;gap:20px;margin-bottom:8px}.video-thumb{width:96px;height:96px;flex-shrink:0;border-radius:var(--radius);border:1px solid var(--border);object-fit:cover;background:var(--surface)}.image-skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-raised) 50%,var(--surface) 75%);background-size:200% 100%;animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.video-header-info{flex:1;min-width:0}.video-header-info .detail-header{margin-bottom:8px}.metrics-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.metric-chip{font-size:.82rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 12px;color:var(--text-muted)}.progress-bar{position:relative;height:22px;background:var(--surface);border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);transition:width .4s ease}.progress-bar-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;color:var(--text);mix-blend-mode:difference}.profile-editor{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin:24px 0}.profile-editor h2{font-size:1.05rem;font-weight:600;margin:0 0 4px}.filters-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.filters-bar select{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-size:.88rem}.video-row-tags{display:flex;align-items:center;gap:8px;flex-shrink:0}.tag{font-size:.75rem;color:var(--text-muted);background:var(--surface-raised);border-radius:999px;padding:3px 10px}.credits-badge{font-size:.8rem;font-weight:500;color:var(--accent);background:var(--surface-raised);border:1px solid var(--border);border-radius:999px;padding:4px 12px;white-space:nowrap}.credits-badge-low{color:var(--warning);border-color:var(--warning)}.topbar{flex-wrap:wrap;gap:8px 16px}.topbar-nav{flex-wrap:wrap;gap:8px 20px}select{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-size:.88rem;max-width:100%}.form-extra{margin:-16px 0 24px}.form-extra label,.video-folder label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:6px}.folder-picker-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.folder-picker-row input[type=text]{flex:1;min-width:160px;width:auto}.video-folder{margin-top:12px}.folder-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;font-size:.9rem;color:var(--text-muted)}.compare-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin-bottom:16px;background:var(--surface-raised);border:1px solid var(--accent-dim);border-radius:var(--radius);font-size:.9rem}.compare-check{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}.tag-folder{color:var(--accent)}.tag-score{color:var(--accent);font-weight:600;text-transform:none}.success-text{color:var(--success);font-size:.9rem;margin:0 0 16px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:8px 0 20px;flex-wrap:wrap}.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:10px 16px;font-size:.92rem;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.hooks-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.hooks-list{list-style:none;counter-reset:hook;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.hook-item{counter-increment:hook;position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 12px 46px}.hook-item:before{content:counter(hook);position:absolute;left:16px;top:14px;color:var(--accent);font-weight:600}.hook-text{font-size:1.02rem;font-weight:500;margin-bottom:8px}.hook-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--text-muted);font-size:.84rem;margin-bottom:4px}.hook-item .btn-link{padding:2px 0}.screen-text-panel h2{font-size:1.05rem;font-weight:600;margin:0 0 12px}.screen-text-panel h2:not(:first-child){margin-top:28px}.screen-text-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.screen-text-list li{display:flex;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.screen-text-time{color:var(--accent);font-weight:600;font-size:.85rem;min-width:42px}.screen-text-quote{font-weight:500}.screen-text-style{color:var(--text-muted);font-size:.84rem;margin-top:2px}.frames-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.frames-strip figure{margin:0;flex-shrink:0;text-align:center}.frames-strip figcaption{color:var(--text-muted);font-size:.78rem;margin-top:4px}.frame-thumb{width:108px;height:192px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:var(--surface);display:block}.brand-form{max-width:460px;margin-top:24px}.brand-form input[type=file]{padding:8px}.logo-preview{display:flex;align-items:center;gap:16px;margin-top:12px}.logo-preview img{max-height:64px;max-width:200px;background:#fff;border-radius:8px;padding:6px}.page h2{font-size:1.05rem;font-weight:600;margin:28px 0 12px}.line-chart{width:100%;height:auto;max-width:720px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.chart-grid{stroke:var(--border);stroke-width:1}.chart-label{fill:var(--text-muted);font-size:11px;font-family:var(--font)}.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-point{fill:var(--bg);stroke:var(--accent);stroke-width:2.5}.chart-point:hover{fill:var(--accent)}.chip-up{color:var(--success);border-color:var(--success)}.chip-down{color:var(--danger);border-color:var(--danger)}.axis-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;max-width:640px}.axis-list li{display:grid;grid-template-columns:minmax(140px,1.2fr) 2fr 36px;align-items:center;gap:12px;font-size:.9rem}.axis-bar{display:block;height:8px;background:var(--surface-raised);border-radius:999px;overflow:hidden}.axis-bar>span{display:block;height:100%;background:var(--accent);border-radius:999px}.axis-value{font-weight:600;text-align:right;font-size:.9rem}.compare-grid{display:grid;grid-template-columns:minmax(110px,1.1fr) 1fr 1fr;gap:12px;align-items:start}.compare-heads{margin:8px 0}.compare-col{display:flex;flex-direction:column;gap:8px;min-width:0}.compare-title{font-weight:600;word-break:break-all}.compare-badge{align-self:flex-start;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--surface-raised);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.compare-hook{color:var(--text-muted);font-size:.85rem;font-style:italic}.compare-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.compare-row{padding:10px 14px;border-bottom:1px solid var(--border);align-items:center}.compare-row:last-child{border-bottom:none}.compare-total{background:var(--surface-raised);font-weight:600}.compare-label{color:var(--text-muted);font-size:.88rem}.compare-cell{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;min-width:0}.compare-text{display:block;font-size:.88rem;word-break:break-word}.compare-win .axis-value{color:var(--success)}.compare-win .axis-bar>span{background:var(--success)}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.sheet{background:#fff;color:#111;border-radius:var(--radius);padding:40px 44px;margin-top:16px;line-height:1.55;font-size:.95rem}.sheet-header{display:flex;align-items:center;gap:20px;padding-bottom:18px;margin-bottom:20px;border-bottom:2px solid #111}.sheet-logo{max-height:64px;max-width:180px;object-fit:contain}.sheet-brand{font-size:1.15rem;font-weight:700}.sheet-title{font-size:.95rem;color:#444}.sheet-date{font-size:.82rem;color:#777}.sheet-info{display:flex;gap:20px;margin-bottom:24px}.sheet-thumb{width:96px;height:170px;object-fit:cover;border-radius:6px;border:1px solid #ccc;flex-shrink:0}.sheet-info dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;align-content:start;font-size:.9rem}.sheet-info dt{color:#666}.sheet-info dd{margin:0;min-width:0}.sheet-url{word-break:break-all}.sheet-body h1,.sheet-body h2,.sheet-body h3{color:#111;margin:24px 0 8px;line-height:1.3}.sheet-body h3{font-size:1.05rem;padding-bottom:6px;border-bottom:1px solid #ccc}.sheet-body p{margin:0 0 10px}.sheet-body ul,.sheet-body ol{margin:0 0 10px;padding-left:22px}.sheet-body li{margin-bottom:4px}.sheet-body table{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:.9rem}.sheet-body th,.sheet-body td{border:1px solid #bbb;padding:6px 10px;text-align:left}.sheet-body th{background:#f0f0f0}.sheet-footer{margin-top:32px;padding-top:12px;border-top:1px solid #ccc;font-size:.8rem;color:#777}@media (max-width: 600px){.sheet{padding:22px 18px}.sheet-info{flex-direction:column}.compare-grid{grid-template-columns:90px 1fr 1fr;gap:8px}.axis-list li{grid-template-columns:1fr 36px}.axis-list .axis-bar{grid-column:1 / -1;order:3}}@media print{@page{margin:16mm}html,body{background:#fff!important}.topbar,.no-print{display:none!important}.app-shell{display:block;min-height:0}.page{max-width:none;padding:0}.sheet{border-radius:0;padding:0;margin:0}.sheet-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}.sheet-body h3{break-after:avoid}.sheet-body table,.sheet-body li,.sheet-info{break-inside:avoid}}.compare-label{overflow-wrap:anywhere}@media (max-width: 600px){.video-header{flex-direction:column;gap:14px}.detail-header{flex-direction:column;align-items:stretch}.detail-header h1{font-size:1rem;word-break:normal;overflow-wrap:anywhere}.detail-actions{flex-wrap:wrap}.detail-actions .btn{flex:1 1 auto}.video-row{flex-wrap:wrap;row-gap:8px}.video-row-tags{flex-wrap:wrap;flex-shrink:1}}.hooks-note{padding:10px 14px;margin:0 0 16px;border:1px solid var(--warning);border-radius:var(--radius);background:var(--warning-bg);color:var(--text)}
