:root{--page:#f4f4f2;--surface:#fff;--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:.75rem;--t-sm:.8125rem;--t-base:.9375rem;--t-md:1.0625rem;--t-lg:1.25rem;--t-xl:1.625rem;--s-1:.25rem;--s-2:.5rem;--s-3:.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}html,body{background:var(--page);color:var(--ink);font-family:var(--sans);font-size:var(--t-base);-webkit-font-smoothing:antialiased;margin:0;padding:0;line-height:1.5}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{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.masthead{background:var(--ink);color:#fff;padding:var(--s-3) var(--s-5);align-items:center;gap:var(--s-6);border-bottom:4px solid var(--accent);flex-wrap:wrap;display:flex}.masthead .wordmark{font-size:var(--t-md);letter-spacing:.01em;font-weight:700}.masthead nav{gap:var(--s-5);display:flex}.masthead nav a{color:#c9d4d8;font-size:var(--t-base);padding:var(--s-1) 0;border-bottom:2px solid #0000;font-weight:500;text-decoration:none}.masthead nav a:hover{color:#fff;border-bottom-color:var(--accent-3)}.masthead .org{line-height:1.3;font-size:var(--t-sm);color:#c9d4d8;flex-direction:column;margin-left:auto;display:flex}.masthead .who{font-size:var(--t-xs);color:#8d9ba1}.signout{font:inherit;font-size:var(--t-sm);color:#c9d4d8;padding:var(--s-1) var(--s-3);cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:2px}.signout:hover{color:#fff;border-color:#ffffffa6}main{padding:var(--s-6) var(--s-5) var(--s-7)}.page-head{align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-5);padding-bottom:var(--s-3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}h1{font-size:var(--t-xl);letter-spacing:-.02em;margin:0;font-weight:700}h2{font-size:var(--t-md);margin:var(--s-6) 0 var(--s-3);letter-spacing:-.01em;font-weight:600}.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{gap:var(--s-3);align-items:baseline;margin-left:auto;display:flex}.btn-link{font-size:var(--t-sm);border:1px solid var(--line);padding:var(--s-2) var(--s-3);background:var(--surface);color:var(--accent);border-bottom-width:2px;border-radius:2px;font-weight:500;text-decoration:none}.btn-link:hover{border-color:var(--accent-3);background:var(--surface-2)}.back{font-size:var(--t-sm);margin-bottom:var(--s-3);text-decoration:none;display:inline-block}.back:hover{text-decoration:underline}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:2px;overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-align:left;font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:var(--s-3);border-bottom:2px solid var(--line);white-space:nowrap;background:var(--surface);font-weight:700}tbody td{padding:var(--s-3);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{color:var(--ink);font-weight:600;text-decoration:none}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);white-space:nowrap}td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--ink-3)}.warn{color:var(--danger);font-weight:600}.score{align-items:baseline;gap:var(--s-2);padding:var(--s-1) var(--s-2);color:#fff;white-space:nowrap;border-radius:2px;display:inline-flex}.score .n{font-family:var(--mono);font-size:var(--t-sm);font-variant-numeric:tabular-nums;font-weight:700}.score .g{font-size:var(--t-xs);opacity:.92;font-weight:500}.score.none{color:var(--ink-3);border:1px dashed var(--line);background:0 0}.score-pair{align-items:center;gap:var(--s-2);white-space:nowrap;display:inline-flex}.score-pair .arrow{color:var(--ink-3);font-size:var(--t-sm)}.pill{padding:0 var(--s-2);border:1px solid var(--line);font-size:var(--t-xs);color:var(--ink-2);white-space:nowrap;border-radius:999px;font-weight:500;display:inline-block}.pill.opportunity{color:#2f5139;background:#eaf2ec;border-color:#3d6349}.dot{vertical-align:middle;border-radius:50%;width:.6rem;height:.6rem;display:inline-block}.grid-pair{gap:var(--s-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr));align-items:start;display:grid}.grid-figure{margin:0}.grid-figure figcaption{align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.grid-caption{font-size:var(--t-md);font-weight:600}.grid-count{font-size:var(--t-sm);color:var(--ink-3)}.grid-wrap{gap:var(--s-2);grid-template-rows:1fr auto;grid-template-columns:auto 1fr;display:grid}.grid-y-label{writing-mode:vertical-rl;font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);justify-content:center;align-items:center;font-weight:700;display:flex;transform:rotate(180deg)}.grid-x-label{text-align:center;font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);grid-column:2;font-weight:700}table.matrix{border-collapse:separate;border-spacing:2px;table-layout:fixed}table.matrix thead th,table.matrix tbody th{padding:var(--s-1);text-transform:none;letter-spacing:0;background:0 0;border: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{font-family:var(--mono);font-size:var(--t-sm);color:var(--ink-2);font-weight:700;display:block}.axis-label{font-size:var(--t-xs);color:var(--ink-3);font-weight:400;line-height:1.25;display:block}.matrix-cell{height:4.75rem;padding:var(--s-1);vertical-align:top;opacity:.32;border:0;border-radius:2px;position:relative}.matrix-cell.occupied{opacity:1}.cell-score{font-family:var(--mono);font-size:var(--t-xs);color:#fff;opacity:.75;font-weight:700;position:absolute;top:2px;right:4px}.cell-risks{flex-wrap:wrap;gap:2px;margin:0;padding:0;list-style:none;display:flex}.cell-risks a{padding:1px var(--s-1);font-family:var(--mono);font-size:var(--t-xs);color:var(--ink);background:#ffffffeb;border-radius:2px;font-weight:600;text-decoration:none;display:inline-block}.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{gap:var(--s-6);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}@media (max-width:62rem){.detail-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--line);padding:var(--s-4) var(--s-5);border-radius:2px}.statement{margin:0 0 var(--s-4)}.statement:last-child{margin-bottom:0}.statement dt{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-3);margin-bottom:var(--s-1);font-weight:700}.statement dd{font-size:var(--t-md);margin:0;line-height:1.45}.facts{gap:var(--s-2) var(--s-4);font-size:var(--t-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.facts dt{color:var(--ink-3)}.facts dd{color:var(--ink);margin:0}.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{color:var(--ink);font-weight:600;text-decoration:none}.detail-responses a:hover{color:var(--accent);text-decoration:underline}.rtype{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-3);margin-right:var(--s-2);font-weight:700;display:inline-block}.response-meta{font-size:var(--t-xs);margin-top:2px}.form-panel{gap:var(--s-4);flex-direction:column;display:flex}.field{gap:var(--s-1);flex-direction:column;flex:12rem;min-width:0;display:flex}.field-row{gap:var(--s-4);flex-wrap:wrap;display:flex}label{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:700}input,select,textarea{font:inherit;font-size:var(--t-base);color:var(--ink);background:var(--surface);border:2px solid var(--ink-2);padding:var(--s-2);border-radius:0;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{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-3);text-transform:none;letter-spacing:0;font-weight:400;display:block}.spread{gap:var(--s-1);grid-template-columns:repeat(3,1fr);display:grid}.spread input{font-variant-numeric:tabular-nums}.inline-field{align-items:center;gap:var(--s-2);display:flex}.inline-field input{font-variant-numeric:tabular-nums;max-width:6rem}.unit{color:var(--ink-3);font-size:var(--t-base)}.check{align-items:center;gap:var(--s-2);display:flex}.check input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--accent);margin:0}.check span{font-size:var(--t-base);color:var(--ink);text-transform:none;letter-spacing:0;font-weight:400}.checklist{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.checklist code{font-family:var(--mono);font-size:var(--t-sm);color:var(--ink-3);margin-right:var(--s-1)}.form-actions{align-items:center;gap:var(--s-4);margin-top:var(--s-5);display:flex}button[type=submit]{font:inherit;font-size:var(--t-base);background:var(--accent);color:#fff;box-shadow:0 2px 0 var(--accent-2);padding:var(--s-2) var(--s-5);cursor:pointer;border:0;border-radius:2px;font-weight:600}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{margin:0 0 var(--s-1);font-size:2.25rem}.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{margin-top:var(--s-5);display:block}.filters{background:var(--surface);border:1px solid var(--line);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);border-radius:2px}.filter-row{gap:var(--s-3) var(--s-4);flex-wrap:wrap;align-items:flex-end;display:flex}.filter{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.filter label{font-size:var(--t-xs)}.filter input,.filter select{padding:var(--s-1) var(--s-2);font-size:var(--t-sm);border-width:1px;min-width:9rem}.filter.search input{min-width:14rem}.filter input.narrow{width:5rem;min-width:5rem}.filter-check{padding-bottom:var(--s-1);justify-content:flex-end}.filter-check .check span{font-size:var(--t-sm)}.filter-actions{align-items:center;gap:var(--s-3);margin-left:auto;display:flex}.filter-actions button[type=submit]{padding:var(--s-2) var(--s-4);font-size:var(--t-sm)}.filter-actions .cancel{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);font-size:var(--t-sm);color:var(--ink-3)}thead th a.sort{align-items:center;gap:var(--s-1);color:inherit;text-decoration:none;display:inline-flex}thead th a.sort:hover{color:var(--accent)}thead th a.sort.active{color:var(--ink)}.sort-mark{opacity:.45;font-size:.7em}a.sort.active .sort-mark{opacity:1}
