.spark{--spark-blue:#195cca;--spark-ink:#183941;max-width:1240px;margin:auto;padding:36px 24px 80px;color:var(--spark-ink)}.spark h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1.08;letter-spacing:-.04em;margin:16px 0}.spark h2{font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.2;margin:10px 0 20px}.spark h3{font-size:1.2rem}.spark li,.spark p{line-height:1.7}.spark-intro{max-width:780px;font-size:1.15rem}.spark-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0}.spark-card{display:flex;flex-direction:column;padding:28px;border:1px solid #bccdd5;background:#fff;border-top:6px solid var(--spark-blue);border-radius:6px}.spark-card:nth-child(2n){border-top-color:#087a60}.spark-card h2{font-size:1.6rem}.spark-card .button{margin-top:auto;align-self:start}.spark-card p{margin-bottom:24px}.spark-chip{display:inline-block;font-size:.875rem;font-weight:700;background:#e8efff;color:#173d83;padding:5px 10px;border-radius:4px}.spark-source,.spark-teacher,.spark-workbench{margin:32px 0;padding:28px;border:1px solid #bccdd5;border-radius:8px;background:#fff}.spark-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.spark-controls,.spark-presets{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.spark label{display:flex;flex-direction:column;gap:8px;font-weight:600}.spark input,.spark select,.spark textarea{font:inherit;background:white;border:1px solid #78939e;border-radius:5px;padding:11px;max-width:100%;min-width:0;color:#183941}.spark textarea{width:100%;font-weight:400;line-height:1.6}.spark button{cursor:pointer;font:inherit;font-weight:600;border:1px solid #78939e;border-radius:5px;background:#f2f6f8;color:#183941;padding:10px 16px}.spark button.button{background:#195cca;color:white;border-color:#195cca}.spark button:disabled{opacity:.6;cursor:wait}.spark button[aria-pressed=true]{background:#183941;color:white}.spark a:focus-visible,.spark button:focus-visible{outline:3px solid #e58300;outline-offset:3px}.spark-trace{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0}.spark-trace>div{padding:22px;background:#e8efff;min-height:112px;border-radius:6px}.spark-trace small,.spark-trace strong{display:block}.spark-trace strong{font-size:1.5rem;margin-top:10px}.spark-hidden-step strong{visibility:hidden}.spark-circles{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin:25px 0}.spark-circles svg{width:100%;max-width:230px;margin:auto}.spark-two{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:20px 0}.spark-two>svg{width:100%}.spark-challenge,.spark-evidence,.spark-feedback{background:#edf6f3;padding:24px;border-left:4px solid #087a60}.spark-challenge input{max-width:220px;margin-bottom:12px}.spark blockquote{border-left:4px solid #195cca;padding:15px 24px;margin:20px 0;background:#f0f4fc;font-size:1.2rem}.spark-source iframe{width:100%;height:760px;border:1px solid #b7c6d0;background:#f7f9fb;border-radius:5px}.spark-source details{margin:16px 0}.spark summary{cursor:pointer;font-weight:700;padding:12px 0}.spark table,.spark-source .spark-frame-note{font-size:.9rem}.spark table{width:100%;border-collapse:collapse}.spark td,.spark th{text-align:left;padding:10px;border-bottom:1px solid #bccdd5;overflow-wrap:anywhere}.spark .notebook-embed{width:100%;height:1100px}.spark-breadcrumb{display:flex;gap:15px;flex-wrap:wrap}.spark hr{margin:28px 0}.spark-teacher ol{padding-left:24px}.spark-teacher li{margin:12px 0}.spark pre{overflow:auto;background:#183941;color:white;padding:20px;border-radius:5px}.spark details{overflow-wrap:anywhere}@media (max-width:850px){.spark-grid{grid-template-columns:1fr 1fr}.spark-panel-heading{display:block}.spark-two{grid-template-columns:1fr}.spark-source iframe{height:850px}}@media (max-width:560px){.spark{padding:24px 14px}.spark-grid,.spark-trace{grid-template-columns:1fr}.spark-source,.spark-teacher,.spark-workbench{padding:18px}.spark-circles{grid-template-columns:1fr}.spark-circles svg{max-width:200px}.spark-source iframe{height:900px}.spark-controls label{width:100%}}@media (prefers-reduced-motion:reduce){.spark *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}