/* Limoette University Course 001 — v2.1.1 */

.lu-answer-content { min-width: 0; }
.lu-answer-content [data-lu-answer] { max-height: 360px; overflow: auto; padding-right: 10px; color: #e4d3d7; font-size: 12px; line-height: 1.75; white-space: pre-wrap; scrollbar-color: var(--lu-crimson) rgba(255,255,255,.05); }
.lu-lesson-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.lu-lesson-actions[hidden] { display: none; }
.lu-lesson-actions button,
.lu-lesson-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 11px; color: #ffdce4; border: 1px solid rgba(255,49,91,.32); background: rgba(255,49,91,.07); font: 800 7px var(--lu-mono); letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.lu-lesson-actions button:hover,
.lu-lesson-actions a:hover { color: #1b0308; background: var(--lu-crimson); }

.lu-vip-course,
.lu-vip-assessment,
.lu-vip-completion,
.lu-community-appreciation,
.lu-university-scope { position: relative; z-index: 2; width: min(calc(100% - 84px), 1280px); margin: 0 auto 90px; }

.lu-vip-course { padding: clamp(26px,4vw,52px); border: 1px solid rgba(255,49,91,.3); background: linear-gradient(145deg,rgba(28,7,13,.9),rgba(5,2,3,.97)); box-shadow: inset 3px 0 0 var(--lu-crimson),0 32px 90px rgba(0,0,0,.35); }
.lu-vip-course-header { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 38px; align-items: end; padding-bottom: 34px; border-bottom: 1px solid rgba(255,255,255,.08); }
.lu-vip-course-header h2,
.lu-vip-assessment h2,
.lu-vip-completion h2,
.lu-community-appreciation h2 { margin: 9px 0 12px; color: #fff3f6; font: 500 clamp(34px,4.4vw,60px)/1.02 var(--lu-serif); letter-spacing: -.04em; }
.lu-vip-course-header p { margin: 0; color: var(--lu-crimson-bright); font: 700 10px/1.6 var(--lu-mono); letter-spacing: .06em; text-transform: uppercase; }
.lu-vip-course-header aside { display: grid; gap: 9px; padding: 20px; border: 1px solid rgba(255,255,255,.09); background: rgba(0,0,0,.24); }
.lu-vip-course-header aside strong { color: #fff; font-size: 13px; }
.lu-vip-course-header aside span,
.lu-vip-course-header aside small { color: #a99197; font-size: 9px; line-height: 1.5; }
.lu-vip-progress { height: 7px; overflow: hidden; border: 1px solid rgba(255,49,91,.25); background: #070305; }
.lu-vip-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--lu-crimson-deep),var(--lu-crimson)); box-shadow: 0 0 16px rgba(255,49,91,.5); transition: width .35s ease; }
.lu-vip-course-introduction { display: grid; grid-template-columns: minmax(160px,.3fr) minmax(0,1fr) minmax(0,1fr); gap: 28px; margin: 30px 0 50px; padding: 22px; border: 1px solid rgba(255,49,91,.18); background: rgba(255,49,91,.035); }
.lu-vip-course-introduction strong { color: #ffe3ea; font: 800 8px var(--lu-mono); letter-spacing: .11em; text-transform: uppercase; }
.lu-vip-course-introduction p { margin: 0; color: #bba4aa; font-size: 11px; line-height: 1.72; }

.lu-vip-module { margin-top: 46px; }
.lu-vip-module > header { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.lu-vip-module > header span { color: var(--lu-crimson); font: 800 8px var(--lu-mono); letter-spacing: .12em; }
.lu-vip-module > header h3 { margin: 0; color: #f8e9ed; font: 500 clamp(24px,3vw,36px) var(--lu-serif); }
.lu-vip-chapter-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.lu-vip-chapter-card { position: relative; display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 7px 15px; min-height: 260px; padding: 24px; color: inherit; text-align: left; border: 1px solid rgba(255,255,255,.09); background: linear-gradient(145deg,rgba(255,255,255,.026),rgba(255,49,91,.026)); cursor: pointer; transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.lu-vip-chapter-card:hover,
.lu-vip-chapter-card:focus-visible,
.lu-vip-chapter-card.is-current { transform: translateY(-3px); border-color: rgba(255,49,91,.56); background: rgba(255,49,91,.065); }
.lu-vip-chapter-card.is-passed { box-shadow: inset 3px 0 0 #4ee6a8; }
.lu-vip-chapter-icon { grid-row: 1 / span 4; display: grid; width: 46px; height: 46px; place-items: center; color: var(--lu-crimson-bright); border: 1px solid rgba(255,49,91,.32); background: rgba(255,49,91,.07); }
.lu-vip-chapter-icon svg { width: 24px; }
.lu-vip-chapter-card small { color: var(--lu-crimson); font: 800 7px var(--lu-mono); letter-spacing: .09em; }
.lu-vip-chapter-card strong { color: #fff2f5; font: 500 25px/1.08 var(--lu-serif); }
.lu-vip-chapter-card p { margin: 5px 0 13px; color: #ae969c; font-size: 11px; line-height: 1.65; }
.lu-vip-chapter-card em { display: flex; align-items: center; justify-content: space-between; color: #f0cfd7; font: normal 800 8px var(--lu-mono); letter-spacing: .05em; text-transform: uppercase; }
.lu-vip-chapter-card.is-passed em { color: #6ceeb8; }

.lu-vip-assessment { padding: clamp(28px,4vw,48px); border: 1px solid rgba(255,255,255,.1); background: #0d0507; }
.lu-vip-assessment > header { max-width: 820px; }
.lu-vip-assessment > header p,
.lu-vip-completion > div > p,
.lu-community-appreciation > p { color: #ae989e; font-size: 12px; line-height: 1.75; }
.lu-assessment-stage { margin-top: 30px; }
.lu-professor-assessment-stage { grid-column: 1 / -1; min-height: 0; max-height: 860px; overflow: auto; margin: 4px 0 0; padding: 3px; scrollbar-color: var(--lu-crimson) rgba(255,255,255,.04); }
.lu-professor-assessment-stage[hidden] { display: none; }
.lu-professor-workspace.has-assessment .lu-professor-answer > .lu-answer-identity,
.lu-professor-workspace.has-assessment .lu-professor-answer > .lu-answer-content,
.lu-professor-workspace.has-assessment .lu-professor-answer > .lu-focused-card-result { display:none; }
.lu-assessment-empty { display: grid; min-height: 200px; place-items: center; align-content: center; gap: 10px; padding: 28px; color: #baa3a9; border: 1px dashed rgba(255,49,91,.28); text-align: center; }
.lu-assessment-empty svg { width: 34px; color: var(--lu-crimson); }
.lu-assessment-empty strong { color: #fff; font: 500 23px var(--lu-serif); }
.lu-assessment-empty span { font-size: 10px; }
.lu-assessment-empty a { margin-top: 6px; padding: 10px 14px; color: #fff; border: 1px solid rgba(255,49,91,.42); background: rgba(255,49,91,.08); font: 800 8px var(--lu-mono); letter-spacing: .07em; text-transform: uppercase; }
.lu-quiz-form { display: grid; gap: 17px; }
.lu-quiz-form > header { display: flex; justify-content: space-between; gap: 20px; align-items: start; padding: 20px; border: 1px solid rgba(255,49,91,.32); border-left: 3px solid var(--lu-crimson); background: linear-gradient(135deg,rgba(92,14,34,.34),rgba(255,49,91,.035)); }
.lu-quiz-form > header small { color: var(--lu-crimson); font: 800 8px var(--lu-mono); letter-spacing: .1em; }
.lu-quiz-form > header h3 { margin: 8px 0; color: #fff2f5; font: 500 clamp(18px,1.6vw,22px)/1.18 var(--lu-serif); letter-spacing: -.015em; }
.lu-quiz-form > header p { margin: 0; color: #aa9399; font-size: 10px; }
.lu-quiz-form > header > button { flex: 0 0 auto; min-height: 34px; padding: 0 11px; color: #d8c0c6; border: 1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.24); font: 800 7px var(--lu-mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.lu-quiz-form fieldset { position: relative; display: grid; gap: 12px; padding: 24px; border: 1px solid rgba(255,49,91,.28); background: linear-gradient(90deg,rgba(73,13,28,.36) 0,rgba(25,6,11,.76) 49.5%,rgba(7,2,4,.92) 50%,rgba(25,6,11,.76) 50.5%,rgba(73,13,28,.36) 100%); box-shadow: inset 0 1px rgba(255,255,255,.045),0 18px 42px rgba(0,0,0,.23); }
.lu-quiz-form fieldset.is-featured-question { border-color: rgba(255,49,91,.76); box-shadow: inset 4px 0 0 var(--lu-crimson),0 0 34px rgba(255,49,91,.14),0 22px 54px rgba(0,0,0,.34); }
.lu-question-challenge { color: #ff6d8a; font: 900 8px var(--lu-mono); letter-spacing: .12em; }
.lu-quiz-form legend { max-width: 96%; padding: 0 7px; color: #fff1f4; font: 600 18px/1.35 var(--lu-serif); }
.lu-quiz-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.lu-quiz-form label { display: grid; grid-template-columns: auto 28px minmax(0,1fr); gap: 9px; align-items: center; min-height: 64px; padding: 11px 12px; color: #cbb5ba; border: 1px solid rgba(255,118,148,.14); border-radius: 8px; background: rgba(0,0,0,.22); font-size: 11px; line-height: 1.45; cursor: pointer; }
.lu-quiz-form label b { display: grid; width: 28px; height: 28px; place-items: center; color: #ff8fa5; border: 1px solid rgba(255,49,91,.44); border-radius: 50%; font: 900 10px var(--lu-mono); }
.lu-quiz-form label:has(input:checked) { color: #fff; border-color: rgba(255,49,91,.5); background: rgba(255,49,91,.07); }
.lu-quiz-form input { accent-color: var(--lu-crimson); }
.lu-quiz-share { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: center; margin-top: 3px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.07); }
.lu-quiz-share p { display: grid; gap: 4px; margin: 0; }
.lu-quiz-share p strong { color: #ff6d8a; font: 900 8px var(--lu-mono); letter-spacing: .08em; }
.lu-quiz-share p span { color: #8e777d; font-size: 8px; }
.lu-quiz-actions { grid-column:1/-1; margin-top:0; }
.lu-quiz-actions .lu-focused-status { color:#7debb9; }
.lu-quiz-actions.vaihc-actions { width:100%; }
.lu-quiz-form > button,
.lu-final-exam-launch button,
.lu-completion-panel button,
.lu-community-appreciation button { min-height: 48px; padding: 0 20px; color: #210008; border: 0; background: var(--lu-crimson); font: 900 8px var(--lu-mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.lu-quiz-form > button:disabled,
.lu-final-exam-launch button:disabled,
.lu-completion-panel button:disabled { color: #816c71; background: #26171a; cursor: not-allowed; }
.lu-quiz-result { display: grid; gap: 7px; padding: 19px; border: 1px solid rgba(255,49,91,.25); }
.lu-quiz-result:empty { display: none; }
.lu-quiz-result > strong { color: #fff; font: 500 27px var(--lu-serif); }
.lu-quiz-result > span { color: #ae969c; font-size: 10px; }
.lu-quiz-result ul { display: grid; gap: 8px; padding: 0; margin: 10px 0 0; list-style: none; }
.lu-quiz-result li { display: grid; gap: 4px; padding: 10px; border-left: 3px solid #ff607d; background: rgba(255,96,125,.045); }
.lu-quiz-result li.is-correct { border-left-color: #4ee6a8; background: rgba(78,230,168,.04); }
.lu-quiz-result li strong { color: #fff; font-size: 10px; }
.lu-quiz-result li span { color: #ad969c; font-size: 9px; line-height: 1.55; }
.lu-final-exam-launch { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding: 22px; border: 1px solid rgba(255,49,91,.24); background: rgba(255,49,91,.04); }
.lu-final-exam-launch div { display: grid; gap: 6px; }
.lu-final-exam-launch strong { color: #fff; font: 500 22px var(--lu-serif); }
.lu-final-exam-launch span { color: #a99096; font-size: 10px; }

.lu-vip-completion { display: grid; grid-template-columns: minmax(0,.8fr) minmax(360px,1.2fr); gap: 42px; padding: clamp(28px,4vw,48px); border: 1px solid rgba(255,49,91,.28); background: linear-gradient(145deg,rgba(34,8,15,.75),rgba(5,2,3,.98)); }
.lu-completion-panel { display: grid; gap: 12px; padding: 24px; border: 1px solid rgba(255,255,255,.09); background: rgba(0,0,0,.27); }
.lu-completion-panel label { color: #d9c5ca; font: 800 8px var(--lu-mono); letter-spacing: .07em; text-transform: uppercase; }
.lu-completion-panel input { min-height: 46px; padding: 0 13px; color: #fff; border: 1px solid rgba(255,49,91,.3); background: #090305; }
.lu-completion-panel blockquote { min-height: 120px; padding: 18px; margin: 0; color: #e8d9dd; border-left: 3px solid var(--lu-crimson); background: rgba(255,49,91,.04); font: 500 14px/1.65 var(--lu-serif); }
.lu-completion-panel > div { display: flex; flex-wrap: wrap; gap: 8px; }
.lu-completion-panel small { min-height: 16px; color: #82edbd; font-size: 9px; }

.lu-community-appreciation { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1fr) auto; gap: 30px; align-items: center; padding: 34px; border: 1px solid rgba(255,49,91,.24); background: rgba(255,49,91,.04); }
.lu-community-appreciation > div > svg { width: 34px; margin-bottom: 14px; color: var(--lu-crimson); }
.lu-community-appreciation h2 { max-width: 520px; font-size: clamp(28px,3vw,42px); }
.lu-community-appreciation button { white-space: nowrap; }
.lu-university-scope { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); gap:42px; align-items:center; padding:34px; border:1px solid rgba(255,49,91,.22); background:linear-gradient(145deg,rgba(31,8,14,.62),rgba(5,2,3,.94)); }
.lu-university-scope h2 { margin:9px 0 0; color:#fff3f6; font:500 clamp(28px,3.4vw,44px)/1.05 var(--lu-serif); letter-spacing:-.035em; }
.lu-university-scope p { margin:0; color:#b49da3; font-size:12px; line-height:1.78; }

@media (max-width: 900px) {
  .lu-vip-course,
  .lu-vip-assessment,
  .lu-vip-completion,
  .lu-community-appreciation,
  .lu-university-scope { width: min(calc(100% - 36px),1280px); margin-bottom: 58px; }
  .lu-vip-course-header,
  .lu-vip-course-introduction,
  .lu-vip-completion,
  .lu-community-appreciation,
  .lu-university-scope { grid-template-columns: 1fr; }
  .lu-vip-chapter-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .lu-vip-course,
  .lu-vip-assessment,
  .lu-vip-completion,
  .lu-community-appreciation,
  .lu-university-scope { width: min(calc(100% - 24px),1280px); padding: 22px 16px; }
  .lu-vip-chapter-card { grid-template-columns: 38px minmax(0,1fr); min-height: 0; padding: 18px 14px; }
  .lu-vip-chapter-icon { width: 38px; height: 38px; }
  .lu-vip-chapter-card strong { font-size: 21px; }
  .lu-final-exam-launch { align-items: stretch; flex-direction: column; }
  .lu-completion-panel > div { display: grid; }
  .lu-quiz-choices { grid-template-columns: 1fr; }
  .lu-quiz-form fieldset { padding: 18px 13px; }
  .lu-quiz-share { grid-template-columns: 1fr; }
  .lu-quiz-share button { width: 100%; }
}

@media print {
  body * { visibility: hidden !important; }
  .lu-vip-completion,
  .lu-vip-completion * { visibility: visible !important; }
  .lu-vip-completion { position: absolute; inset: 0; display: block; width: 100%; color: #111; background: #fff; border: 10px double #a51c30; }
  .lu-vip-completion h2,
  .lu-vip-completion p,
  .lu-completion-panel blockquote,
  .lu-completion-panel label { color: #111; }
  .lu-completion-panel input,
  .lu-completion-panel > div,
  .lu-completion-panel small { display: none !important; }
}

.lu-sitewide-share-mount{width:100%}.lu-sitewide-share-mount>.vaihc-actions{display:flex;flex-wrap:wrap;gap:.45rem}.lu-sitewide-share-mount>.vaihc-actions>button{min-height:38px;padding:.62rem .72rem;border:1px solid rgba(255,49,91,.22);border-radius:8px;background:rgba(255,255,255,.025);color:#d8c7cc;font:700 .62rem/1 var(--lu-mono,monospace);cursor:pointer}.lu-sitewide-share-mount>.vaihc-actions>button:hover,.lu-sitewide-share-mount>.vaihc-actions>button:focus-visible{border-color:rgba(255,49,91,.58);color:#fff}.lu-sitewide-share-mount>.vaihc-actions>button.is-primary,.lu-sitewide-share-mount>.vaihc-actions>button.is-fanout{color:#ff7891}.lu-sitewide-share-mount>.vaihc-actions>button.is-visit{color:#c7b3ff}.lu-sitewide-share-mount .vaihc-status{flex-basis:100%;min-height:1em;margin:.2rem 0 0;color:#967f86;font:650 .55rem/1.35 var(--lu-mono,monospace)}.lu-sitewide-share-mount .vaihc-fanout{flex-basis:100%;width:100%;padding:.75rem;border:1px solid rgba(255,49,91,.2);border-radius:10px;background:rgba(211,38,69,.06)}.lu-sitewide-share-mount .vaihc-fanout>small{display:block;margin-bottom:.55rem;color:#a98e94;font:700 .52rem/1.4 var(--lu-mono,monospace);letter-spacing:.08em}.lu-sitewide-share-mount .vaihc-fanout-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.lu-sitewide-share-mount .vaihc-fanout-grid button{min-height:34px;border:1px solid rgba(255,255,255,.09);border-radius:7px;background:rgba(0,0,0,.24);color:#c8b8bd;font:700 .55rem/1 var(--lu-mono,monospace);cursor:pointer}@media(max-width:760px){.lu-sitewide-share-mount .vaihc-fanout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
