.main{flex:1}.navbar{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:inline-grid;grid-template-columns:repeat(2,1fr);gap:2px;width:18px;height:18px}.brand-mark span{border-radius:2px;background:var(--tier-weak-soft)}.brand-mark span:nth-child(1){background:var(--accent)}.brand-mark span:nth-child(2){background:var(--tier-strong)}.brand-mark span:nth-child(3){background:var(--tier-moderate);opacity:.85}.brand-mark span:nth-child(4){background:var(--accent-strong);opacity:.6}.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em}.navbar-right{display:flex;align-items:center;gap:16px}.navbar-tagline{color:var(--text-dim);font-size:.75rem;letter-spacing:.02em;display:none}@media (min-width: 640px){.navbar-tagline{display:inline}}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;padding:4px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);text-transform:lowercase}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--tier-weak)}.status-pill--online .status-dot{background:var(--tier-strong)}.status-pill--offline .status-dot{background:var(--danger)}.status-pill--checking .status-dot{background:var(--tier-moderate)}.heatgrid{display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr);gap:4px}.heatgrid-cell{width:100%;aspect-ratio:1;border-radius:2px;background:var(--surface-2)}.heatgrid-cell--dim{background:var(--accent-soft)}.heatgrid-cell--mid{background:var(--accent);opacity:.35}.heatgrid-cell--bright{background:var(--accent);opacity:.6}.heatgrid--ambient{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;-webkit-mask-image:linear-gradient(to bottom,black,transparent 85%);mask-image:linear-gradient(to bottom,black,transparent 85%);pointer-events:none}.heatgrid--scanning .heatgrid-cell{animation:pulse-cell 2.6s ease-in-out infinite;animation-delay:calc(var(--i) * 45ms)}@keyframes pulse-cell{0%,to{background:var(--surface-2)}40%{background:var(--accent);opacity:.75}}.hero{position:relative;padding:72px 0 56px;overflow:hidden}.hero-backdrop{z-index:0}.hero-inner{position:relative;z-index:1}.eyebrow{color:var(--accent-strong);font-size:.75rem;letter-spacing:.04em;text-transform:lowercase;margin-bottom:16px;display:inline-block}.hero-title{font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.08;font-weight:700;max-width:16ch}.hero-title-accent{color:var(--accent)}.hero-sub{margin-top:20px;max-width:58ch;color:var(--text-dim);font-size:1.05rem;line-height:1.55}.job-form{margin-top:36px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;max-width:680px}.job-form-label{display:block;color:var(--text-dim);font-size:.72rem;letter-spacing:.04em;margin-bottom:8px}.job-textarea{width:100%;resize:vertical;min-height:160px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:.95rem;line-height:1.5;padding:14px}.job-textarea::placeholder{color:var(--text-dim);opacity:.7}.job-textarea:disabled{opacity:.6}.job-form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;flex-wrap:wrap;gap:12px}.pool-control{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:.78rem}.pool-input{width:56px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:5px 8px;font-size:.85rem}.job-form-actions{display:flex;align-items:center;gap:14px}.char-count{color:var(--text-dim);font-size:.72rem}.submit-btn{background:var(--accent);color:#0b0f14;border:none;border-radius:8px;padding:11px 20px;font-weight:600;font-size:.92rem;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.submit-btn:hover:not(:disabled){transform:translateY(-1px)}.submit-btn:disabled{opacity:.45;cursor:not-allowed}.form-error{margin-top:16px;color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger);border-radius:8px;padding:10px 14px;max-width:680px;font-size:.82rem}.loader{display:flex;flex-direction:column;align-items:center;gap:18px;padding:40px 24px 56px}.loader .heatgrid{max-width:480px;width:100%}.loader-text{color:var(--text-dim);font-size:.82rem}.results{padding:8px 0 72px}.parsed-brief{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin-bottom:28px}.parsed-brief-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.parsed-brief-head h3{font-size:.75rem;color:var(--text-dim);letter-spacing:.03em;font-weight:500}.considered-count{font-size:.72rem;color:var(--accent-strong)}.parsed-brief-summary{margin-top:10px;font-size:1rem;line-height:1.5}.parsed-brief-grid{display:flex;gap:28px;margin:16px 0 0;flex-wrap:wrap}.parsed-brief-grid dt{font-size:.68rem;color:var(--text-dim);letter-spacing:.03em;margin-bottom:2px}.parsed-brief-grid dd{margin:0;font-size:.9rem}.parsed-brief-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tag{font-size:.72rem;padding:4px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border)}.tag--lang{color:var(--accent-strong);border-color:var(--accent-soft)}.candidate-list-wrap{display:flex;flex-direction:column;gap:16px}.candidate-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px}.candidate-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.candidate-rank{color:var(--text-dim);font-size:.85rem;width:24px}.candidate-identity{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0}.candidate-username{font-weight:600;font-size:.95rem;text-decoration:none}.candidate-username:hover{text-decoration:underline}.candidate-name{color:var(--text-dim);font-size:.85rem}.tier-meter{display:flex;align-items:center;gap:8px;margin-left:auto}.tier-meter-cells{display:flex;gap:3px}.tier-meter-cell{width:8px;height:8px;border-radius:2px;background:var(--surface-2)}.tier-meter-cell.is-filled{background:var(--tier-weak)}.tier-meter--strong .tier-meter-cell.is-filled{background:var(--tier-strong)}.tier-meter--moderate .tier-meter-cell.is-filled{background:var(--tier-moderate)}.tier-meter--weak .tier-meter-cell.is-filled{background:var(--tier-weak)}.tier-meter-label{font-size:.7rem;color:var(--text-dim)}.candidate-summary{margin-top:16px;font-size:.95rem;line-height:1.55}.candidate-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}@media (max-width: 560px){.candidate-columns{grid-template-columns:1fr}}.candidate-col-title{font-size:.68rem;color:var(--text-dim);letter-spacing:.04em;margin-bottom:8px}.candidate-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.86rem;line-height:1.4}.candidate-list li{padding-left:16px;position:relative}.candidate-list--strength li:before{content:"+";position:absolute;left:0;color:var(--tier-strong);font-family:var(--font-mono)}.candidate-list--gap li:before{content:"–";position:absolute;left:0;color:var(--tier-moderate);font-family:var(--font-mono)}.candidate-list--flag li:before{content:"!";position:absolute;left:0;color:var(--danger);font-family:var(--font-mono)}.candidate-projects{margin-top:18px}.project-chips{display:flex;flex-wrap:wrap;gap:8px}.project-chip{font-size:.78rem;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:4px 9px}.candidate-flags{margin-top:18px;background:var(--danger-soft);border:1px solid var(--danger);border-radius:8px;padding:12px 14px}.candidate-flags .candidate-col-title{color:var(--danger)}.candidate-recommendation{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);font-size:.92rem;font-weight:500}.candidate-recommendation-label{color:var(--accent)}.empty-state{border:1px dashed var(--border);border-radius:12px;padding:32px 24px;text-align:center;color:var(--text-dim)}.empty-state .mono{color:var(--text);font-size:.85rem;margin-bottom:8px;display:block}.footer{border-top:1px solid var(--border);padding:20px 0}.footer-inner{display:flex;justify-content:space-between;color:var(--text-dim);font-size:.7rem;flex-wrap:wrap;gap:8px}:root{--bg: #0b0f14;--surface: #121821;--surface-2: #1a2230;--border: #232c3a;--text: #e6edf3;--text-dim: #8b98a8;--accent: #7c8cff;--accent-strong: #a5b0ff;--accent-soft: rgba(124, 140, 255, .14);--tier-strong: #3fb950;--tier-strong-soft: rgba(63, 185, 80, .14);--tier-moderate: #e3b341;--tier-moderate-soft: rgba(227, 179, 65, .14);--tier-weak: #8b98a8;--tier-weak-soft: rgba(139, 152, 168, .14);--danger: #f85149;--danger-soft: rgba(248, 81, 73, .12);--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;color-scheme:dark}@media (prefers-color-scheme: light){:root{--bg: #f7f8fa;--surface: #ffffff;--surface-2: #f0f2f5;--border: #dfe3e8;--text: #10151a;--text-dim: #5b6673;--accent: #4c5fd9;--accent-strong: #3547b8;--accent-soft: rgba(76, 95, 217, .1);--tier-strong: #1a7f37;--tier-strong-soft: rgba(26, 127, 55, .1);--tier-moderate: #9a6700;--tier-moderate-soft: rgba(154, 103, 0, .1);--tier-weak: #5b6673;--tier-weak-soft: rgba(91, 102, 115, .1);--danger: #cf222e;--danger-soft: rgba(207, 34, 46, .08);color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.01em}p{margin:0}a{color:var(--accent)}button{font-family:var(--font-body)}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.mono{font-family:var(--font-mono)}.container{width:100%;max-width:920px;margin:0 auto;padding:0 24px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
