@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_eaae45be-module__q-fJ7q__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_eaae45be-module__q-fJ7q__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.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:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_51f09280-module__sZR_vG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_51f09280-module__sZR_vG__variable{--font-serif:"Instrument Serif", "Instrument Serif Fallback"}
:root{--font-body:var(--font-inter), "Inter", system-ui, sans-serif;--font-display:var(--font-inter), "Inter", system-ui, sans-serif;--font-mono:var(--font-mono), "JetBrains Mono", ui-monospace, monospace;--font-serif:var(--font-serif), "Instrument Serif", ui-serif, Georgia, serif;--ink:#111;--ink-2:#4b4b4f;--ink-3:#8a8a90;--ink-fog:#1111110a;--paper:#f6f4ee;--paper-2:#efece4;--page:#fff;--rule:#11111114;--rule-2:#11111124;--rule-3:#11111138;--mark:#e8590c;--mark-ink:#b8440a;--mark-fog:#e8590c14;--ok:#0f7d4b;--warn:#b25b00;--fail:#b8251e;--ok-fog:#0f7d4b14;--warn-fog:#b25b0014;--fail-fog:#b8251e14;--bg:var(--paper);--bg-card:var(--page);--bg-sidebar:var(--page);--bg-sidebar-hover:var(--paper-2);--bg-surface:var(--paper-2);--bg-surface-hover:#e9e6dd;--bg-accent:var(--mark);--bg-accent-hover:var(--mark-ink);--bg-accent-light:var(--mark-fog);--text:var(--ink);--text-secondary:var(--ink-2);--text-muted:var(--ink-3);--text-inverse:var(--paper);--text-accent:var(--mark-ink);--border:var(--rule);--border-light:#1111110a;--green:var(--ok);--green-bg:var(--ok-fog);--amber:var(--warn);--amber-bg:var(--warn-fog);--red:var(--fail);--red-bg:var(--fail-fog);--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;--shadow-sm:0 1px 0 #1111110a;--shadow-md:0 2px 8px #1111110a, 0 1px 2px #11111108;--shadow-lg:0 8px 24px #1111110f, 0 2px 8px #1111110a;--shadow-card:0 1px 0 #1111110a;--transition-fast:.14s ease;--transition-normal:.2s ease;--transition-slow:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01", "ss03";background-image:radial-gradient(1px 1px at 20% 12%,#11111106 1px,#0000 0),radial-gradient(1px 1px at 72% 68%,#11111106 1px,#0000 0),radial-gradient(1px 1px at 44% 88%,#11111105 1px,#0000 0);background-size:180px 180px,260px 260px,220px 220px;background-attachment:fixed;font-size:15px;line-height:1.55}::selection{background-color:var(--ink);color:var(--paper)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes skeleton{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes countUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes gradeBounce{0%{opacity:0;transform:scale(.9)}60%{opacity:1;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes softPing{0%,to{opacity:1}50%{opacity:.35}}.animate-fade-in{animation:.28s both fadeIn}.animate-fade-in-up{animation:.36s cubic-bezier(.2,.8,.2,1) both fadeInUp}.animate-slide-down{animation:.2s both slideDown}.animate-scale-in{animation:.2s both scaleIn}.animate-count-up{animation:.48s cubic-bezier(.2,.8,.2,1) both countUp}.animate-grade-bounce{animation:.38s .15s both gradeBounce}.animate-ping{animation:1.8s ease-in-out infinite softPing}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}.stagger>:nth-child(7){animation-delay:.3s}.stagger>:nth-child(8){animation-delay:.35s}.stagger>:nth-child(9){animation-delay:.4s}.stagger>:nth-child(10){animation-delay:.45s}.focus-ring:focus-visible,:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:3px}.heading-xl{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink);font-size:clamp(1.75rem,3.2vw,2.25rem);font-weight:640;line-height:1.1}.heading-lg{font-family:var(--font-display);letter-spacing:-.022em;color:var(--ink);font-size:clamp(1.375rem,2.4vw,1.625rem);font-weight:620;line-height:1.2}.heading-md{font-family:var(--font-display);letter-spacing:-.014em;color:var(--ink);font-size:17px;font-weight:600;line-height:1.35}.text-body{color:var(--ink);font-size:15px;line-height:1.55}.text-sm{font-size:13.5px;line-height:1.5}.text-xs{font-size:12px;line-height:1.5}.text-secondary{color:var(--ink-2)}.text-muted{color:var(--ink-3)}.section-label{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:500}.tabular-nums{font-variant-numeric:tabular-nums}.font-mono{font-family:var(--font-mono);font-feature-settings:"zero"}.font-serif{font-family:var(--font-serif);font-style:italic}.t-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.t-label-mark{color:var(--mark-ink)}.rail{padding-left:clamp(1.25rem,2.5vw,2rem);position:relative}.rail:before{content:"";background:repeating-linear-gradient(to bottom, var(--rule) 0, var(--rule) 6px, transparent 6px, transparent 14px);width:1px;position:absolute;top:0;bottom:0;left:clamp(.375rem,1vw,.875rem)}.rail-tick{background:var(--ink);width:9px;height:1px;position:absolute;left:calc(clamp(.375rem,1vw,.875rem) - 4px)}.rail-coord{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;background:var(--paper);padding:0 4px;font-size:10px;position:absolute;left:calc(clamp(.375rem,1vw,.875rem) + 10px);transform:translateY(-50%)}.cropped{position:relative}.cropped:before,.cropped:after,.cropped>.cr-tl,.cropped>.cr-br{content:"";pointer-events:none;width:8px;height:8px;position:absolute}.cropped:before{border-top:1px solid var(--ink);border-left:1px solid var(--ink);top:-1px;left:-1px}.cropped:after{border-top:1px solid var(--ink);border-right:1px solid var(--ink);top:-1px;right:-1px}.cropped>.cr-tl{border-bottom:1px solid var(--ink);border-left:1px solid var(--ink);bottom:-1px;left:-1px}.cropped>.cr-br{border-bottom:1px solid var(--ink);border-right:1px solid var(--ink);bottom:-1px;right:-1px}.section-meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;align-items:center;gap:1.125rem;font-size:11px;display:flex}.section-meta b{color:var(--ink);font-weight:500}.sig{font-family:var(--font-mono);letter-spacing:.02em;font-size:12px}.sig-ok{color:var(--ok)}.sig-warn{color:var(--warn)}.sig-fail{color:var(--fail)}.dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.dot-ok{background:var(--ok);box-shadow:0 0 0 2px #0f7d4b1f}.dot-warn{background:var(--warn);box-shadow:0 0 0 2px #b25b001f}.dot-fail{background:var(--fail);box-shadow:0 0 0 2px #b8251e1f}.hr-hair{border:none;border-top:1px solid var(--rule);margin:0}.hr-tick{border:none;border-top:1px dashed var(--rule-2);margin:0}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;height:36px;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);letter-spacing:-.003em;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-family:inherit;font-size:13.5px;font-weight:540;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover:not(:disabled){background:#2a2a2a;border-color:#2a2a2a;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--page);color:var(--ink);border-color:var(--rule-2)}.btn-secondary:hover:not(:disabled){border-color:var(--rule-3);background:#fcfbf8;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--ink-fog);color:var(--ink)}.btn-mark{background:var(--mark);color:#fff;border-color:var(--mark)}.btn-mark:hover:not(:disabled){background:var(--mark-ink);border-color:var(--mark-ink);transform:translateY(-1px)}.btn-mark:active:not(:disabled){transform:translateY(0)}.btn-danger{background:var(--fail);color:#fff;border-color:var(--fail)}.btn-danger:hover:not(:disabled){background:#932019;border-color:#932019}.btn-danger:active:not(:disabled){transform:translateY(1px)}.btn-sm{gap:5px;height:28px;padding:0 10px;font-size:12.5px}.btn-lg{height:42px;padding:0 18px;font-size:14px}.btn-icon{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--ink-3);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.btn-icon:hover{background:var(--ink-fog);color:var(--ink)}.btn-icon-danger:hover{background:var(--fail-fog);color:var(--fail);border-color:#b8251e38}.btn-link{color:var(--mark-ink);cursor:pointer;text-underline-offset:3px;transition:text-decoration-color var(--transition-fast);background:0 0;border:none;padding:0;font-family:inherit;font-weight:540;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.btn-link:hover{-webkit-text-decoration-color:var(--mark-ink);text-decoration-color:var(--mark-ink)}.btn-toggle{border:1px solid var(--rule);color:var(--ink-3);cursor:pointer;font-size:11.5px;font-weight:540;font-family:var(--font-mono);letter-spacing:.02em;transition:all var(--transition-fast);background:0 0;border-radius:4px;padding:4px 10px}.btn-toggle:hover:not(:disabled):not(.btn-toggle-active){background:var(--ink-fog);color:var(--ink);border-color:var(--rule-2)}.btn-toggle-active{border-color:var(--ink);background:var(--paper-2);color:var(--ink)}.input{border:1px solid var(--rule-2);border-radius:var(--radius-md);background:var(--page);min-width:240px;height:38px;color:var(--ink);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex:1;padding:0 12px;font-family:inherit;font-size:14px}.input:hover:not(:disabled){border-color:var(--rule-3)}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--ink-fog)}.input:disabled{opacity:.55;cursor:not-allowed}.select{border:1px solid var(--rule-2);background:var(--page);height:28px;color:var(--ink);cursor:pointer;transition:border-color var(--transition-fast);border-radius:4px;outline:none;padding:4px 10px;font-family:inherit;font-size:12.5px}.select:hover{border-color:var(--rule-3)}.select:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--ink-fog)}.card{background:var(--page);border:1px solid var(--rule);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;position:relative}.card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#1111110f,#0000);height:1px;position:absolute;top:0;left:0;right:0}.card-elevated{box-shadow:var(--shadow-md)}.card-gradient{background:linear-gradient(180deg, var(--page) 0%, #fbfaf6 100%);box-shadow:var(--shadow-sm)}.site-card{border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--page);cursor:pointer;box-shadow:var(--shadow-card);transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.site-card:hover{transform:translateY(-1px);border-color:var(--ink)!important;box-shadow:var(--shadow-md)!important}.site-card:active{transform:translateY(0)}.table-wrap{border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--page);overflow:hidden}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table-sm{font-size:12.5px}.table th{text-align:left;font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;background:var(--paper);border-bottom:1px solid var(--rule);padding:9px 14px;font-size:10.5px;font-weight:500}.table th.text-center{text-align:center}.table td{background:var(--page);padding:11px 14px}.table td.text-center{text-align:center}.table tbody tr{border-bottom:1px solid var(--rule);transition:background var(--transition-fast)}.table tbody tr:last-child{border-bottom:none}.table tbody tr:nth-child(odd) td{background:#fbfaf6}.table tbody tr:hover td{background:#f3f0e8}.badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:3px;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:500;line-height:1.5;display:inline-flex}.badge-green{background:var(--ok-fog);color:var(--ok);border-color:#0f7d4b38}.badge-amber{background:var(--warn-fog);color:var(--warn);border-color:#b25b0038}.badge-red{background:var(--fail-fog);color:var(--fail);border-color:#b8251e38}.grade-badge{border-radius:var(--radius-sm);color:#fff;width:38px;height:38px;font-family:var(--font-serif);justify-content:center;align-items:center;font-size:20px;font-style:italic;font-weight:400;line-height:1;display:inline-flex}.grade-badge-sm{font-family:var(--font-serif);border-radius:3px;padding:2px 8px;font-size:15px;font-style:italic;font-weight:400;line-height:1.2;display:inline-block}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot-green{background:var(--ok)}.status-dot-amber{background:var(--warn)}.status-dot-red{background:var(--fail)}.spinner{border:2px solid var(--rule);border-top-color:var(--ink);border-radius:50%;animation:.8s linear infinite spin;display:inline-block}.spinner-sm{width:14px;height:14px}.spinner-md{width:20px;height:20px}.spinner-lg{width:28px;height:28px}.spinner-white{border-color:#fff #ffffff4d #ffffff4d}.skeleton{background:linear-gradient(90deg, var(--paper-2) 25%, #e9e6dd 50%, var(--paper-2) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite skeleton}.skeleton-text{width:80%;height:14px;margin-bottom:8px}.skeleton-title{width:50%;height:22px;margin-bottom:12px}.skeleton-card{height:72px}.progress-bar{background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;height:6px;overflow:hidden}.progress-bar-fill{background:var(--ink);border-radius:2px;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1)}.progress-bar-animated .progress-bar-fill{animation:2s infinite progressPulse}.alert{border-radius:var(--radius-md);padding:14px 16px;font-size:13.5px;line-height:1.5}.alert-error{background:var(--fail-fog);color:var(--fail);border:1px solid #b8251e2e}.alert-success{background:var(--ok-fog);color:var(--ok);border:1px solid #0f7d4b2e}.empty-state{text-align:center;border:1px dashed var(--rule-2);border-radius:var(--radius-md);color:var(--ink-3);background:var(--page);padding:56px 36px}.empty-state-compact{padding:44px 28px}.empty-state-icon{opacity:.4;color:var(--ink-3);margin:0 auto 14px}.chart-tooltip{background:var(--ink);color:var(--paper);font-family:var(--font-mono);box-shadow:var(--shadow-lg);border-radius:4px;padding:8px 11px;font-size:11.5px}.chart-tooltip-label{color:#f6f4ee99;margin-bottom:3px}.chart-tooltip-value{font-variant-numeric:tabular-nums;font-weight:500}.modal-overlay{z-index:1000;background-color:#1111116b;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--page);border:1px solid var(--rule-2);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;padding:24px;animation:.2s scaleIn;position:relative;overflow-y:auto;box-shadow:0 24px 64px #1111112e}.modal-close{border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;color:var(--ink-3);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:10px}.modal-close:hover{background:var(--ink-fog);color:var(--ink)}.back-link{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.02em;transition:color var(--transition-fast);align-items:center;gap:6px;font-size:11.5px;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink)}.score-xl{font-family:var(--font-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:64px;font-weight:640;line-height:.95}.score-lg{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:620;line-height:.95}.score-md{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1}.score-caption{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.02em;margin-top:4px;font-size:11px}.scan-meta{font-family:var(--font-mono);color:var(--ink-2);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius-sm);letter-spacing:.02em;gap:18px;padding:10px 14px;font-size:11.5px;display:flex}.scan-meta-item{align-items:center;gap:6px;display:flex}.sidebar{background:var(--paper);z-index:40;border-right:1px solid var(--rule);flex-direction:column;width:240px;padding:22px 14px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{color:inherit;align-items:center;gap:10px;margin-bottom:28px;padding:0 8px;text-decoration:none;display:flex}.sidebar-logo-text{font-family:var(--font-display);color:var(--ink);letter-spacing:-.018em;font-size:16px;font-weight:700}.sidebar-nav{flex-direction:column;gap:1px;display:flex}.sidebar-link{color:var(--ink-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;gap:10px;padding:8px 11px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-link:hover{color:var(--ink);background:var(--ink-fog)}.sidebar-link-active{background:var(--paper-2);color:var(--ink)!important}.sidebar-link-active:before{content:"";background:var(--mark);border-radius:0 1px 1px 0;width:2px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-footer{border-top:1px solid var(--rule);flex-direction:column;gap:10px;margin-top:auto;padding:10px 8px;display:flex}.sidebar-signout{color:var(--ink-3);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 11px;font-family:inherit;font-size:12.5px;font-weight:500;display:flex}.sidebar-signout:hover{color:var(--ink);background:var(--ink-fog)}.mobile-header{-webkit-backdrop-filter:saturate(140%)blur(12px);z-index:50;border-bottom:1px solid var(--rule);background:#f6f4eeeb;justify-content:space-between;align-items:center;height:54px;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0}.mobile-header-logo{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.mobile-header-logo-text{font-family:var(--font-display);color:var(--ink);letter-spacing:-.018em;font-size:15px;font-weight:700}.mobile-header-nav{gap:2px;display:flex}.mobile-nav-link{color:var(--ink-2);transition:all var(--transition-fast);border-radius:var(--radius-sm);padding:6px 10px;font-size:12.5px;text-decoration:none}.mobile-nav-link:hover{color:var(--ink);background:var(--ink-fog)}.main-content{flex:1;min-height:100vh;margin-left:240px;padding:36px 44px}.page-container{max-width:900px}.legend-chip{border:1px solid var(--rule);background:var(--page);color:var(--ink);cursor:pointer;font-family:var(--font-mono);letter-spacing:.02em;transition:all var(--transition-fast);border-radius:3px;align-items:center;gap:5px;padding:3px 8px;font-size:10.5px;line-height:1.4;display:inline-flex}.legend-chip:hover{border-color:var(--rule-3);background:var(--paper-2)}.legend-chip-hidden{color:var(--ink-3);opacity:.4;background:0 0}.legend-chip-hidden:hover{opacity:.65}.legend-chip-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px;display:inline-block}.legend-chip-delta{font-size:10px;font-weight:600}.site-icon{border-radius:var(--radius-sm);background:var(--paper-2);border:1px solid var(--rule);width:38px;height:38px;color:var(--mark-ink);flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (max-width:1024px){.main-content{padding:24px}}@media (max-width:768px){.sidebar-desktop{display:none!important}.mobile-header{display:flex!important}.main-content{margin-left:0!important;padding:70px 16px 24px!important}.scan-meta{flex-wrap:wrap;gap:10px}}@media (min-width:769px){.mobile-header{display:none!important}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:4px}.gap-3{gap:6px}.gap-4{gap:8px}.gap-6{gap:10px}.gap-8{gap:12px}.gap-10{gap:14px}.gap-12{gap:16px}.gap-16{gap:20px}.gap-20{gap:24px}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shrink-0{flex-shrink:0}.break-all{word-break:break-all}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:12px}.mb-6{margin-bottom:16px}.mb-8{margin-bottom:24px}.mb-10{margin-bottom:28px}.mb-12{margin-bottom:32px}.mt-1{margin-top:4px}.mt-4{margin-top:12px}.mt-8{margin-top:24px}.mt-10{margin-top:28px}.m-0{margin:0}.text-green{color:var(--ok)}.text-amber{color:var(--warn)}.text-red{color:var(--fail)}.score-green{color:var(--ok)}.score-amber{color:var(--warn)}.score-red{color:var(--fail)}.delta-positive{color:var(--ok)}.delta-negative{color:var(--fail)}.delta-neutral{color:var(--ink-3)}.legend-chip-delta-positive{color:var(--ok)}.legend-chip-delta-negative{color:var(--fail)}.p-7{padding:28px}.min-w-score{min-width:90px}.divider-vertical{background:var(--rule);width:1px;height:60px}.col-dimension{width:35%}.col-score{width:80px}.col-weight,.col-status{width:10%}.col-grade{width:60px}.col-before,.col-after{width:80px}.col-change{width:70px}.cell-padded{padding:10px 12px}.row-overall{border-bottom:2px solid var(--rule-2);background:var(--paper-2)}.row-overall td{background:var(--paper-2)}.page-title{max-width:500px;color:var(--ink)}.page-path{max-width:500px;font-size:11px;font-family:var(--font-mono);margin-top:1px}.btn-show-more{color:var(--ink);border:1px solid var(--rule-2)}.dimension-tooltip{max-height:260px;padding:10px 14px;overflow-y:auto}.dimension-tooltip-row{padding:1px 0}.dimension-legend{gap:6px 12px;margin-top:12px}.icon-arrow{color:var(--ink-3);flex-shrink:0}.score-chart-empty{border:1px dashed var(--rule-2);border-radius:var(--radius-sm);height:80px}.score-chart-single{height:80px;position:relative}.bg-surface{background:var(--paper-2)}.mt-0\.5{margin-top:2px}.mb-1\.5{margin-bottom:6px}.ink{color:var(--ink)}.ink-2{color:var(--ink-2)}.ink-3{color:var(--ink-3)}.t-display{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(2.25rem,4.8vw,3.75rem);font-weight:640;line-height:.98}.t-h1{font-family:var(--font-display);letter-spacing:-.028em;font-size:clamp(1.75rem,3.2vw,2.25rem);font-weight:620;line-height:1.05}.t-h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600;line-height:1.2}.t-h3{font-family:var(--font-display);letter-spacing:-.012em;font-size:1rem;font-weight:600;line-height:1.35}.t-body{color:var(--ink-2);font-size:.9375rem;line-height:1.65}.t-lead{color:var(--ink-2);letter-spacing:-.003em;font-size:clamp(1rem,1.15vw,1.0625rem);line-height:1.6}.t-caption{color:var(--ink-3);font-size:.8125rem;line-height:1.5}.t-mark{font-family:var(--font-mono);letter-spacing:.05em;color:var(--mark-ink);background:var(--mark-fog);border:1px solid #e8590c3d;border-radius:3px;padding:2px 7px 1px;font-size:.6875rem}.panel{background:var(--page);border:1px solid var(--rule);border-radius:var(--radius-md)}.panel-soft{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius-md)}.panel-inset{border:1px solid var(--rule);border-radius:var(--radius-sm);background:#f9f7f1}.btn-ink{background:var(--ink);color:var(--paper);border-color:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;height:36px;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);letter-spacing:-.003em;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-family:inherit;font-size:13.5px;font-weight:540;line-height:1;text-decoration:none;display:inline-flex}.btn-ink:hover:not(:disabled){background:#2a2a2a;border-color:#2a2a2a;transform:translateY(-1px)}.btn-ink:active:not(:disabled){transform:translateY(0)}.btn-outline{background:var(--page);color:var(--ink);border:1px solid var(--rule-2);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;height:36px;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);letter-spacing:-.003em;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-family:inherit;font-size:13.5px;font-weight:540;line-height:1;text-decoration:none;display:inline-flex}.btn-outline:hover:not(:disabled){border-color:var(--rule-3);background:#fcfbf8;transform:translateY(-1px)}.btn-outline:active:not(:disabled){transform:translateY(0)}.codeblock{font-family:var(--font-mono);border:1px solid var(--rule);border-radius:var(--radius-sm);color:var(--ink);white-space:pre;tab-size:2;background:#fbfaf6;padding:14px 16px;font-size:.8125rem;line-height:1.65;overflow-x:auto}.codeblock-dark{color:#e6e6e6;background:#141416;border-color:#2a2a2c}.tok-k{color:#b8251e;font-weight:500}.tok-s{color:#0f7d4b}.tok-n{color:#b25b00}.tok-c{color:var(--ink-3);font-style:italic}.tok-p{color:var(--ink-2)}.tok-d{color:var(--ink);font-weight:500}.codeblock-dark .tok-k{color:#f97583}.codeblock-dark .tok-s{color:#9ecbff}.codeblock-dark .tok-n{color:#ffab70}.codeblock-dark .tok-c{color:#6a737d}.codeblock-dark .tok-d{color:#e1e4e8}code{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--rule);color:var(--ink);border-radius:3px;padding:1px 5px;font-size:.85em}a.ilink,.ilink{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rule-2);text-decoration-color:var(--rule-2);text-underline-offset:3px;transition:text-decoration-color var(--transition-fast)}a.ilink:hover,.ilink:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.wrap{width:100%;max-width:1240px;margin:0 auto;padding-left:clamp(1rem,3vw,2rem);padding-right:clamp(1rem,3vw,2rem)}.wrap-tight{max-width:980px}.brand-ver{font-family:var(--font-mono);color:var(--ink-3);border:1px solid var(--rule-2);letter-spacing:.04em;text-transform:lowercase;border-radius:3px;padding:1px 5px 0;font-size:10px;line-height:1.4}.star-pill{border:1px solid var(--rule-2);border-radius:var(--radius-sm);background:var(--page);font-family:var(--font-mono);color:var(--ink);transition:border-color var(--transition-fast), transform var(--transition-fast);align-items:stretch;font-size:12px;line-height:1;text-decoration:none;display:inline-flex;overflow:hidden}.star-pill:hover{border-color:var(--ink);transform:translateY(-1px)}.star-pill__label{background:var(--paper-2);border-right:1px solid var(--rule-2);color:var(--ink-2);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.star-pill__count{color:var(--ink);letter-spacing:.02em;align-items:center;padding:6px 10px;font-weight:600;display:inline-flex}.card-glass{border:1px solid var(--rule);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);background:#ffffff8c;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rise{animation:.6s cubic-bezier(.2,.8,.2,1) both rise}.d-1{animation-delay:60ms}.d-2{animation-delay:.12s}.d-3{animation-delay:.18s}.d-4{animation-delay:.24s}.d-5{animation-delay:.3s}@keyframes softPulse{0%,to{opacity:1}50%{opacity:.4}}.animate-soft-pulse{animation:2.4s ease-in-out infinite softPulse}.max-w-xs{max-width:320px}.max-w-sm{max-width:480px}.max-w-md{max-width:640px}.max-w-lg{max-width:800px}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.border-rule{border:1px solid var(--rule)}.border-rule-2{border:1px solid var(--rule-2)}.bg-paper{background:var(--paper)}.bg-paper-2{background:var(--paper-2)}.bg-page{background:var(--page)}.bg-ink{background:var(--ink);color:var(--paper)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:768px){.grid-cols-md-1{grid-template-columns:1fr}}