:root{color-scheme:light;--bg: #f4f6f9;--surface: #ffffff;--text: #18212d;--muted: #5a6574;--border: #dbe1e8;--border-strong: #c3ccd7;--accent: #23529b;--accent-hover: #1b4383;--accent-soft: #eaf0fa;--on-accent: #ffffff;--danger: #b42318;--danger-soft: #fdeceb;--success: #1c7a4b;--warning: #9a6200;--radius: 10px;--shadow: 0 1px 2px rgb(16 24 40 / .05), 0 2px 6px rgb(16 24 40 / .06);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2{margin:0;line-height:1.25;text-wrap:balance}h1{font-size:1.5rem;font-weight:650}p{margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-weight:650;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:.8rem;letter-spacing:.04em}.account{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.account-link{color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}.account-link:hover,.account-link[aria-current=page]{text-decoration:underline}.account-role{font-weight:600;white-space:nowrap}.content{flex:1;width:100%;max-width:760px;margin:0 auto;padding:40px 24px 64px}.page{display:grid;gap:24px}.page-narrow{max-width:440px;margin:0 auto}.page-header{display:grid;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.alert{padding:12px 14px;border-radius:8px;border:1px solid transparent}.alert-error{background:var(--danger-soft);border-color:#b4231840;color:var(--danger)}.notice{padding:12px 14px;border-radius:8px;background:var(--accent-soft);color:var(--text);font-size:.9rem}.form{display:grid;gap:24px}.button{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;font:inherit;font-weight:600;border-radius:8px;border:1px solid transparent;cursor:pointer}.button:disabled,.button[aria-disabled=true]{cursor:default;opacity:.55}.button-primary{background:var(--accent);color:var(--on-accent)}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.button-secondary:hover:not(:disabled){background:var(--bg)}.button-block{width:100%}.role-options{display:grid;gap:10px;margin:0;padding:0;border:0}.role-options legend{font-weight:600;margin-bottom:4px}.role-option{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--border-strong);border-radius:8px;cursor:pointer}.role-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.role-option input{margin-top:4px}.role-name{display:block;font-weight:600}.role-hint{display:block;color:var(--muted);font-size:.9rem}.empty{display:grid;justify-items:center;gap:12px;padding:48px 32px;text-align:center}.empty-icon{width:48px;height:48px;border-radius:50%;background:var(--accent-soft);border:2px dashed var(--accent)}.empty p{color:var(--muted);max-width:36ch}@media (max-width: 560px){.topbar{padding:10px 16px}.content{padding:24px 16px 48px}.card{padding:20px}.empty{padding:36px 20px}}.skip-link{position:absolute;left:8px;top:-48px;padding:8px 12px;background:var(--surface);color:var(--accent);border-radius:6px;z-index:1}.skip-link:focus{top:8px}h1:focus,main:focus{outline:none}.back-link{justify-self:start;color:var(--accent);font-weight:500;text-decoration:none;padding:4px 0}.back-link:hover{text-decoration:underline}.loading,.muted{color:var(--muted)}.notice-card{display:grid;gap:8px}.profile{display:grid;gap:24px}.profile-header{display:flex;align-items:center;gap:16px}.avatar{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:1.375rem;font-weight:650}.profile-subtitle{color:var(--muted)}.profile-section h2{font-size:1.125rem}.profile-section{display:grid;gap:8px;padding-top:20px;border-top:1px solid var(--border)}.bio{max-width:65ch;white-space:pre-line}.details{display:grid;gap:16px;margin:0}.detail{display:grid;grid-template-columns:10rem 1fr;gap:4px 16px;align-items:start}.detail dt{font-weight:600;color:var(--muted)}.detail dd{margin:0}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tags li{padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.9375rem}.lead-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.lead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius)}.lead-summary{display:grid;gap:2px;min-width:0}.lead-summary p{margin:0}.lead-source{font-weight:600;overflow-wrap:anywhere}.lead-status{flex-shrink:0;padding:2px 10px;border:1px solid var(--border-strong);border-radius:999px;color:var(--muted);font-size:.9375rem}.lead-status-new{border-color:transparent;background:var(--accent-soft);color:var(--accent);font-weight:600}.lead-status-accepted{border-color:transparent;background:#1c7a4b1a;color:var(--success);font-weight:600}.request{align-items:flex-start}.inbox-link{justify-self:start;gap:8px;text-decoration:none}.badge{min-width:1.5rem;padding:0 6px;border-radius:999px;background:var(--on-accent);color:var(--accent);font-size:.8125rem;font-weight:700;line-height:1.5rem;text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (max-width: 560px){.detail{grid-template-columns:1fr}.profile-header{flex-direction:column;align-items:flex-start}}.search-layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:24px;align-items:start}.filters{display:grid;gap:16px}.filters h2,.results h2{font-size:1.125rem}.filter-group{display:grid;gap:6px;margin:0;padding:0;border:0}.filter-legend{padding:0;margin-bottom:4px;font-weight:600;color:var(--muted)}.filter-option{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.filter-option input{flex:none;font:inherit;width:18px;height:18px;margin:3px 0 0;margin-top:calc((1lh - 18px)/2)}.results{display:grid;gap:16px;min-width:0}.chosen{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chosen-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.chip{padding:4px 12px;font:inherit;font-size:.9375rem;border-radius:999px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);cursor:pointer}.chip:hover{background:var(--surface)}.result-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.result{display:grid;gap:8px}.result-name{font-weight:600;font-size:1.0625rem;color:var(--accent);overflow-wrap:anywhere}.location-filter .field,.own-profile .field{display:grid;gap:4px}.location-filter .input,.filters .input,.own-profile .input,.request-form .input{width:100%;padding:8px 10px;font:inherit;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text)}.location-filter .input[aria-invalid=true],.filters .input[aria-invalid=true],.own-profile .input[aria-invalid=true],.request-form .input[aria-invalid=true]{border-color:var(--danger)}.field-label{font-weight:600}.field-error{color:var(--danger);font-size:.9375rem}.near-form{display:grid;gap:4px}.near-row{display:flex;gap:8px}.near-row .input{min-width:0;flex:1}.near-chosen{display:grid;gap:8px}.result-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.distance{color:var(--muted);font-size:.9375rem;white-space:nowrap}.view-toggle{display:flex;gap:8px}.map-view{display:grid;gap:12px}.map{height:min(60vh,520px);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--accent-soft)}.marker,.cluster{display:grid;place-items:center;padding:0;border:2px solid var(--on-accent);border-radius:50%;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:700;box-shadow:var(--shadow);cursor:pointer}.marker{width:20px;height:20px}.marker:hover,.marker:focus-visible{background:var(--accent-hover)}.cluster{min-width:40px;height:40px;padding:0 8px;font-size:.9375rem}.map-summary{display:grid;gap:12px}.map-summary h2{font-size:1.125rem}.map-summary-actions{display:flex;flex-wrap:wrap;gap:8px}.map-summary-actions .button{text-decoration:none}@media (max-width: 720px){.search-layout{grid-template-columns:1fr}.map{height:55vh}}.dev-token{display:grid;gap:8px;margin-top:8px}.dev-token-note{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.content:has(.page-wide){max-width:1280px}.map-main{display:grid;gap:12px;min-width:0}.map-view-chosen{grid-template-columns:minmax(0,1fr) 280px;align-items:start}.marker-spot{min-width:26px;height:26px;padding:0 6px;border-radius:13px;font-size:.8125rem;font-weight:600}.spot-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}@media (max-width: 900px){.map-view-chosen{grid-template-columns:1fr}}.map-main{position:relative}.marker:hover,.marker:focus-visible,.marker-chosen{z-index:2;box-shadow:0 0 0 4px #1b438340}.marker-chosen,.marker-chosen:hover{background:var(--text);color:var(--on-accent)}.map-updating{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:3;padding:6px 14px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.875rem;box-shadow:0 2px 8px #00000026}.map-problem{display:grid;gap:8px;justify-items:start}.results-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.results-list{display:grid;gap:16px;min-width:0}.results-map{position:sticky;top:16px;min-width:0}.results-split .map{height:min(72vh,680px)}.results-split .map-view-chosen{grid-template-columns:1fr}.unplaced{display:grid;gap:8px}.unplaced h3{font-size:1rem;margin:0}.marker-highlighted{z-index:2;background:var(--accent-hover);box-shadow:0 0 0 4px #1b438340}.result-highlighted{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.result-chosen{border-color:var(--text)}.result-skeleton{gap:10px}.skeleton-bar{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--border) 25%,var(--accent-soft) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.skeleton-name{width:40%;height:16px}.skeleton-tags{width:70%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton-bar{animation:none}}.way-out{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.marker-spot{width:auto;line-height:1}.map-frame{position:relative}.map-summary-over{position:absolute;left:12px;bottom:12px;z-index:4;width:min(340px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto}.results-split .map{height:min(calc(100vh - 160px),760px)}.results-split .results-list .view-toggle{margin-bottom:4px}.result-details{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0;font-size:.9375rem}.result-details div{display:flex;gap:6px}.result-details dt{font-weight:600;color:var(--muted)}.result-details dd{margin:0}.list-more{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px}.availability{display:grid;gap:2px}.availability-change{justify-self:start}.own-profile{gap:20px}.own-profile textarea.input{min-height:10rem;resize:vertical}.own-profile .button{justify-self:start}.request-panel p{max-width:65ch}.request-form{gap:16px}.request-form .field{display:grid;gap:4px}.request-form .input{resize:vertical}.request-form .button{justify-self:start}@media (max-width: 560px){.request-form .button{justify-self:stretch}}.withdraw-open{justify-self:start;margin-top:6px}.withdraw-confirm{display:grid;gap:8px;margin-top:6px}.withdraw-actions{display:flex;flex-wrap:wrap;gap:8px}.request .notice,.request .alert{margin-top:6px}.save{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.save-button{gap:6px;padding:5px 12px;font-size:.9375rem}.save-button-on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.save-icon{font-size:1rem;line-height:1}.save-problem{flex-basis:100%}.result-heading .save{margin-left:auto}.profile-header .profile-save{margin-left:auto;align-self:flex-start}.saved-page{display:grid;gap:16px}.saved-paused{justify-self:start;margin:0}.saved-retry{justify-self:start}@media (max-width: 560px){.profile-header .profile-save{margin-left:0}}
