@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:u+301,u+400-45f,u+490-491,u+4b0-4b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/e15f58668ad64cb8-s.3cvcemwuzoywn.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:u+301,u+400-45f,u+490-491,u+4b0-4b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/e15f58668ad64cb8-s.3cvcemwuzoywn.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:u+301,u+400-45f,u+490-491,u+4b0-4b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/e15f58668ad64cb8-s.3cvcemwuzoywn.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/e390973e931a41c5-s.0rgnxg2b64rzs.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:u+301,u+400-45f,u+490-491,u+4b0-4b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/e532fa1b9921e1cd-s.3cb5lpr2l6xud.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/2fe89d53234c61d4-s.1u30mmyq6lnsd.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/99e609270109b47d-s.p.40sczeszzbjw1.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/5e05ae5b48faa55e-s.1yd4_i3e35931.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:u+301,u+400-45f,u+490-491,u+4b0-4b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/02263ebadd758ea4-s.29yke99gs9qpn.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/68757d6cddeff913-s.1i-sca43-qwng.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/effe91970fc4db64-s.p.0oace-s_gkfks.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}:root{--font-sans:"IBM Plex Sans",Arial,sans-serif;--font-mono:"IBM Plex Mono",monospace;--color-bg:oklch(1 0 0);--color-surface:oklch(0.975 0.006 255);--color-surface-2:oklch(0.955 0.009 255);--color-border:oklch(0.88 0.01 255);--color-border-strong:oklch(0.78 0.014 255);--color-ink:oklch(0.22 0.012 255);--color-ink-muted:oklch(0.46 0.016 255);--color-ink-faint:oklch(0.62 0.014 255);--color-primary:oklch(0.32 0.09 255);--color-primary-hover:oklch(0.27 0.09 255);--color-primary-soft:oklch(0.94 0.02 255);--color-accent:oklch(0.58 0.10 80);--color-accent-ink:oklch(0.32 0.08 75);--color-success:oklch(0.42 0.10 155);--color-success-soft:oklch(0.94 0.03 155);--color-warning:oklch(0.55 0.14 55);--color-warning-soft:oklch(0.95 0.04 55);--color-error:oklch(0.48 0.17 25);--color-error-soft:oklch(0.95 0.04 25);--color-focus-ring:oklch(0.60 0.12 255);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--radius-sm:4px;--radius-md:6px;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--shadow-sm:0 1px 2px oklch(0.22 0.012 255/0.06);--shadow-md:0 4px 12px oklch(0.22 0.012 255/0.08)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans,system-ui,sans-serif);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}table{font-variant-numeric:tabular-nums}.btn{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;border:1px solid transparent;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background-color:var(--color-primary);color:white}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-bg);color:var(--color-ink);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface);border-color:var(--color-border-strong)}.btn-danger{background-color:var(--color-bg);color:var(--color-error);border-color:var(--color-error-soft)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-soft);border-color:var(--color-error)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);line-height:1.3;white-space:nowrap}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-error{background:var(--color-error-soft);color:var(--color-error)}.badge-neutral{background:var(--color-surface);color:var(--color-ink-muted);border:1px solid var(--color-border)}.nav-section-label{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-faint);margin:var(--space-2) var(--space-3) var(--space-1)}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;border-left:2px solid transparent;transition:background-color .18s ease-out,color .18s ease-out}.nav-link:hover{background:var(--color-bg);color:var(--color-ink)}.nav-link-active{background:var(--color-primary-soft);color:var(--color-primary);border-left-color:var(--color-primary)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table thead th{text-align:left;background:var(--color-surface);color:var(--color-ink-muted);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.data-table tbody td,.data-table thead th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.data-table tbody td{vertical-align:middle}.data-table tbody tr:hover{background:var(--color-surface)}.data-table tbody tr:last-child td{border-bottom:none}.field-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-ink);margin-bottom:var(--space-1)}.text-input{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);width:100%;transition:border-color .18s ease-out}.text-input:hover{border-color:var(--color-border-strong)}.text-input:focus-visible{border-color:var(--color-primary)}.select-input{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color .18s ease-out}.select-input:hover{border-color:var(--color-border-strong)}.select-input:focus-visible{border-color:var(--color-primary)}dialog{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-bg)}dialog::backdrop{background:oklch(.22 .012 255/.45)}@media (max-width:860px){.site-detail-grid{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.001ms!important;animation-duration:.001ms!important}}