:root{--ink:#18243b;--muted:#69758b;--line:#e4e9f2;--paper:#f7f9fc;--white:#fff;--blue:#365cf5;--blue-dark:#2644ce;--violet:#8b5cf6;--mint:#dcfce7;--red:#b42318;--shadow:0 22px 70px rgba(30,47,85,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.marketing-body{background:radial-gradient(ellipse at 80% 0%,#edf0ff 0,transparent 36%),#fbfcff}.marketing-nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(28px,calc((100% - 1180px)/2));border-bottom:1px solid rgba(228,233,242,.8);background:rgba(255,255,255,.7);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.04em}.brand-mark{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(140deg,var(--blue),var(--violet));color:#fff;font-weight:900;box-shadow:0 6px 16px #365cf536}.nav-links,.nav-actions{display:flex;align-items:center;gap:26px}.nav-links{color:#657188;font-size:13px}.nav-links a:hover,.topbar-link:hover{color:var(--blue)}.nav-actions{gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border:1px solid transparent;border-radius:10px;font-weight:700;font-size:13px;cursor:pointer;transition:.18s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--blue);color:white;box-shadow:0 5px 14px #365cf52a}.button-primary:hover{background:var(--blue-dark)}.button-quiet{border-color:var(--line);background:white;color:var(--ink)}.button-danger{background:#b42318;color:white}.button-large{padding:13px 20px}.button-full{width:100%}.hero{padding:88px 0 46px;text-align:center}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--blue);text-transform:uppercase}.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dfe5ff;border-radius:100px;background:#fff}.status-dot{width:7px;height:7px;border-radius:50%;background:#39c58a;display:inline-block}.hero h1,.page-hero h1{font-size:clamp(42px,6vw,72px);line-height:1.04;letter-spacing:-.065em;margin:24px auto 18px;max-width:850px}.gradient-text{background:linear-gradient(100deg,#365cf5,#9a59ef);color:transparent;background-clip:text}.hero-copy{max-width:600px;margin:0 auto;color:var(--muted);font-size:16px}.hero-actions{display:flex;justify-content:center;gap:10px;margin-top:27px}.hero-preview{max-width:960px;margin:56px auto 0;border:1px solid #dfe5f0;border-radius:18px;overflow:hidden;text-align:left;background:white;box-shadow:var(--shadow)}.preview-top{height:43px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#8490a5;font-size:10px}.window-dots{color:#aeb7c8;letter-spacing:3px}.preview-live{font-size:9px;color:#4f60d9;font-weight:800;letter-spacing:.1em}.preview-content{display:grid;grid-template-columns:190px 1fr;min-height:255px}.preview-side{padding:18px 12px;border-right:1px solid var(--line);background:#fbfcff}.preview-logo{display:grid;place-items:center;width:26px;height:26px;background:var(--blue);color:white;border-radius:8px;margin:0 0 18px 7px;font-weight:900}.preview-nav{padding:9px 10px;color:#8791a4;font-size:11px;border-radius:7px;margin:4px 0}.preview-nav.active{background:#edf0ff;color:var(--blue);font-weight:700}.preview-main{padding:23px}.preview-heading{font-weight:800;font-size:15px;letter-spacing:-.03em}.preview-heading small{display:block;color:#9aa4b5;font-size:10px;font-weight:400;letter-spacing:0}.preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.preview-cards>div{padding:13px;border:1px solid var(--line);border-radius:9px}.preview-cards span,.stat-top{display:block;font-size:9px;letter-spacing:.08em;color:#8994a8;font-weight:800}.preview-cards strong,.preview-cards small{display:block}.preview-cards strong{font-size:11px;margin:8px 0 2px}.preview-cards small{font-size:9px;color:#8b95a7}.preview-placeholder{margin-top:12px;display:flex;align-items:center;gap:12px;padding:15px;border-radius:10px;background:linear-gradient(100deg,#f6f7ff,#f8fbff);border:1px dashed #d7dff0}.play-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:white;color:var(--blue);font-size:12px}.preview-placeholder strong,.preview-placeholder small{display:block}.preview-placeholder strong{font-size:11px}.preview-placeholder small{font-size:10px;color:#8994a8}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 0 70px}.feature-strip div{padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#fff}.feature-strip strong,.feature-strip span{display:block}.feature-strip strong{font-size:12px}.feature-strip span{font-size:11px;color:var(--muted);margin-top:4px}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:24px max(28px,calc((100% - 1120px)/2));color:#8791a4;font-size:11px}.page-hero{text-align:center;padding:74px 0 35px}.page-hero h1{font-size:clamp(38px,5vw,58px);max-width:780px}.page-hero p{max-width:620px;margin:0 auto;color:var(--muted);font-size:15px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding-bottom:80px}.feature-card,.price-card{padding:25px;border:1px solid var(--line);background:#fff;border-radius:15px}.feature-number{display:grid;place-items:center;width:37px;height:37px;background:#eef1ff;color:var(--blue);border-radius:10px;font-weight:800;font-size:11px}.feature-card h2{font-size:17px;letter-spacing:-.03em;margin:22px 0 7px}.feature-card p,.price-card p{color:var(--muted);font-size:13px;margin:0}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:16px;padding-bottom:80px}.price-card h2{font-size:28px;letter-spacing:-.05em;margin:14px 0 5px}.price-card ul{padding-left:18px;color:#58657b;line-height:2.2;margin:20px 0 24px;font-size:12px}.featured{border-color:#b9c5ff;box-shadow:0 14px 45px #365cf512}.plan-label{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--blue)}.faq-list{max-width:780px;padding-bottom:80px}.faq-list details{padding:20px 0;border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:750}.faq-list p{color:var(--muted);margin-bottom:0}.auth-wrap{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:48px 20px}.auth-card{width:min(100%,440px);padding:34px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.auth-brand{margin-bottom:32px}.auth-card h1{font-size:29px;line-height:1.15;letter-spacing:-.05em;margin:10px 0}.auth-card>p{color:var(--muted);margin:0 0 25px}.stack-form{display:grid;gap:16px}.stack-form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#44516a}.stack-form input{width:100%;padding:11px 12px;border:1px solid #dce2ed;border-radius:9px;background:white;color:var(--ink);outline:none}.stack-form input:focus{border-color:#8b9bff;box-shadow:0 0 0 3px #365cf516}.checkbox-label{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px!important;font-weight:500!important}.checkbox-label input{width:15px;height:15px}.auth-links{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;font-size:11px;color:var(--muted)}.auth-links a{color:var(--blue);font-weight:700}.app-body{background:#f7f9fc}.app-shell{min-height:100vh;display:flex}.sidebar{width:245px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:23px 15px 14px;display:flex;flex-direction:column;min-height:100vh}.sidebar-brand{padding:0 8px 29px;font-size:16px}.sidebar-label{padding:0 10px 9px;font-size:9px;font-weight:800;color:#a0a9b8;letter-spacing:.13em}.sidebar-label-spaced{margin-top:27px}.side-link{display:flex;align-items:center;gap:11px;padding:10px;border-radius:9px;font-size:12px;color:#68758b;margin:2px 0}.side-link>span{width:17px;text-align:center;font-size:15px}.side-link.active{background:#edf0ff;color:var(--blue);font-weight:750}.side-link.disabled{opacity:.62;cursor:not-allowed}.side-link small{font-size:8px;margin-left:auto;color:#9aa4b4}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:17px 2px 2px;display:flex;align-items:center;gap:9px}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e9edff;color:var(--blue);font-weight:800}.sidebar-user{min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:11px}.sidebar-user small{font-size:9px;color:#8994a8}.icon-button{border:0;background:transparent;color:#7c879a;cursor:pointer}.app-main{min-width:0;flex:1}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fff;border-bottom:1px solid var(--line)}.topbar>div:first-child{display:grid;gap:1px}.topbar-kicker{font-size:8px;letter-spacing:.13em;color:#9aa4b4;font-weight:800}.topbar strong{font-size:15px;letter-spacing:-.02em}.topbar-right{display:flex;align-items:center;gap:21px}.status-pill{display:flex;align-items:center;gap:7px;padding:6px 10px;background:#f1fdf6;border:1px solid #d7f7e4;color:#33835d;border-radius:50px;font-size:9px;font-weight:700}.topbar-link{font-size:11px;color:#657188}.page-content{padding:31px 34px 50px;max-width:1400px;margin:0 auto}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.welcome-row h1{font-size:27px;letter-spacing:-.055em;margin:6px 0}.welcome-row p{margin:0;color:var(--muted);font-size:12px;max-width:650px}.welcome-date{font-size:10px;color:#7d899c;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 11px;white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-icon{display:grid;place-items:center;width:27px;height:27px;background:#f0f2ff;color:var(--blue);border-radius:8px;font-size:12px}.stat-card>strong{display:block;font-size:28px;letter-spacing:-.05em;margin:14px 0 0}.stat-card>small{font-size:10px;color:#939daf}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:34px 0 14px}.section-heading h2{font-size:17px;letter-spacing:-.04em;margin:0 0 3px}.section-heading p{font-size:11px;color:var(--muted);margin:0}.phase-tag{font-size:9px;letter-spacing:.08em;font-weight:800;color:#6471ce;background:#eff1ff;padding:7px 9px;border-radius:7px;white-space:nowrap}.onboarding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.onboarding-card{padding:17px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:17px}.step-number{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#f1f3ff;color:var(--blue);font-size:10px;font-weight:800}.onboarding-card h3{font-size:13px;margin:0 0 5px}.onboarding-card p{font-size:10px;color:var(--muted);margin:0}.coming-soon{font-size:8px;letter-spacing:.08em;color:#8b95a8;font-weight:800}.notice-card{display:flex;gap:12px;padding:15px 17px;border:1px solid #dce4ff;border-radius:12px;background:#f7f8ff;margin-top:17px}.notice-icon{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:8px;background:#e8ecff;color:var(--blue);font-weight:800}.notice-card strong{font-size:11px}.notice-card p{font-size:10px;color:#68758b;margin:4px 0 0}.form-panel{max-width:720px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;margin-bottom:18px}.panel-heading h1,.panel-heading h2{font-size:19px;letter-spacing:-.04em;margin:0 0 4px}.panel-heading p{font-size:11px;color:var(--muted);margin:0 0 21px}.stack-form>div{margin-top:3px}.danger-panel{border-color:#f2d4d2}.alert{padding:12px 14px;border-radius:9px;font-size:12px;margin-bottom:18px}.alert-success{background:#edfcf3;border:1px solid #c5f0d5;color:#246b43}.alert-error{background:#fff2f1;border:1px solid #f4ceca;color:#9c3029}.alert ul{margin:5px 0 0;padding-left:18px}.check-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;max-width:760px}.check-row{display:flex;justify-content:space-between;gap:20px;padding:15px 18px;border-bottom:1px solid var(--line);font-size:12px}.check-row:last-child{border-bottom:0}.check-row strong{font-size:11px}.footer{gap:20px}@media(max-width:950px){.sidebar{width:210px}.page-content{padding:25px 22px}.topbar{padding:0 22px}.stats-grid{grid-template-columns:repeat(2,1fr)}.onboarding-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.marketing-nav{height:66px;padding:0 17px}.nav-links{display:none}.nav-actions .button-quiet{display:none}.brand{font-size:15px}.hero{padding-top:58px}.hero h1{font-size:44px}.hero-copy{font-size:14px}.hero-actions{flex-wrap:wrap}.preview-content{grid-template-columns:1fr}.preview-side{display:none}.preview-main{padding:14px}.preview-cards{grid-template-columns:1fr}.preview-cards>div:nth-child(n+2){display:none}.feature-strip{grid-template-columns:repeat(2,1fr);padding-bottom:45px}.footer{padding:20px;flex-direction:column;gap:5px}.page-hero{padding-top:55px}.feature-grid{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr}.auth-card{padding:25px}.app-shell{display:block}.sidebar{width:auto;min-height:0;padding:13px 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-brand{padding:0 0 12px}.sidebar-label,.side-link,.sidebar-bottom{display:none}.topbar{height:62px;padding:0 17px}.topbar-right{gap:8px}.status-pill{display:none}.page-content{padding:23px 16px 35px}.welcome-row{align-items:flex-start;flex-direction:column}.welcome-row h1{font-size:24px}.stats-grid{gap:9px}.stat-card{padding:13px}.stat-card>strong{font-size:24px}.stat-card>small{font-size:9px}.section-heading{align-items:flex-start;flex-direction:column}.phase-tag{align-self:flex-start}.form-panel{padding:18px}.check-row{padding:13px}.topbar-link{font-size:10px}}

/* ---- Phase 3: data-backed dashboard ---- */
.stat-card>strong.stat-text{font-size:19px;line-height:1.3;margin-top:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:17px}
.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px}
.panel-wide{margin-top:13px}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.panel-head h2{font-size:14px;letter-spacing:-.03em;margin:0}
.data-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.data-main{font-size:12px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}
.data-main small{display:block;font-size:10px;font-weight:400;color:#939daf}
.badge{font-size:9px;font-weight:800;letter-spacing:.05em;padding:5px 8px;border-radius:6px;white-space:nowrap;text-transform:uppercase}
.badge-ok{background:var(--mint);color:#14532d}
.badge-warn{background:#fef3c7;color:#92400e}
.badge-bad{background:#fee4e2;color:var(--red)}
.badge-muted{background:#eef1f6;color:#516078}
.empty-state{font-size:11px;color:var(--muted);margin:6px 0 2px;padding:14px;border:1px dashed var(--line);border-radius:10px;background:#fafbfe}
.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.usage-item{border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.usage-item span{display:block;font-size:10px;color:#939daf}
.usage-item strong{font-size:18px;letter-spacing:-.03em}
@media(max-width:950px){.two-col{grid-template-columns:1fr}}

/* ---- Phase 4: series, projects and scripts ---- */
.stack-form select,.stack-form textarea{width:100%;padding:11px 12px;border:1px solid #dce2ed;border-radius:9px;background:#fff;color:var(--ink);font:inherit;outline:none}
.stack-form textarea{min-height:84px;resize:vertical}
.stack-form select:focus,.stack-form textarea:focus{border-color:#8b9bff;box-shadow:0 0 0 3px #365cf516}
.stack-form small.hint{font-weight:400;color:var(--muted);font-size:11px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-panel.wide{max-width:980px}
.page-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.button-outline{border-color:var(--line);background:#fff;color:var(--ink)}
.button-small{padding:6px 11px;font-size:12px}
.data-main a{color:inherit;text-decoration:none}
.data-main a:hover{text-decoration:underline}
.script-meta{display:grid;gap:4px;margin:0 0 14px;font-size:12px;color:#44516a}
.script-meta strong{color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.chip{background:#eef1f6;border-radius:999px;padding:3px 10px;font-size:11px;color:#344159}
.scene{border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin-top:10px;background:#fff}
.scene h3{font-size:11px;margin:0 0 6px;color:#516078;letter-spacing:.04em}
.scene p{margin:3px 0;font-size:13px;line-height:1.45}
.scene .visual{color:#516078;font-size:12px}
.scene-edit{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fafbfd}
details.panel>summary{cursor:pointer;font-weight:700;font-size:13px}
.job-banner{border:1px solid #dbe3ff;background:#f1f4ff;color:#2a3f9e;border-radius:10px;padding:11px 14px;font-size:12px;margin-bottom:16px}
.job-banner.failed{border-color:#f4ceca;background:#fff2f1;color:#9c3029}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}}
.pagination{display:flex;gap:4px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.pagination li a,.pagination li span{display:block;padding:5px 10px;border:1px solid var(--line);border-radius:7px;font-size:12px;color:var(--ink);text-decoration:none;background:#fff}
.pagination li.active span{background:var(--blue);color:#fff;border-color:var(--blue)}
.pagination li.disabled span{color:#aab2c2}
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.video-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.video-thumb{position:relative;display:block;aspect-ratio:9/16;max-height:360px;background:#0f1424;overflow:hidden}
.video-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.video-thumb-empty{position:absolute;inset:0;display:grid;place-items:center;color:#9aa4b5;font-size:12px}
.video-duration{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;padding:2px 7px;border-radius:6px}
.video-body{padding:11px 12px 12px;display:grid;gap:5px}
.video-title{font-weight:700;font-size:13px;color:var(--ink);text-decoration:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.video-body small{color:#7d899c;font-size:11px}
.history-list{display:grid;gap:2px}
.brand-logo{width:31px;height:31px;border-radius:10px;object-fit:cover;display:inline-block}
.admin-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}
.admin-tabs a{padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;color:#58657b}
.admin-tabs a.active{background:#edf0ff;border-color:#c9d3ff;color:var(--blue);font-weight:700}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:8px 0 14px}
.kv>div{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 12px}
.kv span{display:block;font-size:10px;letter-spacing:.08em;color:#8994a8;font-weight:800;text-transform:uppercase}
.kv strong{display:block;font-size:19px;letter-spacing:-.03em;margin-top:3px}
.inline-form{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.log-box{background:#0f1424;color:#d6dcf0;font:12px/1.5 ui-monospace,Consolas,monospace;padding:12px;border-radius:10px;overflow:auto;max-height:420px;white-space:pre-wrap;word-break:break-word}
.table-scroll{overflow-x:auto}
