/* BinAI interior. Load after cinematic.css. No global root or landing selectors.
   Existing route IDs are the boundary. Periwinkle is an accent, never small light text. */
:is(#view-campus,#view-faculty,#view-lesson,#view-chat,#view-voice,#view-pricing,#view-certificate,#view-page) {
  --ai-petrol:#142039; --ai-mist:#eef1f7; --ai-paper:#f0f4ff;
  --ai-brass:#c7d2ff; --ai-muted:#50617e; --ai-border:#cdd6e8;
  --navy:#142039; --navy2:#0c132c; --navy3:#182143;
  --gold:#c7d2ff; --gold-d:#384d87; --gold-l:#c7d2ff; --gold-soft:#dfe3f2;
  --cream:#f0f4ff; --cream2:#eef1f7; --ink:#16243d; --gray:#50617e;
  --line:#cdd6e8; --ok:#233164; --max:1320px;
  color:var(--ink); background:var(--ai-paper); color-scheme:light;
  overflow-wrap:break-word;
}
:is(#view-campus,#view-faculty,#view-pricing,#view-certificate,#view-page) { padding-block:128px 88px; }
:is(#view-campus,#view-faculty,#view-pricing,#view-page) h2 { font-size:clamp(30px,3.8vw,48px); line-height:1.22; }
:is(#view-campus,#view-faculty,#view-pricing,#view-page) .section-sub { color:var(--ai-muted); font-size:18px; line-height:1.85; max-width:68ch; }
:is(#view-campus,#view-faculty,#view-pricing,#view-page) .eyebrow { color:#384d87; font-size:14px; font-weight:700; letter-spacing:0; }
:is(#view-campus,#view-faculty,#view-lesson,#view-chat,#view-voice,#view-pricing,#view-certificate,#view-page) :is(.btn,button,input,textarea,select) { font-family:var(--fb); }
:is(#view-campus,#view-faculty,#view-lesson,#view-chat,#view-voice,#view-pricing,#view-certificate,#view-page) .btn {
  min-height:44px; border-radius:8px; line-height:1.45; white-space:normal;
  text-align:center; box-shadow:none; transition:background-color .18s,border-color .18s;
}
:is(#view-campus,#view-faculty,#view-chat,#view-pricing,#view-certificate,#view-page) .btn-gold { background:#142039; border-color:#142039; color:#f0f4ff; }
:is(#view-campus,#view-faculty,#view-chat,#view-pricing,#view-certificate,#view-page) .btn-gold:hover { background:#222e5a; border-color:#222e5a; transform:none; }
:is(#view-campus,#view-faculty,#view-pricing,#view-certificate,#view-page) .btn-ghost-dark { color:#142039; border-color:#979fba; background:transparent; }
:is(#view-campus,#view-faculty,#view-lesson,#view-chat,#view-voice,#view-pricing,#view-certificate,#view-page) :is(a,button,[tabindex],input,textarea,select):focus-visible {
  outline:3px solid #566bb1; outline-offset:4px;
}
:is(#view-campus,#view-faculty,#view-lesson,#view-chat,#view-voice,#view-pricing,#view-certificate,#view-page) button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
:is(#view-campus,#view-faculty,#view-chat,#view-pricing,#view-page) :is(.table-scroll,.m-table) { max-width:100%; overflow:auto; }

/* The shared navigation changes only while an interior route is visible. */
body.in-app { background:#f0f4ff; }
body.in-app .nav-in { background:#f0f4fff5; border-color:#cdd6e8; box-shadow:0 8px 28px #1420390b; border-radius:10px; }
body.in-app .nav :is(.logo-word,.nav-links a,.menu-toggle) { color:#142039; }
body.in-app .nav .ai { color:#384d87; }
body.in-app .nav .credit-chip { background:#142039; color:#c7d0f2; }
body.in-app .nav .btn-gold { background:#142039; color:#fff; border-color:#142039; box-shadow:none; }
body.in-app .nav-links.menu-open { background:#f0f4ff; border-color:#cdd6e8; }

/* Personal campus: a photographic welcome, followed by an editorial course shelf. */
#view-campus .campus-head {
  position:relative; min-height:330px; padding:clamp(26px,4vw,54px); gap:32px;
  border-radius:16px 16px 48px 16px; border:1px solid #313b5e;
  background:linear-gradient(270deg,#142039fa 5%,#142039e8 48%,#14203952),url('assets/hero.jpg') center/cover;
  box-shadow:0 22px 48px -32px #14203960; align-items:center; margin-bottom:48px;
}
#view-campus .campus-head .eyebrow { color:#c7d2ff; margin-bottom:16px; }
#view-campus #campusGreeting { color:#d0d4e2; font-size:20px; margin-bottom:12px; }
#view-campus .campus-welcome { color:#f0f4ff; font-family:BinaDisplay,var(--fb); font-size:clamp(32px,3.7vw,51px); font-weight:800; line-height:1.35; max-width:24ch; }
#view-campus .campus-welcome span { color:#eef1f7; }
#view-campus .campus-head .credit-chip {
  position:static; flex-shrink:0; align-self:flex-end; background:#f0f4ff;
  color:#142039; border:1px solid #99a7d8; border-radius:8px; padding:16px 22px; gap:10px;
}
#view-campus .credit-chip b { font-family:var(--fb); font-size:29px; font-variant-numeric:tabular-nums; }
#view-campus .campus-sub { font-family:var(--fb); font-size:29px; margin:38px 0 22px; font-weight:700; }
#view-campus .continue-row { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:18px; }
#view-campus .continue-card { background:#eef1f7; border:1px solid #cdd6e8; border-inline-start:4px solid #c7d2ff; border-radius:8px; padding:24px; box-shadow:none; }
#view-campus .continue-card small { color:#50617e; font-size:14px; }
#view-campus .continue-card b { color:#142039; font-family:var(--fb); font-size:23px; line-height:1.4; }
#view-campus .continue-card:hover { transform:none; border-color:#757fa3; background:#e4e6ed; }
#view-campus .campus-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 26px; }
#view-campus .fac-card { min-width:0; background:#fff; border:1px solid #d4d8e3; border-radius:12px; box-shadow:0 6px 20px #14203906; transition:border-color .18s,box-shadow .18s; }
#view-campus .fac-card:hover { transform:none; border-color:#858eae; box-shadow:0 12px 30px #14203914; }
#view-campus .fac-photo { height:235px; background:#142039; }
#view-campus .fac-lect { background:linear-gradient(transparent,#0a122ff5); padding:36px 87px 18px 18px; }
#view-campus .fac-lect b { color:#fff; font-family:var(--fb); font-size:21px; }
#view-campus .fac-lect span { color:#d9dce8; font-size:13px; }
#view-campus .fac-photo .course-tutor { border-color:#9aa7d7; width:54px; height:68px; border-radius:6px; }
#view-campus .fac-body { padding:24px; }
#view-campus .fac-body h3 { font-family:var(--fb); color:#142039; font-size:28px; font-weight:700; margin-bottom:14px; }
#view-campus .fac-meta { color:#50617e; font-size:14px; justify-content:space-between; gap:8px; }
#view-campus .fac-progress { height:5px; margin-top:19px; background:#e4e6ed; }
#view-campus .fac-progress i { background:#37436d; }
#view-campus #continueRow:empty { display:none; }

/* Course: subject photography, a calm lecturer profile, and an indexed syllabus. */
#view-faculty .faculty-banner { min-height:340px; border-radius:14px; margin-bottom:26px; background:#142039; }
#view-faculty .faculty-banner:after { background:linear-gradient(270deg,#101a3cf5,#101a3cbf 52%,#101a3c33); }
#view-faculty .faculty-banner>div { padding:clamp(28px,4vw,54px); width:78%; }
#view-faculty .faculty-banner small { color:#c7d2ff; font-size:15px; }
#view-faculty .faculty-banner h1 { font-family:BinaDisplay,var(--fb); font-size:clamp(40px,5.2vw,68px); line-height:1.2; }
#view-faculty .faculty-banner p { color:#eef1f7; max-width:48ch; line-height:1.8; }
#view-faculty .fac-hero { background:#eef1f7; color:#16243d; border:1px solid #d0d4e0; border-radius:10px; padding:30px; box-shadow:none; margin-bottom:54px; gap:32px; }
#view-faculty .fac-hero::before { display:none; }
#view-faculty .fac-hero-photo { width:150px; }
#view-faculty .fac-hero-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 20%; border:1px solid #8392c6; border-radius:8px; box-shadow:none; }
#view-faculty .fac-hero-info { min-width:0; flex-basis:340px; }
#view-faculty .fac-hero-info h2 { color:#142039; font-size:35px; }
#view-faculty .fac-hero-info .lect-line { color:#50617e; }
#view-faculty .fac-hero-info p { color:#363d56; font-size:17px; line-height:1.8; }
#view-faculty .fac-hero-btns { gap:10px; }
#view-faculty .lessons-list { gap:0; border-block:1px solid #cdd6e8; }
#view-faculty .lesson-row { padding:25px 18px; border:0; border-bottom:1px solid #dadde7; border-radius:0; background:transparent; box-shadow:none; gap:24px; }
#view-faculty .lesson-row:last-child { border-bottom:0; }
#view-faculty .lesson-row:hover { transform:none; background:#eef1f7; }
#view-faculty .lesson-num { color:#384d87; font-family:var(--fb); font-weight:500; font-size:29px; font-variant-numeric:tabular-nums; min-width:42px; }
#view-faculty .lesson-info { min-width:0; }
#view-faculty .lesson-info b { color:#142039; font-size:21px; line-height:1.5; }
#view-faculty .lesson-info p { color:#50617e; font-size:16px; line-height:1.7; margin-top:6px; max-width:70ch; }
#view-faculty .lesson-state { padding:7px 12px; background:#eef1f7; border-radius:6px; font-size:13px; }
#view-faculty .st-done { background:#e1e4ee; color:#233164; }
#view-faculty .st-open { background:#d9def0; color:#384d87; }
#view-faculty .dataroom { padding:30px; background:#eef1f7; border:1px solid #cdd6e8; border-radius:10px; }
#view-faculty .dataroom h3 { font-size:26px; margin-bottom:20px; }
#view-faculty .dataroom table { border-radius:0; box-shadow:none; font-size:16px; }
#view-faculty .dataroom th { color:#eef1f7; background:#142039; font-family:var(--fb); }
#view-faculty .dataroom .src { font-size:14px; }
#view-faculty .fac-cta { background:#142039; border-radius:12px; }
#view-faculty .fac-cta::before { display:none; }
#view-faculty .fac-cta .btn-gold { background:#c7d2ff; color:#142039; border-color:#c7d2ff; }

/* Theatre. The desktop grid owns the viewport; only deck, transcript and log scroll. */
#view-lesson,#view-voice { background:#090f24; color:#eef1f7; color-scheme:dark; --gray:#b6bbce; --ok:#8d9dd7; }
#view-lesson { padding:100px 0 18px; }
#view-lesson .class-wrap { max-width:1600px; gap:22px; grid-template-columns:minmax(0,1fr) 352px; }
#view-lesson .class-main { grid-template-rows:auto auto minmax(180px,1fr) auto auto; }
#view-lesson .lesson-top { margin-bottom:10px; gap:10px; }
#view-lesson .lesson-top h2 { font-family:var(--fb); font-size:clamp(20px,2vw,27px); line-height:1.35; }
#view-lesson .lesson-top small,#view-lesson .lesson-position { color:#b9bed0; font-size:13px; }
#view-lesson .deck { background:#121b39; border:1px solid #434b65; border-radius:12px; padding:clamp(22px,2.8vw,42px); box-shadow:0 18px 45px #0003; scrollbar-color:#a3aac2 #121b39; scrollbar-gutter:stable; }
#view-lesson .deck::before { display:none; }
#view-lesson .deck.has-cover { padding:0; }
#view-lesson .slide { animation:none; }
#view-lesson .slide h3 { font-family:var(--fb); color:#f0f4ff; font-size:clamp(25px,2.4vw,36px); line-height:1.35; margin-bottom:22px; }
#view-lesson .slide ul { gap:16px; }
#view-lesson .slide ul li { font-size:clamp(17px,1.5vw,21px); color:#edeef3; line-height:1.8; padding-inline-start:24px; }
#view-lesson .slide ul li::before { color:#c7d2ff; font-size:10px; top:8px; }
#view-lesson .slide .check-list li::before { color:#8d9dd7; font-size:16px; top:2px; }
#view-lesson .slide-cover { animation:none; position:relative; isolation:isolate; min-height:360px; padding:38px; }
#view-lesson .slide-cover:before { content:""; position:absolute; inset:0; background:#070d2380; z-index:-1; }
#view-lesson .slide-cover h3 { font-size:clamp(31px,3.8vw,54px); line-height:1.3; max-width:23ch; margin:0; }
#view-lesson .cover-eyebrow { color:#c7d2ff; letter-spacing:0; }
#view-lesson .slide .sub { color:#e3e5ed; line-height:1.8; }
#view-lesson .s-img { border-color:#505979; border-radius:8px; box-shadow:none; }
#view-lesson .s-img img { animation:none; }
#view-lesson .slide th { background:#212a4b; color:#c8d1f0; padding:13px 16px; font-family:var(--fb); }
#view-lesson .slide td { color:#edeef3; padding:13px 16px; border-color:#414861; }
#view-lesson .slide table { font-size:16px; }
#view-lesson .slide tr:nth-child(odd) td { background:#ffffff05; }
#view-lesson .table-scroll { max-width:100%; overflow:auto; }
#view-lesson .slide .example-box { background:#0b132e; border:1px solid #4f5877; border-inline-start:3px solid #c7d2ff; border-radius:8px; color:#edeef3; font-size:clamp(17px,1.6vw,22px); line-height:1.9; padding:25px; }
#view-lesson .example-heading small { color:#c7d2ff; }
#view-lesson .slide .quote-t { color:#c8d1f0; line-height:1.6; }
#view-lesson .quote-by { color:#d1d5e1; }
#view-lesson .quote-by::before { content:none; }
#view-lesson .chart-insight { background:#292e3f; color:#cbd4f3; border-color:#545d7d; border-radius:7px; font-size:16px; line-height:1.7; }
#view-lesson .chart-wrap { overflow:auto; max-width:100%; }
#view-lesson .chart-wrap svg text { fill:#e3e5ed; }
#view-lesson .deck-nav { gap:12px; padding-top:8px; }
#view-lesson .deck-mid { gap:10px; min-width:0; }
#view-lesson .deck-dots { gap:0; }
#view-lesson .deck-dots i { display:grid; place-items:center; width:24px; height:28px; border:8px solid #090f24; border-block-width:10px; background:#7a84a6; border-radius:12px; box-sizing:border-box; }
#view-lesson .deck-dots i.on { background:#c7d2ff; transform:none; }
#view-lesson .deck-dots i[data-i="quiz"] { border:0; background:transparent; width:28px; font-size:16px; }
#view-lesson .lecture-toggle { color:#c3c7d7; font-size:14px; }
#view-lesson .narr { background:#0f162f; border-color:#3c435b; border-radius:8px; max-height:108px; padding:12px 16px; }
#view-lesson .narr>div { min-width:0; }
#view-lesson .narr-txt { font-size:16px; line-height:1.75; color:#dcdfe9; }
#view-lesson .narr-name { color:#c7d2ff; }
#view-lesson :is(.btn-gold,.nav-audio),#view-voice .btn-gold { background:#c7d2ff; border-color:#c7d2ff; color:#101834; box-shadow:none; }
#view-lesson :is(.btn-gold,.nav-audio):hover,#view-voice .btn-gold:hover { background:#c8d1f0; transform:none; }
#view-lesson .btn-ghost-dark,#view-voice .btn-ghost-dark { color:#e4e6ee; background:#ffffff07; border-color:#586183; }
#view-lesson :is(button,[tabindex],input,textarea):focus-visible,#view-voice :is(a,button,select):focus-visible { outline-color:#c7d2ff; }

/* Mentor panel is distinct from the projection surface. */
#view-lesson .class-panel { background:#101833; border:1px solid #464d68; border-radius:12px; box-shadow:none; backdrop-filter:none; min-width:0; min-height:0; overflow-y:auto; scrollbar-color:#858ead #101833; }
#view-lesson .panel-head { background:#17203f; border-color:#464d68; padding:16px; flex-shrink:0; }
#view-lesson .panel-lect b { font-family:var(--fb); font-size:19px; white-space:normal; line-height:1.4; color:#f0f4ff; }
#view-lesson .panel-lect small { color:#cacedc; font-size:13px; }
#view-lesson .panel-avatar img { border-color:#c7d2ff; }
#view-lesson .class-panel .mentor-stage { flex-shrink:0; height:clamp(96px,17vh,170px); border-radius:8px; border-color:#474f6b; margin:12px 12px 0; }
#view-lesson .class-panel .mentor-stage canvas { height:100%; }
#view-lesson .mentor-label { background:linear-gradient(transparent,#101833); color:#eef1f7; }
#view-lesson .panel-log { padding:16px 12px; gap:14px; scrollbar-color:#858ead #101833; }
#view-lesson .panel-cost { flex-shrink:0; overflow-wrap:anywhere; color:#d0d4e0; line-height:1.65; }
#view-lesson .pmsg { font-size:16px; line-height:1.8; max-width:96%; border-radius:10px; padding:12px 14px; overflow-wrap:anywhere; }
#view-lesson .pmsg.bot { color:#edeef3; background:#1b2442; border-color:#464d68; }
#view-lesson .pmsg.user { color:#142039; background:#dcdfe9; }
#view-lesson .pmsg a { color:#b0beee; text-decoration:underline; text-underline-offset:3px; }
#view-lesson .pmsg.user a { color:inherit; }
#view-lesson .panel-quick { padding:0 12px 12px; gap:7px; flex-shrink:0; }
#view-lesson .panel-quick button { min-height:38px; border-radius:6px; color:#e6e8ee; border-color:#4f5877; background:#17203f; font-size:14px; }
#view-lesson .panel-input { padding:12px; border-color:#464d68; flex-shrink:0; }
#view-lesson .panel-input textarea { min-width:0; background:#09112c; color:#f0f4ff; border-color:#626c92; border-radius:7px; font-size:16px; }
#view-lesson .panel-input textarea::placeholder { color:#b6bbce; }
#view-lesson .send-btn { background:#c7d2ff; color:#142039; min-width:44px; min-height:44px; border-radius:8px; }
#view-lesson .panel-voice { background:#1e2644; color:#e6e8f0; border-color:#5b6589; flex-shrink:0; }
#view-lesson .deck-loading { padding:clamp(32px,7vh,85px) 22px; width:100%; max-width:60ch; margin:auto; }
#view-lesson .deck-loading p { color:#edeef3; font-size:21px; }
#view-lesson .deck-loading small { display:block; color:#b7bccf; font-size:16px; margin-top:10px; }
#view-lesson .deck-loading .spin { border-color:#434a64; border-top-color:#c7d2ff; }
#view-lesson .class-wrap:not(:has(.class-main)) { display:flex; flex-direction:column; }
#view-lesson .class-wrap:not(:has(.class-main))>.deck { width:100%; flex:1; }
#view-lesson .quiz-q { padding-block:20px; border-bottom:1px solid #434a64; }
#view-lesson .quiz-q h4 { font-size:20px; line-height:1.7; }
#view-lesson .quiz-opt { min-height:48px; font-size:17px; border-radius:8px; border-color:#5b6589; color:#eef1f7; background:#17203f; }
#view-lesson .quiz-opt.sel { border-color:#c7d2ff; background:#3a4056; }
#view-lesson .quiz-opt.right { border-color:#8d9dd7; background:#232e56; }
#view-lesson .quiz-opt.wrong { border-color:#f2b2a5; background:#633e36; }
#view-lesson .quiz-explain { color:#b9c2e4; font-size:16px; line-height:1.8; }

/* Conversation workspace: a paper reading area and a petrol masthead. */
#view-chat { background:#eef1f7; padding:100px 0 0; min-height:0; }
#view-chat .chat-shell { max-width:1440px; gap:24px; padding-bottom:20px; }
#view-chat .chat-side { width:245px; padding:4px; }
#view-chat .conv-item { border-radius:7px; border-color:transparent; background:transparent; padding:15px; }
#view-chat .conv-item b { font-size:16px; }
#view-chat .conv-item span { font-size:14px; }
#view-chat .conv-item.on { background:#fff; border-color:#b9bed0; border-inline-start:3px solid #c7d2ff; }
#view-chat .conv-item:hover { background:#e0e2ea; }
#view-chat .chat-main { min-width:0; border:1px solid #bbc0d2; border-radius:12px; box-shadow:0 14px 35px #14203908; }
#view-chat .chat-head { background:#142039; border-color:#3d445e; padding:18px 22px; flex-shrink:0; }
#view-chat .chat-head b { font-family:var(--fb); font-size:21px; }
#view-chat .chat-head small { color:#d4d8e3; font-size:14px; }
#view-chat .chat-head .btn { color:#eef1f7; border-color:#7680a3; }
#view-chat .chat-log { min-height:0; padding:clamp(18px,3vw,38px); gap:22px; background:#f0f4ff; scrollbar-color:#717ca1 #eef1f7; }
#view-chat .msg { max-width:min(88%,72ch); font-size:18px; line-height:1.85; padding:18px 22px; border-radius:10px; overflow-wrap:anywhere; }
#view-chat .msg.bot { background:#fff; border:1px solid #d4d8e3; color:#16243d; }
#view-chat .msg.user { background:#142039; color:#f3f4f8; }
#view-chat .msg a { text-decoration:underline; text-underline-offset:3px; }
#view-chat .msg.bot a { color:#243264; }
#view-chat .msg pre,#view-lesson .pmsg pre { max-width:100%; overflow:auto; white-space:pre-wrap; }
#view-chat .chat-input { padding:16px 20px 10px; border-color:#cdd6e8; flex-shrink:0; }
#view-chat .chat-input textarea { min-width:0; color:#142039; background:#f3f4f7; border-color:#9ba3bd; font-size:17px; border-radius:8px; }
#view-chat .chat-input textarea::placeholder { color:#50617e; }
#view-chat .send-btn { background:#142039; color:#fff; border-radius:8px; min-width:46px; min-height:46px; }
#view-chat .chat-cost { color:#50617e; font-size:13px; padding:4px 16px 13px; flex-shrink:0; }
#view-chat .chat-log:empty { background:linear-gradient(#f0f4ff,#eef1f7); }
/* Empty states remain real DOM copy. CSS never invents messages or progress. */
:is(#view-campus,#view-faculty,#view-chat,#view-page) :is(.empty-state,[role="status"]) { color:#50617e; line-height:1.8; }
:is(#view-campus,#view-faculty,#view-chat,#view-page) .empty-state { padding:32px; background:#eef1f7; border:1px dashed #9ba3bd; border-radius:10px; }

/* Pricing: all cards and actual purchase actions stay visible. */
#view-pricing>.wrap { max-width:1220px; }
#view-pricing h2 { margin-bottom:18px; }
#view-pricing .section-sub { max-width:68ch; }
#view-pricing .price-grid { max-width:none; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:44px; align-items:stretch; }
#view-pricing .price-card { display:flex; flex-direction:column; min-width:0; opacity:1; transform:none; text-align:start; background:#fff; color:#142039; border:1px solid #c6cad9; border-radius:12px; padding:40px 28px 28px; box-shadow:none; }
#view-pricing .price-card:hover { transform:none; border-color:#7a84a7; }
#view-pricing .price-card h3 { font-family:var(--fb); color:inherit; font-size:27px; }
#view-pricing .price-card .price-credits { font-family:var(--fb); color:#363e5b; font-size:26px; margin-top:16px; }
#view-pricing .price-credits small { color:inherit; font-size:16px; }
#view-pricing .price-nis { font-family:var(--fb); font-size:64px; line-height:1.2; font-weight:800; color:#142039; margin:20px 0; font-variant-numeric:tabular-nums; }
#view-pricing .price-details { color:#50617e; border-color:#cdd6e8; font-size:16px; line-height:2; margin:0 0 28px; padding-top:20px; flex:1; }
#view-pricing .price-card .btn { margin-top:auto; width:100%; min-height:48px; }
#view-pricing .price-card.hot { background:#142039; color:#f0f4ff; border-color:#142039; border-top:4px solid #c7d2ff; padding-top:37px; transform:none; }
#view-pricing .hot :is(.price-nis,.price-credits) { color:#c8d1f0; }
#view-pricing .hot .price-details { color:#d5d8e3; border-color:#505877; }
#view-pricing .hot .btn-gold { background:#c7d2ff; color:#142039; border-color:#c7d2ff; }
#view-pricing .price-hot-tag { inset:0 auto auto 22px; border-radius:0 0 5px 5px; background:#c7d2ff; color:#142039; transform:none; font-size:13px; }
#view-pricing #orderMsg:not(:empty) { margin-top:24px; padding:20px 24px; background:#e6e8f0; border:1px solid #9fa6bf; border-radius:8px; }
#view-pricing #orderMsg .price-note { margin:0; max-width:none; }

/* Secondary interiors retain the same paper and ink vocabulary. */
#view-page .about-card { box-shadow:none; border-radius:10px; border-color:#cdd6e8; }
#view-page .about-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
#view-page .fac-card { border-color:#cdd6e8; border-radius:10px; }
#view-certificate .cert { background:#f0f4ff; color:#142039; border-color:#c7d2ff; box-shadow:none; }
#view-voice .voice-shell { padding-top:115px; padding-bottom:40px; }
#view-voice .voice-name { color:#eef1f7; font-family:var(--fb); }
#view-voice :is(.voice-note,.voice-status,.voice-meta) { color:#c4c8d8; }
#view-voice .voice-caps { background:#121b39; border:1px solid #555e7f; color:#edeef3; border-radius:10px; }
#view-voice select { max-width:100%; background:#121b39; border:1px solid #68739b; color:#f0f4ff; font-size:17px; min-height:48px; }

@media (min-width:981px) and (max-height:760px) {
  #view-lesson .class-panel .mentor-stage { height:80px; }
  #view-lesson .narr { max-height:76px; }
  #view-lesson .panel-head { padding:10px 12px; }
  #view-lesson .panel-quick { gap:5px; padding-bottom:8px; }
  #view-lesson .panel-quick button { min-height:32px; }
}
/* Short desktop windows must scroll rather than hide controls. */
@media (min-width:981px) and (max-height:620px) {
  body:has(#view-lesson:not([hidden])) { overflow:auto; }
  #view-lesson { height:auto; min-height:100dvh; overflow:visible; }
  #view-lesson .class-wrap { height:auto; align-items:start; }
  #view-lesson .class-main { display:block; }
  #view-lesson .deck { height:auto; min-height:300px; max-height:65dvh; }
  #view-lesson .class-panel { height:640px; }
}
@media (max-width:1100px) {
  #view-campus .campus-grid { gap:22px; }
  #view-campus .fac-photo { height:210px; }
  #view-lesson .class-wrap { gap:16px; grid-template-columns:minmax(0,1fr) 320px; }
  #view-pricing .price-card { padding-inline:22px; }
}
@media (max-width:980px) {
  body:has(#view-lesson:not([hidden])) { overflow:auto; }
  #view-lesson { height:auto; min-height:100dvh; overflow:visible; padding:100px 0 100px; }
  #view-lesson .class-wrap { height:auto; grid-template-columns:minmax(0,1fr); align-items:start; }
  #view-lesson .class-main { display:block; min-width:0; }
  #view-lesson .deck { height:auto; min-height:340px; max-height:none; overflow:visible; }
  #view-lesson .deck.has-cover { overflow:hidden; }
  #view-lesson .slide-cover { min-height:400px; }
  #view-lesson .class-panel {
    position:fixed; top:auto; bottom:0; inset-inline:0; height:80dvh; max-height:850px;
    padding-bottom:env(safe-area-inset-bottom,0px); border-radius:18px 18px 0 0;
    transform:translateY(110%); visibility:hidden; pointer-events:none; z-index:120;
  }
  #view-lesson .class-panel.open { transform:none; visibility:visible; pointer-events:auto; }
  #view-lesson .panel-head { padding-top:21px; }
  #view-lesson .class-panel .mentor-stage { height:110px; }
  #view-lesson .panel-fab { background:#142039; border-color:#c7d2ff; bottom:calc(18px + env(safe-area-inset-bottom,0px)); }
  #view-lesson .panel-fab.hidden { pointer-events:none; }
  #view-lesson .narr { max-height:none; overflow:visible; margin-top:20px; }
  #view-lesson .split-slide { grid-template-columns:1fr; }
  #view-lesson .s-img { max-height:280px; }
  #view-campus .campus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #view-pricing .price-grid { gap:14px; }
  #view-pricing .price-card { padding-inline:20px; }
}
@media (max-width:700px) {
  :is(#view-campus,#view-faculty,#view-pricing,#view-page,#view-certificate) { padding-block:108px 56px; }
  #view-campus .campus-head { padding:28px 24px; min-height:350px; gap:26px; border-radius:12px 12px 32px 12px; margin-bottom:32px; }
  #view-campus .campus-head .credit-chip { align-self:auto; padding:11px 16px; font-size:14px; }
  #view-campus .campus-welcome { font-size:32px; }
  #view-campus .campus-grid { grid-template-columns:1fr; gap:24px; }
  #view-campus .fac-photo { height:245px; }
  #view-campus .fac-body { padding:22px; }
  #view-faculty .faculty-banner { min-height:285px; }
  #view-faculty .faculty-banner>div { width:100%; padding:28px; }
  #view-faculty .fac-hero { padding:24px; gap:22px; }
  #view-faculty .fac-hero-photo { width:100px; }
  #view-faculty .fac-hero-info { flex-basis:100%; }
  #view-faculty .fac-hero-info h2 { font-size:30px; }
  #view-faculty .fac-hero-btns .btn { flex:1 1 150px; }
  #view-faculty .lesson-row { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px 15px; padding:23px 4px; }
  #view-faculty .lesson-num { min-width:0; font-size:25px; align-self:start; }
  #view-faculty .lesson-info b { font-size:20px; }
  #view-faculty .lesson-state { grid-column:2; justify-self:start; white-space:normal; }
  #view-faculty .dataroom { padding:22px 16px; }
  #view-pricing .price-grid { grid-template-columns:1fr; gap:24px; margin-top:30px; }
  #view-pricing .price-card { padding-inline:28px; }
  #view-pricing .price-details { line-height:1.9; }
  #view-chat .chat-shell { padding-inline:12px; padding-bottom:env(safe-area-inset-bottom,12px); }
  #view-chat .chat-head { padding:14px; gap:10px; flex-wrap:wrap; }
  #view-chat .chat-head b { font-size:18px; }
  #view-chat .chat-head .btn { min-height:40px; font-size:13px; padding:8px 12px; }
  #view-chat .chat-log { padding:17px 12px; }
  #view-chat .msg { max-width:94%; font-size:17px; padding:14px 16px; }
  #view-chat .chat-input { padding:12px 10px 8px; }
  #view-chat .chat-cost { font-size:12px; }
  #view-lesson .lesson-top { align-items:flex-start; gap:16px; }
  #view-lesson .lesson-top-btns { width:100%; }
  #view-lesson .deck { padding:24px 20px; border-radius:10px; }
  #view-lesson .slide-cover { min-height:360px; padding:30px 22px; }
  #view-lesson .deck-nav { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  #view-lesson .deck-mid { grid-row:2; grid-column:1/-1; }
  #view-lesson #nextBtn { grid-row:1; grid-column:2; }
  #view-lesson .deck-dots i { width:28px; height:32px; border-width:12px 10px; }
  #view-lesson .worked-example { grid-template-columns:1fr; }
  #view-lesson .panel-input textarea { padding-inline:11px; }
  #view-voice .voice-shell { padding-top:105px; }
  #view-voice .voice-ctrl { flex-wrap:wrap; justify-content:center; }
}
/* Cost disclosure and live voice controls must fit alongside the composer.
   Small landscape windows retain a scrollable panel instead of clipping rows. */
@media (max-width:980px) and (max-height:700px) {
  #view-lesson .class-panel { height:92dvh; }
  #view-lesson .class-panel .mentor-stage { height:52px; }
  #view-lesson .panel-log { padding-block:10px; }
  #view-lesson .panel-quick { padding-bottom:8px; }
}
@media (max-width:980px) and (max-height:500px) {
  #view-lesson .panel-log { flex:0 0 auto; min-height:80px; max-height:140px; }
}
@media (prefers-reduced-motion:reduce) {
  :is(#view-campus,#view-faculty,#view-lesson,#view-chat,#view-voice,#view-pricing,#view-certificate,#view-page) *,
  :is(#view-campus,#view-faculty,#view-lesson,#view-chat,#view-voice,#view-pricing,#view-certificate,#view-page) *::before,
  :is(#view-campus,#view-faculty,#view-lesson,#view-chat,#view-voice,#view-pricing,#view-certificate,#view-page) *::after {
    animation:none!important; transition:none!important; scroll-behavior:auto!important;
  }
  #view-lesson :is(.cval,.cdot,.chart-insight,.anim-list li) { opacity:1; transform:none; }
  #view-lesson .cline { stroke-dashoffset:0; }
}
@media print {
  #view-certificate { padding:0; background:white; }
  #view-certificate .cert { box-shadow:none; break-inside:avoid; }
}
