:root{color:#171717;background:#f5f2eb;font-family:Aptos,Segoe UI,ui-sans-serif,sans-serif;letter-spacing:0;--paper: #fffdf7;--paper-deep: #f5f2eb;--ink: #171717;--muted: #68645d;--graphite: #242321;--line: #d8d1c5;--line-dark: #2f2c28;--green: #2f6f55;--green-soft: #dceade;--amber: #b86c24;--amber-soft: #f7e1c5;--red: #b4443e;--red-soft: #f4d6d2;--blue: #315f85;--blue-soft: #d7e5ef;--shadow: 0 22px 70px rgba(58, 49, 35, .1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(90deg,rgba(23,23,23,.035) 1px,transparent 1px) 0 0 / 44px 44px,linear-gradient(0deg,rgba(23,23,23,.025) 1px,transparent 1px) 0 0 / 44px 44px,radial-gradient(circle at 12% 8%,rgba(184,108,36,.16),transparent 34%),linear-gradient(135deg,#fffdf7,#f5f2eb 48%,#edf3ee)}button,input{font:inherit;letter-spacing:0}button{cursor:pointer}a{color:inherit}.studio-shell{min-height:100vh;padding:22px}.workbench{width:min(1480px,100%);margin:0 auto;border:1px solid var(--line-dark);background:#fffdf7f0;box-shadow:var(--shadow)}.topbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:18px;align-items:center;min-height:68px;padding:0 22px;border-bottom:1px solid var(--line-dark);background:var(--graphite);color:#fffdf7}.brand-lock{display:inline-flex;align-items:center;gap:10px;width:fit-content;color:#fffdf7;text-decoration:none;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:700}.brand-lock svg{color:var(--amber-soft)}.topbar nav{display:flex;gap:18px;align-items:center}.topbar nav a{color:#fffdf7bd;font-size:13px;text-decoration:none}.topbar nav a:hover{color:#fffdf7}.language-button,.primary-button,.secondary-button,.copy-button,.tab-row button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid var(--line-dark);border-radius:0;font-size:13px;font-weight:800}.language-button{color:#fffdf7;background:transparent;border-color:#fffdf747;padding:0 13px}.command-surface{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr);gap:26px;align-items:end;padding:30px;border-bottom:1px solid var(--line-dark);background:linear-gradient(90deg,rgba(23,23,23,.05) 1px,transparent 1px) 0 0 / 22px 22px,linear-gradient(0deg,rgba(23,23,23,.03) 1px,transparent 1px) 0 0 / 22px 22px,#fffdf7}.intro-copy h1{margin:0;max-width:760px;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,4.7vw,66px);line-height:1.04;letter-spacing:0}.intro-copy p{margin:18px 0 0;max-width:690px;color:#4f4b45;font-size:17px;line-height:1.55}.scan-form{display:grid;gap:12px;padding:18px;border:1px solid var(--line-dark);background:#f9f5ec}.scan-form label{display:grid;gap:8px}.scan-form label>span{color:var(--graphite);font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px;font-weight:800}.input-wrap{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:center;min-height:50px;padding:0 13px;border:1px solid var(--line-dark);background:#fffdf7}.input-wrap svg{color:var(--green)}.input-wrap input{min-width:0;width:100%;height:48px;border:0;outline:none;background:transparent;color:var(--ink);font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:15px}.input-wrap:focus-within{box-shadow:inset 0 -3px 0 var(--amber)}.form-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.primary-button,.secondary-button{width:100%;min-height:48px}.primary-button{color:#fffdf7;background:var(--graphite)}.primary-button:disabled{opacity:.65}.secondary-button{color:var(--ink);background:#fffdf7}.privacy-line{grid-column:2;display:inline-flex;gap:8px;align-items:center;margin:0;color:#5d584f;font-size:13px}.privacy-line svg{color:var(--green)}.error-banner{display:flex;gap:10px;align-items:center;margin:18px 30px 0;padding:12px 14px;border:1px solid var(--red);background:var(--red-soft);color:#5e1e19;font-weight:800}.score-strip{display:grid;grid-template-columns:minmax(260px,1.3fr) repeat(4,minmax(130px,1fr));border-bottom:1px solid var(--line-dark)}.score-dial,.summary-tile{min-width:0;min-height:128px;padding:20px;border-right:1px solid var(--line-dark)}.score-dial{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;align-items:center;background:#2a2927;color:#fffdf7}.score-dial p,.summary-tile span{margin:0;color:var(--muted);font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px;font-weight:800}.score-dial p,.score-dial small{color:#fffdf79e}.score-dial strong{display:block;margin-top:4px;font-family:Georgia,Times New Roman,serif;font-size:26px}.score-dial small,.summary-tile small{display:block;min-width:0;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.dial-ring{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at center,#2a2927 58%,transparent 59%),conic-gradient(var(--green) var(--score),rgba(255,253,247,.2) 0)}.score-dial.warn .dial-ring{background:radial-gradient(circle at center,#2a2927 58%,transparent 59%),conic-gradient(var(--amber) var(--score),rgba(255,253,247,.2) 0)}.score-dial.fail .dial-ring{background:radial-gradient(circle at center,#2a2927 58%,transparent 59%),conic-gradient(var(--red) var(--score),rgba(255,253,247,.2) 0)}.dial-ring span{font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:24px;font-weight:900}.summary-tile{display:flex;flex-direction:column;justify-content:center;background:#fffdf7}.summary-tile strong{margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,4vw,44px);line-height:1}.summary-tile.pass strong{color:var(--green)}.summary-tile.warn strong{color:var(--amber)}.summary-tile.fail strong{color:var(--red)}.main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr);gap:0}.left-column,.right-column{display:grid;align-content:start;min-width:0}.right-column{border-left:1px solid var(--line-dark);background:#f8f4eb}.panel{min-width:0;padding:22px;border-bottom:1px solid var(--line-dark);background:#fffdf7b8}.panel-title{display:flex;gap:9px;align-items:center;margin-bottom:16px}.panel-title svg{color:var(--green)}.panel-title h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:25px;letter-spacing:0}.check-matrix{display:grid;gap:10px}.check-row{display:grid;grid-template-columns:24px minmax(190px,.75fr) minmax(220px,1fr) 44px;gap:12px;align-items:center;min-width:0;min-height:72px;padding:12px;border:1px solid var(--line);background:#fffdf7}.check-row svg,.issue svg,.empty-state svg{color:var(--blue)}.check-row.pass svg,.issue.pass svg,.empty-state svg{color:var(--green)}.check-row.warn svg,.issue.warn svg,.risk-strip svg{color:var(--amber)}.check-row.fail svg,.issue.fail svg{color:var(--red)}.check-row strong,.issue strong{display:block;font-size:14px}.check-row span,.issue span{display:block;margin-top:3px;color:var(--muted);overflow-wrap:anywhere;font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px}.check-row p,.issue p,.empty-state p,.cloudflare-note p{margin:0;color:#5a554d;line-height:1.45}.check-row b{justify-self:end;font-family:Georgia,Times New Roman,serif;font-size:24px}.csp-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.risk-strip{grid-column:1 / -1;display:flex;gap:8px;align-items:center;padding:11px 12px;border:1px solid var(--amber);background:var(--amber-soft);color:#5f3512;font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px;font-weight:800}.directive{min-height:128px;padding:13px;border:1px solid var(--line);background:#fffdf7}.directive span{display:block;color:var(--muted);font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px;font-weight:800}.directive strong{display:block;margin:8px 0;overflow-wrap:anywhere;color:var(--ink);font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px;line-height:1.35}.directive p{margin:0;color:#5a554d;font-size:13px;line-height:1.4}.directive.pass{box-shadow:inset 4px 0 0 var(--green)}.directive.warn{box-shadow:inset 4px 0 0 var(--amber)}.directive.fail{box-shadow:inset 4px 0 0 var(--red)}.directive.info{box-shadow:inset 4px 0 0 var(--blue)}.raw-table{display:grid;grid-template-columns:minmax(170px,.4fr) minmax(0,1fr);border:1px solid var(--line);background:#fffdf7}.raw-table span,.raw-table code{min-width:0;padding:10px 12px;border-bottom:1px solid var(--line);font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}.raw-table span{color:var(--green);font-weight:900;border-right:1px solid var(--line);background:#f7f3eb}.raw-table code{color:#3e3a34}.tab-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line-dark);border-bottom:0}.tab-row button{min-width:0;border:0;border-right:1px solid var(--line-dark);background:#fffdf7;color:var(--muted)}.tab-row button:last-child{border-right:0}.tab-row button.active{color:#fffdf7;background:var(--graphite)}.code-output{position:relative;border:1px solid var(--line-dark);background:#211f1c}.code-output pre{min-height:330px;max-height:520px;margin:0;padding:18px;overflow:auto;color:#f9f0dc;font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.copy-button{position:absolute;top:12px;right:12px;min-height:36px;padding:0 11px;border-color:#fffdf747;color:#fffdf7;background:#fffdf714}.issue-list{display:grid;gap:10px}.issue{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line);background:#fffdf7}.empty-state{display:grid;place-items:center;gap:10px;min-height:190px;padding:22px;text-align:center;border:1px solid var(--line);background:#fffdf7}.empty-state.compact{min-height:150px}.empty-state strong{font-family:Georgia,Times New Roman,serif;font-size:22px}.cloudflare-note{display:grid;gap:10px;margin:22px;padding:15px;border:1px solid var(--line-dark);background:var(--green-soft)}.cloudflare-note div{display:flex;gap:8px;align-items:center}.cloudflare-note svg{color:var(--green)}.visual-asset{margin:0 22px 22px;border:1px solid var(--line-dark);background:#211f1c}.visual-asset img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.command-surface,.main-grid{grid-template-columns:1fr}.privacy-line{grid-column:1}.right-column{border-left:0}.score-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.score-dial{grid-column:1 / -1}.csp-map{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.studio-shell{padding:10px}.topbar{grid-template-columns:1fr auto;padding:12px}.topbar nav{grid-column:1 / -1;order:3}.brand-lock{font-size:18px}.command-surface,.panel{padding:16px}.intro-copy h1{font-size:clamp(30px,11vw,44px)}.form-actions,.score-strip,.csp-map,.raw-table,.tab-row{grid-template-columns:1fr}.score-dial,.summary-tile{min-height:112px;border-right:0;border-bottom:1px solid var(--line-dark)}.check-row{grid-template-columns:22px minmax(0,1fr) 38px}.check-row p{grid-column:2 / -1}.raw-table span{border-right:0;border-bottom:0}.tab-row button{border-right:0;border-bottom:1px solid var(--line-dark)}.cloudflare-note,.visual-asset{margin:16px}}
