:root{--navy:#15326e;--navy-2:#1e4596;--sun:#f6c21b;--sun-soft:#fff6d6;--ink:#1d2433;--line:#dfe4ee}
body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f7f8fb}
.navbar-usg{background:var(--navy);border-bottom:4px solid var(--sun)}
.navbar-usg .navbar-brand{font-weight:800;letter-spacing:-.01em}
.navbar-usg .navbar-brand{display:flex;align-items:center;white-space:normal;max-width:calc(100% - 84px);margin-right:.5rem;font-size:1.05rem;line-height:1.2}
.navbar-usg .brand-sub{color:var(--sun);font-weight:600;white-space:nowrap}
@media (max-width:575px){.navbar-usg .navbar-brand{font-size:.85rem}}
.navbar-usg .brand-mark{flex:0 0 auto;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sun);color:var(--navy);margin-right:.4rem}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-2);color:#fff}
.btn-sun{background:var(--sun);color:var(--navy);font-weight:700}.btn-sun:hover{background:#ffd54a;color:var(--navy)}
.hero{background:var(--navy);color:#fff;border-radius:1rem;padding:2rem 1.5rem;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(246,194,27,.95) 0 35%,rgba(246,194,27,.25) 36% 60%,transparent 61%)}
.hero h1{font-weight:800;letter-spacing:-.02em;max-width:22ch}
.panel{background:#fff;border:1px solid var(--line);border-radius:.75rem;padding:1rem 1.1rem}
.panel h2,.panel h3{font-weight:700}
.stat{font-size:1.9rem;font-weight:800;color:var(--navy);line-height:1}
.pre-line{white-space:pre-line}
.table thead th{background:#eef2f9;font-weight:700;white-space:nowrap}
.sig-pad{width:100%;height:190px;border:2px dashed #9aa6bd;border-radius:.6rem;background:#fff;touch-action:none;display:block}
#cam,#photoPreview{width:100%;max-width:360px;aspect-ratio:3/4;object-fit:cover;border-radius:.6rem;background:#111}
.thumb{width:44px;height:44px;object-fit:cover;border-radius:.35rem}
.sigthumb{height:34px;background:#fff;border:1px solid var(--line);border-radius:.25rem}
.q-card{border-left:4px solid var(--sun)}
.q-opt{display:block;border:1px solid var(--line);border-radius:.5rem;padding:.6rem .8rem;margin-bottom:.4rem;cursor:pointer}
.q-opt:has(input:checked){border-color:var(--navy);background:#eef3ff}
.timer{font-variant-numeric:tabular-nums;font-weight:800}
.group-card h3{font-weight:800;color:var(--navy)}
.badge-soft{background:var(--sun-soft);color:#7a5a00}
#reader{max-width:420px}
footer{color:#6b7385}
@media print{nav,footer,.no-print{display:none!important}body{background:#fff}}

.hero-acr{display:inline-block;background:var(--sun);color:var(--navy);font-weight:800;letter-spacing:.12em;border-radius:.5rem;padding:.15rem .7rem;margin-bottom:.6rem;position:relative;z-index:1}
.hero h1,.hero p{position:relative;z-index:1}
.hero-welcome{font-size:1.05rem;max-width:60ch}
.hero-quote{font-style:italic;opacity:.92;max-width:60ch;min-height:3em}
.hero-quote span{transition:opacity .4s}
.hero>*{position:relative;z-index:1}
@media (max-width:575px){.hero::after{width:150px;height:150px;right:-70px;top:-70px;opacity:.55}}
