:root {
  color-scheme:dark;
  --paper:#19191c; --ink:#f3f3f5; --muted:#aaaeb7; --line:#35363b;
  --green:#67aaff; --green-dark:#b8daff; --green-text:#8bc4ff;
  --mint:#1c1e23; --pale:#191a1e;
}
.judging-entry { position:absolute; top:14px; right:178px; display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 13px; border:1px solid #327dd2; border-radius:6px; background:#202936; color:#b8daff; font:600 12px 'DM Sans',sans-serif; text-decoration:none; }
.judging-entry:hover,.session-judging-link:hover { background:#2269bd; color:#fff; text-decoration:none; }
.session-judging-link { display:inline-flex; align-items:center; min-height:32px; padding:5px 10px; border:1px solid #327dd2; border-radius:6px; background:#202936; color:#b8daff; font:600 12px 'DM Sans',sans-serif; text-decoration:none; }
@media(max-width:999px) { .judging-entry { top:63px; right:14px; min-height:34px; } .site-header:has(.judging-entry:not([hidden])) .tabs { padding-right:84px; } }
@media(max-width:650px) { .judging-entry { top:63px; right:12px; padding:6px 9px; font-size:11px; } }
body,.site-header,[data-page=walkthroughs],main.learning-page { background:var(--paper); color:var(--ink); }
.site-header { background:var(--paper); }
.schedule-group,.resource-group,.logo-preview,.button,.lesson-toolbar a,.lesson-links a,
.sidebar-collapsed .learning-sidebar,
.help-dialog input,.help-dialog select,.help-dialog textarea,.mentor-roster input,.assignment select,
.code-heading button { background:#19191c; color:var(--ink); }
#schedule-list .schedule-row { background:transparent; }
#schedule-list .schedule-row.is-primary,#schedule-list .schedule-row.is-up-next:not(.is-current) { background:var(--paper); }
.schedule-dot::before,.schedule-dot::after,#schedule-list .is-current:not(.is-primary) .session-title h2::before { background:#62b5ff; }
.schedule-dot.is-waiting::before { background:#19191c; border-color:#898e99; }
.session-ruler i { background:#666a73; }
.session-progress { background:#62b5ff; }
#schedule-list .session-workshop:hover:not(.is-current),#schedule-list .session-workshop:focus-within:not(.is-current),
.tabs button:hover,.lesson-toolbar a:hover,.lesson-links a:hover,.course-group summary:hover,.course-single-page .course-page:hover,
.course-group li button:hover,.course-introduction:hover,#questions .question summary:hover,
#sidebar-toggle:hover,.course-toggle:hover,#countdown-toggle:hover { background:#292a2f; color:var(--ink); }
.course-group li button[aria-current],.course-introduction[aria-current],.course-page[aria-current],.introduction-preparation,
.author-quote,.submission-banner,.submission-banner[data-submission-state=soon],
.submission-banner[data-submission-state=final],.submission-banner[data-submission-state=closed],
.submission-state-preview,.submission-state-sample,.submission-state-preview button { background:#202126; color:var(--ink); }
.submission-banner [data-countdown-label],.submission-banner-action p,.author-quote blockquote p,
.author-quote figcaption { color:var(--muted); }
.deadline[data-submission-state=soon] .deadline-reminder { color:#ffd38a; }
.deadline[data-submission-state=final] .deadline-reminder { color:#ffb49e; }
.author-quote blockquote p { color:var(--ink); }
.submission-button { background:#2269bd; color:#fff; }
.lesson-index,[aria-current]>.lesson-index,pre { background:#202126; color:var(--ink); }
.lesson-heading .lesson-title,.introduction-heading:not(.introduction-hero) .lesson-title { color:var(--ink); }
#term-definition,.deployment-celebration button { background:#19191c; color:var(--ink); }
.schedule-meta { display:flex; align-items:center; gap:7px; flex-wrap:wrap; color:var(--muted); font-size:12px; }
.schedule-meta>span,.schedule-meta>a { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:30px; padding:4px 9px; border:1px solid var(--line); border-radius:6px; white-space:nowrap; }
.schedule-meta>a:hover { background:#292a2f; color:var(--ink); text-decoration:none; }
#schedule-list .is-current:not(.is-primary) .session-title h2::before { display:none; }
#schedule-list .session-time { flex-wrap:wrap; align-items:center; }
.session-location { margin-left:5px; padding-left:9px; border-left:1px solid var(--line); color:var(--green-text); }
.brand .vision-icon { width:1.1em; height:1.1em; border-radius:0; object-fit:contain; object-position:center; }
@media(max-width:999px) {
  #schedule-list { background:#19191c; }
  #schedule-list .schedule-row { background:transparent; }
}
@media(max-width:650px) {
  .schedule-meta { margin-top:8px; }
  .schedule-meta>span,.schedule-meta>a { min-height:28px; padding:3px 7px; }
  #schedule-list .session-time { flex-direction:row; gap:3px; }
  #schedule-list .session-time>span { display:inline; }
  .session-location { flex-basis:100%; margin:1px 0 0; padding:0; border:0; font-size:10px; }
}
/* The shared workshop styles were authored for a light green theme. Keep their
   layout while making every interactive surface legible in the dark palette. */
.site-header,#schedule-list,.learning-sidebar,.workshop-contents,.course-group,.course-introduction,
#guide,.lesson,.resource-layout,.resource-topic,#questions,.question-group,.question,
.submission-banner,.resource-topics,.resource-row,.idea-note,
.learning-project-card,.learning-resource-grid a,.learning-flow li,.learning-table,
.lesson-tip,.lesson-warning,.code-block,.code-block-header,.code-block-viewport,
.venue-access-button,#venue-access,.idea-popup,
#term-definition { background-color:#19191c; color:var(--ink); border-color:var(--line); }
.tabs button[aria-selected=true],[data-page=walkthroughs] .tabs button[aria-selected=true],
#schedule-list .session-workshop .session-title a,.course-group li button[aria-current],
.course-introduction[aria-current],.course-single-page .course-page[aria-current],.resource-topics a[aria-current] { background:#202936; color:#b8daff; }
#schedule-list .session-title a,.resource-topic a,.resource-row:hover,.lesson a,
.lesson-copy a,.resource-topics a:hover { color:var(--green-text); }
#schedule-list .session-workshop .session-title a { background:transparent; }
.submission-button:hover,.button.primary:hover { background:#327dd2; }
.submission-button:disabled { background:#303137; color:#b9bac0; }
.submission-state-sample[data-submission-state=soon],.submission-banner[data-submission-state=soon] { background:#302b22; }
.submission-state-sample[data-submission-state=final],.submission-banner[data-submission-state=final] { background:#382620; }
.resource-host,.resource-heading p,.resource-topic p,.lesson-copy p { color:var(--muted); }
input,select,textarea { color-scheme:dark; }
.schedule-shortcuts { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.schedule-shortcuts a { display:flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:1px solid var(--line); border-radius:8px; background:#19191c; color:#8bc4ff; }
.schedule-shortcuts svg,.schedule-shortcuts img { display:block; width:20px; height:20px; flex:none; }
.schedule-shortcuts a:hover { background:#292a2f; color:#b8daff; }
.schedule-date { color:var(--muted); font-size:12px; white-space:nowrap; }
@media(max-width:650px) { .schedule-date { font-size:11px; } .schedule-shortcuts a { width:34px; height:34px; } }
.course-group,.course-introduction,.lesson,.introduction-heading,.subject-label,.tool-link,
.resource-topic,.resource-row { --subject-ink:#8bc4ff !important; --subject-bg:#202126 !important; --subject-fill:#292a2f !important; }
.resource-topics a:hover,.resource-topics a[aria-current] { background:#202936; color:#b8daff; }
.lesson-tip-label { color:#b8daff; }
.tool-logo-v0,.tool-logo-github,
.resource-icon .tool-logo-v0,.resource-icon .tool-logo-github { filter:brightness(0) invert(1); }
.tool-logo-mcp,.resource-icon .tool-logo-mcp { filter:brightness(0) invert(1); }
img.tool-logo-vercel,.inline-tool-logo[src="assets/vercel.svg"] { filter:brightness(0) invert(1); }
.tool-logo-cap { border-radius:5px; }
.resource-icon .tool-logo-vercel { color:#fff; }
.lesson-warning,.lesson-tip,.learning-table thead,.lesson-resources summary,
.lesson-resource-links a,.esp32-resources .kit-resources a { background:#202126; color:var(--ink); }
.learning-diagram,.illustrated-diagram,.learning-diagram-illustration,
.learning-flow,.deployment-celebration,.esp32-resources,
.learning-project-card,.learning-project-card:nth-child(2),.learning-project-card:nth-child(3) {
  background:#202126; color:var(--ink); border-color:var(--line);
}
.learning-resource-grid>a:hover,.esp32-resources .kit-resources a:hover { background:#292a2f; }
.learning-diagram-illustration .diagram-direction,
.learning-diagram-illustration .diagram-labels li::before,
.learning-flow svg,.learning-resource-grid svg,.learning-card-icon svg,
.agent-comparison-accent { color:#8bc4ff; stroke:#8bc4ff; }
.idea-drawing,.kit-connection svg { color:#8bc4ff; }
.learning-project-card summary>small { color:var(--muted); }
.kit-board-photo,.kit-resources a { background:#202126; color:var(--ink); }
.kit-resources a:hover,.lesson-resources summary:hover,
.lesson-resource-links a:hover,.definition-heading button { background:#292a2f; color:var(--ink); }
.idea-note { background:#fff5be; color:#302b24; }
.lesson-hero-image > img[src="assets/prompt-specificity.png"] { aspect-ratio:2; object-fit:contain; }
.tutorial-start { background:#f3f3f5; color:#19191c; border-color:#f3f3f5; }
.code-block {
  --cb-accent:#8bc4ff; --cb-bg:#202126; --cb-border:#35363b;
  --cb-header:#292a2f; --cb-plain:#f3f3f5; --cb-muted:#aaaeb7;
  --cb-gutter:#aaaeb7; --cb-hover:#35363b;
}
@media(max-width:720px) {
  .resource-topics a { background:#202126; color:var(--ink); }
  .resource-topics a:hover,.resource-topics a[aria-current] { background:#202936; color:#b8daff; }
}
