:root{--surface-0:#ffffff;--surface-1:#f8fafc;--ink-900:#0f172a;--ink-600:#475569;--ink-500:#64748b;--brand-700:#15803d;--brand-600:#16a34a;--brand-100:#dcfce7;--brand-50:#f0fdf4;--navy-800:#1b3f72;--border-200:#e2e8f0;--warn-700:#b45309;--warn-100:#fef3c7;--danger-700:#b91c1c;--radius-sm:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(15,23,42,0.05);--shadow-md:0 6px 24px rgba(15,23,42,0.07);--shadow-lg:0 20px 48px rgba(15,23,42,0.12);--font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-0);color:var(--ink-900);font:400 17px/1.65 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--brand-700)}h1,h2,h3{margin:0;letter-spacing:-.01em}p{margin:0}:focus-visible{outline:3px solid var(--brand-600);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}.header{border-bottom:1px solid var(--border-200);background:rgba(255,255,255,.95)}.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink-900);font-weight:800;font-size:20px;letter-spacing:-.02em}.logo-mark{width:38px;height:38px;border-radius:11px;background:var(--brand-600);display:grid;place-items:center}.logo span.g{color:var(--brand-700)}.nav{display:flex}.btn,.nav{align-items:center;gap:8px}.btn{display:inline-flex;justify-content:center;min-height:48px;padding:0 26px;border-radius:var(--radius-pill);font:600 16px/1 var(--font);text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .2s,box-shadow .2s,border-color .2s,color .2s,background .2s}.btn-primary{background:var(--brand-700);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:progress;transform:none}.btn-secondary{background:var(--surface-0);color:var(--ink-900);border-color:var(--border-200)}.btn-secondary:hover{border-color:var(--brand-600);color:var(--brand-700)}.btn-ghost{background:none;color:var(--ink-600);padding:0 14px}.btn-ghost:hover{color:var(--ink-900)}.btn-block{width:100%}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-700)}.lead{font-size:19px;line-height:30px}.lead,.muted{color:var(--ink-600)}.caption{font-size:13px;color:var(--ink-500)}.hero{background:var(--surface-1);padding:72px 0 64px}.section{padding:56px 0}.stack{display:flex;flex-direction:column}.gap-1{gap:8px}.gap-2{gap:12px}.gap-3{gap:16px}.gap-4{gap:24px}.gap-5{gap:32px}.card{background:var(--surface-0);border:1px solid var(--border-200);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm)}.card-raised{box-shadow:var(--shadow-lg);border-radius:var(--radius-xl)}.card-link{display:block;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}.card-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(22,163,74,.4)}.grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:5px 13px;font-size:13px;font-weight:700;line-height:18px}.badge-ok{background:var(--brand-100);color:var(--brand-700)}.badge-warn{background:var(--warn-100);color:var(--warn-700)}.badge-neutral{background:var(--surface-1);color:var(--ink-600);border:1px solid var(--border-200)}.field{display:flex;flex-direction:column;gap:8px}.label{font-size:15px;font-weight:600}.hint{font-size:14px;color:var(--ink-500)}.input,.select{width:100%;min-height:52px;padding:0 16px;border-radius:var(--radius-sm);border:1.5px solid var(--border-200);background:var(--surface-0);color:var(--ink-900);font:400 16px var(--font)}.input:focus,.select:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-100)}.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;min-height:160px;padding:24px;border:2px dashed var(--border-200);border-radius:var(--radius-lg);background:var(--surface-1);cursor:pointer;transition:border-color .2s,background .2s}.drop.has-file,.drop:focus-within,.drop:hover{border-color:var(--brand-600);background:var(--brand-50)}.alert{border-radius:var(--radius-sm);padding:14px 16px;font-size:15px;line-height:22px}.alert-error{background:#fef2f2;color:var(--danger-700);border:1px solid #fecaca}.alert-ok{background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-100)}.score-ring{--p:0;width:132px;height:132px;flex:none;background:conic-gradient(var(--ring-color,var(--brand-600)) calc(var(--p) * 1%),var(--border-200) 0);place-items:center}.score-ring,.score-ring>div{border-radius:50%;display:grid}.score-ring>div{width:104px;height:104px;background:var(--surface-0);place-items:center;text-align:center}.score-num{font-size:38px;font-weight:800;line-height:1}.list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}.list li{display:flex;gap:12px;align-items:flex-start}.dot{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;margin-top:2px}.dot-ok{background:var(--brand-100);color:var(--brand-700)}.dot-warn{background:var(--warn-100);color:var(--warn-700)}.footer{border-top:1px solid var(--border-200);padding:32px 0;margin-top:40px}.footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;color:var(--ink-500)}@media (max-width:640px){body{font-size:16px}.hero{padding:48px 0 40px}.section{padding:40px 0}.card{padding:22px}.lead{font-size:17px;line-height:27px}.hide-sm{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important}}.bar{display:block;height:10px;border-radius:var(--radius-pill);background:var(--border-200);overflow:hidden}.bar>span{display:block;height:100%;border-radius:inherit}