:root{--bg:#f5f7fb;--panel:#fff;--text:#152033;--muted:#6b7280;--line:#e6eaf0;--accent:#13b981;--accent2:#dff9ef;--shadow:0 14px 40px rgba(24,39,75,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#101827;color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{font-weight:900;font-size:20px;margin-bottom:28px}.brand span{font-weight:600;color:#a7f3d0}.sidebar nav{display:grid;gap:8px}.sidebar nav a{color:#cbd5e1;text-decoration:none;padding:11px 12px;border-radius:10px}.sidebar nav a.active,.sidebar nav a:hover{background:#1e293b;color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid #273449;padding-top:18px}.usage{font-weight:800;color:#6ee7b7}.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.search{color:#94a3b8}.page-head{display:flex;justify-content:space-between;align-items:end;padding:32px 34px 20px}.page-head.compact{padding-bottom:14px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#7c8798;font-weight:800}.page-head h1{margin:6px 0 4px;font-size:34px}.page-head p{margin:0;color:var(--muted)}.btn,.ghost{border:0;border-radius:10px;padding:11px 16px;cursor:pointer;font-weight:800}.btn{background:var(--accent);color:white;text-decoration:none;display:inline-block}.ghost{background:#eef2f7;color:#334155}.hero-card,.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;margin:0 34px 22px;padding:24px}.hero-card{display:grid;grid-template-columns:1fr 180px;gap:20px;background:linear-gradient(135deg,#fff 45%,#eafff6)}.hero-copy h2{font-size:28px;margin:12px 0 8px}.hero-copy p{color:var(--muted);max-width:750px}.pill{display:inline-block;background:var(--accent2);color:#087958;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}.hero-orb{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;background:#0f172a;color:#6ee7b7;font-weight:900;font-size:22px;justify-self:center}.url-row{display:flex;gap:10px;margin-top:20px}.url-row input,.panel input,.panel select{width:100%;border:1px solid #dbe2ea;background:#fff;border-radius:10px;padding:12px 13px;outline:none}.panel label{display:block;font-weight:800;margin:18px 0 7px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0 34px 22px}.stats-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.stats-grid strong{display:block;font-size:26px}.stats-grid span{color:var(--muted);font-size:14px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel h2,.panel h3{margin-top:0}.feature-grid,.analysis-grid,.compliance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature-grid div,.analysis-grid article,.compliance-grid span{background:#f8fafc;border:1px solid var(--line);padding:14px;border-radius:12px}.analysis-grid article small{display:block;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.analysis-grid article strong{display:block;margin-top:6px}.steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 34px 18px}.steps span{background:#e9edf3;color:#64748b;padding:8px 11px;border-radius:999px;font-size:13px;font-weight:800}.steps span.active{background:#d9faec;color:#087958}.actions{margin-top:22px;display:flex;gap:10px}.hidden{display:none!important}.muted{color:var(--muted)}.progress-list{display:grid;gap:10px;margin-top:18px}.progress-list div{padding:12px;border-radius:10px;background:#f8fafc;border:1px solid var(--line)}.progress-list div.done{background:#ecfdf5;border-color:#a7f3d0}.status{padding:6px 9px;border-radius:999px;font-size:12px;font-weight:900}.status.good{background:#dcfce7;color:#166534}.angle-card{padding:18px;border-radius:14px;background:linear-gradient(135deg,#effdf7,#f8fffc);border:1px solid #bbf7d0}.hooks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hook-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.hook-card strong{display:block;font-size:18px}.hook-meta{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.hook-meta span{font-size:12px;background:#f1f5f9;padding:5px 7px;border-radius:999px}.top-hooks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.top-hook{background:#111827;color:white;padding:18px;border-radius:14px}.top-hook small{color:#a7f3d0}.size-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.size-card{border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:6px;cursor:pointer}.size-card input{width:auto}.size-card span{color:var(--muted)}.tabs{display:flex;gap:8px;margin:12px 0 18px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:9px;cursor:pointer}.tabs button.active{background:#111827;color:#fff}.preview-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.canvas-stage{min-height:400px;background:#eef2f7;border-radius:14px;display:grid;place-items:center;padding:28px;overflow:auto}.banner{position:relative;overflow:hidden;background:linear-gradient(135deg,#10233f,#176b5c);color:#fff;box-shadow:0 18px 45px rgba(15,23,42,.2)}.banner .inner{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.banner h4{margin:0 0 8px;font-weight:950;line-height:1.02}.banner p{margin:0;color:#d7fff1}.banner .cta{display:inline-block;margin-top:14px;background:#fff;color:#0f172a;border-radius:999px;font-weight:900;padding:8px 12px;align-self:flex-start}.banner:after{content:"";position:absolute;width:42%;aspect-ratio:1;border-radius:50%;right:-9%;bottom:-20%;background:rgba(255,255,255,.13)}.banner-300x250{width:300px;height:250px;padding:22px}.banner-300x250 h4{font-size:28px}.banner-728x90{width:728px;height:90px;padding:12px 18px}.banner-728x90 .inner{display:grid;grid-template-columns:1.6fr 1fr auto;align-items:center;gap:18px}.banner-728x90 h4{font-size:24px;margin:0}.banner-728x90 p{font-size:13px}.banner-728x90 .cta{margin:0}.banner-160x600{width:160px;height:600px;padding:18px}.banner-160x600 h4{font-size:27px}.banner-160x600 p{font-size:14px}.info-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.info-card dl{margin:0}.info-card dt{font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:800;margin-top:12px}.info-card dd{margin:5px 0 0;font-weight:700}.abc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.abc-grid article{border:1px solid var(--line);border-radius:14px;padding:16px}.abc-grid article b{display:block;margin-bottom:8px}.compliance-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.stats-grid,.feature-grid,.analysis-grid{grid-template-columns:repeat(2,1fr)}.preview-wrap{grid-template-columns:1fr}.hero-card{grid-template-columns:1fr}.hero-orb{display:none}.top-hooks,.abc-grid,.size-grid{grid-template-columns:1fr}.banner-728x90{transform:scale(.8);transform-origin:center}}
@media(max-width:640px){.page-head{padding:22px 16px 14px;align-items:start;gap:14px;flex-direction:column}.hero-card,.panel{margin-left:16px;margin-right:16px;padding:18px}.stats-grid{margin-left:16px;margin-right:16px;grid-template-columns:1fr 1fr}.steps{margin-left:16px;margin-right:16px}.url-row{flex-direction:column}.hooks-grid,.analysis-grid,.feature-grid,.compliance-grid{grid-template-columns:1fr}.topbar{padding:0 16px}.search{font-size:13px}.banner-728x90{transform:scale(.45)} }
.helper{font-size:13px;color:var(--muted);margin:9px 0 0}.status.warn{background:#fff7ed;color:#9a3412}.status.neutral{background:#eef2ff;color:#3730a3}.error-panel{border-color:#fed7aa;background:#fffaf5}.evidence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.evidence-grid article{background:#f8fafc;border:1px solid var(--line);padding:14px;border-radius:12px;min-width:0}.evidence-grid article small{display:block;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.evidence-grid article strong{display:block;margin-top:6px;overflow-wrap:anywhere}.raw-details{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.raw-details summary{cursor:pointer;padding:14px 16px;font-weight:800}.raw-evidence{border-top:1px solid var(--line);padding:16px}.raw-evidence pre{white-space:pre-wrap;word-break:break-word;margin:0 0 18px;background:#0f172a;color:#dbeafe;border-radius:10px;padding:14px;max-height:320px;overflow:auto;font-size:12px;line-height:1.55}.raw-evidence p{line-height:1.65;max-height:360px;overflow:auto;background:#f8fafc;border-radius:10px;padding:14px}.raw-evidence h4{margin:16px 0 8px}.warning-list{margin-bottom:14px}.warning-list p{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;margin:7px 0;padding:10px;border-radius:9px;max-height:none}
@media(max-width:980px){.evidence-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.evidence-grid{grid-template-columns:1fr}}

/* Banner Renderer V5 */
.renderer-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.renderer-copy{display:grid;gap:2px;margin-right:auto}.renderer-copy span{font-size:12px;color:var(--muted)}.renderer-toolbar select{width:auto;min-width:92px;padding:10px 12px}.render-canvas{display:block;max-width:100%;height:auto;box-shadow:0 18px 45px rgba(15,23,42,.22);background:#0f172a}.export-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.export-actions .muted{font-size:13px}.canvas-stage{min-height:400px}.canvas-stage canvas[width="728"]{max-width:min(100%,728px)}
@media(max-width:640px){.renderer-toolbar{align-items:stretch}.renderer-toolbar .btn,.renderer-toolbar .ghost,.renderer-toolbar select{width:100%}.render-canvas{max-width:100%}}
