:root{color-scheme:light;--umd-red: #e21833;--umd-gold: #ffd200;--umd-black: #000000;--umd-white: #ffffff;--red-dark: #b81125;--red-tint: #fdeaed;--gold-dark: #c9a800;--gold-tint: #fff7cc;--text-primary: #121212;--text-secondary: #3d3d3d;--text-muted: #6d6d6d;--card-border: rgba(0, 0, 0, .11);--shadow: 0 10px 34px rgba(0, 0, 0, .08);--shadow-lg: 0 18px 42px rgba(0, 0, 0, .12)}*{box-sizing:border-box}body{margin:0;font-family:DM Sans,sans-serif;background:var(--umd-white);color:var(--text-primary);min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 78% 58% at 9% 14%,rgba(226,24,51,.05) 0%,transparent 55%),radial-gradient(ellipse 72% 78% at 94% 84%,rgba(255,210,0,.07) 0%,transparent 56%);pointer-events:none;z-index:0}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-family:"DM Serif Display",serif}p{margin:0;line-height:1.6;color:var(--text-secondary)}.landing-shell,.content-shell{position:relative;z-index:1;max-width:1380px;margin:0 auto;padding:32px 24px 64px}.prototype-hero,.split-grid,.page-grid,.stats-grid,.card-grid{display:grid;gap:20px}.prototype-hero{min-height:100vh;align-items:center;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.hero-copy h1{font-size:clamp(2.7rem,6vw,5rem);margin-bottom:16px}.hero-eyebrow,.eyebrow,.stat-label{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--umd-red)}.hero-sub,.muted,.stat-note{color:var(--text-muted)}.hero-actions,.chip-row,.nav,.section-head,.section-foot,.opportunity-head,.opportunity-foot{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero-aside,.panel,.stat-card,.opportunity-card,.connector-card{background:#ffffffeb;border:1px solid var(--card-border);border-radius:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-aside,.panel,.stat-card,.opportunity-card,.connector-card{padding:24px}.hero-aside{display:grid;gap:16px}.button{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;border-radius:8px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:.86rem;font-weight:700;transition:all .18s ease}.button-primary{background:var(--umd-red);color:var(--umd-white)}.button-primary:hover{background:var(--red-dark);box-shadow:0 4px 16px #e218333d;transform:translateY(-1px)}.button-gold{background:var(--umd-gold);color:var(--umd-black)}.button-gold:hover{background:var(--gold-dark)}.button-outline{background:var(--umd-white);color:var(--text-primary);border:1px solid var(--card-border)}.button-outline:hover{border-color:var(--umd-red);color:var(--umd-red);background:var(--red-tint)}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:20px;min-height:64px;padding:0 24px;background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:3px solid var(--umd-red);box-shadow:0 2px 8px #0000000a}.brand-wrap{display:flex;align-items:center;gap:12px}.brand{font-family:"DM Serif Display",serif;font-size:1.3rem;color:var(--umd-black)}.brand span{color:var(--umd-red)}.nav-badge{padding:2px 6px;border-radius:4px;border:1px solid var(--gold-dark);background:var(--umd-gold);color:var(--umd-black);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.nav{flex:1 1 auto}.nav-link{padding:6px 10px;border-radius:6px;font-size:.82rem;color:var(--text-secondary)}.nav-link:hover{color:var(--umd-red);background:var(--red-tint)}.nav-link.active{color:var(--umd-white);background:var(--umd-red)}.page-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.split-grid{grid-template-columns:1.15fr .85fr}.hero-panel h2,.panel h2{margin:10px 0}.stat-value{margin:10px 0 6px;font-size:2.3rem;font-family:"DM Serif Display",serif}.chip{padding:8px 12px;border-radius:999px;background:#0000000d;font-size:.88rem}.chip-strong{background:var(--red-tint);color:var(--umd-red)}.score-badge,.status-live,.status-idle{padding:9px 12px;border-radius:999px;font-size:.84rem;font-weight:700}.score-badge,.status-live{background:#e218331c;color:var(--umd-red)}.status-idle{background:#0000000f;color:var(--text-secondary)}.eligibility-flag{display:inline-block;margin:6px 0 2px;padding:4px 10px;border-radius:8px;font-size:.78rem;font-weight:600;background:#d48a0024;color:#8a5a00}.match-provenance{display:inline-block;margin:6px 0 2px;padding:4px 10px;border-radius:8px;font-size:.78rem;font-weight:600;background:#007a4d1f;color:#0a6b45}.match-explanation{margin:8px 0;padding:10px 12px;border-left:3px solid #0a6b45;border-radius:6px;background:#007a4d14;font-size:.9rem;line-height:1.45}.match-explanation.is-error{border-left-color:#b23b3b;background:#b23b3b14;color:#8a2a2a}.card-actions{display:inline-flex;gap:10px;align-items:center}.button-ghost{background:transparent;border:1px solid rgba(10,107,69,.4);color:#0a6b45}.fit-badges{display:flex;gap:8px;flex-shrink:0}.fit-badge{display:flex;flex-direction:column;align-items:center;min-width:62px;padding:6px 8px;border-radius:10px;line-height:1.1}.fit-badge .fit-value{font-size:1.15rem;font-weight:700}.fit-badge .fit-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;opacity:.8}.fit-research{background:#b41e1e1f;color:#9a1f1f}.fit-criteria{background:#0a5aa01f;color:#0a5aa0}.pref-block{margin-top:18px;padding-top:16px;border-top:1px solid rgba(0,0,0,.08)}.checkbox-row{display:flex;flex-direction:column;gap:6px;margin-top:4px}.checkbox-option{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:.9rem;font-weight:400}.checkbox-option input{width:auto}.opportunity-controls{display:flex;gap:10px;align-items:center}.opportunity-card,.connector-card{display:grid;gap:14px}.opportunity-head{justify-content:space-between;align-items:flex-start}.opportunity-foot{justify-content:space-between;color:var(--text-muted);font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.field{display:grid;gap:8px}.field span{font-size:.78rem;font-weight:700;color:var(--text-secondary)}input,textarea{width:100%;border-radius:8px;border:1px solid var(--card-border);padding:10px 12px;font:inherit;background:#00000008;transition:all .18s ease}input:focus,textarea:focus{outline:none;border-color:var(--umd-red);background:var(--umd-white);box-shadow:0 0 0 3px #e218331f}textarea{resize:vertical}.search-input{width:min(420px,100%)}.keyword-list,.plain-list{display:grid;gap:10px;padding-left:18px}.keyword-row{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.06)}.roster-table{width:100%;border-collapse:collapse}.roster-table th,.roster-table td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(0,0,0,.08)}.admin-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px}.admin-inline-banner{margin-top:16px;margin-bottom:0}.admin-source-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:700}.admin-source-badge.is-bootstrap{background:#1a5d361f;color:#1a5d36}.admin-source-badge.is-assigned{background:#e218331f;color:#8c1428}.button-small{padding:8px 12px;font-size:.82rem}.loading-banner,.error-banner{margin-bottom:16px;padding:14px 16px;border-radius:14px}.loading-banner{background:var(--gold-tint);color:#4c3f00}.error-banner{background:#e218331a;color:#7c1223}.link-action{color:var(--umd-red);font-weight:700}@media (max-width: 980px){.prototype-hero,.split-grid,.stats-grid,.form-grid,.admin-form{grid-template-columns:1fr}.topbar{align-items:flex-start;padding:14px 20px;flex-direction:column}}.collab-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.collab-row{border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:8px 12px}.collab-row-head{display:flex;align-items:center;gap:12px;cursor:pointer}.collab-row-main{flex:1;display:flex;flex-direction:column;gap:4px}.collab-weight-bar{height:6px;background:#0000000f;border-radius:4px;overflow:hidden}.collab-weight-fill{height:100%;background:#0a6b45}.collab-count{font-variant-numeric:tabular-nums;font-weight:600;color:#555}.button-small{padding:3px 10px;font-size:.78rem}.collab-funding{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.1)}.deadline-pill{padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:700;background:#0000000f;color:#444;white-space:nowrap}.deadline-pill.soon{background:#d48a0029;color:#8a5a00}.deadline-pill.urgent{background:#e2183324;color:#b81125}.deadline-pill.expired{background:#0000001a;color:#666}.alert-urgent,.alert-expired{border-left:4px solid #e21833}.alert-soon{border-left:4px solid #d48a00}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}.modal-card{position:relative;background:#fff;border-radius:18px;max-width:640px;width:100%;padding:28px;box-shadow:var(--shadow-lg)}.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.6rem;line-height:1;cursor:pointer;color:#888}.modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.modal-meta div{display:flex;flex-direction:column}.modal-meta strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--umd-red)}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.opportunity-title{cursor:pointer}.opportunity-title:hover{color:var(--umd-red)}.opp-tabs{display:flex;flex-wrap:wrap;gap:8px}.opp-tab{padding:7px 14px;border-radius:999px;border:1px solid var(--card-border);background:#fff;font-size:.82rem;font-weight:600;cursor:pointer}.opp-tab.active{background:var(--umd-red);color:#fff;border-color:var(--umd-red)}.fingerprint-section{margin-top:16px}.fingerprint-section .eyebrow{margin-bottom:8px}.keyword-add{display:flex;gap:8px;margin-bottom:10px}.keyword-row-actions{display:inline-flex;align-items:center;gap:10px}.kw-remove{background:none;border:none;color:#b81125;font-size:1.1rem;cursor:pointer;line-height:1;padding:0 2px}.kw-tag{margin-left:6px;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;background:#ffd20066;color:#6b5800;padding:1px 5px;border-radius:4px}.network-svg{width:100%;height:auto;margin-top:10px}.net-edge{stroke:#e2183359}.net-node circle{fill:#fff;stroke:var(--umd-red);stroke-width:2;transition:fill .15s}.net-node:hover circle,.net-node.selected circle{fill:var(--red-tint)}.net-node.selected circle{stroke-width:3.5}.net-label{font-size:10px;fill:var(--text-secondary);font-family:DM Sans,sans-serif}.net-count{font-size:9px;fill:var(--umd-red);font-weight:700}.net-center{fill:var(--umd-red)}.net-center-label{fill:#fff;font-size:12px;font-weight:700;font-family:DM Sans,sans-serif}.audience-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.audience-label{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.audience-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--card-border);background:#fff;font-size:.8rem;font-weight:600;cursor:pointer}.audience-btn.active{background:var(--umd-gold);color:var(--umd-black);border-color:var(--gold-dark)}.test-badge{display:inline-block;margin:6px 0;padding:3px 10px;border-radius:6px;font-size:.76rem;font-weight:600}.test-badge.reachable{background:#0a6b451f;color:#0a6b45}.test-badge.unreachable{background:#e218331f;color:#b81125}.apikey-grid{display:flex;flex-direction:column;gap:10px;margin-top:10px}.apikey-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.search-progress{display:flex;flex-direction:column;gap:6px}.search-row{display:flex;justify-content:space-between;padding:8px 12px;border-radius:8px;background:#0000000a;font-size:.9rem}.search-row.searching{background:#ffd2002e}.search-row.done{background:#0a6b451f;color:#0a6b45;font-weight:600}.search-row.error{background:#e218331a;color:#b81125}.pref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.ack-funders{margin:8px 0 4px}.ack-funders .eyebrow{margin-bottom:6px}.near-miss-grid .opportunity-card{opacity:.92;border-style:dashed}
