/* The Purpose Club: join page and members' tools */
.club-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.club-tool{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px}
.club-tool h3{margin:0 0 .4em;font-size:1.2rem}
.club-tool .club-outcome{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--red);margin-bottom:8px}
.club-tool p{margin:0;color:var(--muted);font-size:.97rem}
.club-seats{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:700}
.club-seats .num{font-size:1.25rem;color:var(--orange)}
.club-form{max-width:560px}
.club-form textarea{display:block;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:1rem;resize:vertical;background:var(--card,#fff);color:inherit}
.club-form textarea:focus{outline:2px solid var(--navy);outline-offset:1px}
.club-count{margin:4px 0 14px;text-align:right}
.club-msg{margin-top:18px;padding:16px 18px;border-radius:8px;background:#eef2f9;border:1px solid var(--line)}
.club-msg.err{background:#fdecee;border-color:#f3b8c0}
.club-small{font-size:.88rem;color:var(--muted)}

/* members' area */
.club-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.club-tabs button{font:inherit;font-weight:600;font-size:.95rem;padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--muted);cursor:pointer}
.club-tabs button[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.club-panel{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.club-intro{padding:20px 24px;border-bottom:1px solid var(--line)}
.club-intro h2{margin:0 0 .2em;font-size:1.35rem}
.club-intro p{margin:0;color:var(--muted)}
.club-log{padding:20px 24px;min-height:260px;max-height:62vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px}
.club-bubble{max-width:88%;padding:12px 16px;border-radius:12px;line-height:1.6;font-size:.98rem;overflow-wrap:anywhere}
.club-bubble.me{align-self:flex-end;background:var(--navy);color:#fff;white-space:pre-wrap}
.club-bubble.bot{align-self:flex-start;background:var(--bg);border:1px solid var(--line)}
.club-bubble.bot p{margin:0 0 .7em}.club-bubble.bot p:last-child{margin:0}
.club-bubble.bot ul{margin:0 0 .7em;padding-left:20px}
.club-bubble.bot a{color:var(--red);font-weight:600}
.club-bubble.wait{color:var(--muted);font-style:italic}
.club-starters{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 16px}
.club-starters button{font:inherit;font-size:.88rem;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;text-align:left}
.club-input{display:flex;gap:10px;padding:16px 24px;border-top:1px solid var(--line);background:#fbfcfe}
.club-input textarea{flex:1;min-height:52px;max-height:220px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:1rem;resize:vertical}
.club-input textarea:focus{outline:2px solid var(--navy);outline-offset:1px}
.club-input .btn{align-self:flex-end}
.club-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;font-size:.85rem;color:var(--muted)}
@media (max-width:820px){.club-tools{grid-template-columns:1fr}.club-bubble{max-width:100%}.club-log,.club-intro,.club-input,.club-starters{padding-left:16px;padding-right:16px}}

/* join page: who the Club is for */
.club-switch{padding:24px 0 0}
.club-switch .club-tabs{margin:0}
.club-lead{padding-top:36px}

/* Faculty Circle and the students / professors switch */
.club-switch nav.club-tabs a{font-weight:600;font-size:.95rem;padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--muted);text-decoration:none}
.club-switch nav.club-tabs a[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff}
.club-tools-4{grid-template-columns:repeat(2,1fr)}
.club-tools-3 .club-tool h3{margin-top:0}
.club-form select{display:block;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:1rem;background:var(--card,#fff);color:inherit;margin-bottom:14px}
.club-checks{border:0;padding:0;margin:6px 0 14px}
.club-checks legend{font-weight:600;margin-bottom:6px}
.club-tool textarea{display:block;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.95rem;margin-top:4px}
.club-tool .consent{display:block;margin:6px 0}
.fc-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.5rem;font-weight:700;color:var(--navy)!important;letter-spacing:.06em;margin:4px 0 10px!important}
@media (max-width:820px){.club-tools-4{grid-template-columns:1fr}}
@media (max-width:820px){.club-input{flex-direction:column}.club-input textarea{width:100%;box-sizing:border-box}.club-input .btn{align-self:stretch}}
/* Faculty case search */
.fc-search{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;max-width:900px;margin-top:20px}
.fc-search label{display:block;font-weight:600;font-size:.92rem;margin:8px 0 6px}
.fc-search input[type=text],.fc-search select{display:block;width:100%;box-sizing:border-box;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.97rem;background:var(--card,#fff);color:inherit}
.fc-search .fc-wide{grid-column:1/-1;margin-top:10px}
.fc-search .consent{font-weight:400}
.fc-results{display:grid;gap:14px;margin-top:22px}
.fc-case{background:var(--card,#fff);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.fc-case .fc-meta{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.fc-case h3{margin:6px 0 6px;font-size:1.08rem}
.fc-case p{margin:0 0 10px;color:var(--muted);font-size:.95rem}
.fc-case .fc-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fc-case .fc-actions a{font-size:.9rem;color:var(--red);font-weight:600}
.fc-loose{display:inline-block;padding:1px 8px;border-radius:999px;background:#fff4e5;color:#8a4b00;margin-left:6px;text-transform:none;letter-spacing:0;font-weight:600}
.fc-grade{display:inline-block;padding:1px 8px;border-radius:999px;background:#eef2f9;color:var(--navy);margin-left:6px;text-transform:none;letter-spacing:0;font-weight:600}
.fc-grade-A{background:#e3f4ea;color:#17603a}
.fc-grade-B{background:#eef2f9;color:var(--navy)}
.fc-grade-C{background:#f3efe6;color:#6b5420}
.fc-grade-V{background:#f4eefa;color:#5b3d7a}
.fc-details{border-top:1px solid var(--line);margin:4px 0 12px;padding-top:10px;display:grid;gap:10px}
.fc-sec h4{margin:0 0 4px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.fc-sec p,.fc-sec li{margin:0;color:var(--muted);font-size:.92rem}
.fc-sec ul{margin:0;padding-left:18px}
.fc-sec li+li{margin-top:3px}
.fc-sec .fc-note{margin-bottom:4px}
.fc-ai{display:inline-block;padding:1px 9px;border-radius:999px;font-weight:700;font-size:.82rem;margin-right:4px}
.fc-ai-core{background:#e3f4ea;color:#17603a}
.fc-ai-part{background:#eef2f9;color:var(--navy)}
.fc-ai-yes{background:#e3f4ea;color:#17603a}
.fc-ai-maybe{background:#fff4e5;color:#8a4b00}
.fc-ai-no{background:#f1f1f1;color:#555}
.fc-legend{margin-top:18px;max-width:900px;font-size:.92rem}
.fc-legend summary{cursor:pointer;font-weight:600;color:var(--navy)}
.fc-legend dl{margin:10px 0 6px;display:grid;gap:8px}
.fc-legend dt{font-weight:600}
.fc-legend dt .fc-grade{margin:0 4px 0 0}
.fc-legend dd{margin:2px 0 0;color:var(--muted)}
.fc-legend p{color:var(--muted);margin:6px 0 0}
.fc-picked{border:1px solid var(--navy);background:#eef2f9;border-radius:8px;padding:10px 14px;margin:0 24px 12px;font-size:.92rem}
@media (max-width:820px){.fc-search{grid-template-columns:1fr}.fc-picked{margin:0 16px 12px}}
.fc-starters{padding:0;margin-top:14px}

/* Project Match: three steps above the chat */
.club-steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 20px;padding:0}
.club-steps li{counter-increment:step;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px 14px 52px;position:relative}
.club-steps li::before{content:counter(step);position:absolute;left:14px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.club-steps strong{display:block;margin-bottom:2px}
.club-steps span{color:var(--muted);font-size:.93rem}
.club-starters button{border-radius:12px}
@media (max-width:820px){.club-steps{grid-template-columns:1fr}}
