:root{color:#142033;font-synthesis:none;text-rendering:optimizelegibility;background:#edf4ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{background:radial-gradient(circle at 0 0,#4a90ff3d,#0000 32rem),linear-gradient(135deg,#f8fbff 0%,#eef6ff 48%,#eaf1ff 100%);min-height:100vh}.topbar{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:24px;display:flex}.brand,.topbar nav,.eyebrow,.rating,.button,.panel-title,.alert{align-items:center;display:flex}.brand{gap:10px;font-size:1.1rem;font-weight:800}.brand-mark{color:#fff;background:linear-gradient(135deg,#2563eb,#08a6a6);border-radius:16px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.topbar nav{background:#ffffffb8;border:1px solid #798fb13d;border-radius:999px;gap:6px;padding:6px}.topbar nav a{color:#52627a;border-radius:999px;padding:10px 14px;font-weight:700}.topbar nav a.active{color:#fff;background:#142033}main{max-width:1180px;margin:0 auto;padding:24px}.hero{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:center;gap:30px;padding:46px 0 34px;display:grid}.hero-copy h1{letter-spacing:-.07em;max-width:860px;margin:18px 0;font-size:clamp(2.4rem,6vw,5rem);line-height:.96}.hero-copy p{color:#52627a;max-width:760px;margin:0;font-size:1.12rem;line-height:1.75}.eyebrow{color:#0e7490;text-transform:uppercase;gap:8px;font-weight:800}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{cursor:pointer;border:0;border-radius:16px;justify-content:center;gap:8px;min-height:48px;padding:0 18px;font-weight:800;transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:linear-gradient(135deg,#2563eb,#0891b2);box-shadow:0 16px 32px #2563eb3d}.button.ghost{color:#23334d;background:#fff;border:1px solid #798fb147}.button:disabled{cursor:progress;opacity:.72;transform:none}.panel,.hero-card{background:#ffffffd1;border:1px solid #798fb13b;border-radius:30px;box-shadow:0 24px 70px #1b2c4c1a}.hero-card{gap:14px;padding:28px;display:grid}.hero-card svg{color:#0e7490}.hero-card strong{font-size:1.45rem}.hero-card span{color:#52627a;line-height:1.6}.workspace{grid-template-columns:minmax(310px,.82fr) minmax(0,1.18fr);gap:24px;padding:22px 0 60px;display:grid}.panel{padding:26px}.panel-title{gap:14px;margin-bottom:22px}.panel-title svg{color:#2563eb}h2,h1,p{margin-top:0}.panel-title h2{margin-bottom:4px}.panel-title p,.muted{color:#67758b;margin:0}label{color:#23334d;gap:8px;margin-bottom:16px;font-weight:800;display:grid}input{color:#142033;background:#f8fbff;border:1px solid #d8e3f3;border-radius:16px;outline:none;min-height:48px;padding:0 14px}input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.switch-row{background:#f8fbff;border:1px solid #d8e3f3;border-radius:18px;justify-content:space-between;align-items:center;min-height:78px;padding:0 16px;display:flex}.switch-row input{min-height:auto;transform:scale(1.35)}.alert{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;gap:10px;margin:12px 0;padding:12px 14px}.form-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.score-panel{min-height:630px}.empty-state{color:#52627a;text-align:center;align-content:center;justify-items:center;min-height:560px;display:grid}.empty-state h2{color:#142033;margin:18px 0 8px}.score-header{justify-content:space-between;align-items:start;gap:18px;display:flex}.score-header h2{margin:4px 0;font-size:clamp(1.6rem,4vw,2.6rem)}.score-header p{color:#52627a;line-height:1.6}.rating{color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;flex-shrink:0;gap:6px;padding:8px 12px;font-weight:900}.score-layout{grid-template-columns:260px 1fr;align-items:center;gap:20px;display:grid}.gauge{place-items:center;display:grid;position:relative}.gauge svg{width:220px;height:220px;transform:rotate(-90deg)}.track{fill:none;stroke:#e6edf8;stroke-width:18px}.progress{fill:none;stroke:#2563eb;stroke-linecap:round;stroke-width:18px;transition:stroke-dashoffset .6s}.gauge-number{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.gauge-number strong{letter-spacing:-.08em;font-size:3.4rem}.gauge-number span{color:#67758b;font-weight:800}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stat-card{background:#f8fbff;border:1px solid #dfe8f5;border-radius:20px;padding:18px}.stat-card span{color:#67758b;margin-bottom:8px;font-size:.9rem;font-weight:800;display:block}.stat-card strong{font-size:1.35rem}.factor-list{gap:12px;margin-top:24px;display:grid}.factor{background:#fff;border:1px solid #e3ebf7;border-radius:18px;padding:16px}.factor-top{justify-content:space-between;align-items:center;display:flex}.factor-top span{border-radius:999px;padding:5px 9px;font-size:.85rem;font-weight:900}.factor-top .good{color:#047857;background:#ecfdf5}.factor-top .neutral{color:#b45309;background:#fffbeb}.factor-top .risk{color:#b91c1c;background:#fef2f2}.bar{background:#e8eef8;border-radius:999px;height:9px;margin:12px 0;overflow:hidden}.bar span{background:linear-gradient(90deg,#2563eb,#08a6a6);height:100%;display:block}.factor p{color:#5b6a82;margin:0;font-size:.94rem;line-height:1.55}.method-page{padding-bottom:70px}.methodology-hero{max-width:860px;margin:34px 0 22px}.methodology-hero svg{color:#0e7490}.methodology-hero h1{letter-spacing:-.06em;margin:16px 0;font-size:clamp(2rem,5vw,4rem)}.methodology-hero p{color:#52627a;line-height:1.7}.method-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.method-card h2{margin:12px 0 8px}.method-card p{color:#52627a;line-height:1.6}.method-card svg{color:#2563eb}@media (width<=900px){.hero,.workspace,.score-layout,.method-grid{grid-template-columns:1fr}.score-layout{justify-items:center}}@media (width<=620px){.topbar{flex-direction:column;align-items:stretch;gap:16px}.topbar nav{justify-content:center}main{padding:16px}.grid-2,.stats-grid{grid-template-columns:1fr}.score-header{flex-direction:column}.hero-copy h1{font-size:2.45rem}}
