/* ── :root accent override for this workshop ── */
/* ── Dark-theme body override (style-shared.css has no bg/color) ── */
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
/* ── Dark-theme header/nav overrides ── */
.site-header{background:rgba(10,10,18,.97);border-bottom:1px solid rgba(240,234,214,.07);box-shadow:0 2px 20px rgba(0,0,0,.4)}.header-inner{max-width:1200px}.nav-link{font-size:.82rem;color:rgba(240,234,214,.6);padding:6px 10px}.nav-link.active{background:rgba(192,38,211,.2);color:#e879f9}.main-nav{background:#0d0d18;border-top:3px solid var(--accent)}.main-nav a{color:rgba(240,234,214,.75)}
/* ── Hero background gradient (not in style-workshop.css) ── */
.hero{background:linear-gradient(180deg,#0a0a1a 0%,#0a0b10 100%)}
/* ── Hardcoded purple accent overrides ── */
.hero-badge{background:rgba(192,38,211,.12);border-color:rgba(192,38,211,.3)}.pill.p-tool{border-color:rgba(192,38,211,.3);background:rgba(192,38,211,.08)}.btn-start{background:linear-gradient(135deg,#9c1aad,#7a148a);box-shadow:0 4px 0 #5a0e66}.btn-outline{background:transparent;color:var(--text);font-size:.9rem;font-weight:700;padding:12px 22px;border-radius:12px;border:1px solid var(--border);cursor:pointer;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center;gap:7px}.btn-outline:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.05)}
.progress-fill{background:linear-gradient(90deg,#5a0e66,#c026d3)}.step-dot.active{background:rgba(192,38,211,.1)}.step-card.active-step{border-color:rgba(192,38,211,.4);box-shadow:0 0 32px rgba(192,38,211,.06)}.sn-purple{background:rgba(192,38,211,.15);color:var(--accent);border:2px solid rgba(192,38,211,.3)}.sn-indigo{background:rgba(99,102,241,.18);color:#a78bfa;border:2px solid rgba(99,102,241,.3)}.ss-active{background:rgba(192,38,211,.15)}.big-goal{background:rgba(192,38,211,.07);border:1px solid rgba(192,38,211,.2)}
/* ── Event grid (not in style-workshop.css) ── */
.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:14px 0}.event-card{background:var(--asphalt);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}.event-card .ev-icon{font-size:1.6rem;line-height:1}.event-card .ev-title{font-family:'Fredoka',cursive;font-size:.95rem;color:#fff}.event-card .ev-desc{font-size:.78rem;color:var(--muted);line-height:1.5}
/* ── Code display (not in style-workshop.css) ── */
.code-wrap{background:#0c0e16;border:1px solid rgba(255,255,255,.1);border-radius:12px;margin:12px 0;overflow:hidden}.code-label{background:var(--asphalt);padding:6px 14px;font-size:.7rem;font-weight:800;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px}.code-label .dot{width:8px;height:8px;border-radius:50%}.dot-r{background:#f87171}.dot-y{background:#ffd166}.dot-g{background:#06d6a0}.code-body{padding:14px 16px;font-family:'JetBrains Mono','Courier New',monospace;font-size:.82rem;line-height:1.7;overflow-x:auto;white-space:pre;color:#c9d1e0}.kw{color:#a78bfa}.fn{color:#60a5fa}.str{color:#ffd166}.num{color:#f87171}.cmt{color:#4a5568;font-style:italic}.var{color:#06d6a0}.prop{color:#f08050}.cls{color:#4dd9e0}
/* ── Check tasks (not in style-workshop.css) ── */
.check-task{display:flex;align-items:center;gap:10px;font-size:.87rem;color:var(--muted);padding:8px 0;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);transition:color .15s;user-select:none}.check-task:last-child{border-bottom:none}.check-task:hover{color:var(--text)}.check-box{width:20px;height:20px;border-radius:6px;border:2px solid var(--border);background:var(--asphalt);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .18s;font-size:.75rem}.check-task.checked .check-box{background:var(--green);border-color:var(--green);color:#000}.check-task.checked{color:#fff}
/* ── Step complete button (not in style-workshop.css) ── */
.step-complete-btn{width:100%;margin-top:20px;background:linear-gradient(135deg,var(--green),#04a07a);color:#000;font-family:'Fredoka',cursive;font-size:1rem;padding:13px;border-radius:12px;border:none;cursor:pointer;transition:filter .15s,transform .12s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 3px 0 #027a5a}.step-complete-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.step-complete-btn:disabled{opacity:.45;pointer-events:none}
/* ── Finish banner (custom sizing + purple accents) ── */
.finish-banner{display:none;background:linear-gradient(135deg,rgba(192,38,211,.12),rgba(90,14,102,.08));border:1px solid rgba(192,38,211,.3);border-radius:20px;padding:40px 32px;text-align:center;margin:20px 0}.finish-banner.show{display:block}.finish-title{font-family:'Fredoka',cursive;font-size:2.4rem;color:var(--accent);margin-bottom:8px}.finish-sub{font-size:1rem;color:var(--muted);line-height:1.7;max-width:600px;margin:0 auto 24px}.confetti-row{font-size:2rem;letter-spacing:.2em;margin-bottom:16px}.finish-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:24px}.fbadge{background:var(--asphalt);border:1px solid var(--border);border-radius:12px;padding:10px 16px;font-size:.85rem;font-weight:700;color:var(--text)}.hub-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#9c1aad,#7a148a);color:#fff;font-family:'Fredoka',cursive;font-size:1.1rem;padding:14px 32px;border-radius:14px;box-shadow:0 4px 0 #5a0e66;text-decoration:none;transition:filter .15s,transform .12s}.hub-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}
/* ── Dark-theme footer (not in style-workshop.css) ── */
/* ── Responsive overrides ── */
@media(max-width:700px){h1{font-size:1.8rem}.step-header{padding:14px 16px 12px}.step-body{padding:0 16px 18px}.event-grid{grid-template-columns:1fr 1fr}}