:root{--green-950: #0b1410;--green-900: #10201a;--green-850: #142820;--green-800: #1b342b;--brass: #c2a15c;--brass-bright: #dcbf7e;--cream: #f0e9d8;--cream-dim: #b8ac93;--cream-faint: #9a8f78;--hair: rgba(194, 161, 92, .22);--hair-soft: rgba(194, 161, 92, .12);--good: #7bb08a;--warn: #d8a657;--bad: #cf7f6d;--info: #86a8c7;--serif: Georgia, "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 85% -10%,rgba(194,161,92,.07),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(123,176,138,.05),transparent 55%),var(--green-950);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh}.board{max-width:1180px;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 80px max(20px,env(safe-area-inset-left))}.mast{border-bottom:1px solid var(--hair);padding-bottom:22px;margin-bottom:20px}.mast-kicker{font-size:16px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:10px}.mast h1{font-family:var(--serif);font-weight:400;font-size:clamp(32px,5vw,46px);margin:0 0 6px;letter-spacing:.01em}.mast-sub{margin:0 0 12px;color:var(--cream-dim);font-size:16px}.mast-meta{font-size:16px;color:var(--cream-faint);display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:var(--good);display:inline-block}.sep{color:var(--hair)}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:transparent;border:1px solid var(--hair-soft);color:var(--cream-dim);border-radius:999px;padding:6px 14px;font-size:16px;cursor:pointer;transition:all .15s ease}.chip:hover{border-color:var(--hair);color:var(--cream)}.chip.on{background:var(--brass);border-color:var(--brass);color:var(--green-950);font-weight:600}.chip-n{opacity:.7;margin-left:6px;font-size:16px}.search{background:var(--green-900);border:1px solid var(--hair-soft);color:var(--cream);border-radius:8px;padding:9px 13px;font-size:16px;min-width:230px;outline:none}.search::placeholder{color:var(--cream-faint)}.search:focus{border-color:var(--brass)}.cat-hint{font-size:16px;color:var(--cream-faint);margin:6px 0 0}.table-wrap{border:1px solid var(--hair-soft);border-radius:12px;overflow:hidden;background:#10201a99}table.jobs{width:100%;border-collapse:collapse}.jobs th{text-align:left;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--cream-faint);padding:12px 14px;border-bottom:1px solid var(--hair);white-space:nowrap;user-select:none;font-weight:600}.jobs th.sortable{cursor:pointer}.jobs th.sortable:hover{color:var(--brass-bright)}.sortmark{color:var(--brass);margin-left:4px;font-size:16px}.jobs td{padding:12px 14px;border-bottom:1px solid var(--hair-soft);vertical-align:middle}.jobs tr:last-child td{border-bottom:none}.jrow{cursor:pointer;transition:background .12s ease}.jrow:hover{background:#c2a15c12}.jrow:active{background:#c2a15c1f}.jrow.archived{opacity:.55}td.score{width:62px}td.age{white-space:nowrap;color:var(--cream-faint);font-size:16px}td.loc{color:var(--cream-dim);font-size:16px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td.comp{color:var(--brass-bright);font-size:16px;white-space:nowrap}td.company{font-weight:600;white-space:nowrap}td.role{color:var(--cream-dim);max-width:280px}.th-actions{width:118px}.td-actions{width:118px;white-space:nowrap}.act{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:5px;background:transparent;border:1px solid var(--hair-soft);color:var(--cream-faint);border-radius:8px;cursor:pointer;transition:all .12s ease}.act:hover{border-color:var(--brass);color:var(--cream)}.act.on{background:var(--brass);border-color:var(--brass);color:var(--green-950)}.act:disabled{opacity:.5;cursor:default}.act-flag.on{background:#d8a65738;border-color:var(--warn);color:var(--warn)}.act-arch.on{background:#86a8c72e;border-color:var(--info);color:var(--info)}.ic{width:18px;height:18px}.th-pin{width:36px}.td-pin{width:36px;color:var(--brass-bright)}.flag-mark{display:inline-flex;margin-left:7px;color:var(--warn);vertical-align:-2px}.flag-mark .ic{width:15px;height:15px}.score-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--hair);color:var(--cream);font-size:16px;font-weight:600}.score-badge.s5{border-color:var(--brass);color:var(--brass-bright);background:#c2a15c1f}.score-badge.s4{border-color:#7bb08a80;color:var(--good)}.score-badge.s3{border-color:#d8a65780;color:var(--warn)}.score-badge.s2{border-color:#cf7f6d80;color:var(--bad)}.fit{font-size:16px;padding:3px 11px;border-radius:999px;white-space:nowrap}.fit-strong{background:#7bb08a24;color:var(--good);border:1px solid rgba(123,176,138,.3)}.fit-moderate{background:#d8a6571f;color:var(--warn);border:1px solid rgba(216,166,87,.3)}.fit-maybe{background:#9a8f7824;color:var(--cream-faint);border:1px solid var(--hair-soft)}.state{padding:48px 20px;text-align:center;color:var(--cream-faint)}.state.err{color:var(--bad)}.scrim{position:fixed;inset:0;background:#050a0899;backdrop-filter:blur(2px);z-index:40;animation:fade .2s ease}.panel{position:fixed;top:0;right:0;bottom:0;width:min(460px,92vw);background:var(--green-900);border-left:1px solid var(--hair);z-index:50;overflow-y:auto;box-shadow:-20px 0 60px #00000080;animation:slide .25s cubic-bezier(.2,.8,.2,1)}@keyframes slide{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.panel-close{position:sticky;top:0;float:right;margin:14px;width:38px;height:38px;background:var(--green-850);border:1px solid var(--hair-soft);color:var(--cream-dim);border-radius:50%;font-size:22px;line-height:1;cursor:pointer;z-index:2}.panel-close:hover{color:var(--cream);border-color:var(--brass)}.panel-body{padding:8px 24px 40px}.panel-kicker{font-size:16px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}.panel h2{font-family:var(--serif);font-weight:400;font-size:28px;margin:0 0 12px;line-height:1.2}.panel-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.cat-pill{display:inline-flex;align-items:center;gap:5px;font-size:16px;padding:3px 10px;border-radius:999px}.cat-pill.pill-on{background:var(--brass);color:var(--green-950);font-weight:600}.cat-pill:not(.pill-on){background:#86a8c724;color:var(--info);border:1px solid rgba(134,168,199,.3)}.cat-pill .ic{width:15px;height:15px}.panel-loc{color:var(--cream-dim);margin:0 0 16px;font-size:16px}.panel-links{display:flex;gap:10px;margin-bottom:6px;flex-wrap:wrap}.panel-links .v-button{border-radius:8px}.v-button.apply{background:var(--brass);color:var(--green-950);font-weight:600;border:none;padding:10px 18px;cursor:pointer;font-size:16px}.v-button.apply:hover{background:var(--brass-bright)}.v-button.secondary{background:transparent;border:1px solid var(--hair);color:var(--cream-dim);padding:10px 18px;cursor:pointer;font-size:16px;border-radius:8px}.v-button.secondary:hover{color:var(--cream);border-color:var(--brass)}.panel-src{font-size:16px;color:var(--cream-faint);margin:6px 0 0}.panel-sec{margin-top:22px;border-top:1px solid var(--hair-soft);padding-top:16px}.panel-sec h3{font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-faint);margin:0 0 10px;font-weight:600}.summary{color:var(--cream-dim);font-size:16px;margin:0;line-height:1.6}.cat-row{display:flex;flex-wrap:wrap;gap:8px}.cat-btn,.fit-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--hair-soft);color:var(--cream-dim);border-radius:999px;padding:6px 13px;font-size:16px;cursor:pointer;transition:all .12s ease}.cat-btn .ic{width:16px;height:16px}.cat-btn:hover,.fit-btn:hover{border-color:var(--brass);color:var(--cream)}.cat-btn.on{background:var(--brass);border-color:var(--brass);color:var(--green-950);font-weight:600}.fit-btn.on{background:#7bb08a33;border-color:var(--good);color:var(--good);font-weight:600}.cat-btn:disabled,.fit-btn:disabled{opacity:.5;cursor:default}.cat-note{font-size:16px;color:var(--cream-faint);margin:10px 0 0}.notes{width:100%;background:var(--green-950);border:1px solid var(--hair-soft);color:var(--cream);border-radius:8px;padding:11px 13px;font-size:16px;font-family:var(--sans);resize:vertical;outline:none;min-height:92px}.notes:focus{border-color:var(--brass)}.save-notes{margin-top:10px;background:transparent;border:1px solid var(--hair);color:var(--cream-dim);padding:9px 16px;border-radius:8px;cursor:pointer;font-size:16px}.save-notes:hover{color:var(--cream);border-color:var(--brass)}.panel-added{font-size:16px;color:var(--cream-faint);margin-top:22px}.flash{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--brass);color:var(--green-950);font-weight:600;font-size:16px;padding:11px 20px;border-radius:999px;opacity:0;pointer-events:none;transition:all .25s ease;z-index:60}.flash.show{opacity:1;transform:translate(-50%) translateY(0)}@media (max-width: 720px){.table-wrap{border:none;background:transparent}table.jobs,.jobs tbody,.jobs tr,.jobs td{display:block;width:100%}.jobs thead{display:none}.jobs tr{background:#10201ab3;border:1px solid var(--hair-soft);border-radius:10px;padding:12px 14px;margin-bottom:10px}.jobs td{border:none;padding:3px 0}td.score,td.company,td.role,td.loc,td.comp,td.age{max-width:none;white-space:normal}.jrow:hover{background:#10201ae6}}
