:root{--indigo:var(--brand);--surface:var(--card);--border:var(--line);--bg:var(--paper)}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);margin:0;line-height:1.55}a{color:var(--indigo);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:960px;margin:0 auto;padding:0 24px}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:18px 0;display:flex}.brand{letter-spacing:-.02em;font-size:20px;font-weight:800}.brand span{color:var(--indigo)}.btn{background:var(--indigo);color:#fff;cursor:pointer;font-weight:600;font:inherit;border:none;border-radius:10px;padding:11px 20px;display:inline-block}.btn:hover{opacity:.92;text-decoration:none}.btn-ghost{color:var(--indigo);border:1px solid var(--border);background:0 0}h1,h2,h3{font-family:var(--font-disp);font-weight:600}h1{letter-spacing:-.02em;font-size:30px}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.card h3{margin:0 0 4px}.muted{color:var(--muted)}.badge{background:var(--brand-soft);color:var(--indigo);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.empty{text-align:center;padding:64px 24px}label{margin:14px 0 6px;font-weight:600;display:block}input,select{border:1px solid var(--border);width:100%;font:inherit;border-radius:10px;padding:12px 14px}.form{max-width:520px}.vgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:6px;display:grid}.vopt{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:12px;padding:14px}.vopt.sel{border-color:var(--indigo);box-shadow:0 0 0 2px var(--brand-soft)}
