/* Limoette University v1.8 — focused course cards, sharing and LU ID lanyard. */

.lu-professor-stack { grid-template-rows: auto auto 300px; align-content: start; align-self: start; }
.lu-professor-stack > .lu-university-radar { min-height:300px; height:300px; }
.lu-professor-media { overflow: hidden; border: 1px solid rgba(255,49,91,.34); border-radius: 18px; background: linear-gradient(145deg,rgba(24,5,10,.98),rgba(3,1,2,.99)); box-shadow: 0 20px 52px rgba(0,0,0,.42),0 0 28px rgba(255,49,91,.07); }
.lu-professor-media > header,.lu-professor-media > footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; color:#ecd7dc; font:700 7px var(--lu-mono); letter-spacing:.1em; text-transform:uppercase; }
.lu-professor-media > header { border-bottom:1px solid rgba(255,255,255,.07); }
.lu-professor-media > header span { display:flex; align-items:center; gap:7px; }
.lu-professor-media > header i { width:7px; height:7px; border-radius:50%; background:var(--lu-crimson); box-shadow:0 0 12px var(--lu-crimson); }
.lu-professor-media > header small,.lu-professor-media > footer small { color:#846c72; font-size:6px; }
.lu-professor-media > footer { align-items:flex-start; min-height:49px; border-top:1px solid rgba(255,255,255,.07); }
.lu-professor-media > footer strong { max-width:82%; color:#e6cdd3; font:600 10px/1.35 var(--lu-serif); letter-spacing:0; text-transform:none; }
.lu-professor-media-stage { display:grid; grid-template-columns:34px minmax(0,1fr) 34px; align-items:center; gap:7px; padding:9px; }
.lu-professor-media-stage > button:not(.lu-professor-media-card) { width:34px; height:50px; padding:0; color:#ffafc0; border:1px solid rgba(255,49,91,.3); background:rgba(255,49,91,.055); font:400 23px/1 var(--lu-serif); cursor:pointer; }
.lu-professor-media-stage > button:not(.lu-professor-media-card):hover,.lu-professor-media-stage > button:not(.lu-professor-media-card):focus-visible { color:#fff; border-color:var(--lu-crimson); background:rgba(255,49,91,.18); }
.lu-professor-media-card { position:relative; min-width:0; padding:0; overflow:hidden; border:1px solid rgba(255,49,91,.3); background:#070203; cursor:pointer; }
.lu-professor-media-card picture,.lu-professor-media-card img { display:block; width:100%; }
.lu-professor-media-card img { aspect-ratio:1; object-fit:cover; transition:transform .25s ease,filter .25s ease; }
.lu-professor-media-card:hover img,.lu-professor-media-card:focus-visible img { transform:scale(1.015); filter:brightness(1.08); }
.lu-professor-media-card > span { position:absolute; right:0; bottom:0; left:0; padding:9px 6px; color:#ffd7e0; background:linear-gradient(180deg,transparent,rgba(4,0,1,.96)); font:700 6px var(--lu-mono); letter-spacing:.08em; text-align:center; }

.lu-professor-answer.has-focused-card { min-height:0; }
.lu-focused-card-result { grid-column:1/-1; display:grid; grid-template-columns:minmax(190px,.72fr) minmax(0,1fr); gap:18px; margin:5px 0 2px; padding:14px; border:1px solid rgba(255,49,91,.26); background:rgba(0,0,0,.28); }
.lu-focused-card-result figure { margin:0; }
.lu-focused-card-result img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border:1px solid rgba(255,49,91,.28); background:#050203; }
.lu-focused-card-copy { min-width:0; display:flex; flex-direction:column; }
.lu-focused-card-copy > small { color:var(--lu-crimson-bright); font:700 7px var(--lu-mono); letter-spacing:.1em; text-transform:uppercase; }
.lu-focused-card-copy h3 { margin:10px 0 8px; color:#fff4f6; font:500 clamp(20px,2.2vw,29px)/1.05 var(--lu-serif); }
.lu-focused-card-copy p { margin:0; color:#cab5ba; font-size:11px; line-height:1.65; }
.lu-focused-card-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.lu-focused-card-meta span { padding:5px 7px; color:#8f777d; border:1px solid rgba(255,255,255,.08); font:700 6px var(--lu-mono); letter-spacing:.06em; text-transform:uppercase; }
.lu-focused-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; }
.lu-focused-actions button,.lu-focused-actions a { min-height:34px; display:inline-flex; align-items:center; justify-content:center; padding:8px 10px; color:#cbb6bb; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.025); font:700 6px var(--lu-mono); letter-spacing:.055em; text-transform:uppercase; text-decoration:none; cursor:pointer; }
.lu-focused-actions button:hover,.lu-focused-actions button:focus-visible,.lu-focused-actions a:hover,.lu-focused-actions a:focus-visible { color:#fff; border-color:rgba(255,49,91,.58); background:rgba(255,49,91,.11); }
.lu-focused-actions .is-primary { color:#190006; border-color:var(--lu-crimson); background:var(--lu-crimson); }
.lu-focused-actions .is-primary:hover { color:#fff; background:#c52241; }
.lu-virtava-share-bar { flex-basis:100%; width:100%; margin-top:4px; }
.lu-focused-status { flex-basis:100%; min-height:16px; margin:2px 0 0; color:#977e84; font:600 7px/1.5 var(--lu-mono); }
.lu-focused-fanout { flex-basis:100%; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; padding:10px; border:1px solid rgba(255,49,91,.22); background:rgba(255,49,91,.035); }
.lu-focused-fanout small { grid-column:1/-1; margin-bottom:2px; color:#a98e94; font:700 6px var(--lu-mono); letter-spacing:.07em; }
.lu-focused-fanout button { min-width:0; }
.vaihc-fanout { flex-basis:100%; width:100%; display:grid; gap:6px; padding:10px; border:1px solid rgba(255,49,91,.22); background:rgba(255,49,91,.035); }
.vaihc-fanout > small { color:#a98e94; font:700 6px var(--lu-mono); letter-spacing:.07em; }
.vaihc-fanout-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
.vaihc-fanout-grid button { min-width:0; }

.lu-ai-lesson-art { appearance:none; width:100%; color:inherit; cursor:pointer; }
.lu-ai-lesson-art > span { display:block; padding:11px 6px 3px; color:#9f858c; font:700 7px var(--lu-mono); letter-spacing:.12em; text-align:center; text-transform:uppercase; }
.lu-ai-lesson-card[data-lu-card-load] { cursor:pointer; }

.lu-id-lanyard { position:fixed; z-index:9994; right:16px; bottom:15px; width:270px; filter:drop-shadow(0 22px 28px rgba(0,0,0,.72)); transition:transform .28s ease; }
.lu-id-lanyard.is-retracted { transform:translateY(calc(100% - 54px)); }
.lu-id-lanyard-toggle { position:absolute; z-index:4; top:-28px; right:7px; width:48px; height:48px; display:grid; place-items:center; padding:5px; border:1px solid rgba(255,49,91,.56); border-radius:50%; background:#14050a; box-shadow:0 0 22px rgba(255,49,91,.28); cursor:pointer; }
.lu-id-lanyard-toggle .lu-university-logo { display:none; width:100%; height:100%; border-radius:50%; }
.lu-id-lanyard-toggle > span { color:#fff; font:700 18px/1 var(--lu-mono); }
.lu-id-lanyard.is-retracted .lu-id-lanyard-toggle .lu-university-logo { display:block; }
.lu-id-lanyard.is-retracted .lu-id-lanyard-toggle > span { display:none; }
.lu-id-lanyard-clip { position:absolute; z-index:2; top:-55px; left:50%; width:72px; height:61px; transform:translateX(-50%); }
.lu-id-lanyard-clip i { position:absolute; top:0; left:7px; width:58px; height:42px; border:8px solid #4a3e41; border-bottom-color:#1b1618; border-radius:16px 16px 8px 8px; background:linear-gradient(#aaa,#343034); box-shadow:inset 0 0 0 3px #171417,0 5px 12px rgba(0,0,0,.55); }
.lu-id-lanyard-clip i::after { position:absolute; inset:7px 12px; border-radius:5px; background:#090708; content:""; }
.lu-id-lanyard-clip b { position:absolute; top:36px; left:27px; width:18px; height:25px; border:3px solid #777; border-radius:4px; background:#191619; }
.lu-id-card { position:relative; padding:9px; border:1px solid rgba(255,49,91,.46); border-radius:16px; background:linear-gradient(145deg,#1d070d,#070203); box-shadow:inset 0 1px rgba(255,255,255,.07),0 0 30px rgba(255,49,91,.11); }
.lu-id-card > header,.lu-id-card > footer,.lu-id-card-nav { display:flex; align-items:center; justify-content:space-between; gap:7px; }
.lu-id-card > header { padding:4px 4px 8px; }
.lu-id-card > header span { display:flex; align-items:center; gap:7px; }
.lu-id-card > header .lu-university-logo { width:24px; height:24px; border-radius:50%; }
.lu-id-card > header strong { color:#fff; font:800 12px var(--lu-mono); }
.lu-id-card > header small,.lu-id-card > footer small { color:#9e7d85; font:700 6px var(--lu-mono); letter-spacing:.06em; }
.lu-id-card-nav { justify-content:flex-end; margin-bottom:6px; }
.lu-id-card-nav button { width:27px; height:25px; padding:0; color:#ffc2cf; border:1px solid rgba(255,49,91,.3); border-radius:5px; background:rgba(255,49,91,.07); cursor:pointer; }
.lu-id-card-nav small { min-width:38px; color:#a78b92; font:700 7px var(--lu-mono); text-align:center; }
.lu-id-card-focus { width:100%; display:grid; grid-template-columns:82px minmax(0,1fr); gap:8px; padding:7px; color:inherit; border:1px solid rgba(255,49,91,.3); border-radius:9px; background:rgba(255,255,255,.025); text-align:left; cursor:pointer; }
.lu-id-card-focus img { display:block; width:82px; height:82px; object-fit:cover; border-radius:6px; }
.lu-id-card-focus > span { min-width:0; display:flex; flex-direction:column; }
.lu-id-card-focus small { color:var(--lu-crimson-bright); font:700 6px/1.3 var(--lu-mono); text-transform:uppercase; }
.lu-id-card-focus strong { display:-webkit-box; margin:7px 0 4px; overflow:hidden; color:#fff; font:700 11px/1.25 var(--lu-serif); -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.lu-id-card-focus em { margin-top:auto; color:#9e7e85; font:700 5px var(--lu-mono); letter-spacing:.04em; font-style:normal; }
.lu-id-page-qr { display:grid; grid-template-columns:66px 1fr; align-items:center; gap:8px; margin-top:7px; padding:6px; border-radius:8px; background:#fff; }
.lu-id-page-qr > span:first-child { width:66px; height:66px; display:grid; place-items:center; }
.lu-id-page-qr svg { display:block; width:100%; height:100%; }
.lu-id-page-qr > span:last-child { display:flex; flex-direction:column; gap:4px; }
.lu-id-page-qr strong { color:#2b0710; font:800 11px var(--lu-mono); }
.lu-id-page-qr small { color:#6e4d55; font:700 7px/1.4 var(--lu-mono); }
.lu-id-card > footer { padding:8px 3px 2px; }
.lu-id-card > footer strong { color:#ff7894; font:800 8px var(--lu-mono); }

@media (max-width:900px) {
  .lu-professor-stack { grid-template-rows:auto auto 270px; }
  .lu-professor-stack > .lu-university-radar { min-height:270px; height:270px; }
  .lu-focused-card-result { grid-template-columns:minmax(150px,.62fr) minmax(0,1fr); }
  .lu-focused-fanout { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .vaihc-fanout-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .lu-professor-stack { grid-template-rows:auto auto 245px; }
  .lu-professor-stack > .lu-university-radar { min-height:245px; height:245px; }
  .lu-professor-media-stage { grid-template-columns:30px minmax(0,1fr) 30px; }
  .lu-focused-card-result { grid-template-columns:1fr; }
  .lu-focused-card-result figure { width:min(100%,330px); margin:0 auto; }
  .lu-focused-fanout { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vaihc-fanout-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lu-id-lanyard { right:8px; bottom:8px; width:min(258px,calc(100vw - 20px)); }
}
@media (prefers-reduced-motion:reduce) {
  .lu-professor-media-card img,.lu-id-lanyard { transition:none; }
}
