/* ════════════════════════════════════════════════════════════════════
   FACULTY CAMPUS CONNECT  ·  .fcc-*
   Faculty-minded clone of the student Campus Connect. Screen 1 = radial
   lobby (.fcc-lobby) · Screen 2 = 3-pane shell (.fcc-shell). Center pane
   switches: feed (community/events) · chat (faculty/principal) · club.
   Tokens only (shared brand.css) — dark-mode safe.
   ════════════════════════════════════════════════════════════════════ */
.fcc-view{min-height:60vh}

/* lobby keyframes (self-contained — not shared with the college styles) */
@keyframes ccUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes ccSpin{to{transform:rotate(360deg)}}
@keyframes ccPop{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}
@keyframes ccFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes ccBreathe{0%,100%{box-shadow:0 0 0 8px var(--plum-glow),0 18px 46px rgba(107,33,168,.38)}50%{box-shadow:0 0 0 16px var(--plum-glow),0 22px 54px rgba(107,33,168,.5)}}
@keyframes ccWave{0%{opacity:.55;transform:scale(1)}100%{opacity:0;transform:scale(2.1)}}
@keyframes ccTap{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.fcc-ava{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--line)}
.fcc-ava-fb{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-family:'Inter';font-weight:700;font-size:14px;color:#fff;background:linear-gradient(140deg,var(--plum-soft),var(--plum))}
.fcc-ava.sm,.fcc-ava-fb.sm{width:32px;height:32px;font-size:11px}
.fcc-ava.lg,.fcc-ava-fb.lg{width:54px;height:54px;font-size:18px}

/* ── Screen 1 — radial lobby ── */
.fcc-lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 16px 34px}
.fcc-lobby-title{font-family:'Inter';font-weight:800;font-size:28px;letter-spacing:-0.025em;color:var(--ink);margin:0;animation:ccUp .6s cubic-bezier(.2,.7,.3,1) both}
.fcc-lobby-sub{font-size:14px;color:var(--mute);margin:8px 0 0;animation:ccUp .6s .08s cubic-bezier(.2,.7,.3,1) both}
.fcc-radial{position:relative;width:460px;height:460px;max-width:90vw;margin:22px auto 10px;animation:ccUp .7s .12s cubic-bezier(.2,.7,.3,1) both}
.fcc-ring{position:absolute;border-radius:50%;pointer-events:none}
.fcc-ring-1{inset:13%;border:1.5px dashed var(--plum-soft);opacity:.55;animation:ccSpin 26s linear infinite}
.fcc-ring-2{inset:29%;border:1px solid var(--line);opacity:.7;animation:ccSpin 34s linear infinite reverse}
.fcc-orbit{position:absolute;inset:13%;border-radius:50%;pointer-events:none;animation:ccSpin 9s linear infinite}
.fcc-orbit-rev{inset:29%;animation:ccSpin 7s linear infinite reverse}
.fcc-orbit-dot{position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:var(--plum);box-shadow:0 0 0 4px var(--plum-glow),0 0 14px var(--plum);transform:translateX(-50%)}
.fcc-orbit-dot.alt{width:8px;height:8px;background:var(--honey);box-shadow:0 0 0 4px var(--honey-glow),0 0 12px var(--honey)}
.fcc-node{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;gap:9px;width:100px;animation:ccPop .55s cubic-bezier(.2,1.2,.3,1) both}
.fcc-node-ic{width:58px;height:58px;border-radius:17px;background:var(--card);border:1px solid var(--line);box-shadow:0 8px 22px rgba(11,18,32,.10);display:grid;place-items:center;font-size:23px;color:var(--plum-d);animation:ccFloat 5s ease-in-out infinite;transition:transform .2s cubic-bezier(.2,.9,.3,1),box-shadow .2s,background .2s,color .2s}
.fcc-node-lbl{font-family:'Inter';font-weight:700;font-size:12px;color:var(--ink-2);line-height:1.2;letter-spacing:-.01em}
.fcc-node:hover .fcc-node-ic{animation:none;transform:translateY(-5px) scale(1.08);background:linear-gradient(145deg,var(--plum),var(--plum-d));color:#fff;box-shadow:0 14px 30px rgba(107,33,168,.34)}
.fcc-node-1{top:-10px;left:calc(50% - 50px);animation-delay:.05s}
.fcc-node-2{top:20%;right:-10px;animation-delay:.12s}
.fcc-node-3{bottom:20%;right:-10px;animation-delay:.19s}
.fcc-node-4{bottom:-10px;left:calc(50% - 50px);animation-delay:.26s}
.fcc-node-5{bottom:20%;left:-10px;animation-delay:.33s}
.fcc-node-6{top:20%;left:-10px;animation-delay:.40s}
.fcc-node-1 .fcc-node-ic{animation-delay:0s}
.fcc-node-2 .fcc-node-ic{animation-delay:.5s}
.fcc-node-3 .fcc-node-ic{animation-delay:1s}
.fcc-node-4 .fcc-node-ic{animation-delay:1.5s}
.fcc-node-5 .fcc-node-ic{animation-delay:2s}
.fcc-node-6 .fcc-node-ic{animation-delay:2.5s}
.fcc-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:136px;height:136px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;color:#fff;z-index:2;background:radial-gradient(circle at 34% 28%,#a779e8,var(--plum) 52%,var(--plum-d));box-shadow:0 0 0 10px var(--plum-glow),0 18px 46px rgba(107,33,168,.45);animation:ccBreathe 3s ease-in-out infinite;transition:transform .18s cubic-bezier(.2,.9,.3,1)}
.fcc-core::before{content:"";position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.55),rgba(255,255,255,0) 60%);pointer-events:none}
.fcc-core-ic{position:relative;font-size:46px;line-height:1;display:grid;place-items:center;filter:drop-shadow(0 2px 6px rgba(60,20,110,.4));animation:ccFloat 4s ease-in-out infinite}
.fcc-core:hover{transform:translate(-50%,-50%) scale(1.06)}
.fcc-core:active{transform:translate(-50%,-50%) scale(.96)}
.fcc-core-wave{position:absolute;inset:0;border-radius:50%;border:2px solid var(--plum-soft);opacity:0;pointer-events:none;animation:ccWave 3s ease-out infinite}
.fcc-core-wave:nth-of-type(2){animation-delay:1.5s}
.fcc-lobby-hint{font-family:'Inter';font-weight:700;font-size:13px;color:var(--plum-d);margin:12px 0 0;display:inline-flex;align-items:center;gap:8px;animation:ccUp .6s .3s both}
.fcc-lobby-hint .bi{animation:ccTap 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){
  .fcc-ring,.fcc-orbit,.fcc-node,.fcc-node-ic,.fcc-core,.fcc-core-ic,.fcc-core-wave,.fcc-lobby-title,.fcc-lobby-sub,.fcc-radial,.fcc-lobby-hint,.fcc-lobby-hint .bi{animation:none}
}

/* ── Screen 2 — shell ── */
.fcc-shell{display:grid;grid-template-columns:248px 1fr 320px;gap:20px;align-items:start}
.fcc-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
/* pane placement: feed keeps the right rail; every other pane spans full width */
.fcc-feed{grid-column:2 / 3}
.fcc-side{grid-column:3 / 4}
.fcc-queries,.fcc-chat,.fcc-club,.fcc-vr,.fcc-gr,.fcc-announce{grid-column:2 / -1;min-width:0}

/* shared pane header */
.fcc-pane-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.fcc-pane-head h3{font-family:'Inter';font-weight:800;font-size:20px;letter-spacing:-0.02em;color:var(--ink);margin:0}
.fcc-pane-head p{font-size:12.5px;color:var(--mute);margin:5px 0 0;display:flex;align-items:center;gap:6px;line-height:1.5}
.fcc-pane-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:none;border-radius:9px;background:var(--plum);color:#fff;font-family:'Inter';font-weight:700;font-size:13px;cursor:pointer;transition:.13s}
.fcc-pane-cta:hover{background:var(--plum-d)}
.fcc-live-dot{width:8px;height:8px;border-radius:50%;background:var(--rose-d,#B91C1C);box-shadow:0 0 0 3px var(--rose-glow,#FEE2E2);display:inline-block}

/* embedded Student Queries console reuses the .sr-* styles from styles.css */
.fcc-queries .sr-shell{height:calc(100vh - 150px)}

/* left — channels */
.fcc-nav{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;position:sticky;top:14px}
.fcc-nav-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}
.fcc-nav-head h2{font-family:'Inter';font-weight:800;font-size:16px;color:var(--ink);margin:0}
.fcc-nav-head p{font-size:11px;color:var(--mute);margin:2px 0 0}
.fcc-lobby-btn{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;height:30px;padding:0 11px 0 9px;border-radius:999px;border:1px solid var(--plum-soft);background:var(--plum-glow);color:var(--plum-d);font-family:'Inter';font-weight:700;font-size:12px;line-height:1;cursor:pointer;transition:.13s}
.fcc-lobby-btn .bi{font-size:14px}
.fcc-lobby-btn:hover{background:var(--plum-d);border-color:var(--plum-d);color:#fff}
.fcc-channels{display:flex;flex-direction:column;gap:2px}
.fcc-ch{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;background:transparent;border-radius:9px;cursor:pointer;font-family:'Inter';font-weight:600;font-size:13px;color:var(--body);transition:.12s;text-align:left}
.fcc-ch:hover{background:var(--fog)}
.fcc-ch.active{background:var(--plum-glow);color:var(--plum-d)}
.fcc-ch-ic{width:22px;text-align:center;font-size:15px}
.fcc-ch-lbl{flex:1}
.fcc-ch-count{font-family:'JetBrains Mono';font-size:10px;font-weight:700;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--rose-glow,#FEE2E2);color:var(--rose-d,#B91C1C)}
.fcc-nav-sec{font-family:'Inter';font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:14px 0 5px;padding:0 10px}

/* center — feed */
.fcc-feed{display:flex;flex-direction:column;gap:14px;min-width:0;position:sticky;top:76px;height:calc(100vh - 90px)}
.fcc-feed-head,.fcc-feed>.fcc-compose{flex-shrink:0}
.fcc-feed-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-right:4px;margin-right:-4px}
.fcc-feed-scroll::-webkit-scrollbar{width:7px}
.fcc-feed-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.fcc-feed-scroll::-webkit-scrollbar-thumb:hover{background:var(--mute)}
.fcc-feed-head h3{font-family:'Inter';font-weight:800;font-size:18px;color:var(--ink);margin:0}
.fcc-feed-head p{font-size:12.5px;color:var(--mute);margin:3px 0 0}
.fcc-compose{display:flex;flex-direction:column;gap:12px}
.fcc-compose-top{display:flex;gap:12px;align-items:flex-start}
.fcc-compose-in{flex:1;border:1px solid var(--line);background:var(--fog);border-radius:11px;padding:11px 13px;font-family:'Inter';font-size:13.5px;color:var(--ink);resize:vertical;min-height:46px;outline:none;transition:.13s}
.fcc-compose-in:focus{border-color:var(--plum-soft);background:var(--card);box-shadow:0 0 0 3px var(--plum-glow)}
.fcc-compose-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fcc-chips{display:flex;gap:7px;flex-wrap:wrap;flex:1}
.fcc-chip{padding:6px 12px;border:1px solid var(--line);background:var(--card);border-radius:999px;font-family:'Inter';font-weight:600;font-size:11.5px;color:var(--body);cursor:pointer;transition:.12s;white-space:nowrap}
.fcc-chip:hover{border-color:var(--plum-soft);color:var(--plum-d)}
.fcc-chip.active{background:var(--plum);border-color:var(--plum);color:#fff}
.fcc-post-btn{padding:9px 22px;border:none;border-radius:9px;background:var(--plum);color:#fff;font-family:'Inter';font-weight:700;font-size:13px;cursor:pointer;transition:.13s}
.fcc-post-btn:hover{background:var(--plum-d)}
.fcc-compose-attbar{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px}
.fcc-att-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid transparent;border-radius:8px;background:transparent;font-family:'Inter';font-weight:600;font-size:12.5px;color:var(--mute);cursor:pointer;transition:.12s}
.fcc-att-btn i{font-size:15px}
.fcc-att-btn:hover{background:var(--plum-glow);color:var(--plum-d)}
.fcc-draft-atts{display:flex;flex-wrap:wrap;gap:8px}
.fcc-draft-att{display:flex;align-items:center;gap:8px;max-width:240px;padding:6px 8px 6px 6px;border:1px solid var(--line);border-radius:9px;background:var(--fog)}
.fcc-draft-thumb{width:30px;height:30px;border-radius:6px;flex-shrink:0;object-fit:cover;display:grid;place-items:center;font-size:15px;background:var(--card);border:1px solid var(--line);color:var(--plum-d)}
.fcc-draft-name{flex:1;min-width:0;font-family:'Inter';font-weight:600;font-size:11.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcc-draft-x{flex-shrink:0;border:none;background:transparent;color:var(--mute);cursor:pointer;font-size:15px;line-height:1;padding:0;display:grid;place-items:center}
.fcc-draft-x:hover{color:var(--rose-d,#B91C1C)}

/* posts */
.fcc-post{display:flex;flex-direction:column;gap:11px;transition:.16s}
.fcc-post:hover{box-shadow:0 6px 20px rgba(11,18,32,.06)}
.fcc-post-head{display:flex;align-items:center;gap:11px}
.fcc-post-id{flex:1;min-width:0;display:flex;flex-direction:column}
.fcc-post-id b{font-family:'Inter';font-weight:700;font-size:13.5px;color:var(--ink)}
.fcc-post-id small{font-size:11.5px;color:var(--mute)}
.fcc-post-tag{flex-shrink:0;font-family:'Inter';font-weight:700;font-size:10.5px;padding:4px 10px;border-radius:999px;background:var(--plum-glow);color:var(--plum-d);letter-spacing:.01em}
.fcc-post-tag.tag-stuck{background:var(--rose-glow,#FEE2E2);color:var(--rose-d,#B91C1C)}
.fcc-post-tag.tag-encourage{background:var(--emerald-glow,#D1FAE5);color:var(--emerald-d,#047857)}
.fcc-post-tag.tag-smartRead{background:var(--honey-glow);color:var(--honey-d)}
.fcc-post-tag.tag-peerSupport{background:var(--teal-glow,#CCFBF1);color:var(--teal-d,#0F766E)}
.fcc-post-title{font-family:'Inter';font-weight:700;font-size:15px;color:var(--ink);margin:0;letter-spacing:-0.01em}
.fcc-post-body{font-size:13px;color:var(--body);line-height:1.55;margin:0;white-space:pre-line}
.fcc-attach{display:flex;flex-direction:column;gap:8px}
.fcc-file{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--fog);text-decoration:none;transition:.13s}
.fcc-file:hover{border-color:var(--plum-soft);background:var(--plum-glow)}
.fcc-file-ic{width:34px;height:34px;border-radius:8px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;font-size:16px}
.fcc-file-meta{flex:1;display:flex;flex-direction:column;min-width:0}
.fcc-file-meta b{font-family:'Inter';font-weight:600;font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcc-file-meta small{font-size:11px;color:var(--mute)}
.fcc-file-dl{color:var(--plum-d);font-size:15px}
.fcc-imggrid{display:grid;gap:6px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.fcc-imggrid.n1{grid-template-columns:1fr}
.fcc-imggrid.n2{grid-template-columns:1fr 1fr}
.fcc-imggrid.n3{grid-template-columns:1fr 1fr 1fr}
.fcc-imgcell{position:relative;height:150px;display:grid;place-items:center;overflow:hidden;background:var(--mist);cursor:pointer;text-decoration:none}
.fcc-imggrid.n1 .fcc-imgcell{height:240px}
.fcc-img-real{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.fcc-imgcell:hover .fcc-img-real{transform:scale(1.05)}
.fcc-img-ic{font-size:24px;color:rgba(11,18,32,.4)}
.fcc-videos{display:flex;flex-direction:column;gap:8px}
.fcc-video{width:100%;max-height:320px;border-radius:12px;border:1px solid var(--line);background:#000;display:block}
.fcc-links{display:flex;flex-direction:column;gap:8px}
.fcc-linkcard{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--fog);text-decoration:none;transition:.13s}
.fcc-linkcard:hover{border-color:var(--plum-soft);background:var(--plum-glow)}
.fcc-link-ic{width:34px;height:34px;border-radius:8px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;font-size:18px;color:var(--plum-d)}
.fcc-link-meta{flex:1;display:flex;flex-direction:column;min-width:0}
.fcc-link-meta b{font-family:'Inter';font-weight:600;font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcc-link-meta small{font-size:11px;color:var(--mute)}
.fcc-link-go{color:var(--plum-d);font-size:14px}

/* actions */
.fcc-act{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:11px}
.fcc-act-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;cursor:pointer;font-family:'Inter';font-weight:600;font-size:12.5px;color:var(--mute);transition:.12s}
.fcc-act-btn:hover{color:var(--plum-d)}
.fcc-act-btn.liked{color:var(--rose-d,#B91C1C)}
.fcc-act-btn b{font-family:'JetBrains Mono';font-size:11.5px}
.fcc-act-spacer{flex:1}
.fcc-post-chan{font-family:'JetBrains Mono';font-size:11px;color:var(--plum-d);opacity:.8}
/* "Answer" — the help gate, emphasised on student-doubt posts */
.fcc-act-answer{color:#fff;background:var(--plum);padding:5px 13px;border-radius:999px;font-weight:700}
.fcc-act-answer:hover{background:var(--plum-d);color:#fff}

/* comments */
.fcc-comments{display:flex;flex-direction:column;gap:11px;border-top:1px solid var(--line);padding-top:12px}
.fcc-cmt{display:flex;gap:10px}
.fcc-cmt-body{flex:1;background:var(--fog);border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.fcc-cmt-body b{font-family:'Inter';font-weight:700;font-size:12.5px;color:var(--ink)}
.fcc-cmt-body small{font-size:10.5px;color:var(--mute);margin-left:6px}
.fcc-cmt-body p{margin:3px 0 0;font-size:12.5px;color:var(--body);line-height:1.5}
/* faculty answer — highlighted so guidance stands out on the thread */
.fcc-cmt.is-faculty .fcc-cmt-body{background:var(--plum-glow);border-color:var(--plum-soft)}
.fcc-cmt-faculty-badge{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-family:'Inter';font-weight:700;font-size:9.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--plum-d);background:var(--card);border:1px solid var(--plum-soft);padding:1px 6px;border-radius:999px;vertical-align:middle}
.fcc-cmt-add{display:flex;gap:8px}
.fcc-cmt-in{flex:1;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:9px 12px;font-family:'Inter';font-size:12.5px;color:var(--ink);outline:none;transition:.13s}
.fcc-cmt-in:focus{border-color:var(--plum-soft);box-shadow:0 0 0 3px var(--plum-glow)}
.fcc-cmt-send{padding:0 16px;border:none;border-radius:9px;background:var(--plum);color:#fff;font-family:'Inter';font-weight:700;font-size:12px;cursor:pointer}
.fcc-cmt-send:hover{background:var(--plum-d)}
.fcc-empty{padding:34px;text-align:center;color:var(--mute);font-size:13px;background:var(--card);border:1px dashed var(--line);border-radius:14px}

/* right — rail */
.fcc-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:14px}
.fcc-side-head{margin-bottom:12px}
.fcc-side-head h4{font-family:'Inter';font-weight:800;font-size:14px;color:var(--ink);margin:0}
.fcc-prof-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.fcc-prof-id{display:flex;flex-direction:column;min-width:0}
.fcc-prof-id b{font-family:'Inter';font-weight:700;font-size:14.5px;color:var(--ink)}
.fcc-prof-id small{font-size:12px;color:var(--mute)}
.fcc-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.fcc-stat{text-align:center;background:var(--fog);border:1px solid var(--line);border-radius:11px;padding:11px 6px}
.fcc-stat b{display:block;font-family:'Inter';font-weight:800;font-size:18px;color:var(--plum-d)}
.fcc-stat i{display:block;font-style:normal;font-size:10.5px;color:var(--mute);margin-top:3px;line-height:1.2}
.fcc-sugg{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.fcc-sugg:first-of-type{border-top:none}
.fcc-sugg-id{flex:1;min-width:0;display:flex;flex-direction:column}
.fcc-sugg-id b{font-family:'Inter';font-weight:700;font-size:12.5px;color:var(--ink)}
.fcc-sugg-id small{font-size:11px;color:var(--mute)}
.fcc-join{flex-shrink:0;padding:6px 15px;border:1px solid var(--plum);background:transparent;color:var(--plum-d);border-radius:8px;font-family:'Inter';font-weight:700;font-size:11.5px;cursor:pointer;transition:.12s}
.fcc-join:hover{background:var(--plum-glow)}
.fcc-join.joined{background:var(--plum);border-color:var(--plum);color:#fff}
.fcc-trend{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:1px solid transparent;background:transparent;border-radius:9px;cursor:pointer;transition:.12s;text-align:left}
.fcc-trend:hover{background:var(--fog)}
.fcc-trend.active{background:var(--plum-glow);border-color:var(--plum-soft)}
.fcc-trend b{font-family:'Inter';font-weight:700;font-size:12.5px;color:var(--plum-d)}
.fcc-trend small{font-size:11px;color:var(--mute)}
.fcc-cta{align-items:flex-start;text-align:left;background:linear-gradient(160deg,var(--plum-glow),var(--card));border-color:var(--plum-soft);display:flex;flex-direction:column;gap:8px}
.fcc-cta-glyph{width:38px;height:38px;border-radius:10px;background:var(--card);border:1px solid var(--plum-soft);display:grid;place-items:center;font-size:19px}
.fcc-cta b{font-family:'Inter';font-weight:700;font-size:14px;color:var(--ink)}
.fcc-cta p{margin:0;font-size:12px;color:var(--body);line-height:1.45}
.fcc-cta-btn{margin-top:4px;padding:9px 16px;border:none;border-radius:8px;background:var(--plum);color:#fff;font-family:'Inter';font-weight:700;font-size:12.5px;cursor:pointer;transition:.13s}
.fcc-cta-btn:hover{background:var(--plum-d)}

/* ════ CHAT pane (Faculty + Principal Communication) ════ */
.fcc-chat{display:grid;grid-template-columns:300px 1fr;gap:18px;min-width:0;height:calc(100vh - 90px)}
.fcc-chat-list{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;min-height:0}
.fcc-chat-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 12px}
.fcc-chat-list-head h3{font-family:'Inter';font-weight:800;font-size:15px;color:var(--ink);margin:0}
.fcc-chat-list-head small{font-size:11px;color:var(--mute)}
.fcc-chat-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:3px}
.fcc-conv{display:flex;gap:11px;align-items:center;width:100%;padding:10px;border:1px solid transparent;background:transparent;border-radius:11px;cursor:pointer;text-align:left;transition:.12s}
.fcc-conv:hover{background:var(--fog)}
.fcc-conv.active{background:var(--plum-glow);border-color:var(--plum-soft)}
.fcc-conv-ava{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;font-family:'Inter';font-weight:800;font-size:14px}
.fcc-conv-meta{flex:1;min-width:0}
.fcc-conv-meta b{display:block;font-family:'Inter';font-weight:700;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcc-conv-meta small{display:block;font-size:11.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcc-conv-side{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.fcc-conv-time{font-size:10.5px;color:var(--mute)}
.fcc-conv-unread{min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--plum);color:#fff;font-family:'JetBrains Mono';font-size:10px;font-weight:700}
.fcc-chat-main{background:var(--card);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;min-width:0;min-height:0}
.fcc-chat-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.fcc-chat-head .fcc-conv-ava{width:44px;height:44px}
.fcc-chat-head-id{flex:1;min-width:0}
.fcc-chat-head-id b{font-family:'Inter';font-weight:800;font-size:15px;color:var(--ink)}
.fcc-chat-head-id small{display:block;font-size:11.5px;color:var(--mute)}
.fcc-chat-online{font-size:11px;font-weight:700;color:var(--emerald-d,#047857);display:inline-flex;align-items:center;gap:5px}
.fcc-chat-online::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--emerald-d,#047857)}
.fcc-chat-thread{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:11px;padding:16px 18px}
.fcc-msg{max-width:74%;display:flex;flex-direction:column;gap:3px}
.fcc-msg.them{align-self:flex-start}
.fcc-msg.me{align-self:flex-end;align-items:flex-end}
.fcc-msg-name{font-family:'Inter';font-weight:700;font-size:11px;color:var(--mute);padding:0 4px}
.fcc-msg-bub{padding:9px 13px;border-radius:14px;font-size:13px;line-height:1.5}
.fcc-msg.them .fcc-msg-bub{background:var(--fog);border:1px solid var(--line);color:var(--body);border-bottom-left-radius:4px}
.fcc-msg.me .fcc-msg-bub{background:var(--plum);color:#fff;border-bottom-right-radius:4px}
.fcc-msg-bub p{margin:0}
.fcc-msg-att{margin-top:6px;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.14);font-size:11.5px;font-weight:600}
.fcc-msg.them .fcc-msg-att{background:var(--card);border:1px solid var(--line);color:var(--ink)}
.fcc-msg-time{font-size:10px;color:var(--mute);padding:0 4px}
.fcc-chat-compose{display:flex;gap:9px;padding:12px 16px;border-top:1px solid var(--line)}
.fcc-chat-in{flex:1;border:1px solid var(--line);background:var(--fog);border-radius:11px;padding:11px 14px;font-family:'Inter';font-size:13px;color:var(--ink);outline:none;transition:.13s}
.fcc-chat-in:focus{border-color:var(--plum-soft);background:var(--card);box-shadow:0 0 0 3px var(--plum-glow)}
.fcc-chat-send{flex-shrink:0;padding:0 20px;border:none;border-radius:11px;background:var(--plum);color:#fff;font-family:'Inter';font-weight:700;font-size:13px;cursor:pointer;transition:.13s}
.fcc-chat-send:hover{background:var(--plum-d)}

/* ════ CLUB grid (faculty-only network) ════ */
.fcc-club{min-width:0}
.fcc-club-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.fcc-club-head h3{font-family:'Inter';font-weight:800;font-size:20px;letter-spacing:-0.02em;color:var(--ink);margin:0}
.fcc-club-head p{font-size:12.5px;color:var(--mute);margin:5px 0 0;max-width:480px;line-height:1.5}
.fcc-club-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.fcc-sumcard{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 15px}
.fcc-sum-ic{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;font-size:18px;background:var(--plum-glow);color:var(--plum-d)}
.fcc-sumcard b{display:block;font-family:'Inter';font-weight:800;font-size:21px;color:var(--ink);line-height:1}
.fcc-sumcard i{display:block;font-style:normal;font-size:11.5px;color:var(--mute);margin-top:4px}
.fcc-club-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:16px}
.fcc-mcard{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .16s cubic-bezier(.2,.9,.3,1),box-shadow .16s,border-color .16s}
.fcc-mcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px -16px rgba(11,18,32,.28);border-color:var(--plum-soft)}
.fcc-mcard-cover{height:58px;background:linear-gradient(135deg,var(--plum-soft),var(--plum));position:relative}
.fcc-mcard-cover::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% -10%,rgba(255,255,255,.35),transparent 60%)}
.fcc-mcard-body{padding:0 16px 16px;display:flex;flex-direction:column;flex:1}
.fcc-mcard-ava{width:62px;height:62px;border-radius:50%;margin:-31px 0 0;border:3px solid var(--card);display:grid;place-items:center;color:#fff;font-family:'Inter';font-weight:800;font-size:20px;background:linear-gradient(140deg,var(--plum-soft),var(--plum-d));position:relative;z-index:1}
.fcc-mcard-body h4{font-family:'Inter';font-weight:800;font-size:15px;color:var(--ink);margin:10px 0 0}
.fcc-mcard-role{font-size:12px;color:var(--mute);margin:2px 0 0}
.fcc-mcard-tags{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 0}
.fcc-mtag{font-family:'Inter';font-weight:600;font-size:10.5px;color:var(--plum-d);background:var(--plum-glow);border-radius:999px;padding:3px 9px}
.fcc-mcard-foot{margin-top:14px;display:flex;gap:8px}
.fcc-connect{flex:1;padding:9px 0;border:1px solid var(--plum);background:transparent;color:var(--plum-d);border-radius:9px;font-family:'Inter';font-weight:700;font-size:12.5px;cursor:pointer;transition:.13s}
.fcc-connect:hover{background:var(--plum-glow)}
.fcc-connect.pending{border-style:dashed;color:var(--mute);border-color:var(--line)}
.fcc-connect.connected{background:var(--plum);border-color:var(--plum);color:#fff;cursor:default}
.fcc-msg-btn{flex-shrink:0;padding:9px 14px;border:1px solid var(--line);background:var(--fog);color:var(--ink);border-radius:9px;font-family:'Inter';font-weight:700;font-size:12.5px;cursor:pointer;transition:.12s}
.fcc-msg-btn:hover{border-color:var(--plum-soft);color:var(--plum-d)}

/* ════ VIRTUAL ROOMS (faculty-hosted live sessions) ════ */
.fcc-vr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.fcc-vr-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .16s cubic-bezier(.2,.9,.3,1),box-shadow .16s,border-color .16s}
.fcc-vr-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px -16px rgba(11,18,32,.28);border-color:var(--plum-soft)}
.fcc-vr-card.is-ended{opacity:.72}
.fcc-vr-cover{height:74px;position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:11px 13px}
.fcc-vr-cover::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% -20%,rgba(255,255,255,.34),transparent 60%);pointer-events:none}
.fcc-vr-status{position:relative;z-index:1;display:inline-flex;align-items:center;gap:5px;font-family:'Inter';font-weight:800;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.26);padding:4px 9px;border-radius:999px}
.fcc-vr-status.st-live{background:var(--rose-d,#B91C1C)}
.fcc-vr-stdot{width:7px;height:7px;border-radius:50%;background:#fff;animation:ccFloat 1.6s ease-in-out infinite}
.fcc-vr-when{position:relative;z-index:1;font-family:'Inter';font-weight:700;font-size:10.5px;color:#fff;opacity:.92}
.fcc-vr-body{padding:13px 15px 15px;display:flex;flex-direction:column;flex:1}
.fcc-vr-body h4{font-family:'Inter';font-weight:800;font-size:15px;color:var(--ink);margin:0;letter-spacing:-0.01em}
.fcc-vr-topic{font-size:12.5px;color:var(--body);margin:5px 0 0;line-height:1.45}
.fcc-vr-tags{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 0}
.fcc-vr-meta{display:flex;gap:14px;margin:12px 0 0;font-size:12px;color:var(--mute)}
.fcc-vr-meta i{color:var(--plum-d)}
.fcc-vr-foot{margin-top:14px}
.fcc-vr-btn{width:100%;padding:9px 0;border:1px solid var(--plum);background:transparent;color:var(--plum-d);border-radius:9px;font-family:'Inter';font-weight:700;font-size:12.5px;cursor:pointer;transition:.13s;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.fcc-vr-btn:hover{background:var(--plum-glow)}
.fcc-vr-btn.primary{background:var(--plum);border-color:var(--plum);color:#fff}
.fcc-vr-btn.primary:hover{background:var(--plum-d)}
.fcc-vr-btn.joined{background:var(--plum-glow);border-color:var(--plum-soft);color:var(--plum-d)}
.fcc-vr-btn.danger{border-color:var(--rose-d,#B91C1C);color:var(--rose-d,#B91C1C)}
.fcc-vr-btn.danger:hover{background:var(--rose-glow,#FEE2E2)}
.fcc-vr-btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--line);color:var(--mute)}
.fcc-vr-btn:disabled:hover{background:transparent}

/* ════ GUIDE ROOMS (faculty-led guidance threads) ════ */
.fcc-gr-filters{display:flex;gap:7px}
.fcc-gr-fchip{padding:7px 14px;border:1px solid var(--line);background:var(--card);border-radius:999px;font-family:'Inter';font-weight:600;font-size:12px;color:var(--body);cursor:pointer;transition:.12s}
.fcc-gr-fchip:hover{border-color:var(--plum-soft);color:var(--plum-d)}
.fcc-gr-fchip.active{background:var(--plum);border-color:var(--plum);color:#fff}
.fcc-gr-list{display:flex;flex-direction:column;gap:10px}
.fcc-gr-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;transition:.14s}
.fcc-gr-row:hover{border-color:var(--plum-soft);box-shadow:0 6px 18px -10px rgba(11,18,32,.22);transform:translateY(-1px)}
.fcc-gr-ava{flex-shrink:0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:'Inter';font-weight:800;font-size:14px;background:linear-gradient(140deg,var(--plum-soft),var(--plum-d))}
.fcc-gr-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.fcc-gr-top{display:flex;align-items:center;gap:9px}
.fcc-gr-top b{font-family:'Inter';font-weight:700;font-size:14px;color:var(--ink)}
.fcc-gr-status{font-family:'Inter';font-weight:700;font-size:10px;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:999px}
.fcc-gr-status.st-open{background:var(--honey-glow);color:var(--honey-d)}
.fcc-gr-status.st-resolved{background:var(--emerald-glow,#D1FAE5);color:var(--emerald-d,#047857)}
.fcc-gr-q{font-size:12.5px;color:var(--body);line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcc-gr-meta{font-size:11px;color:var(--mute)}
.fcc-gr-go{color:var(--mute);font-size:16px;flex-shrink:0}
/* detail */
.fcc-gr-detail{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;height:calc(100vh - 150px);overflow:hidden}
.fcc-gr-dhead{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line)}
.fcc-gr-back{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--fog);color:var(--ink);border-radius:999px;padding:6px 13px 6px 10px;font-family:'Inter';font-weight:700;font-size:12px;cursor:pointer;transition:.12s}
.fcc-gr-back:hover{border-color:var(--plum-soft);color:var(--plum-d)}
.fcc-gr-dtitle{flex:1;min-width:0}
.fcc-gr-dtitle b{font-family:'Inter';font-weight:800;font-size:15px;color:var(--ink)}
.fcc-gr-dtitle small{display:block;font-size:11.5px;color:var(--mute)}
.fcc-gr-resolve{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--emerald-d,#047857);background:transparent;color:var(--emerald-d,#047857);border-radius:9px;padding:7px 13px;font-family:'Inter';font-weight:700;font-size:12px;cursor:pointer;transition:.12s}
.fcc-gr-resolve:hover{background:var(--emerald-glow,#D1FAE5)}
.fcc-gr-thread{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:11px;padding:18px}
.fcc-gr-msg{max-width:74%;display:flex;flex-direction:column;gap:3px}
.fcc-gr-msg.them{align-self:flex-start}
.fcc-gr-msg.me{align-self:flex-end;align-items:flex-end}
.fcc-gr-msg-name{font-family:'Inter';font-weight:700;font-size:11px;color:var(--mute);padding:0 4px}
.fcc-gr-bub{padding:9px 13px;border-radius:14px;font-size:13px;line-height:1.5}
.fcc-gr-msg.them .fcc-gr-bub{background:var(--fog);border:1px solid var(--line);color:var(--body);border-bottom-left-radius:4px}
.fcc-gr-msg.me .fcc-gr-bub{background:var(--plum);color:#fff;border-bottom-right-radius:4px}
.fcc-gr-bub p{margin:0}
.fcc-gr-time{font-size:10px;color:var(--mute);padding:0 4px}
.fcc-gr-compose{display:flex;gap:9px;padding:12px 16px;border-top:1px solid var(--line)}
.fcc-gr-in{flex:1;border:1px solid var(--line);background:var(--fog);border-radius:11px;padding:11px 14px;font-family:'Inter';font-size:13px;color:var(--ink);outline:none;transition:.13s}
.fcc-gr-in:focus{border-color:var(--plum-soft);background:var(--card);box-shadow:0 0 0 3px var(--plum-glow)}
.fcc-gr-send{flex-shrink:0;padding:0 20px;border:none;border-radius:11px;background:var(--plum);color:#fff;font-family:'Inter';font-weight:700;font-size:13px;cursor:pointer;transition:.13s}
.fcc-gr-send:hover{background:var(--plum-d)}

/* ════ ANNOUNCEMENTS ════ */
.fcc-ann-compose{display:flex;flex-direction:column;gap:12px;max-width:680px}
.fcc-ann-title{border:1px solid var(--line);background:var(--fog);border-radius:11px;padding:11px 14px;font-family:'Inter';font-weight:700;font-size:14px;color:var(--ink);outline:none;transition:.13s}
.fcc-ann-title:focus{border-color:var(--plum-soft);background:var(--card);box-shadow:0 0 0 3px var(--plum-glow)}
.fcc-ann-body{border:1px solid var(--line);background:var(--fog);border-radius:11px;padding:11px 14px;font-family:'Inter';font-size:13.5px;color:var(--ink);resize:vertical;min-height:90px;outline:none;transition:.13s}
.fcc-ann-body:focus{border-color:var(--plum-soft);background:var(--card);box-shadow:0 0 0 3px var(--plum-glow)}
.fcc-ann-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fcc-ann-hint{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--mute)}
.fcc-ann-hint i{color:var(--plum-d)}
.fcc-ann-recent{margin-top:22px;max-width:680px}
.fcc-ann-item{margin-bottom:12px}
.fcc-ann-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.fcc-ann-item-top b{font-family:'Inter';font-weight:700;font-size:14px;color:var(--ink)}
.fcc-ann-item-top small{font-size:11px;color:var(--mute);flex-shrink:0}
.fcc-ann-item p{margin:6px 0 0;font-size:12.5px;color:var(--body);line-height:1.5}

/* stack on narrow screens */
@media (max-width:1100px){
  .fcc-shell{grid-template-columns:1fr}
  .fcc-nav,.fcc-side{position:static}
  .fcc-feed{position:static;height:auto;grid-column:1}
  .fcc-feed-scroll{overflow:visible;padding-right:0;margin-right:0}
  .fcc-side{grid-column:1}
  .fcc-queries,.fcc-chat,.fcc-club,.fcc-vr,.fcc-gr,.fcc-announce{grid-column:1}
  .fcc-chat{grid-template-columns:1fr;height:auto}
  .fcc-queries .sr-shell,.fcc-gr-detail{height:auto}
  .fcc-radial{width:380px;height:380px}
}
