/* AIOTA University -- dark theme matching aiota.trade
   page #030508 · main borders / accents #00FF55 · secondary borders = greys · text white.
   The theme's own defaults (dark grey text, pink links) are overridden on purpose: the site body is near-black. */
.aiota-lesson-page, .aiota-course-page, .aiota-courses, .aiota-section, .aiota-sec, .aiota-glossary, .aiota-lesson-list, .aiota-lesson-nav, .aiota-video, .aiota-empty {
  --a-bg: #030508; --a-surface: #090e13; --a-surface-2: #0f161d;
  --a-line: #1d2832; --a-line-2: #2b3844; --a-text: #ffffff; --a-muted: #9aa7b2; --a-accent: #00ff55; --a-accent-soft: rgba(0, 255, 85, .10);
  --a-bad: #ff4d6a;
  color: var(--a-text);
}
.aiota-lesson-page, .aiota-course-page { background: var(--a-bg); }
.aiota-lesson-page h1, .aiota-lesson-page h2, .aiota-lesson-page h3, .aiota-course-page h1, .aiota-course-page h2, .aiota-course-page h3,
.aiota-courses h3, .aiota-section h2, .aiota-glossary dt { color: var(--a-text); }
.aiota-lesson-page p, .aiota-lesson-page li, .aiota-lesson-page dd, .aiota-course-page p, .aiota-course-page li, .aiota-section p, .aiota-section li, .aiota-section dd { color: #dfe6ea; }
.aiota-lesson-page a, .aiota-course-page a, .aiota-courses a, .aiota-section a, .aiota-glossary a { color: var(--a-accent); text-decoration: none; }
.aiota-lesson-page a:hover, .aiota-course-page a:hover, .aiota-section a:hover { text-decoration: underline; }

.aiota-video { position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 0 0 1.5rem; border-radius: 14px; overflow: hidden; background: #000; border: 1px solid var(--a-accent); box-shadow: 0 0 0 1px var(--a-accent-soft), 0 12px 40px rgba(0, 255, 85, .06); }
.aiota-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.aiota-section { margin: 1.5rem 0; padding: 1.25rem 1.5rem; background: var(--a-surface); border: 1px solid var(--a-line-2); border-radius: 14px; }
.aiota-section h2 { margin: 0 0 .75rem; font-size: 1.25rem; padding-inline-start: .75rem; border-inline-start: 3px solid var(--a-accent); line-height: 1.3; }
.aiota-section h3 { font-size: 1.05rem; }
.aiota-terms dt { font-weight: 700; margin-top: .9rem; color: var(--a-accent); }
.aiota-terms dd { margin: .2rem 0 0; }
.aiota-transcript summary { cursor: pointer; font-weight: 700; font-size: 1.1rem; color: var(--a-text); }
.aiota-transcript details > :not(summary) { margin-top: .8rem; line-height: 1.85; }

/* quiz */
.aiota-q { margin: 1.1rem 0; padding: .85rem 1rem; border-radius: 12px; border: 1px solid var(--a-line); background: var(--a-surface-2); }
.aiota-q-text { font-weight: 700; margin: 0 0 .5rem; color: var(--a-text) !important; }
.aiota-opt { display: flex; align-items: flex-start; gap: .6rem; padding: .45rem .6rem; border-radius: 8px; cursor: pointer; color: #dfe6ea; line-height: 1.5; }
.aiota-opt:hover { background: rgba(255, 255, 255, .06); }
.aiota-opt input { accent-color: var(--a-accent); margin: .3rem 0 0; flex: none; }
.aiota-ok { border-color: var(--a-accent); background: var(--a-accent-soft); }
.aiota-bad { border-color: var(--a-bad); background: rgba(255, 77, 106, .08); }
.aiota-right span { font-weight: 700; text-decoration: underline; color: var(--a-accent); }
.aiota-expl { margin: .5rem 0 0; font-size: .95rem; color: var(--a-muted) !important; }
.aiota-check { padding: .65rem 1.5rem; border: 1px solid var(--a-accent); border-radius: 10px; background: var(--a-accent); color: #031208; font-weight: 800; cursor: pointer; }
.aiota-check:hover { filter: brightness(1.1); }
.aiota-result { font-weight: 700; margin-top: .75rem; color: var(--a-text); }

/* layout: full width on the site's dark background (the theme's own body is white on these generated pages) */
body.single-aiota_lesson, body.tax-aiota_course { background: #030508; }
.aiota-lesson-page, .aiota-course-page { width: 100%; max-width: none; margin: 0; padding: 1.5rem clamp(1rem, 4vw, 4.5rem) 3.5rem; box-sizing: border-box; min-height: 60vh; }
.aiota-chrome { position: relative; z-index: 5; }
.aiota-crumbs { font-size: .9rem; color: var(--a-muted); margin-bottom: 1rem; }
.aiota-crumbs a { color: var(--a-muted) !important; }
.aiota-crumbs a:hover { color: var(--a-accent) !important; }
.aiota-lesson-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 2rem; align-items: start; }
.aiota-lesson-title-h, .aiota-course-hero h1 { margin: 0 0 .6rem; font-size: clamp(1.7rem, 3.2vw, 2.6rem); line-height: 1.2; }
.aiota-lesson-intro { font-size: 1.08rem; color: #eef3f6 !important; }
.aiota-lesson-side { position: sticky; top: 1rem; padding: 1.1rem 1.25rem; background: var(--a-surface); border: 1px solid var(--a-accent); border-radius: 14px; }
.aiota-lesson-side h2 { margin: 0 0 .75rem; font-size: 1.1rem; }
.aiota-lesson-list ol { margin: 0; padding-inline-start: 1.3rem; }
.aiota-lesson-list li { padding: .45rem 0; border-bottom: 1px solid var(--a-line); }
.aiota-lesson-list li:last-child { border-bottom: 0; }
.aiota-lesson-list li::marker { color: var(--a-muted); }
.aiota-lesson-list a { color: #dfe6ea !important; }
.aiota-lesson-list a:hover { color: var(--a-accent) !important; text-decoration: none; }
.aiota-lesson-list a.is-current { color: var(--a-accent) !important; font-weight: 700; }
.aiota-progress { font-size: .9rem; color: var(--a-muted); margin: .75rem 0 0; }
.aiota-done-btn { margin: 1.25rem 0 0; padding: .65rem 1.3rem; border-radius: 10px; border: 1px solid var(--a-accent); background: transparent; color: var(--a-accent); cursor: pointer; font-weight: 700; }
.aiota-done-btn:hover { background: var(--a-accent-soft); }
.aiota-done-btn .t-done { display: none; }
.aiota-done-btn.is-done { background: var(--a-accent); color: #031208; }
.aiota-done-btn.is-done .t-mark { display: none; }
.aiota-done-btn.is-done .t-done { display: inline; }
.aiota-lesson-nav { display: flex; justify-content: space-between; gap: 1rem; margin: 1.75rem 0; }
.aiota-lesson-nav a { padding: .6rem 1rem; border: 1px solid var(--a-line-2); border-radius: 10px; color: var(--a-text) !important; }
.aiota-lesson-nav a:hover { border-color: var(--a-accent); text-decoration: none; }
.aiota-disclaimer { font-size: .85rem; color: var(--a-muted) !important; margin-top: 1.5rem; border-top: 1px solid var(--a-line); padding-top: 1rem; }

/* course page */
.aiota-course-head { display: flex; gap: 1.5rem; align-items: center; margin-bottom: 2rem; padding: 1.5rem; background: var(--a-surface); border: 1px solid var(--a-accent); border-radius: 16px; }
.aiota-course-head img { width: 220px; max-width: 35%; border-radius: 12px; }
.aiota-course-lessons { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.aiota-course-lessons a { display: grid; grid-template-columns: 3rem 1fr; gap: .25rem 1rem; padding: 1rem 1.25rem; background: var(--a-surface); border: 1px solid var(--a-line-2); border-radius: 14px; text-decoration: none !important; transition: border-color .15s, transform .15s; }
.aiota-course-lessons a:hover { border-color: var(--a-accent); transform: translateY(-1px); }
.aiota-lesson-no { grid-row: span 2; font-size: 1.5rem; font-weight: 800; color: var(--a-accent); align-self: center; text-align: center; }
.aiota-lesson-title { font-weight: 700; color: var(--a-text); }
.aiota-lesson-excerpt { color: var(--a-muted); font-size: .92rem; }
.aiota-course-index { padding-inline-start: 1.4rem; line-height: 2; }
.aiota-glossary dt { font-weight: 700; margin-top: 1rem; color: var(--a-accent); }
.aiota-glossary dd { margin: .2rem 0 0; color: #dfe6ea; }

/* course grid for the /university page ([aiota_courses]) */
.aiota-courses { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; padding: 1rem 0; }
.aiota-course-card { display: block; padding: 1.25rem; background: var(--a-surface); border: 1px solid var(--a-line-2); border-radius: 16px; text-decoration: none !important; transition: border-color .15s, box-shadow .15s, transform .15s; }
.aiota-course-card:hover { border-color: var(--a-accent); box-shadow: 0 0 0 1px var(--a-accent-soft), 0 10px 30px rgba(0, 255, 85, .08); transform: translateY(-2px); }
.aiota-course-card img { width: 100%; border-radius: 10px; margin-bottom: .85rem; display: block; }
.aiota-course-card h3 { margin: 0 0 .45rem; font-size: 1.2rem; color: var(--a-text) !important; }
.aiota-course-card p { margin: 0 0 .8rem; color: var(--a-muted) !important; font-size: .95rem; line-height: 1.6; }
.aiota-course-count { display: inline-block; padding: .2rem .7rem; font-size: .8rem; font-weight: 700; color: var(--a-accent); border: 1px solid var(--a-accent); border-radius: 999px; }
.aiota-empty { padding: 2rem 1.5rem; text-align: center; background: var(--a-surface); border: 1px dashed var(--a-line-2); border-radius: 16px; color: var(--a-muted); }
.aiota-empty strong { display: block; color: var(--a-text); font-size: 1.15rem; margin-bottom: .4rem; }

/* right-to-left languages: the layout mirrors through logical properties; the sidebar flips to the left automatically */
[dir="rtl"] .aiota-lesson-nav .aiota-prev, [dir="rtl"] .aiota-lesson-nav .aiota-next { direction: rtl; }

@media (max-width: 900px) { .aiota-lesson-grid { grid-template-columns: 1fr; } .aiota-lesson-side { position: static; } .aiota-course-head { flex-direction: column; align-items: flex-start; } .aiota-course-head img { max-width: 100%; width: 100%; } }

/* ---- lesson header: meta line + jump buttons ---- */
.aiota-lesson-meta { display: flex; gap: .6rem; margin: 0 0 1rem; color: var(--a-muted) !important; font-size: .95rem; }
.aiota-lesson-meta span + span::before { content: "\00b7"; margin-inline-end: .6rem; }
.aiota-jump { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 1.5rem; }
.aiota-jump-btn { padding: .55rem 1.1rem; border: 1px solid var(--a-accent); border-radius: 999px; color: var(--a-accent) !important; font-weight: 700; font-size: .95rem; text-decoration: none !important; background: transparent; transition: background .15s; }
.aiota-jump-btn:hover { background: var(--a-accent-soft); text-decoration: none !important; }
.aiota-section { scroll-margin-top: 110px; }

/* ---- progress marks (open circle = not started, half = started, tick = completed) + bars ---- */
.aiota-st::before { content: "\25CB"; color: var(--a-line-2); font-weight: 800; }
li.is-started > .aiota-st::before, li.is-started .aiota-st::before { content: "\25D0"; color: var(--a-accent); }
li.is-done > .aiota-st::before, li.is-done .aiota-st::before { content: "\2713"; color: var(--a-accent); }
.aiota-lesson-list li { display: grid; grid-template-columns: 1fr auto; column-gap: .6rem; align-items: baseline; }
.aiota-lesson-list li small { grid-column: 1; color: var(--a-muted); font-size: .8rem; }
.aiota-lesson-list li .aiota-st { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.aiota-lesson-list ol { list-style: none; padding-inline-start: 0; counter-reset: n; }
.aiota-lesson-list li { counter-increment: n; }
.aiota-lesson-list li > a::before { content: counter(n) ". "; color: var(--a-muted); }
.aiota-bar { height: 6px; background: var(--a-line); border-radius: 99px; overflow: hidden; margin: .9rem 0 .2rem; }
.aiota-bar span { display: block; height: 100%; width: 0; background: var(--a-accent); transition: width .3s; }

/* ---- course page ---- */
.aiota-course-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem; align-items: center; padding: 2rem; margin-bottom: 2rem; background: var(--a-surface); border: 1px solid var(--a-accent); border-radius: 18px; }
.aiota-hero-img img { width: 100%; border-radius: 14px; display: block; border: 1px solid var(--a-line-2); }
.aiota-badge { display: inline-block; padding: .2rem .8rem; margin-bottom: .8rem; border: 1px solid var(--a-accent); border-radius: 999px; color: var(--a-accent); font-size: .8rem; font-weight: 800; letter-spacing: .03em; }
.aiota-lead { font-size: 1.1rem; line-height: 1.7; color: #eef3f6 !important; }
.aiota-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 1rem 0; }
.aiota-chips li { padding: .3rem .8rem; border: 1px solid var(--a-line-2); border-radius: 999px; font-size: .88rem; color: #dfe6ea; background: var(--a-surface-2); }
.aiota-cta { display: inline-block; padding: .8rem 1.8rem; border-radius: 12px; background: var(--a-accent); color: #031208 !important; font-weight: 800; text-decoration: none !important; }
.aiota-cta:hover { filter: brightness(1.08); }
.aiota-cta .t-cont { display: none; }
.aiota-cta.is-started .t-start { display: none; }
.aiota-cta.is-started .t-cont { display: inline; }
.aiota-sec { margin: 0 0 2rem; padding: 1.5rem 1.75rem; background: var(--a-surface); border: 1px solid var(--a-line-2); border-radius: 16px; }
.aiota-sec h2 { margin: 0 0 1rem; font-size: 1.35rem; padding-inline-start: .75rem; border-inline-start: 3px solid var(--a-accent); line-height: 1.3; }
.aiota-sub { margin: -.4rem 0 1.2rem; color: var(--a-muted) !important; }
.aiota-learn { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: .8rem 2rem; }
.aiota-learn li { position: relative; padding-inline-start: 1.8rem; line-height: 1.6; color: #eef3f6 !important; }
.aiota-learn li::before { content: "\2713"; position: absolute; inset-inline-start: 0; color: var(--a-accent); font-weight: 800; }
.aiota-bullets { margin: 0; padding-inline-start: 1.2rem; line-height: 1.8; }
.aiota-bullets li::marker { color: var(--a-accent); }
.aiota-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; }
.aiota-parts { display: grid; gap: .7rem; }
.aiota-part { border: 1px solid var(--a-line-2); border-radius: 14px; background: var(--a-surface-2); overflow: hidden; }
.aiota-part.is-soon { opacity: .6; border-style: dashed; }
.aiota-part-head { display: flex; align-items: center; gap: 1rem; padding: .95rem 1.2rem; cursor: pointer; list-style: none; }
.aiota-part.is-soon .aiota-part-head { cursor: default; }
.aiota-part-head::-webkit-details-marker { display: none; }
.aiota-part-no { color: var(--a-accent); font-weight: 800; white-space: nowrap; min-width: 4.5rem; }
.aiota-part-title { flex: 1; font-weight: 700; color: var(--a-text); }
.aiota-part-meta { color: var(--a-muted); font-size: .88rem; white-space: nowrap; }
.aiota-part[open] > .aiota-part-head { border-bottom: 1px solid var(--a-line); }
.aiota-part .aiota-course-lessons { padding: .8rem; }
.aiota-course-lessons a { grid-template-columns: 3rem minmax(0, 1fr) auto 1.6rem; align-items: center; min-width: 0; overflow-wrap: anywhere; }
.aiota-lesson-no { grid-row: span 2; }
.aiota-lesson-dur { color: var(--a-muted); font-size: .88rem; white-space: nowrap; }
.aiota-lesson-excerpt { grid-column: 2 / span 2; }
.aiota-course-lessons .aiota-st { grid-column: 4; grid-row: 1 / span 2; }
.aiota-course-lessons { list-style: none; counter-reset: none; }
@media (max-width: 900px) { .aiota-course-hero { grid-template-columns: 1fr; } .aiota-part-head { flex-wrap: wrap; } }

/* ---- phones and tablets ---- */
.aiota-lesson-main, .aiota-lesson-side, .aiota-part, .aiota-sec, .aiota-video { min-width: 0; max-width: 100%; }
.aiota-transcript details > :not(summary), .aiota-summary, .aiota-terms { overflow-wrap: anywhere; }
@media (max-width: 1100px) { .aiota-lesson-grid { grid-template-columns: minmax(0, 1fr) 300px; gap: 1.5rem; } }
@media (max-width: 600px) {
  .aiota-lesson-page, .aiota-course-page { padding: 1rem .9rem 2.5rem; }
  .aiota-course-hero { padding: 1.25rem; gap: 1.25rem; }
  .aiota-sec, .aiota-section { padding: 1rem 1.1rem; }
  .aiota-part-head { padding: .8rem .9rem; gap: .35rem .8rem; }
  .aiota-part-no { min-width: 0; }
  .aiota-part-meta { flex-basis: 100%; }
  .aiota-part .aiota-course-lessons { padding: .5rem; }
  .aiota-course-lessons a { grid-template-columns: 2rem minmax(0, 1fr) 1.4rem; padding: .8rem; gap: .2rem .6rem; }
  .aiota-lesson-no { grid-row: 1 / span 3; font-size: 1.2rem; }
  .aiota-lesson-title, .aiota-lesson-dur, .aiota-lesson-excerpt { grid-column: 2; }
  .aiota-course-lessons .aiota-st { grid-column: 3; grid-row: 1 / span 3; }
  .aiota-learn { grid-template-columns: 1fr; }
  .aiota-jump-btn { padding: .5rem .9rem; font-size: .9rem; }
  .aiota-lesson-nav { flex-direction: column; }
  .aiota-lesson-nav a { text-align: center; }
  .aiota-cta { width: 100%; text-align: center; box-sizing: border-box; }
}
