:root{--surface:#f6f5f1;--surface-raised:#fff;--surface-sunken:#eeede6;--line:#e1e0d6;--line-strong:#828579;--ink:#18221c;--ink-muted:#59625b;--brand:#127a42;--brand-hover:#0f6b3a;--brand-soft:#e5f1e9;--on-brand:#fff;--brand-deep:#0b3f24;--brand-deep-hi:#13804a;--gold:#e3c06a;--gold-text:#86630f;--gold-soft:#f8f0d8;--east-red:#e3262f;--ok:#127a42;--ok-soft:#e5f1e9;--warn:#8a5300;--warn-soft:#fff4dc;--danger:#c0352b;--danger-hover:#a52c23;--danger-soft:#fdeeec;--info:#256ead;--info-soft:#e7f0f9;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-card:0 1px 2px #1e23200f, 0 4px 14px #1e23200d;--ease-out:cubic-bezier(.23, 1, .32, 1);--font-sans:"EF Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"EF Display", "EF Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;accent-color:var(--brand);caret-color:var(--brand);scrollbar-color:var(--line-strong) transparent}::selection{color:var(--ink);background:#cfe6d7}body{background:var(--surface);color:var(--ink);font:15px/1.5 var(--font-sans);margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.25}h1{font-size:22px;font-weight:700}h2{font-size:17px;font-weight:650}h3{font-size:15px;font-weight:650}p{margin:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.muted{color:var(--ink-muted)}.small{font-size:13px}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap}.pos{color:var(--ok)}.neg{color:var(--danger)}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100dvh;display:grid}.skip-link{z-index:50;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-card);transition:transform .16s var(--ease-out);padding:8px 14px;font-weight:600;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{text-decoration:none;transform:none}.sidebar{background:radial-gradient(120% 50% at 0% 0%, #13804a8c, transparent 70%), var(--brand-deep);color:#e6eee8;flex-direction:column;gap:4px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0;box-shadow:inset -1px 0 #e3c06a38}.sidebar :focus-visible{outline-color:var(--gold)}.sidebar .brand{padding:6px 10px 22px}.nav-links{flex-direction:column;gap:2px;display:flex}.sidebar a{color:#c4d3c9;border-radius:var(--radius-sm);white-space:nowrap;transition:background .14s var(--ease-out), color .14s var(--ease-out);align-items:center;gap:10px;padding:8px 10px;display:flex}.sidebar a svg{color:#8fae9a;transition:color .14s var(--ease-out)}.sidebar a:hover{color:#fff;background:#ffffff0f;text-decoration:none}.sidebar a[aria-current=page]{color:#fff;background:#ffffff1c;font-weight:600}.sidebar a[aria-current=page] svg{color:var(--gold)}.sidebar .who{color:#a9bdb0;border-top:1px solid #e3c06a33;margin-top:auto;padding:12px 10px 4px;font-size:13px}.sidebar .who-name{color:#fff;font-weight:600}.sidebar .who button{color:#e6eee8;cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;margin-top:6px;padding:0;-webkit-text-decoration:underline #e3c06a99;text-decoration:underline #e3c06a99}.sidebar .who button:hover{color:#fff;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.lockup{flex-direction:column;gap:3px;line-height:1;display:inline-flex}.lockup-mark{font-family:var(--font-display);letter-spacing:.22em;color:var(--gold);align-items:flex-end;gap:4px;font-size:15px;font-weight:800;display:inline-flex}.lockup-mark:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:7px solid var(--east-red);width:0;height:0;margin-bottom:1px}.lockup-product{font-family:var(--font-display);letter-spacing:.01em;color:#fff;font-size:13px;font-weight:600}.lockup-light .lockup-mark{color:var(--gold-text)}.lockup-light .lockup-product{color:var(--ink)}.main{width:100%;min-width:0;max-width:1240px;padding:28px 32px 64px}.main:focus{outline:none}@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:20;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;height:auto;padding:10px 14px 0;display:grid;position:sticky;top:0;box-shadow:inset 0 -1px #e3c06a38}.sidebar .brand{grid-area:1/1;padding:4px 0}.sidebar .who-name{font-weight:500}.sidebar .who button{margin-top:0}.sidebar .who{border:0;grid-area:1/2;align-items:center;gap:12px;margin:0;padding:0;display:flex}.sidebar .who-role{display:none}.nav-links{scrollbar-width:none;flex-direction:row;grid-area:2/1/auto/-1;gap:2px;margin:0 -14px;padding:0 10px 8px;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.sidebar .nav-links a{padding:8px 12px}.main{padding:20px 16px 48px}}@media (max-width:420px){.sidebar .who-name{display:none}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head .sub{color:var(--ink-muted);margin-top:4px}.crumbs{color:var(--ink-muted);margin-bottom:6px;font-size:13px}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.card>h2{margin-bottom:12px}.card-tight{padding:0;overflow:hidden}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.stat{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px}.stat .label{color:var(--ink-muted);font-size:13px}.stat .value{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:2px;font-size:24px;font-weight:700}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--ink-muted);border-bottom:1px solid var(--line);background:var(--surface-sunken);white-space:nowrap;padding:10px 14px;font-size:13px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:#f9f9f4}.table .r{text-align:right}.table tr.dim td{color:var(--ink-muted)}.table tr.flag td,.table tbody tr.flag:hover td{background:var(--danger-soft)}.empty{text-align:center;color:var(--ink-muted);padding:32px}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{font-size:13px;font-weight:600}.field .hint{color:var(--ink-muted);font-size:12.5px;font-weight:400}.input,.select,.textarea{font:inherit;color:inherit;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;width:100%;min-height:38px;padding:8px 10px}.textarea{resize:vertical;min-height:80px}.input-sm{min-height:30px;padding:4px 8px;font-size:13px}.line-exclude .input{width:150px}.prose{max-width:72ch}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.form-grid .span-2{grid-column:span 2}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.checkbox{align-items:center;gap:8px;display:inline-flex}.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--line-strong);min-height:38px;color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .14s var(--ease-out), transform .1s var(--ease-out);background:#fff;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-sunken);text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:inset 0 1px #ffffff24,0 1px 2px #0b3f2440}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-danger-outline{border-color:var(--danger);color:var(--danger);background:#fff}.btn-danger-outline:hover{background:var(--danger-soft)}.btn-ghost{background:0 0;border-color:#0000}.btn-sm{min-height:30px;padding:4px 10px;font-size:13px}.btn-lg{min-height:48px;padding:10px 22px;font-size:16px}.badge{background:var(--surface-sunken);color:var(--ink-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-brand{background:var(--brand-soft);color:var(--brand)}.badge-gold{background:var(--gold-soft);color:var(--gold-text)}.notice{border-radius:var(--radius-md);border:1px solid #0000;padding:10px 14px;font-size:14px}.notice-ok{background:var(--ok-soft);color:var(--ok);border-color:#bfe3cc}.notice-error{background:var(--danger-soft);color:var(--danger);border-color:#f2c6c1}.notice-warn{background:var(--warn-soft);color:var(--warn);border-color:#f0d9a8}.notice-info{background:var(--info-soft);color:var(--info);border-color:#c3d9ee}.problems{gap:2px;margin:0;padding-left:18px;display:grid}.problems .num{font-weight:650}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tabs a{color:var(--ink-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-weight:600}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--brand)}.tabs a:hover{color:var(--ink);text-decoration:none}details.disclosure>summary{cursor:pointer;font-weight:600;list-style:none}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary:before{content:"▸ ";color:var(--ink-muted)}details.disclosure[open]>summary:before{content:"▾ "}dialog.confirm{border-radius:var(--radius-lg);background:var(--surface-raised);width:min(460px,100vw - 32px);color:var(--ink);border:0;padding:0;box-shadow:0 28px 64px -24px #1e232080,0 2px 8px #1e23201f}dialog.confirm::backdrop{background:#1e23206b}dialog.confirm[open]{animation:confirm-in .2s var(--ease-out)}@keyframes confirm-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.confirm-body{flex-direction:column;gap:14px;padding:22px 22px 20px;display:flex}.confirm-body h2{text-wrap:balance;font-size:18px}.confirm-text{color:var(--ink-muted);text-wrap:pretty;flex-direction:column;gap:12px;display:flex}.confirm-text b{color:var(--ink)}.confirm-actions{background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}dl.facts{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}dl.facts>div{background:var(--surface-raised);padding:10px 12px}dl.facts dt{color:var(--ink-muted);font-size:12.5px}dl.facts dd{color:var(--ink);margin:2px 0 0;font-size:16px;font-weight:650}.commit-bar{z-index:5;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:12px 14px 12px 20px;display:flex;position:sticky;bottom:16px;box-shadow:0 14px 34px -16px #1e232052,0 1px 3px #1e232014}.commit-facts{flex-wrap:wrap;align-items:baseline;gap:6px 22px;display:flex}.commit-facts b{font-family:var(--font-display);margin-left:4px;font-size:16px}.commit-blocked{color:var(--danger);font-size:13.5px;font-weight:600}.commit-bar .notice{flex-basis:100%}.auth-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{width:100%;max-width:380px;padding:0;overflow:hidden}.auth-head{background:radial-gradient(120% 120% at 0% 0%, var(--brand-deep-hi), transparent 70%), var(--brand-deep);padding:22px 24px 20px;box-shadow:inset 0 -1px #e3c06a4d}.auth-body{padding:22px 24px 24px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
