:root{--bg:#ffffff;--fg:#14171a;--muted:#5b6570;--line:#e3e7ea;--accent:#1f6feb;--surface:#f7f9fa;--sidebar-bg:#14171a;--sidebar-fg:#e8ecef;--sidebar-muted:#8b95a1;--sidebar-line:#262c33;--sidebar-hover:#1e232a;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--fg:#e8ecef;--muted:#97a1ac;--line:#262c33;--accent:#4c8dff;--surface:#161b21;--sidebar-bg:#0a0d10;--sidebar-line:#1e232a;--sidebar-hover:#161b21}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-fg);border-right:1px solid var(--sidebar-line);padding:1.15rem .75rem 1rem;display:flex;flex-direction:column;gap:1.5rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.content{padding:2.25rem 2.5rem 4rem;min-width:0}.empty,.notice,.subtitle{max-width:min(100%,140ch)}@media (max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem 1.25rem;border-right:0;border-bottom:1px solid var(--sidebar-line)}.sidebar nav{display:flex;gap:1.25rem}.nav-section{display:flex;align-items:center;gap:.35rem}.nav-section+.nav-section{margin-top:0}.nav-item.is-active:before,.nav-title,.sidebar-foot{display:none}.content{padding:1.5rem 1.25rem 3rem}}.brand{display:flex;align-items:center;gap:.6rem;color:var(--sidebar-fg);font-weight:650;letter-spacing:-.01em;padding:0 .5rem}.brand:hover{text-decoration:none}.brand-mark{width:18px;height:18px;border-radius:4px;background:repeating-linear-gradient(115deg,var(--sidebar-fg) 0 3px,var(--sidebar-bg) 3px 6px);flex:none}.nav-section+.nav-section{margin-top:1.1rem}.nav-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;padding:0 .55rem;margin-bottom:.35rem}.nav-item,.nav-title{color:var(--sidebar-muted)}.nav-item{display:block;position:relative;padding:.42rem .55rem;border-radius:6px;font-size:.9rem}.nav-item:hover{text-decoration:none}.nav-item.is-active,.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-fg)}.nav-item.is-active{font-weight:550}.nav-item.is-active:before{content:"";position:absolute;left:-.75rem;top:.3rem;bottom:.3rem;width:3px;border-radius:0 2px 2px 0;background:repeating-linear-gradient(to bottom,var(--sidebar-fg) 0 4px,transparent 4px 7px)}.sidebar-foot{margin-top:auto;padding:0 .55rem}.sidebar-foot .pill{border-color:var(--sidebar-line);color:var(--sidebar-muted)}h1{font-size:1.5rem;letter-spacing:-.02em;margin:0 0 .35rem}h2{font-size:1.02rem;letter-spacing:-.01em;margin:2rem 0 .6rem}.subtitle{color:var(--muted);margin:0 0 1.75rem}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:550;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}tbody tr:hover{background:var(--surface)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pill{display:inline-block;padding:.1rem .5rem;border:1px solid var(--line);border-radius:999px;font-size:.78rem;color:var(--muted);white-space:nowrap}.empty,.notice{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:1.25rem;color:var(--muted)}.stats{display:flex;flex-wrap:wrap;gap:2.25rem;margin:0 0 1.75rem}.detail-grid dt,.stats dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.stats dd{margin:.15rem 0 0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem 2rem;gap:1rem 2rem;margin-top:1.5rem}.detail-grid dd{margin:.2rem 0 0}.table-wrap{overflow-x:auto}code{background:var(--surface);border:1px solid var(--line);padding:.05rem .3rem;border-radius:4px;font-size:.86em}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1rem 1.5rem;gap:1rem 1.5rem;margin-bottom:.5rem}.field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.field-wide{grid-column:1/-1}.field label{font-size:.78rem;font-weight:550;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.field input,.field select,.field textarea{font:inherit;font-size:.92rem;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.45rem .55rem;width:100%}.field select[multiple]{padding:.25rem}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.field-hint{margin:0;font-size:.78rem;color:var(--muted)}.form-actions{display:flex;gap:.75rem;align-items:center;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line)}button{font:inherit;font-weight:550;font-size:.92rem;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:.5rem 1.1rem;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.6;cursor:default}button.secondary{background:transparent;color:var(--fg);border:1px solid var(--line)}button.danger{background:transparent;color:#c0554a;border:1px solid #c0554a}button.danger:hover{background:#c0554a;color:#fff;filter:none}.notice.is-error{border-color:#c0554a;color:var(--fg)}.notice.is-error ul{margin:.5rem 0 0;padding-left:1.1rem;color:var(--muted)}.actions-bar{display:flex;gap:.75rem;align-items:center;margin-bottom:1.5rem}a.button-link{display:inline-block;font-weight:550;font-size:.92rem;background:var(--accent);color:#fff;border-radius:6px;padding:.5rem 1.1rem}a.button-link:hover{text-decoration:none;filter:brightness(1.08)}a.button-link.secondary{background:transparent;color:var(--fg);border:1px solid var(--line)}.filter-bar{display:flex;gap:.6rem;align-items:center;margin:0 0 1.5rem;flex-wrap:wrap}.filter-bar input[type=search]{font:inherit;font-size:.92rem;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.45rem .6rem;min-width:260px}.filter-bar input[type=search]:focus{outline:2px solid var(--accent);outline-offset:-1px}.pager{display:flex;gap:1.25rem;align-items:center;margin-top:1.25rem;font-size:.9rem;color:var(--muted)}h2 .pill{margin-left:.4rem;vertical-align:middle}.notice.is-success{border-color:#4a9d5f}label.checkbox{display:flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--fg)}label.checkbox input{width:auto}.field input:disabled,.field input[readonly]{background:var(--surface);color:var(--muted);cursor:not-allowed}.input-row{display:flex;gap:.5rem;align-items:center}.input-row input{flex:1 1;min-width:0}.input-row button{white-space:nowrap}.radio-list{border:1px solid var(--line);border-radius:7px;padding:.6rem .75rem;margin:.35rem 0 0;display:flex;flex-direction:column;gap:.3rem}label.radio{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--fg);cursor:pointer}label.radio input{width:auto;margin:0}.radio-other{margin-top:.35rem;margin-left:1.5rem;max-width:24rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.diagram{margin:1.5rem 0}.diagram-canvas{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:1.25rem;overflow-x:auto}.diagram-canvas svg{max-width:100%;height:auto}.diagram-source{margin-top:.75rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:.9rem 1rem;overflow-x:auto;font-size:.82rem;line-height:1.5}.linklike{background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}ul.plain{margin:0;padding:0;list-style:none}ul.plain li+li{margin-top:.2rem}.button-link{display:inline-block;background:var(--accent);color:#fff;border-radius:6px;padding:.6rem 1.1rem;font-weight:500;text-decoration:none}.button-link:hover{filter:brightness(1.08)}