/* Badya-inspired academic palette. Wasselha remains an independent student initiative. */
:root { --paper:#f3f3f5; --ink:#f3f3f5; --secondary:#b6bfce; --muted:#aab5c8; --bronze:#d2ba96; --accent:#d2ba96; --panel:#182235; --library-rule:#aabbd222; --line:#314158; color-scheme:dark; }
html,body { background:#101827; color:var(--paper); }
body,h1,h2,h3 { font-family:Tajawal,Tahoma,sans-serif; }
h1,h2,h3 { font-weight:600; letter-spacing:0; }
p { color:var(--secondary); }
a { color:#e1c8a5; }
button { background:#1b2940; border-color:#3b4c64; }
button:hover { background:#26364e; }
button,input,select,textarea { border-radius:5px; }
button.primary,.hero-copy .primary { background:#d2ba96; color:#151e2e; border-color:transparent; }
button.primary:hover,.hero-copy .primary:hover { background:#e3cbaa; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid #e2bd88; outline-offset:4px; }
.en,.lecture-english,.subject-english { font-family:Arial,Tahoma,sans-serif; direction:ltr; unicode-bidi:isolate; letter-spacing:0; }
.eyebrow { color:var(--bronze); letter-spacing:0; }
.muted,.breadcrumb,.footer-note { color:var(--muted); }
header { background:#101827; border-bottom:1px solid var(--library-rule); }
.brand { font-size:30px; }
.brand-mark { background:#bd8556; color:#101827; border-radius:4px; }
nav { gap:10px; }
nav button { color:#b6bfce; border-radius:4px; }
nav button.active { background:#283655; color:#f2e0c8; }
#account-entry { border-color:#d2ba9666; color:#e3cba9; }
#sync-note,.campus-context { color:#aab5c8; }
.campus-context { border:0; }
.campus-hero { background:transparent; padding-block:20px 36px; gap:clamp(32px,6vw,84px); align-items:center; overflow:visible; }
.hero-copy { padding:0; }
.hero-copy h1 { font-size:clamp(35px,4vw,53px); line-height:1.5; }
.hero-copy h1 em { color:#d2ba96; font-style:normal; }
.hero-copy .eyebrow { color:#c5ac88; }
.hero-copy>p { font-size:19px; line-height:1.9; color:#b6bfce; max-width:36ch; }
.hero-copy button:not(.primary) { border-color:#536079; color:#dee5ef; }
.hero-actions { margin-top:24px; }
.resume-caption { color:#a9b6c9; font-size:13px; line-height:1.9; }
.editorial-example { background:#253451; border:0; border-inline-start:3px solid #bd8556; border-radius:5px; box-shadow:none; padding:32px; min-height:305px; transform:none; }
.editorial-example .example-label { color:#d9c2a2; font-size:14px; }
.editorial-example h2 { font-size:29px; line-height:1.7; margin-block:12px 16px; }
.editorial-example p { color:#c3cddd; font-size:16px; line-height:1.9; }
.example-equation { margin-block:12px 20px; gap:16px; }
.example-equation strong { color:#e7d0ac; font-size:50px; }
.example-equation small { color:#bdc8db; }
.journey-strip { background:none; border-block:1px solid var(--library-rule); padding-block:23px; gap:22px; }
.journey-strip>i,.journey-strip>div>b { display:none; }
.journey-strip .personal-progress { border:0; }
.journey-strip span { color:#e0e6f0; }
.journey-strip small { color:#aab8cb; }
.personal-progress strong { color:#ddc6a4; }
.section-top { margin-block:32px 20px; }
.section-top h2 { font-size:27px; }
.subject-search { max-width:730px; }
.subject-search label { color:#c2ccda; font-size:15px; }
.subject-search input { background:#151f30; border-color:#455671; color:#f0f3f8; font-size:15px; }
.subject-search input::placeholder { color:#9dabc0; }
.subject-grid { gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.subject-card { display:grid; grid-template-columns:58px minmax(0,1fr); background:#182235; border:1px solid var(--library-rule); border-radius:5px; box-shadow:none; min-height:0; }
.subject-card:hover { transform:translateY(-2px); border-color:#8a7356; }
.subject-art { height:100%; background:#1f2c44; border:0; overflow:hidden; }
.mini-plinth,.orbit-dot { display:none; }
.subject-glyph { position:static; display:grid; place-items:center; height:100%; transform:none; font:30px Georgia,serif; color:#d2ba96; text-shadow:none; }
.subject-card:hover .subject-glyph { transform:none; }
.subject-content { min-width:0; padding:23px 22px 0; }
.subject-content h3 { color:#f0f2f7; font-size:24px; line-height:1.5; }
.subject-content .subject-code { color:#c7b798; font-size:13px; line-height:1.7; margin:5px 0 15px; text-align:right; }
.subject-content p { color:#b6c2d4; font-size:15px; line-height:1.9; min-height:55px; }
.subject-meta { color:#b0bfd3; font-size:12px; gap:8px 18px; flex-wrap:wrap; }
.subject-open { color:#e1c8a5; background:transparent; border-top:1px solid var(--library-rule); border-radius:0; margin:19px -22px 0; width:calc(100% + 44px); padding:13px 22px; }
.subject-open:hover { background:#23314a; }
.progress { background:#344259; }
.progress>span { background:#d2ba96; }

/* A title, three clear facts, and one primary action for each lecture. */
.library-heading { background:transparent; padding:16px 0 25px; border-bottom:1px solid var(--library-rule); border-radius:0; margin-bottom:25px; gap:25px; }
.library-heading h1 { font-size:clamp(34px,4vw,49px); margin-bottom:5px; }
.library-heading .subject-english { font-size:19px; color:#d2ba96; margin-bottom:15px; text-align:right; }
.library-heading .heading-glyph { color:#b88c61; font-size:64px; }
.library-heading p:last-child { margin:0; }
.library-records { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; max-width:1100px; }
.library-record { display:grid; grid-template-columns:66px minmax(0,1fr); gap:26px; padding:28px 30px; background:#182235; border:1px solid var(--library-rule); border-radius:5px; min-width:0; }
.record-number { font-size:36px; font-weight:600; line-height:1.5; color:#d2ba96; min-width:0; }
.record-body { min-width:0; }
.record-category { display:flex; gap:22px; flex-wrap:wrap; color:#aebdd1; font-size:13px; margin-bottom:13px; }
.record-category span { color:#d2ba96; }
.library-record h2 { font-size:27px; line-height:1.6; margin:0 0 5px; color:#f2f4f8; }
.library-record .lecture-english,.lecture-english { font-size:17px; color:#bac6d9; text-align:right; line-height:1.7; margin:0 0 25px; overflow-wrap:anywhere; }
.lecture-metadata { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:22px 0 25px; }
.lecture-metadata dt { font-size:13px; color:#a9b7cc; margin-bottom:5px; }
.lecture-metadata dd { margin:0; font-size:16px; line-height:1.9; color:#e3e9f2; }
.lecture-metadata dd>span:not(.date-unknown) { display:block; font-size:13px; color:#b4c1d4; }
.lecture-metadata .date-unknown { color:#bdc8d8; font-size:15px; }
.record-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:20px; border-top:1px solid var(--library-rule); }
.record-progress { min-width:130px; max-width:340px; flex:1; }
.record-progress>span { display:block; font-size:13px; color:#b7c5d7; margin-bottom:10px; }
.record-footer button { font-size:16px; white-space:nowrap; }
.date-note { font-size:14px; line-height:1.9; margin-top:24px; max-width:85ch; color:#a9b7cb; }
.course-title { max-width:1040px; margin-bottom:30px; }
.course-title h1 { font-size:clamp(30px,3.7vw,44px); line-height:1.5; margin-bottom:7px; }
.course-title>.lecture-english { font-size:20px; margin-bottom:17px; }
.course-title>.lecture-metadata { padding-block:20px; border-block:1px solid var(--library-rule); margin-top:25px; }
.lesson-row { background:#182235; border:1px solid var(--library-rule); border-radius:5px; padding:18px 22px; }
.lesson-row h3 { font-size:21px; line-height:1.6; }
.lesson-subtitle { display:flex; gap:9px 22px; align-items:center; flex-wrap:wrap; margin-top:5px!important; }
.lesson-subtitle .en { font-size:13px; color:#c3cbda; }
.lesson-pages { color:#a6b4ca; font-size:12px; }
.lesson-row .index { color:#d2ba96; }
.side-note { background:#20304a; border-radius:5px; }
.side-note h3 { font-size:27px; }
.side-note p { color:#bdc9d9; }
.breadcrumb { gap:15px; flex-wrap:wrap; }
.breadcrumb button { color:#e1c8a5; }
.study-panel,.word-card { background:#182235; border-color:var(--library-rule); }
.study-panel h2 { font-size:28px; line-height:1.6; }
.explain { color:#e4eaf2; }
.tutor-layout .explain { line-height:2; }
.steps span { background:#223049; color:#b1bfd4; }
.steps .current { background:#354363; color:#f2ddbc; }
.steps .done { color:#cbdcc4; }
.teaching-path span,.example-position,.lesson-kicker { color:#b6c4d8; }
.learning-goal,.simple-help,.quick-check,.example,.english-box { background:#23314a; }
.learning-goal { color:#c8d1df; }
.learning-goal strong,.formula,.translation,.vocab-inline b { color:#e4caa4; }
.micro-note { color:#aebed4!important; }
.source-link,summary { color:#d6c19e; }
.stage-world { background:#1b2b45; }
.tag { background:#304361; color:#e3d0b2; }
.word-card h3 { color:#ddc4a0; }
.writing-editor textarea,.draft-preview,input,select { background:#152034; color:#e4eaf2; border-color:#465774; }
dialog { background:#182235; color:#f3f3f5; border-color:#43516b; }
dialog p { color:#b6c3d6; }
.auth-card,.account-dialog { background:#182235; border-color:var(--library-rule); box-shadow:none; }
.auth-story h1 { font-size:clamp(38px,4vw,57px); line-height:1.5; letter-spacing:0; }
.auth-story h1 em { color:#d2ba96; }
.auth-story>p { color:#bcc7d8; }
.auth-card h2 { font-size:30px; }
.auth-example { background:#243450; border-color:#bd8556; border-radius:5px; }
.auth-example>span,.auth-example p { color:#c0ccde; }
.account-dialog h2 { font-size:27px; }
.auth-card input:not([type=checkbox]),.account-dialog input:not([type=checkbox]),.account-dialog textarea,.account-dialog select,.password-field { background:#101a2b; border-color:#455571; }
.auth-card input::placeholder { color:#9caac0; }
.account-note { color:#afbed2!important; }
.auth-tabs .selected { border-color:#d2ba96; }
.check-label a,.text-button { color:#e1c8a5; }
.auth-gate header { border-bottom:1px solid var(--library-rule); }
.collection-note { background:#182235; border:0; border-radius:5px; }
.collection-note h3 { font-size:23px; }
.collection-note p { color:#b4c1d3; }
.site-footer { border-top:1px solid var(--library-rule); margin-top:15px; }
.site-footer p { color:#a6b5cb; font-size:13px; }
.site-footer strong { color:#e5d1b2; }
.site-footer strong span { color:#ba9d78; }
.explore-world { background:#182235; border:0; border-radius:5px; }
.explore-world>summary { color:#c5cddd; }
.explore-world>summary span { color:#b4c0d2; }
.campus-map { background:#18243c; }
.update-entry { background:#182235; border:0; border-radius:5px; }
.update-entry>div { color:#a9b8cd; }
.update-entry ul { color:#c1ccdd; }
.release-tag { color:#d2ba96; }
.display-settings>summary,.display-settings[open]>summary { background:#1b2940; color:#e0d0b7; border:1px solid #3b4c64; border-radius:5px; }
.settings-menu { background:#1b2940; border-color:#44536b; border-radius:5px; }
.tools .settings-menu button { color:#e4e6ed; }
.settings-menu p { color:#b6c5d8; }
.settings-menu button:hover { background:#2c3c56; }

@media(max-width:1100px) {
  .subject-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .campus-hero { gap:35px; }
  .editorial-example { padding:25px; }
  .hero-copy h1 { font-size:42px; }
  .library-records { max-width:none; }
}
@media(max-width:760px) {
  .campus-hero { padding-block:16px 28px; gap:28px; }
  .hero-copy { padding:0; }
  .hero-copy h1 { font-size:35px; }
  .hero-copy>p { font-size:17px; }
  .editorial-example { min-height:250px; padding:24px; }
  .editorial-example h2 { font-size:27px; }
  .journey-strip { gap:14px; }
  .journey-strip span { font-size:14px; }
  .journey-strip small { font-size:11px; }
  .subject-grid { grid-template-columns:minmax(0,1fr); }
  .subject-card { grid-template-columns:52px minmax(0,1fr); }
  .subject-content { padding:20px 20px 0; }
  .subject-content p { min-height:0; }
  .subject-open { margin:16px -20px 0; width:calc(100% + 40px); padding-inline:20px; }
  .section-top h2 { font-size:25px; }
  .library-heading { padding-top:8px; }
  .library-heading .heading-glyph { font-size:42px; }
  .library-record { grid-template-columns:1fr; gap:12px; padding:22px 20px; }
  .record-number { display:none; }
  .record-category { font-size:12px; gap:10px 20px; }
  .library-record h2 { font-size:25px; }
  .library-record .lecture-english { font-size:15px; margin-bottom:18px; }
  .lecture-metadata { grid-template-columns:1fr 1fr; gap:15px 18px; }
  .lecture-metadata>div:last-child { grid-column:1/-1; }
  .lecture-metadata dd>span:not(.date-unknown) { display:inline; margin-inline-start:15px; }
  .lecture-metadata dt { font-size:12px; }
  .lecture-metadata dd { font-size:15px; }
  .record-footer { align-items:stretch; flex-direction:column; gap:17px; padding-top:17px; }
  .record-progress { max-width:none; }
  .record-footer button { width:100%; min-height:48px; }
  .course-title>.lecture-english { font-size:17px; }
  .course-title h1 { font-size:30px; }
  .lesson-row { padding:17px; }
  .lesson-subtitle { align-items:start; flex-direction:column; gap:3px; }
  .lesson-row .en { font-size:13px; }
  .lesson-row button { margin-inline-start:auto; }
  .auth-story h1 { font-size:37px; }
  .auth-card h2 { font-size:27px; }
  .account-dialog h2 { font-size:25px; }
  .site-footer { padding-inline:5%; }
}
@media(prefers-reduced-motion:reduce) { .subject-card:hover { transform:none; } }
