/* ============================================================
   BTECHub — Shared Design System
   Extracted from the original BTEC IT reference page so every
   new page (Home, What-is-BTEC, Specializations, University Guide,
   Career Paths, Community, About) shares the exact same identity.
   ============================================================ */
:root{
  --paper:#EDF1F4;
  --paper-2:#E2E8EE;
  --ink:#12213E;
  --ink-soft:#4A5872;
  --panel:#0D1730;
  --panel-2:#152346;
  --copper:#C97A3D;
  --copper-soft:#E4AD7E;
  --teal:#2E8B77;
  --teal-soft:#9AD3C4;
  --line:rgba(18,33,62,0.12);
  --line-dark:rgba(255,255,255,0.14);
  --font-d:'IBM Plex Sans Arabic',sans-serif;
  --font-m:'IBM Plex Mono',monospace;
}
html.dark{
  --paper:#0A0F1E;
  --paper-2:#101830;
  --ink:#EDF1F4;
  --ink-soft:#AEB9CC;
  --panel:#070C18;
  --panel-2:#0F1830;
  --line:rgba(237,241,244,0.10);
}
html.dark body{background:var(--paper);color:var(--ink);}
html.dark .card,html.dark .info-card,html.dark .spec-card,html.dark .faq-item,html.dark .glossary-card,html.dark .uni-card,html.dark .roadmap-step,html.dark .spec-toc a,html.dark .major-card{
  background:var(--panel-2);border-color:var(--line);
}
html.dark .spec-toc{background:var(--paper);}
html.dark .tag{background:var(--panel-2);}
html.dark .roadmap-step{color:var(--ink);}
html.dark .pc-good{background:rgba(46,139,119,0.14);}
html.dark .pc-bad{background:rgba(201,122,61,0.14);}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-d);background:var(--paper);color:var(--ink);line-height:1.75;font-size:16px;overflow-x:hidden;transition:background .25s ease, color .25s ease;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
.wrap-wide{max-width:1300px;margin:0 auto;padding:0 24px;}
img{max-width:100%;}

.grid-bg{background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:36px 36px;}
.grid-bg-dark{background-image:linear-gradient(var(--line-dark) 1px, transparent 1px),linear-gradient(90deg, var(--line-dark) 1px, transparent 1px);background-size:36px 36px;}

.eyebrow{font-family:var(--font-m);font-size:12px;letter-spacing:.08em;color:var(--copper);display:flex;align-items:center;gap:8px;margin-bottom:14px;text-transform:uppercase;}
.eyebrow::before{content:"";width:20px;height:1px;background:var(--copper);}
.eyebrow.on-dark{color:var(--copper-soft);}
.eyebrow.on-dark::before{background:var(--copper-soft);}

/* NAV */
nav{position:sticky;top:0;z-index:50;background:rgba(13,23,48,0.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,0.08);}
nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;max-width:1500px;padding-top:8px;padding-bottom:8px;gap:20px;}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:16px;flex-shrink:0;}
.brand-logo{height:54px;width:auto;max-width:160px;object-fit:contain;flex-shrink:0;}
.navlinks{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:14px;color:rgba(255,255,255,0.75);align-items:center;}
.navlinks a:hover{color:var(--copper-soft);}
.navlinks a.active{color:var(--copper-soft);}
.nav-actions{display:flex;align-items:center;gap:14px;}
.discord-btn{display:inline-flex;align-items:center;gap:8px;background:#5865F2;color:#fff;font-weight:700;font-size:13.5px;padding:10px 16px;border-radius:4px;transition:transform .15s ease, background .15s ease;}
.discord-btn:hover{transform:translateY(-2px);background:#4752c4;}
.discord-btn.outline{background:transparent;border:1px solid rgba(255,255,255,0.35);}
.discord-btn.outline:hover{background:rgba(255,255,255,0.08);}
.discord-btn svg{width:16px;height:16px;flex-shrink:0;}
.whatsapp-btn{background:#25D366;color:#04220f;}
.whatsapp-btn:hover{background:#1ebe5a;}
.lang-toggle{background:rgba(255,255,255,0.08);border:1px solid var(--line-dark);border-radius:16px;padding:8px 13px;font-family:var(--font-m);font-size:12px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.02em;transition:background .15s ease;}
.lang-toggle:hover{background:rgba(255,255,255,0.18);color:var(--copper-soft);}
.lang-toggle-mobile{font-family:var(--font-d)!important;}
.theme-toggle{background:rgba(255,255,255,0.08);border:1px solid var(--line-dark);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0;transition:transform .15s ease, background .15s ease;}
.theme-toggle svg{width:17px;height:17px;}
.theme-toggle .icon-sun{display:none;}
.theme-toggle:hover{transform:translateY(-2px) rotate(8deg);background:rgba(255,255,255,0.16);}
html.dark .theme-toggle .icon-moon{display:none;}
html.dark .theme-toggle .icon-sun{display:block;}
.lang-toggle-icon{background:rgba(255,255,255,0.08);border:1px solid var(--line-dark);border-radius:50%;width:38px;height:38px;display:none;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0;transition:transform .15s ease, background .15s ease;}
.lang-toggle-icon svg{width:18px;height:18px;}
.lang-toggle-icon:hover{transform:translateY(-2px);background:rgba(255,255,255,0.16);color:var(--copper-soft);}
.menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px;}
.menu-toggle span{width:20px;height:2px;background:#fff;display:block;transition:transform .2s ease, opacity .2s ease;}
.mobile-drawer{display:none;background:var(--panel-2);border-bottom:1px solid var(--line-dark);}
.mobile-drawer.open{display:block;}
.mobile-drawer .wrap{display:flex;flex-direction:column;gap:2px;padding:14px 24px 20px;}
.mobile-drawer a{padding:10px 4px;color:rgba(255,255,255,0.85);font-size:14.5px;border-bottom:1px solid var(--line-dark);}
.desktop-only{display:inline-flex;}
@media(max-width:900px){
  .navlinks{display:none;}
  .desktop-only{display:none;}
  .lang-toggle-icon{display:flex;}
  .menu-toggle{display:flex;}
  .brand-logo{height:42px;}
}

/* HERO (light variant for interior pages) */
.hero{background:var(--panel);color:#fff;position:relative;padding:80px 0 64px;}
.hero-inner{position:relative;z-index:2;}
.hero h1{font-size:clamp(30px,5vw,50px);font-weight:800;max-width:820px;line-height:1.28;margin-bottom:18px;}
.hero h1 span{color:var(--copper-soft);}
.hero p{max-width:640px;color:rgba(255,255,255,0.72);font-size:16.5px;margin-bottom:32px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--copper);color:var(--panel);font-weight:700;padding:13px 26px;border-radius:3px;font-size:15px;transition:transform .15s ease, background .15s ease;}
.cta:hover{transform:translateY(-2px);background:var(--copper-soft);}
.cta.outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.35);}
.cta.outline:hover{background:rgba(255,255,255,0.08);}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:36px;}
.hero-stat b{display:block;font-family:var(--font-m);font-size:26px;color:var(--copper-soft);}
.hero-stat span{font-size:12.5px;color:rgba(255,255,255,0.55);}

/* SECTION SHELL */
section{padding:76px 0;}
@media(max-width:640px){section{padding:56px 0;}}
.section-head{max-width:680px;margin-bottom:44px;}
h2{font-size:clamp(24px,3.4vw,34px);font-weight:800;color:var(--ink);line-height:1.35;}
h3{font-size:clamp(17px,2vw,20px);font-weight:800;line-height:1.4;}
.section-head p{color:var(--ink-soft);margin-top:12px;font-size:16px;line-height:1.8;}
.section-head.center{margin-inline:auto;text-align:center;}
p{font-size:15px;}

/* CARD BASE (shared hover language) */
.card{background:#fff;border:1px solid var(--line);border-radius:6px;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 24px -12px rgba(18,33,62,0.18);border-color:var(--copper);}

/* SPECIALIZATION CARDS GRID (home + hub) */
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;}
.spec-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:12px;border-right:3px solid var(--teal);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.spec-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px -14px rgba(18,33,62,0.2);border-color:var(--copper);}
.spec-icon{width:44px;height:44px;border-radius:8px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;color:var(--teal);flex-shrink:0;}
.spec-icon svg{width:22px;height:22px;}
.spec-card h3{font-size:18px;font-weight:800;color:var(--ink);}
.spec-card .spec-desc{font-size:13.5px;color:var(--ink-soft);line-height:1.7;flex:1;}
.spec-skills{display:flex;flex-wrap:wrap;gap:6px;}
.spec-skills span{font-family:var(--font-m);font-size:10.5px;background:var(--paper-2);color:var(--ink-soft);padding:4px 8px;border-radius:3px;}
.spec-future{font-size:12px;color:var(--teal);font-family:var(--font-m);}
.spec-explore{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--copper);margin-top:4px;}
.spec-card.new-track{border-right-color:var(--copper);}
.new-badge{font-family:var(--font-m);font-size:9.5px;letter-spacing:.05em;color:#fff;background:var(--copper);padding:2px 7px;border-radius:3px;display:inline-block;}

/* GENERIC INFO GRIDS reused across interior pages */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.info-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px;}
.info-card h4{font-size:16px;margin:8px 0 8px;}
.info-card p{font-size:14px;color:var(--ink-soft);}
.info-card ul{padding-right:18px;}
.info-card li{font-size:13.5px;color:var(--ink-soft);margin-bottom:8px;line-height:1.6;}

.tag-row{display:flex;flex-wrap:wrap;gap:8px;}
.tag{font-family:var(--font-m);font-size:12px;background:var(--paper-2);color:var(--ink-soft);padding:6px 12px;border-radius:4px;}
.tag.teal{color:var(--teal);}
.tag.copper{color:var(--copper);}

.pc-col{border-radius:6px;padding:24px;}
.pc-good{background:rgba(46,139,119,0.08);border:1px solid rgba(46,139,119,0.3);}
.pc-bad{background:rgba(201,122,61,0.08);border:1px solid rgba(201,122,61,0.3);}
.pc-col h4{font-size:16px;margin-bottom:14px;}
.pc-good h4{color:var(--teal);}
.pc-bad h4{color:var(--copper);}
.pc-col ul{padding-right:18px;}
.pc-col li{font-size:14px;color:var(--ink-soft);margin-bottom:10px;line-height:1.6;}
.proscons{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}

/* FAQ */
.faq-item{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px 22px;cursor:pointer;transition:border-color .2s ease;}
.faq-item:hover{border-color:var(--copper);}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:700;font-size:14.5px;}
.faq-icon{flex-shrink:0;transition:transform .2s ease;color:var(--copper);}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{display:none;font-size:14px;color:var(--ink-soft);margin-top:12px;line-height:1.8;}
.faq-item.open .faq-a{display:block;}

/* GLOSSARY */
.glossary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.glossary-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px 18px;}
.glossary-term{font-family:var(--font-m);font-size:14px;font-weight:700;color:var(--copper);display:block;margin-bottom:8px;}
.glossary-card p{font-size:13px;color:var(--ink-soft);line-height:1.6;}

/* ROADMAP / CAREER FLOW — single-line scrollable timeline */
.roadmap-scroll{position:relative;margin:0 -2px;}
.roadmap-scroll::before,.roadmap-scroll::after{content:"";position:absolute;top:0;bottom:0;width:30px;pointer-events:none;z-index:2;transition:opacity .2s ease;}
.roadmap-scroll::before{inset-inline-start:0;}
.roadmap-scroll::after{inset-inline-end:0;}
html[dir="rtl"] .roadmap-scroll::before{background:linear-gradient(to left, var(--paper), transparent);}
html[dir="rtl"] .roadmap-scroll::after{background:linear-gradient(to right, var(--paper), transparent);}
html[dir="ltr"] .roadmap-scroll::before{background:linear-gradient(to right, var(--paper), transparent);}
html[dir="ltr"] .roadmap-scroll::after{background:linear-gradient(to left, var(--paper), transparent);}
.roadmap-scroll.at-start::before{opacity:0;}
.roadmap-scroll.at-end::after{opacity:0;}
.roadmap{display:flex;flex-wrap:nowrap;align-items:center;gap:0;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:var(--copper) transparent;}
.roadmap::-webkit-scrollbar{height:6px;}
.roadmap::-webkit-scrollbar-track{background:transparent;}
.roadmap::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
.roadmap::-webkit-scrollbar-thumb:hover{background:var(--copper);}
.roadmap-pair{display:flex;align-items:center;flex-shrink:0;}
.roadmap-step{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px;min-width:132px;flex-shrink:0;text-align:center;font-size:13px;font-weight:700;color:var(--ink);box-shadow:0 8px 18px -14px rgba(18,33,62,0.2);cursor:default;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.roadmap-step:hover{transform:translateY(-4px);box-shadow:0 14px 26px -16px rgba(18,33,62,0.32);border-color:var(--copper);}
.roadmap-step.start{background:var(--panel);color:#fff;border-color:var(--panel);}
.roadmap-step.end{background:var(--copper);color:#fff;border-color:var(--copper);}
.roadmap-step.end:hover,.roadmap-step.start:hover{filter:brightness(1.08);}
.roadmap-arrow{color:var(--copper);font-size:20px;padding:0 8px;flex-shrink:0;animation:roadmap-pulse 2.2s ease-in-out infinite;}
@keyframes roadmap-pulse{0%,100%{opacity:.55;transform:translateX(0);}50%{opacity:1;transform:translateX(3px);}}
html[dir="ltr"] .roadmap-arrow{animation:roadmap-pulse-ltr 2.2s ease-in-out infinite;}
@keyframes roadmap-pulse-ltr{0%,100%{opacity:.55;transform:scaleX(-1) translateX(0);}50%{opacity:1;transform:scaleX(-1) translateX(3px);}}
.roadmap-hint{display:none;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-soft);margin-bottom:8px;opacity:.85;}
@media(max-width:700px){.roadmap-hint.show-mobile{display:flex;}}
.roadmap-block{margin-bottom:34px;}
.roadmap-block-title{font-family:var(--font-m);font-size:13px;color:var(--teal);margin-bottom:14px;display:flex;align-items:center;gap:8px;}

/* UNIVERSITY GUIDE */
.uni-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:16px;}
.uni-card h4{font-size:16px;color:var(--ink);margin-bottom:6px;}
.uni-majors{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.majors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:18px 0;}
.major-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:16px 18px;transition:transform .2s ease, box-shadow .2s ease;}
html[dir="rtl"] .major-card{border-right:3px solid var(--teal);}
html[dir="ltr"] .major-card{border-left:3px solid var(--teal);}
.major-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px -18px rgba(18,33,62,0.3);}
.major-card h4{font-size:14.5px;margin-bottom:4px;color:var(--ink);}
.major-card span{font-size:12.5px;color:var(--ink-soft);}

/* STATS STRIP */
.stats-strip{background:var(--panel-2);border-radius:10px;padding:34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;text-align:center;}
.stats-strip .stat b{display:block;font-family:var(--font-m);font-size:30px;color:var(--copper-soft);}
.stats-strip .stat span{font-size:12.5px;color:rgba(255,255,255,0.6);}

/* COMMUNITY CTA */
.community-box{background:var(--panel);color:#fff;border-radius:12px;padding:44px;text-align:center;position:relative;overflow:hidden;}
.community-box .discord-btn{padding:14px 28px;font-size:15px;}
.community-box small{display:block;margin-top:12px;color:rgba(255,255,255,0.45);font-family:var(--font-m);font-size:11px;}

/* FOOTER */
footer{background:var(--panel);color:rgba(255,255,255,0.6);padding:44px 0;font-size:13.5px;border-top:1px solid var(--line-dark);}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.footer-msg{max-width:520px;font-size:13.5px;line-height:1.8;color:rgba(255,255,255,0.55);}
.footer-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;}
.footer-links a{font-size:12.5px;color:rgba(255,255,255,0.5);}
.footer-links a:hover{color:var(--copper-soft);}
.footer-credit{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,0.04);border:1px solid var(--line-dark);border-radius:8px;padding:12px 20px 12px 24px;}
.credit-mark{width:44px;height:44px;flex-shrink:0;border-radius:8px;border:1.5px solid var(--copper);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;}
.credit-mark img{width:100%;height:100%;object-fit:contain;}
.credit-text{display:flex;flex-direction:column;gap:2px;text-align:right;}
.credit-label{font-family:var(--font-m);font-size:10.5px;letter-spacing:.06em;color:rgba(255,255,255,0.4);text-transform:uppercase;}
.credit-name{font-size:16px;color:#fff;font-weight:700;}
.credit-sub{font-family:var(--font-m);font-size:10.5px;color:rgba(255,255,255,0.35);}
@media(max-width:640px){.footer-inner{flex-direction:column;text-align:center;}.footer-credit{flex-direction:row-reverse;}.credit-text{text-align:left;}}

/* SPEC DETAIL PAGE TOC */
.spec-toc{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:64px;background:var(--paper);z-index:10;padding:14px 0;border-bottom:1px solid var(--line);}
.spec-toc a{font-family:var(--font-m);font-size:12px;color:var(--ink-soft);background:#fff;border:1px solid var(--line);padding:7px 12px;border-radius:4px;}
.spec-toc a:hover{border-color:var(--copper);color:var(--copper);}
.confidence-note{margin-top:40px;background:var(--paper-2);border-right:3px solid var(--teal);border-radius:6px;padding:16px 20px;font-size:12.5px;color:var(--ink-soft);line-height:1.8;}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
@keyframes fade{from{opacity:0;}to{opacity:1;}}

/* BUTTON ROW */
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* VISITOR COUNTER */
.visitor-bar{margin-top:24px;padding-top:20px;border-top:1px solid var(--line-dark);text-align:center;font-family:var(--font-m);font-size:12px;color:rgba(255,255,255,0.4);letter-spacing:.03em;}
#visitorCount{display:inline-flex;align-items:center;gap:8px;}
#visitorCount b{color:var(--copper-soft);font-size:14px;}

/* FOOTER DISCLAIMER (independence from Pearson/BTEC/Ministry) */
.footer-disclaimer{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-dark);font-size:11px;line-height:1.8;color:rgba(255,255,255,0.35);max-width:760px;}

/* LTR (English mirror) fixes for the few physical-direction rules above —
   everything else in this file is flex/gap based and mirrors automatically
   with the html[dir] attribute. */
html[dir="ltr"] .info-card ul,
html[dir="ltr"] .pc-col ul{padding-right:0;padding-left:18px;}
html[dir="ltr"] .credit-text{text-align:left;}
html[dir="ltr"] .confidence-note{border-right:none;border-left:3px solid var(--teal);}
@media(max-width:640px){html[dir="ltr"] .footer-credit{flex-direction:row;}html[dir="ltr"] .credit-text{text-align:left;}}

/* ============================================================
   PMD INTERACTIVE CARDS + MODAL (click a card for the full
   "how do I actually get this grade" explanation)
   ============================================================ */
.pmd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.pmd-card{background:var(--panel);color:#fff;border-radius:6px;padding:28px 24px;position:relative;overflow:hidden;cursor:pointer;transition:transform .3s ease, box-shadow .3s ease;}
.pmd-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 18px 34px -16px rgba(0,0,0,0.35);}
.pmd-letter{position:absolute;top:20px;inset-inline-start:22px;font-family:var(--font-m);font-size:34px;font-weight:700;opacity:.22;}
.pmd-card.merit{background:var(--panel-2);}
.pmd-card.dist{background:var(--copper);color:var(--panel);}
.pmd-level{font-family:var(--font-m);font-size:12px;letter-spacing:.06em;opacity:.7;margin-bottom:6px;text-transform:uppercase;}
.pmd-card h3{font-size:22px;font-weight:800;margin-bottom:14px;}
.meter{display:flex;gap:4px;margin-bottom:18px;}
.meter span{height:6px;flex:1;background:rgba(255,255,255,0.18);border-radius:2px;}
.pmd-card.dist .meter span{background:rgba(13,23,48,0.18);}
.pmd-card p{font-size:14px;opacity:.88;}
.pmd-card.m1 .meter span:nth-child(1){background:var(--teal-soft);}
.pmd-card.m2 .meter span:nth-child(-n+2){background:var(--copper-soft);}
.pmd-card.m3 .meter span{background:var(--panel);}
.pmd-card:hover .meter span{animation:meter-fill .6s ease forwards;}
.pmd-card .meter span:nth-child(1){animation-delay:0s;}
.pmd-card .meter span:nth-child(2){animation-delay:.08s;}
.pmd-card .meter span:nth-child(3){animation-delay:.16s;}
@keyframes meter-fill{0%{transform:scaleY(1);}50%{transform:scaleY(1.9);}100%{transform:scaleY(1);}}
.pmd-more{display:block;margin-top:16px;font-family:var(--font-m);font-size:11.5px;opacity:.65;letter-spacing:.02em;}
.pmd-card:hover .pmd-more{opacity:1;}

.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(13,23,48,0.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .25s ease, visibility .25s ease;}
.modal-overlay.open{opacity:1;visibility:visible;}
.modal-box{background:#fff;border-radius:12px;max-width:640px;width:100%;max-height:85vh;overflow-y:auto;padding:36px;position:relative;transform:translateY(20px) scale(.98);transition:transform .3s cubic-bezier(.2,.8,.2,1);}
html.dark .modal-box{background:var(--paper-2);}
.modal-overlay.open .modal-box{transform:translateY(0) scale(1);}
.modal-close{position:absolute;top:16px;inset-inline-start:16px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:20px;color:var(--ink-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;}
html.dark .modal-close{background:var(--paper-2);}
.modal-close:hover{background:var(--panel);color:#fff;border-color:var(--panel);}
.modal-tag{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;font-family:var(--font-m);font-weight:700;font-size:20px;color:#fff;margin-bottom:16px;}
.modal-box h3{font-size:24px;font-weight:800;margin-bottom:6px;}
.modal-box .modal-sub{color:var(--ink-soft);font-size:14px;margin-bottom:24px;}
.modal-box h4{font-size:15px;margin:22px 0 10px;display:flex;align-items:center;gap:8px;}
.modal-box p{font-size:14.5px;color:var(--ink-soft);margin-bottom:8px;}
.modal-box ul{padding-right:20px;margin-bottom:8px;}
html[dir="ltr"] .modal-box ul{padding-right:0;padding-left:20px;}
.modal-box li{font-size:14.5px;color:var(--ink-soft);margin-bottom:8px;line-height:1.7;}
.modal-box .mistake{color:#B4432F;}
.modal-box .good{color:var(--teal);}
.modal-example{background:var(--paper-2);border-right:3px solid var(--copper);padding:14px 16px;border-radius:6px;font-size:14px;margin:10px 0;font-style:italic;color:var(--ink);}
html[dir="ltr"] .modal-example{border-right:none;border-left:3px solid var(--copper);}
.modal-tip{background:var(--panel);color:#fff;border-radius:8px;padding:16px 18px;margin-top:20px;font-size:14px;}
.modal-tip b{color:var(--copper-soft);}

/* ===== COMMAND WORDS TABLE ===== */
.cmd-table{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
html.dark .cmd-table{background:var(--paper-2);}
.cmd-row{display:grid;grid-template-columns:1.1fr 1.1fr .6fr 2fr;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);align-items:center;font-size:14px;}
.cmd-row:last-child{border-bottom:none;}
.cmd-head{background:var(--panel);color:#fff;font-family:var(--font-m);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;opacity:.85;}
.cmd-row:not(.cmd-head):hover{background:var(--paper-2);}
.cmd-row span:first-child{font-weight:700;}
.cmd-row span:nth-child(4){color:var(--ink-soft);font-size:13px;}
.cmd-tag{font-family:var(--font-m);font-weight:700;font-size:12px;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;}
.cmd-p{background:var(--teal);}
.cmd-m{background:var(--copper);}
.cmd-d{background:var(--panel);}
@media(max-width:640px){
  .cmd-row{grid-template-columns:1fr 1fr .5fr;font-size:12.5px;padding:12px;}
  .cmd-row span:nth-child(4){display:none;}
}

/* ===== RIPPLE EFFECT (sitewide click feedback) ===== */
.ripple-el{position:relative;overflow:hidden;}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.55);transform:scale(0);animation:ripple-anim .55s ease-out;pointer-events:none;}
@keyframes ripple-anim{to{transform:scale(2.6);opacity:0;}}
.dark-ripple .ripple{background:rgba(201,122,61,0.35);}

/* ===== UNITS-PER-GRADE TABS (specialization pages with grade breakdown) ===== */
.grade-tabs{display:flex;gap:8px;margin-bottom:34px;flex-wrap:wrap;}
.grade-tab-btn{font-family:var(--font-m);font-size:13.5px;padding:10px 20px;border:1px solid var(--line);background:#fff;border-radius:4px;cursor:pointer;color:var(--ink-soft);transition:all .15s ease;}
html.dark .grade-tab-btn{background:var(--paper-2);}
.grade-tab-btn.active{background:var(--panel);color:#fff;border-color:var(--panel);}
.grade-panel{display:none;transform:translateY(8px);}
.grade-panel.active{display:block;animation:fadein .3s ease;transform:translateY(0);}
@keyframes fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.grade-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px dashed var(--line);}
.grade-meta h3{font-size:19px;}
.grade-meta .total{font-family:var(--font-m);font-size:13px;color:var(--copper);background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:4px;}
html.dark .grade-meta .total{background:var(--paper-2);}
.units{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
.unit-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:18px;position:relative;transition:border-color .15s ease, transform .15s ease;cursor:pointer;user-select:none;padding-inline-start:46px;}
html.dark .unit-card{background:var(--paper-2);}
.unit-card:hover{border-color:var(--copper);transform:translateY(-2px);}
.unit-card:active{transform:scale(0.97) translateY(0);}
.unit-card.done{border-color:var(--teal);background:linear-gradient(180deg,#fff, #F3FBF9);}
html.dark .unit-card.done{background:linear-gradient(180deg,var(--paper-2), #0F2A24);}
.unit-code{font-family:var(--font-m);font-size:11.5px;color:var(--copper);letter-spacing:.05em;margin-bottom:8px;display:block;}
.unit-card h4{font-size:15px;line-height:1.5;margin-bottom:14px;min-height:44px;}
.unit-hours{font-family:var(--font-m);font-size:12.5px;color:var(--ink-soft);display:flex;align-items:center;gap:6px;}
.unit-hours::before{content:"";width:6px;height:6px;background:var(--teal);border-radius:1px;}
.unit-check{position:absolute;top:14px;inset-inline-start:14px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;transition:all .2s ease;}
.unit-card.done .unit-check{background:var(--teal);border-color:var(--teal);color:#fff;transform:scale(1.05);}
.found-note{margin-top:24px;font-size:14px;color:var(--ink-soft);background:var(--paper-2);padding:14px 18px;border-radius:4px;}
.unit-progress{margin-bottom:22px;}
.unit-progress-bar{height:8px;border-radius:4px;overflow:hidden;background:var(--paper-2);border:1px solid var(--line);margin-bottom:8px;}
.unit-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--teal),var(--copper));transition:width .4s cubic-bezier(.2,.8,.2,1);}
.unit-progress-label{font-family:var(--font-m);font-size:12.5px;color:var(--ink-soft);}

.book-dl-box{margin-top:24px;background:var(--paper-2);border-right:3px solid var(--teal);border-radius:4px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
html[dir="ltr"] .book-dl-box{border-right:none;border-left:3px solid var(--teal);}
.book-dl-info{display:flex;align-items:flex-start;gap:12px;}
.book-dl-info svg{width:26px;height:26px;flex-shrink:0;color:var(--teal);margin-top:2px;}
.book-dl-info h4{font-size:15px;margin-bottom:4px;}
.book-dl-info p{font-size:13px;color:var(--ink-soft);line-height:1.6;margin:0;}
.book-dl-actions{display:flex;gap:10px;flex-wrap:wrap;}
.tool-dl{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-family:var(--font-m);font-size:12.5px;font-weight:700;color:var(--copper);border:1px solid var(--copper);padding:7px 14px;border-radius:3px;transition:background .15s ease, color .15s ease;}
.tool-dl:hover{background:var(--copper);color:#fff;}
.tool-dl svg{width:13px;height:13px;flex-shrink:0;}
.tool-note{font-size:11px;color:var(--ink-soft);margin-top:8px;line-height:1.6;display:block;}
.tool-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:20px;display:flex;flex-direction:column;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
html.dark .tool-card{background:var(--paper-2);}
.tool-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -12px rgba(18,33,62,0.18);border-color:var(--copper);}
.tool-card h4{font-size:15.5px;margin-bottom:6px;}
.tool-card p{font-size:13.5px;color:var(--ink-soft);flex:1;margin:0 0 14px;line-height:1.65;}

.note-box{background:var(--paper-2);border-right:3px solid var(--copper);padding:16px 18px;border-radius:4px;font-size:14.5px;color:var(--ink-soft);}
html[dir="ltr"] .note-box{border-right:none;border-left:3px solid var(--copper);}
.note-box b{color:var(--ink);}

/* ===== COMMENTS / REVIEWS (professional rating + comment system) ===== */
.rating-summary{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:var(--panel);color:#fff;border-radius:10px;padding:22px 26px;margin-bottom:26px;position:relative;overflow:hidden;}
.rating-summary::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(360px circle at 90% 15%, rgba(201,122,61,0.28), transparent 65%);}
.rating-summary-score{position:relative;z-index:1;text-align:center;min-width:86px;}
.rating-summary-score .num{font-family:var(--font-m);font-size:34px;font-weight:700;line-height:1;color:var(--copper-soft);}
.rating-summary-score .of5{font-family:var(--font-m);font-size:13px;color:rgba(255,255,255,0.55);}
.rating-summary-mid{position:relative;z-index:1;flex:1;min-width:220px;}
.rating-summary-stars{color:var(--copper);font-size:20px;letter-spacing:2px;margin-bottom:6px;}
.rating-summary-bar-track{background:rgba(255,255,255,0.12);border-radius:20px;height:8px;overflow:hidden;max-width:320px;}
.rating-summary-bar-fill{background:linear-gradient(90deg,var(--copper),var(--copper-soft));height:100%;border-radius:20px;transition:width .4s ease;}
.rating-summary-count{position:relative;z-index:1;font-family:var(--font-m);font-size:13px;color:rgba(255,255,255,0.7);white-space:nowrap;}
.rating-summary-count b{color:#fff;font-size:15px;}

.comment-form-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px;margin-bottom:32px;}
.rating-picker{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap;}
.rating-label{font-size:14px;color:var(--ink-soft);font-weight:600;}
.stars{display:flex;gap:4px;}
.stars .star{font-size:26px;color:var(--line);cursor:pointer;transition:color .15s ease, transform .15s ease;line-height:1;}
.stars .star:hover{transform:scale(1.15);}
.stars .star.filled{color:var(--copper);}
.comment-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;}
.comment-fields input,.comment-fields textarea{font-family:var(--font-d);font-size:14.5px;border:1px solid var(--line);border-radius:6px;padding:12px 14px;background:var(--paper);color:var(--ink);resize:vertical;transition:border-color .2s ease;width:100%;}
.comment-fields input:focus,.comment-fields textarea:focus{outline:none;border-color:var(--copper);background:#fff;}
html.dark .comment-fields input:focus,html.dark .comment-fields textarea:focus{background:var(--paper-2);}
.comment-form-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.comment-status{font-size:13px;color:var(--ink-soft);font-family:var(--font-m);}
.comment-status.error{color:#B4432F;}
.comment-status.success{color:var(--teal);}
.comment-submit{padding:11px 24px;font-size:14px;border:none;cursor:pointer;}
.comment-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;}

.comments-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.comments-section-head h3{font-size:16px;color:var(--ink);}
.comments-total-tag{font-family:var(--font-m);font-size:12px;color:var(--ink-soft);}

.comments-list{display:flex;flex-direction:column;gap:14px;}
.comments-loading,.comments-empty{text-align:center;color:var(--ink-soft);font-size:14px;padding:24px;font-family:var(--font-m);}
.comment-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px;position:relative;animation:comment-in .35s ease both;}
@keyframes comment-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.comment-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px;}
.comment-name{font-weight:700;font-size:14.5px;color:var(--ink);}
.comment-stars{color:var(--copper);font-size:14px;letter-spacing:1px;}
.comment-date{font-family:var(--font-m);font-size:11px;color:var(--ink-soft);opacity:.7;}
.comment-body{font-size:14px;color:var(--ink-soft);line-height:1.7;white-space:pre-wrap;word-break:break-word;}

/* discreet admin-only delete affordance: a plain dot, not labelled, low visual weight */
.comment-admin-dot{position:absolute;top:14px;inset-inline-end:14px;width:7px;height:7px;border-radius:50%;background:var(--line);border:none;cursor:pointer;opacity:.35;transition:opacity .2s ease, transform .2s ease;padding:8px;margin:-8px;}
.comment-admin-dot:hover{opacity:.9;transform:scale(1.3);background:#B4432F;}

.comments-load-more{display:flex;justify-content:center;margin-top:18px;}
.comments-load-more button{font-family:var(--font-m);font-size:13px;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:20px;padding:9px 22px;cursor:pointer;transition:all .2s ease;}
.comments-load-more button:hover{border-color:var(--copper);color:var(--copper);}

html.dark .comment-form-card,html.dark .comment-card{background:var(--paper-2);}
html.dark .comment-fields input,html.dark .comment-fields textarea{background:var(--paper);}
html.dark .comments-load-more button{background:var(--paper-2);}

/* ===== MOBILE LANGUAGE TOGGLE — own row, flag icon instead of emoji ===== */
