/*
Secure code generated utilizing Code Guardian.
Applicable rules used: CG-INPUT-001.2, CG-INPUT-001.1, CG-INPUT-001.3, CG-INPUT-001.4, CG-INPUT-001.5, CG-INPUT-001.6, CG-INPUT-001.7, CG-INPUT-001.8
*/
:root { color-scheme:light; --ink:#14213d; --muted:#61708a; --line:#dce3ed; --blue:#1769e0; --blue-dark:#0e4fae; --red:#b42318; --red-soft:#fff1f0; --amber:#9a6700; --amber-soft:#fff8e6; --green:#067647; --green-soft:#ecfdf3; --white:#fff; --bg:#eef3f9; --panel-bg:#fff; --input-bg:#fff; --input-border:#cbd5e1; --input-text:#17253c; --field-color:#273852; --field-badge-bg:#edf2f8; --field-badge-text:#415875; --field-small:#78869a; --section-border:#e8edf4; --section-number-bg:#e8f1ff; --category-border:#e0e6ee; --feedback-border:#e4e9f0; --feedback-bg:#f7f9fc; --feedback-badge-bg:#edf1f6; --feedback-badge-text:#52637a; --feedback-text:#55657a; --rubric-border:#e7ebf1; --rubric-dt:#53647b; --rubric-p:#738196; --score-ring-bg:#edf2f7; --meter-bg:#e8edf3; --summary-color:#415875; --empty-icon-bg:#e8f1ff; --secondary-hover:#e9eff7; --ghost-color:#5a6a80; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
[data-theme="dark"] { color-scheme:dark; --ink:#e8eaf0; --muted:#9aa5b6; --line:#2d3748; --blue:#4a9eff; --blue-dark:#6bb3ff; --red:#ff6b6b; --red-soft:#3d1a1a; --amber:#ffb84d; --amber-soft:#3d2a1a; --green:#4ade80; --green-soft:#1a3d2a; --white:#1a202c; --bg:#0d1117; --panel-bg:#161b22; --input-bg:#0d1117; --input-border:#30363d; --input-text:#e8eaf0; --field-color:#c9d1d9; --field-badge-bg:#21262d; --field-badge-text:#8b949e; --field-small:#8b949e; --section-border:#30363d; --section-number-bg:#1f2937; --category-border:#30363d; --feedback-border:#30363d; --feedback-bg:#161b22; --feedback-badge-bg:#21262d; --feedback-badge-text:#8b949e; --feedback-text:#8b949e; --rubric-border:#30363d; --rubric-dt:#8b949e; --rubric-p:#6e7681; --score-ring-bg:#21262d; --meter-bg:#21262d; --summary-color:#8b949e; --empty-icon-bg:#1f2937; --secondary-hover:#21262d; --ghost-color:#8b949e; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); }
button,input,textarea { font:inherit; }
.topbar { height:64px; padding:0 max(24px,calc((100vw - 1440px)/2)); display:flex; align-items:center; justify-content:space-between; background:#0f1f38; color:#fff; }
.brand { display:flex; align-items:center; gap:11px; font-weight:750; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:#2d7ff0; font-size:13px; }
.privacy { color:#bdc9dc; font-size:13px; }
.topbar-right { display:flex; align-items:center; gap:12px; }
.theme-toggle { padding:8px 12px; font-size:18px; }
.theme-icon { display:block; }
main { max-width:1440px; margin:auto; padding:36px 24px 64px; }
.hero { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:25px; }
.hero h1 { margin:2px 0 7px; font-size:36px; letter-spacing:-.04em; line-height:1.1; }
.hero p { margin:0; color:var(--muted); }
.eyebrow { color:var(--blue)!important; font-size:11px!important; font-weight:800; letter-spacing:.13em; margin:0 0 7px!important; }
.hero-actions,.form-actions { display:flex; gap:10px; }
.workspace { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); gap:22px; align-items:start; }
form,.results-shell { display:grid; gap:18px; }
.results-shell { position:sticky; top:18px; }
.panel { background:var(--panel-bg); border:1px solid var(--line); border-radius:14px; padding:24px; box-shadow:0 5px 18px rgba(22,43,77,.045); }
.section-heading { display:flex; gap:13px; align-items:flex-start; border-bottom:1px solid var(--section-border); padding-bottom:17px; margin-bottom:20px; }
.section-heading>span { flex:none; display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:var(--section-number-bg); color:var(--blue); font-weight:800; font-size:13px; }
h2,h3,p { margin-top:0; }
.section-heading h2 { margin:1px 0 3px; font-size:18px; }
.section-heading p { margin:0; color:var(--muted); font-size:13px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:7px; color:var(--field-color); font-size:13px; font-weight:700; }
.field.wide { grid-column:1/-1; }
.field b { justify-self:start; font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--field-badge-text); background:var(--field-badge-bg); padding:3px 6px; border-radius:4px; }
.field small { color:var(--field-small); font-weight:400; }
input,textarea,select { width:100%; border:1px solid var(--input-border); border-radius:8px; padding:11px 12px; color:var(--input-text); background:var(--input-bg); outline:none; transition:border-color .15s,box-shadow .15s; font-weight:400; }
select { cursor:pointer; }
textarea { min-height:88px; resize:vertical; line-height:1.45; }
input:focus,textarea:focus,select:focus { border-color:#4a8ff0; box-shadow:0 0 0 3px rgba(23,105,224,.12); }
.invalid { border-color:#d92d20; box-shadow:0 0 0 3px rgba(217,45,32,.08); }
.button { border:0; border-radius:8px; padding:10px 15px; cursor:pointer; font-weight:750; transition:background .15s,transform .1s; }
.button:active { transform:translateY(1px); }
.primary { background:var(--blue); color:#fff; padding-inline:22px; }
.primary:hover { background:var(--blue-dark); }
.secondary { background:var(--panel-bg); color:var(--ink); border:1px solid var(--input-border); }
.secondary:hover,.ghost:hover { background:var(--secondary-hover); }
.ghost { background:transparent; color:var(--ghost-color); }
.form-actions { justify-content:flex-end; padding:3px 0; }
.copy-section { margin-bottom:18px; }
.copy-section button { width:100%; }
.copy-section { margin-bottom:18px; }
.copy-section button { width:100%; }
.results { min-height:430px; }
.results.empty { display:grid; place-items:center; }
#emptyState { text-align:center; max-width:350px; color:var(--muted); }
#emptyState h2 { color:var(--ink); margin:15px 0 7px; }
.empty-icon { margin:auto; width:56px; height:56px; display:grid; place-items:center; border-radius:50%; background:var(--empty-icon-bg); color:var(--blue); font-size:26px; font-weight:800; }
.score-header { display:flex; justify-content:space-between; gap:16px; align-items:start; }
.score-header h2 { font-size:25px; letter-spacing:-.025em; margin:8px 0 5px; }
.score-header p { color:var(--muted); font-size:14px; line-height:1.45; }
.status-pill { display:inline-block; border-radius:99px; padding:5px 9px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.status-pill.ready { color:var(--green); background:var(--green-soft); }
.status-pill.review { color:var(--amber); background:var(--amber-soft); }
.status-pill.blocked { color:var(--red); background:var(--red-soft); }
.score-ring { flex:none; width:92px; height:92px; border-radius:50%; display:grid; place-content:center; text-align:center; background:var(--score-ring-bg); border:8px solid var(--blue); }
.score-ring strong { font-size:25px; line-height:1; }
.score-ring small { color:var(--muted); font-size:10px; margin-top:3px; }
.meter { height:7px; border-radius:9px; overflow:hidden; background:var(--meter-bg); margin:18px 0; }
.meter span { display:block; height:100%; width:0; background:var(--blue); transition:width .4s; }
.category-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:21px; }
.category { border:1px solid var(--category-border); border-radius:8px; padding:10px; }
.category span { display:block; color:var(--muted); font-size:11px; margin-bottom:3px; }
.category strong { font-size:14px; }
.feedback-section { border-top:1px solid var(--feedback-border); padding-top:18px; margin-top:18px; }
.feedback-section h3 { display:flex; align-items:center; gap:7px; font-size:14px; margin-bottom:10px; }
.feedback-section h3 span { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:99px; background:var(--feedback-badge-bg); color:var(--feedback-badge-text); font-size:10px; }
.feedback-card { border-left:3px solid #9aa8ba; padding:9px 11px; background:var(--feedback-bg); border-radius:0 7px 7px 0; margin:8px 0; }
.feedback-card.blocker { border-color:#d92d20; background:var(--red-soft); }
.feedback-card.warning { border-color:#eaaa08; background:var(--amber-soft); }
.feedback-card.strength { border-color:#12b76a; background:var(--green-soft); }
.feedback-card strong { display:block; font-size:12px; margin-bottom:3px; text-transform:capitalize; }
.feedback-card p { margin:0; color:var(--feedback-text); font-size:12px; line-height:1.45; }
details { border-top:1px solid var(--feedback-border); margin-top:20px; padding-top:16px; }
summary { cursor:pointer; color:var(--summary-color); font-size:12px; font-weight:750; }
pre { white-space:pre-wrap; overflow-wrap:anywhere; background:#111c2f; color:#d9e4f5; padding:13px; border-radius:8px; font-size:11px; line-height:1.5; max-height:320px; overflow:auto; }
.rubric h3 { font-size:15px; margin-bottom:13px; }
.rubric dl { margin:0; display:grid; gap:7px; }
.rubric dl div { display:flex; justify-content:space-between; border-bottom:1px solid var(--rubric-border); padding-bottom:6px; }
.rubric dt,.rubric dd { margin:0; font-size:12px; }
.rubric dt { color:var(--rubric-dt); }
.rubric dd { font-weight:800; }
.rubric p { color:var(--rubric-p); font-size:11px; line-height:1.5; margin:14px 0 0; }
.modal { position:fixed; top:0; left:0; right:0; bottom:0; z-index:1000; display:none; place-items:center; }
.modal[hidden] { display:none !important; }
.modal:not([hidden]) { display:grid; }
.modal-overlay { position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.5); }
.modal-content { position:relative; background:var(--panel-bg); border:1px solid var(--line); border-radius:14px; padding:32px; max-width:500px; width:90%; box-shadow:0 10px 40px rgba(0,0,0,0.2); }
.modal-close { position:absolute; top:16px; right:16px; background:transparent; border:0; font-size:24px; line-height:1; padding:4px 8px; cursor:pointer; color:var(--muted); transition:color .15s; }
.modal-close:hover { color:var(--ink); }
.modal-content h2 { margin:0 0 16px; font-size:20px; letter-spacing:-.02em; padding-right:32px; }
.modal-content p { margin:0 0 24px; color:var(--muted); line-height:1.5; }
.modal-content a { color:var(--blue); text-decoration:underline; }
.modal-actions { display:flex; gap:12px; justify-content:flex-end; }
@media (max-width:1000px) { .workspace { grid-template-columns:1fr; } .results-shell { position:static; } }
@media (max-width:650px) { main { padding:24px 14px 45px; } .topbar { padding:0 14px; } .privacy { display:none; } .hero { display:block; } .hero-actions { margin-top:18px; flex-wrap:wrap; } .field-grid { grid-template-columns:1fr; } .field.wide { grid-column:auto; } .panel { padding:18px; } .score-ring { width:78px; height:78px; } }
.home-link { color:inherit; text-decoration:none; }
.home-link:focus-visible { outline:3px solid #4a9eff; outline-offset:5px; }
