:root{--page:#f4f4f2;--surface:#ffffff;--surface-2:#fafaf9;--ink:#0f1419;--ink-2:#4a545e;--ink-3:#858e98;--line:#d9dcdf;--line-soft:#ebedef;--accent:#15505f;--accent-2:#0d3a46;--accent-3:#5b8b99;--focus:#ffbf47;--focus-ink:#0f1419;--danger:#a3271b;--danger-bg:#fbeae8;--t-xs:0.75rem;--t-sm:0.8125rem;--t-base:0.9375rem;--t-md:1.0625rem;--t-lg:1.25rem;--t-xl:1.625rem;--s-1:0.25rem;--s-2:0.5rem;--s-3:0.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"Cascadia Mono","Segoe UI Mono",Menlo,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:.15em}:focus-visible{outline:3px solid var(--focus);outline-offset:0;box-shadow:0 2px 0 0 var(--focus-ink);background:var(--focus);color:var(--focus-ink)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.masthead{background:var(--ink);color:#fff;padding:var(--s-3) var(--s-5);display:flex;align-items:center;gap:var(--s-6);flex-wrap:wrap;border-bottom:4px solid var(--accent)}.masthead .wordmark{font-size:var(--t-md);font-weight:700;letter-spacing:.01em}.masthead nav{display:flex;gap:var(--s-5)}.masthead nav a{color:#c9d4d8;text-decoration:none;font-size:var(--t-base);font-weight:500;padding:var(--s-1) 0;border-bottom:2px solid transparent}.masthead nav a:hover{color:#fff;border-bottom-color:var(--accent-3)}.masthead .org{margin-left:auto;display:flex;flex-direction:column;line-height:1.3;font-size:var(--t-sm);color:#c9d4d8}.masthead .who{font-size:var(--t-xs);color:#8d9ba1}.signout{font:inherit;font-size:var(--t-sm);background:transparent;color:#c9d4d8;border:1px solid rgba(255,255,255,.3);border-radius:2px;padding:var(--s-1) var(--s-3);cursor:pointer}.signout:hover{color:#fff;border-color:rgba(255,255,255,.65)}main{padding:var(--s-6) var(--s-5) var(--s-7)}.page-head{display:flex;align-items:baseline;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5);padding-bottom:var(--s-3);border-bottom:1px solid var(--line)}h1{font-size:var(--t-xl);font-weight:700;margin:0;letter-spacing:-.02em}h2{font-size:var(--t-md);font-weight:600;margin:var(--s-6) 0 var(--s-3);letter-spacing:-.01em}.count{font-size:var(--t-sm);color:var(--ink-3)}.lede{color:var(--ink-2);margin:0 0 var(--s-5);max-width:68ch}.actions-inline{display:flex;gap:var(--s-3);align-items:baseline;margin-left:auto}.btn-link{font-size:var(--t-sm);font-weight:500;text-decoration:none;border:solid var(--line);border-width:1px 1px 2px;border-radius:2px;padding:var(--s-2) var(--s-3);background:var(--surface);color:var(--accent)}.btn-link:hover{border-color:var(--accent-3);background:var(--surface-2)}.back{display:inline-block;font-size:var(--t-sm);margin-bottom:var(--s-3);text-decoration:none}.back:hover{text-decoration:underline}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:2px}table{border-collapse:collapse;width:100%}thead th{text-align:left;font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:2px solid var(--line);white-space:nowrap;background:var(--surface)}tbody td,thead th{padding:var(--s-3)}tbody td{border-bottom:1px solid var(--line-soft);vertical-align:middle;font-size:var(--t-sm);color:var(--ink-2)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-2)}td.title{min-width:24rem;font-size:var(--t-base);color:var(--ink)}td.title a{text-decoration:none;font-weight:600;color:var(--ink)}td.title a:hover{color:var(--accent);text-decoration:underline}td.ref{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-3)}td.num,td.ref{white-space:nowrap}td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.warn{color:var(--danger);font-weight:600}.score{display:inline-flex;align-items:baseline;gap:var(--s-2);padding:var(--s-1) var(--s-2);border-radius:2px;color:#fff;white-space:nowrap}.score .n{font-family:var(--mono);font-size:var(--t-sm);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score .g{font-size:var(--t-xs);font-weight:500;opacity:.92}.score.none{background:transparent;color:var(--ink-3);border:1px dashed var(--line)}.score-pair{display:inline-flex;align-items:center;gap:var(--s-2);white-space:nowrap}.score-pair .arrow{color:var(--ink-3);font-size:var(--t-sm)}.pill{display:inline-block;padding:0 var(--s-2);border:1px solid var(--line);border-radius:999px;font-size:var(--t-xs);font-weight:500;color:var(--ink-2);white-space:nowrap}.pill.opportunity{border-color:#3d6349;color:#2f5139;background:#eaf2ec}.dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;vertical-align:middle}.grid-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr));grid-gap:var(--s-6);gap:var(--s-6);align-items:start}.grid-figure{margin:0}.grid-figure figcaption{display:flex;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}.grid-caption{font-size:var(--t-md);font-weight:600}.grid-count{font-size:var(--t-sm);color:var(--ink-3)}.grid-wrap{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;grid-gap:var(--s-2);gap:var(--s-2)}.grid-y-label{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;justify-content:center}.grid-x-label,.grid-y-label{font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.grid-x-label{grid-column:2;text-align:center}table.matrix{border-collapse:separate;border-spacing:2px;table-layout:fixed}table.matrix tbody th,table.matrix thead th{background:transparent;border:0;padding:var(--s-1);text-transform:none;letter-spacing:0}table.matrix thead th{text-align:center}table.matrix tbody th{text-align:right;white-space:normal}table.matrix .corner{width:5.5rem}.axis-score{display:block;font-family:var(--mono);font-size:var(--t-sm);font-weight:700;color:var(--ink-2)}.axis-label{display:block;font-size:var(--t-xs);font-weight:400;color:var(--ink-3);line-height:1.25}.matrix-cell{position:relative;height:4.75rem;padding:var(--s-1);border:0;border-radius:2px;vertical-align:top;opacity:.32}.matrix-cell.occupied{opacity:1}.cell-score{position:absolute;top:2px;right:4px;font-family:var(--mono);font-size:var(--t-xs);font-weight:700;color:#fff;opacity:.75}.cell-risks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px}.cell-risks a{display:inline-block;padding:1px var(--s-1);background:rgba(255,255,255,.92);border-radius:2px;font-family:var(--mono);font-size:var(--t-xs);font-weight:600;color:var(--ink);text-decoration:none}.cell-risks a:hover{background:#fff;text-decoration:underline}.grid-unplaced{font-size:var(--t-sm);color:var(--ink-2);margin:var(--s-3) 0 0}.grid-note{margin-top:var(--s-6)}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:var(--s-6);gap:var(--s-6);align-items:start}@media (max-width:62rem){.detail-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:var(--s-4) var(--s-5)}.statement{margin:0 0 var(--s-4)}.statement:last-child{margin-bottom:0}.statement dt{font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-3);margin-bottom:var(--s-1)}.statement dd{margin:0;font-size:var(--t-md);line-height:1.45}.facts{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--s-2) var(--s-4);gap:var(--s-2) var(--s-4);margin:0;font-size:var(--t-sm)}.facts dt{color:var(--ink-3)}.facts dd{margin:0;color:var(--ink)}.empty{padding:var(--s-6);text-align:center;color:var(--ink-3);background:var(--surface);border:1px dashed var(--line);border-radius:2px}.error{padding:var(--s-4) var(--s-5);background:var(--danger-bg);border-left:4px solid var(--danger);color:#7d2016;margin-bottom:var(--s-5)}.responses{margin:0;padding:0;list-style:none}.detail-responses li{padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft)}.detail-responses li:last-child{border-bottom:0}.detail-responses a{text-decoration:none;font-weight:600;color:var(--ink)}.detail-responses a:hover{color:var(--accent);text-decoration:underline}.rtype{display:inline-block;font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-3);margin-right:var(--s-2)}.response-meta{font-size:var(--t-xs);margin-top:2px}.form-panel{gap:var(--s-4)}.field,.form-panel{display:flex;flex-direction:column}.field{gap:var(--s-1);flex:1 1 12rem;min-width:0}.field-row{display:flex;gap:var(--s-4);flex-wrap:wrap}label{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}input,select,textarea{font:inherit;font-size:var(--t-base);color:var(--ink);background:var(--surface);border:2px solid var(--ink-2);border-radius:0;padding:var(--s-2);width:100%;min-width:0}textarea{resize:vertical;line-height:1.45}input:hover,select:hover,textarea:hover{border-color:var(--ink)}.hint{font-size:var(--t-sm);color:var(--ink-3)}.field-error{font-size:var(--t-sm);color:var(--danger);font-weight:600}.form-table th[scope=row]{text-align:left;font-weight:600;font-size:var(--t-sm);color:var(--ink);white-space:nowrap;padding:var(--s-3);border-bottom:1px solid var(--line-soft);vertical-align:top;text-transform:none;letter-spacing:0}.form-table td{min-width:15rem}.unit-hint{display:block;font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-3);font-weight:400;text-transform:none;letter-spacing:0}.spread{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s-1);gap:var(--s-1)}.spread input{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inline-field{display:flex;align-items:center;gap:var(--s-2)}.inline-field input{max-width:6rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.unit{color:var(--ink-3);font-size:var(--t-base)}.check{display:flex;align-items:center;gap:var(--s-2)}.check input[type=checkbox]{width:1.15rem;height:1.15rem;margin:0;accent-color:var(--accent)}.check span{font-size:var(--t-base);color:var(--ink);font-weight:400;text-transform:none;letter-spacing:0}.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.checklist code{font-family:var(--mono);font-size:var(--t-sm);color:var(--ink-3);margin-right:var(--s-1)}.form-actions{display:flex;align-items:center;gap:var(--s-4);margin-top:var(--s-5)}button[type=submit]{font:inherit;font-size:var(--t-base);font-weight:600;background:var(--accent);color:#fff;border:0;box-shadow:0 2px 0 var(--accent-2);border-radius:2px;padding:var(--s-2) var(--s-5);cursor:pointer}button[type=submit]:hover{background:var(--accent-2)}button[type=submit]:active{box-shadow:none;transform:translateY(2px)}button[type=submit]:disabled{opacity:.55;cursor:default;transform:none}.cancel{font-size:var(--t-base);color:var(--ink-2)}.signin{max-width:22rem;margin:14vh auto 0}.signin h1{font-size:2.25rem;margin:0 0 var(--s-1)}.signin .lede{margin:0 0 var(--s-6)}.signin button[type=submit]{width:100%;padding:var(--s-3) var(--s-4)}.signin .error{margin-bottom:var(--s-5)}.signin-note{display:block;margin-top:var(--s-5)}.filters{background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4)}.filter-row{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-4);align-items:flex-end}.filter{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.filter label{font-size:var(--t-xs)}.filter input,.filter select{border-width:1px;padding:var(--s-1) var(--s-2);font-size:var(--t-sm);min-width:9rem}.filter.search input{min-width:14rem}.filter input.narrow{min-width:5rem;width:5rem}.filter-check{justify-content:flex-end;padding-bottom:var(--s-1)}.filter-check .check span{font-size:var(--t-sm)}.filter-actions{display:flex;align-items:center;gap:var(--s-3);margin-left:auto}.filter-actions button[type=submit]{padding:var(--s-2) var(--s-4);font-size:var(--t-sm)}.filter-actions .cancel,.filter-summary{font-size:var(--t-sm)}.filter-summary{margin:var(--s-3) 0 0;padding-top:var(--s-2);border-top:1px solid var(--line-soft);color:var(--ink-3)}thead th a.sort{display:inline-flex;align-items:center;gap:var(--s-1);color:inherit;text-decoration:none}thead th a.sort:hover{color:var(--accent)}thead th a.sort.active{color:var(--ink)}.sort-mark{font-size:.7em;opacity:.45}a.sort.active .sort-mark{opacity:1}