:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17212b;background:#eef3f6}
*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}button,.buttonlink{cursor:pointer;border:1px solid #c7d2dc;border-radius:9px;padding:9px 13px;background:#fff;font-weight:700;color:#17212b;text-decoration:none;display:inline-block}
.primary{background:#1769aa;color:white;border-color:#1769aa}
header{height:68px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:#102f4b;color:white}
.brand{font-size:26px;font-weight:800;letter-spacing:.08em}.brand span{font-size:12px;opacity:.65}.motto{opacity:.85}
main{padding:18px;max-width:1600px;margin:auto}
#hero{text-align:center;padding:8vh 0}.hero h1,#hero h1{font-size:clamp(36px,6vw,70px);margin:20px auto 30px;max-width:900px}
.composer{background:#fff;border:1px solid #d3dde5;border-radius:16px;padding:12px}.composer.large{max-width:880px;margin:auto;box-shadow:0 10px 30px #102f4b12}
textarea{width:100%;min-height:110px;border:0;outline:0;resize:vertical;padding:12px;background:transparent;line-height:1.4}
.actions{display:flex;gap:8px;justify-content:flex-end}.examples{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.topline strong{display:block;font-size:21px}.topline small{color:#63727d}.top-actions{display:flex;gap:8px;flex-wrap:wrap}
.split{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:12px;height:calc(100vh - 116px)}
.pdf-pane,#reportPanel{background:#fff;border:1px solid #d4dee6;border-radius:12px;overflow:hidden}
#pdfFrame{width:100%;height:100%;border:0;background:#555}
#reportPanel{display:flex;flex-direction:column}.side-nav{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #d9e2e8}.side-nav button{border:0;border-radius:0;padding:11px 6px;font-size:12px}.side-tab.active{background:#dfefff;color:#0d5188}
.side-panel{display:none;overflow:auto;padding:16px;height:100%}.side-panel.active{display:block}
.card{border:1px solid #dae3e9;border-radius:10px;padding:11px;margin:9px 0;background:#f9fbfc}.pass{border-left:4px solid #248455}.review{border-left:4px solid #d19918}.fail{border-left:4px solid #bd4037}
.card strong{display:block}.card small{display:block;color:#62727f;margin-top:4px}.full{width:100%;margin-top:10px}
.msg{margin:9px 0}.bubble{border:1px solid #dce5eb;border-radius:11px;padding:10px;background:#f8fafb}.msg.user .bubble{background:#dfefff}.label{font-size:11px;font-weight:800;text-transform:uppercase;color:#657783;margin-bottom:4px}.draft{white-space:pre-wrap;font-size:12px;max-height:280px;overflow:auto}
.compact{margin-top:12px;position:sticky;bottom:0}.compact textarea{min-height:70px}
@media(max-width:950px){.split{grid-template-columns:1fr;height:auto}.pdf-pane{height:70vh}#reportPanel{height:75vh}.topline{align-items:flex-start;gap:10px}}
@media(max-width:650px){header{display:block;height:auto;text-align:center;padding:10px}.motto{margin-top:4px}.side-nav{grid-template-columns:1fr 1fr}.top-actions{justify-content:flex-start}}
.lede{max-width:850px;color:#536173}.voice-state{margin:10px 0;padding:9px 12px;border-radius:12px;background:#eef4fb;color:#18385d;font-weight:700}.voice-state.listening{outline:3px solid rgba(32,102,179,.2);animation:pulse 1.2s infinite}.voice-state.speaking{background:#f1f7ee;color:#285c2d}@keyframes pulse{50%{opacity:.55}}dialog{border:0;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.28);max-width:460px}dialog::backdrop{background:rgba(7,17,31,.55)}dialog form{padding:8px}.top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
