@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_1c74a485-module__Rhx65a__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_1c74a485-module__Rhx65a__variable{--font-display:"Space Grotesk","Space Grotesk Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.ba7d7329.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0c27b1b4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.ad37b9d9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_564d2be6-module__ne8-LG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_564d2be6-module__ne8-LG__variable{--font-serif:"Fraunces","Fraunces Fallback"}
:root{--bg:#f3f0e8;--ink:#1e293b;--muted:#475569;--panel:#ffffffd1;--border:#0f172a1f;--accent:#0d5c63;--accent-2:#9a3412;--accent-3:#14532d}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 4%,#0d5c632e,transparent 42%),radial-gradient(circle at 90% 20%,#9a341229,transparent 38%),radial-gradient(circle at 48% 95%,#14532d29,transparent 36%),linear-gradient(180deg,#f8f5ee 0%,var(--bg)100%);font-family:var(--font-display),sans-serif}a{color:inherit;text-decoration:none}.page-shell{width:min(1100px,94vw);margin:0 auto;padding:28px 0 40px}.panel{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:22px;padding:20px}.button-row{flex-wrap:wrap;gap:10px;display:flex}.btn{border:1px solid #0000;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600}.btn-primary{color:#f8fafc;background:linear-gradient(135deg,#0d5c63 0%,#0a4a50 100%)}.btn-outline{color:#0f172a;background:#fffc;border-color:#0d5c6357}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#0d5c63;margin:0;font-size:11px;font-weight:700}h1,h2,h3{font-family:var(--font-serif),serif;margin:0}p{color:var(--muted);margin:0;line-height:1.6}.grid{gap:12px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--border);background:#ffffffbd;border-radius:16px;padding:14px}.metric{color:#0f172a;margin-top:4px;font-size:28px}.dashboard-shell{grid-template-columns:250px minmax(0,1fr);gap:14px;display:grid}.sidebar{flex-direction:column;gap:10px;display:flex}.sidebar a{border:1px solid var(--border);background:#ffffffc2;border-radius:14px;padding:11px 12px}.sidebar .title{color:#0f172a;font-weight:700}.sidebar .desc{font-size:12px}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.rubric-groups{gap:12px;margin-top:12px;display:grid}.rubric-group-card{border:1px solid var(--border);background:#ffffffb3;border-radius:14px;padding:12px}.rubric-group-title{color:#0f172a;margin-bottom:8px;font-weight:700}.rubric-criterion-card{background:#ffffffc7;border:1px dashed #0f172a29;border-radius:12px;padding:10px}.rubric-required-badge{letter-spacing:.04em;text-transform:uppercase;color:#9a3412;background:#9a34121f;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.scientific-toast{z-index:70;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;min-width:260px;max-width:420px;padding:10px 12px;display:flex;position:fixed;top:18px;right:18px;box-shadow:0 16px 32px #0f172a2e}.scientific-toast-success{color:#ecfdf5;background:#14532df2}.scientific-toast-error{color:#fef2f2;background:#7f1d1df2}.scientific-toast-info{color:#f8fafc;background:#0f172aed}.scientific-toast-close{color:inherit;cursor:pointer;background:0 0;border:none;font-weight:700}.scientific-modal-overlay{z-index:80;background:#0f172a6b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.scientific-modal-card{border:1px solid var(--border);background:#fffffff5;border-radius:18px;width:min(500px,96vw);padding:16px;box-shadow:0 18px 48px #0f172a3d}.scientific-modal-card h3{font-size:24px}.scientific-modal-card p{margin-top:8px}@media (max-width:900px){.grid-4,.grid-2,.dashboard-shell{grid-template-columns:1fr}}
