/* Tab strip */
.tab-strip{background:#060e18;border-bottom:1px solid #1a2738;padding:0 1.5rem;display:flex;gap:0;overflow-x:auto;flex-shrink:0;scrollbar-width:none;position:sticky;top:44px;z-index:50;}
.tab-strip::-webkit-scrollbar{display:none;}
.tab-group{display:flex;align-items:stretch;flex-shrink:0;}
.tab-lesson{font-size:0.88rem;color:rgba(201,160,90,0.25);padding:0.65rem 1rem;cursor:pointer;border-bottom:2px solid transparent;transition:all 0.15s;white-space:nowrap;}
.tab-lesson.active{color:var(--gold);border-bottom-color:var(--gold);}
.tab-subs{display:flex;align-items:center;padding:0 0.25rem;}
.tab-sep{color:rgba(201,160,90,0.1);font-size:0.7rem;padding:0 0.1rem;}
.tab-sub{font-size:0.7rem;color:rgba(201,160,90,0.18);padding:0.65rem 0.45rem;cursor:pointer;transition:color 0.15s;white-space:nowrap;}
.tab-sub.active{color:var(--gold);}
.tab-test{font-size:0.6rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(201,160,90,0.2);padding:0.65rem 1rem;margin-left:auto;cursor:pointer;border-bottom:2px solid transparent;transition:all 0.15s;}
.tab-test.active{color:var(--gold);border-bottom-color:var(--gold);}
/* Page visibility */
.content-area{flex:1;display:flex;flex-direction:column;}
.page{display:none;flex:1;flex-direction:column;padding:2rem;}
.page.active{display:flex;}
/* Lesson hero */
.lesson-hero{text-align:center;padding:1.5rem 1rem 2rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem;}
.lesson-kicker{font-size:0.6rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal);margin-bottom:0.6rem;}
.lesson-hero h1{font-family:'Crimson Pro',Georgia,serif;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:600;color:var(--white);line-height:1.15;margin-bottom:0.4rem;font-style:italic;}
.lesson-hero .tagline{font-family:'Crimson Pro',Georgia,serif;font-size:0.95rem;color:rgba(201,160,90,0.4);font-style:italic;}
/* Quiz hero */
.quiz-hero{text-align:center;padding:1.25rem 1rem 1.5rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem;}
.quiz-hero h1{font-family:'Crimson Pro',Georgia,serif;font-size:1.6rem;color:var(--white);margin-bottom:0.3rem;}
.quiz-hero .tagline{font-size:0.8rem;color:var(--ink-light);}
/* Story scene */
.story-scene{border-left:2px solid rgba(201,160,90,0.2);padding-left:1.25rem;margin-bottom:1.75rem;}
.story-scene[data-label]::before{content:attr(data-label);display:block;font-size:0.58rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:rgba(201,160,90,0.35);margin-bottom:0.6rem;}
.story-text{font-family:'Crimson Pro',Georgia,serif;font-size:1.05rem;line-height:1.9;color:var(--ink-light);font-style:italic;}
.story-text+.story-text{margin-top:0.75rem;}
.story-text em{color:var(--teal);font-style:normal;}
/* Lesson sections */
.lesson-section{margin-bottom:0.25rem;}
.section-heading{font-family:'Crimson Pro',Georgia,serif;font-size:1.08rem;font-weight:600;color:var(--white);margin:0 0 0.6rem;padding-bottom:0.35rem;border-bottom:1px solid var(--border);}
.section-body{font-size:0.9rem;line-height:1.85;color:var(--ink-light);}
.section-body p+p{margin-top:0.75rem;}
.section-body strong{color:var(--ink);}
.section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:1.5rem 0;}
/* Callouts */
.callout{background:rgba(61,214,192,0.04);border-top:1px solid rgba(61,214,192,0.15);border-bottom:1px solid rgba(61,214,192,0.15);padding:0.85rem 1rem;margin:1.1rem 0;}
.callout-label{font-size:0.58rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--teal);margin-bottom:0.35rem;}
.callout p{font-size:0.87rem;line-height:1.7;color:var(--ink-light);}
.gold-callout{background:rgba(201,160,90,0.04);border-top:1px solid rgba(201,160,90,0.15);border-bottom:1px solid rgba(201,160,90,0.15);padding:0.85rem 1rem;margin:1.1rem 0;}
.gold-callout .callout-label{color:var(--gold);}
.gold-callout p{font-size:0.87rem;line-height:1.7;color:var(--ink-light);}
/* Quiz box */
.quiz-box{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1.25rem;}
.quiz-q{font-family:'Crimson Pro',Georgia,serif;font-size:1.05rem;color:var(--ink);margin-bottom:0.9rem;line-height:1.5;}
.quiz-opts{display:flex;flex-direction:column;gap:0.45rem;margin-bottom:0.75rem;}
.quiz-opt{background:var(--cream);border:1px solid var(--border);border-radius:5px;padding:0.6rem 0.85rem;font-size:0.86rem;color:var(--ink-light);cursor:pointer;transition:all 0.15s;text-align:left;font-family:inherit;}
.quiz-opt:hover:not([disabled]){border-color:var(--teal);color:var(--ink);}
.quiz-opt.correct{border-color:#4caf50;color:#4caf50;background:rgba(76,175,80,0.06);}
.quiz-opt.wrong{border-color:#ef5350;color:#ef5350;background:rgba(239,83,80,0.06);}
.quiz-feedback{font-size:0.83rem;line-height:1.6;padding:0.6rem 0.85rem;border-radius:5px;display:none;margin-top:0.35rem;}
.quiz-feedback.show{display:block;}
.quiz-feedback.right{background:rgba(76,175,80,0.07);border:1px solid rgba(76,175,80,0.2);color:#6fbf73;}
.quiz-feedback.wrong{background:rgba(239,83,80,0.07);border:1px solid rgba(239,83,80,0.2);color:#e57373;}
/* Lab block */
.lab-block{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:1.5rem;}
.lab-header{background:#060e18;padding:0.6rem 1rem;display:flex;align-items:center;gap:0.65rem;border-bottom:1px solid var(--border);}
.lab-tag{font-size:0.58em;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(61,214,192,0.3);padding:0.15rem 0.5rem;border-radius:3px;}
.lab-title{font-size:0.82em;font-weight:600;color:var(--ink-light);}
.lab-prompt{padding:0.9rem 1rem;background:var(--cream);border-bottom:1px solid var(--border);font-size:0.87em;line-height:1.7;color:var(--ink-light);}
.lab-prompt p+p{margin-top:0.4rem;}
.lab-prompt strong{color:var(--ink);}
.lab-chat{background:var(--white);}
.lab-chat-header{background:#060e18;padding:0.5rem 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);}
.lab-chat-header span{font-size:0.75em;font-weight:600;color:var(--ink-light);}
.chat-badge{font-size:0.58em;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(61,214,192,0.25);padding:0.15rem 0.5rem;border-radius:3px;}
.lab-chat-msgs{min-height:360px;max-height:560px;overflow-y:auto;padding:0.85rem 1rem;display:flex;flex-direction:column;gap:0.5rem;}
.chat-msg{max-width:84%;padding:0.55rem 0.8rem;border-radius:6px;font-size:0.85em;line-height:1.6;}
.chat-msg.user{align-self:flex-end;background:rgba(61,214,192,0.1);color:var(--ink);border:1px solid rgba(61,214,192,0.2);}
.chat-msg.ai{align-self:flex-start;background:var(--cream);color:var(--ink-light);border:1px solid var(--border);}
.chat-msg.error{align-self:flex-start;color:#e57373;font-size:0.8em;padding:0.3rem 0;}
.lab-chat-input{display:flex;gap:0.5rem;padding:0.6rem 0.85rem;background:#060e18;border-top:1px solid var(--border);}
.lab-chat-input textarea{flex:1;background:var(--cream);border:1px solid var(--border);color:var(--ink);border-radius:4px;padding:0.5rem 0.7rem;font-size:0.84em;font-family:inherit;resize:none;min-height:36px;max-height:90px;line-height:1.4;}
.lab-chat-input textarea:focus{outline:none;border-color:rgba(61,214,192,0.4);}
.chat-reset-btn{background:transparent;border:1px solid var(--border);color:var(--ink-light);border-radius:4px;padding:0 0.65rem;font-size:0.75em;cursor:pointer;font-family:inherit;white-space:nowrap;}
.chat-reset-btn:hover{border-color:var(--ink-light);color:var(--ink);}
.chat-send-btn{background:rgba(61,214,192,0.1);border:1px solid rgba(61,214,192,0.3);color:var(--teal);border-radius:4px;padding:0 0.9rem;font-size:0.8em;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;}
.chat-send-btn:hover{background:rgba(61,214,192,0.2);}
/* Module test passed banner */
.mt-passed-banner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.6rem;background:linear-gradient(135deg,rgba(61,214,192,0.18) 0%,rgba(61,214,192,0.08) 100%);border:2px solid rgba(61,214,192,0.5);border-radius:12px;padding:2rem 1.5rem;margin-bottom:2rem;}
.mt-passed-banner .mt-passed-icon{font-size:3em;line-height:1;margin-bottom:0.25rem;}
.mt-passed-banner .mt-passed-title{font-size:1.3em;font-weight:700;color:var(--teal);letter-spacing:0.01em;}
.mt-passed-banner .mt-passed-sub{font-size:0.82em;font-weight:400;color:rgba(255,255,255,0.45);max-width:36ch;line-height:1.5;}
/* Module test */
.mt-progress{font-size:0.85rem;color:var(--ink-light);margin:0 0 1.5rem;padding:0.7rem 1rem;background:var(--cream);border:1px solid var(--border);border-radius:6px;}
.mt-q{background:var(--white);border:1px solid var(--border);border-radius:7px;padding:1rem;margin-bottom:0.9rem;}
.mt-q.answered{opacity:0.7;}
.mt-q-text{font-family:'Crimson Pro',Georgia,serif;font-size:1rem;color:var(--white);margin-bottom:0.8rem;line-height:1.5;}
.mt-opts{display:flex;flex-direction:column;gap:0.4rem;}
.mt-opt{background:var(--cream);border:1px solid var(--border);border-radius:4px;padding:0.5rem 0.75rem;font-size:0.85rem;color:var(--ink-light);cursor:pointer;text-align:left;font-family:inherit;transition:all 0.15s;}
.mt-opt:hover:not([disabled]){border-color:var(--teal);color:var(--ink);}
.mt-opt.correct{border-color:#4caf50;color:#4caf50;background:rgba(76,175,80,0.06);}
.mt-opt.wrong{border-color:#ef5350;color:#ef5350;background:rgba(239,83,80,0.06);}
.mt-result{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:2rem;text-align:center;margin-top:1.5rem;}
.mt-result-score{font-family:'Crimson Pro',Georgia,serif;font-size:2.5rem;color:var(--gold);margin-bottom:0.5rem;}
.mt-result-msg{font-size:0.9rem;color:var(--ink-light);margin-bottom:1.25rem;}
/* Page nav */
.page-nav{display:flex;gap:0.65rem;padding:1.5rem 0 0.5rem;margin-top:auto;}
.pnav-btn{flex:1;min-width:0;background:transparent;border:1px solid var(--border);color:var(--ink-light);border-radius:5px;padding:0.5rem 1.1rem;font-size:0.8rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all 0.15s;}
.pnav-btn:hover{border-color:var(--gold);color:var(--gold);}
.pnav-btn.primary{background:rgba(61,214,192,0.08);border-color:rgba(61,214,192,0.35);color:var(--teal);}
.pnav-btn.primary:hover{background:rgba(61,214,192,0.15);}
