.playground-page{background:radial-gradient(ellipse at 70% -10%,#233d6845,transparent 760px),var(--bg)}
.playground-hero{padding:30px 0 20px;max-width:930px}
.playground-hero h1{font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.04em}
.playground-hero .breadcrumb{margin-bottom:12px}.playground-hero .legal-kicker{margin-bottom:7px}.playground-hero .legal-lead{margin-top:9px;font-size:16px;line-height:1.45}
.playground-prerequisites{display:grid;gap:8px;margin-top:16px;padding:14px 17px;border:1px solid var(--line);border-radius:12px;background:#0f1621;color:#bcc8d8;font-size:13px;line-height:1.55}
.playground-prerequisites p{margin:0}.playground-data-notice{color:#e9d8ae}.playground-data-notice a{color:var(--blue);margin-left:5px;text-decoration:underline;text-underline-offset:3px}
.playground-presentation-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:12px 14px;border:1px solid #3a4b62;border-radius:11px;background:#101925}
.playground-presentation-meta,.playground-presentation-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.playground-presentation-label{padding:4px 8px;border:1px solid #4b77ad;border-radius:999px;background:#182a41;color:#bad8ff;font:700 10px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase}
.playground-presentation-meta a{color:#9dc7ff;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.playground-presentation-controls button{border:1px solid #38485e;border-radius:8px;background:#172233;color:#dce8f8;padding:8px 12px;font-size:12px;font-weight:700}
.playground-presentation-controls button[aria-pressed=true]{border-color:#4d7fc0;background:#25436e;color:#fff}
.playground-presentation-controls button:focus-visible,.playground-presentation-meta a:focus-visible{outline:2px solid #8ebdff;outline-offset:2px}
.playground-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-top:10px;overflow-x:auto}
.playground-tabs button{flex:0 0 auto;border:1px solid transparent;border-bottom:0;border-radius:9px 9px 0 0;background:transparent;color:var(--muted);padding:12px 18px;font-weight:750;font-size:14px;white-space:nowrap}
.playground-tabs button[aria-selected=true]{border-color:var(--line);background:#121a26;color:#e7effb;box-shadow:inset 0 2px var(--blue)}
.playground-tabs button:focus-visible,.lesson-index button:focus-visible,.lesson-actions button:focus-visible,.demo-actions button:focus-visible,.playground-demo input:focus-visible,.lesson-select-label select:focus-visible,.workspace-jump:focus-visible{outline:2px solid #8ebdff;outline-offset:2px}
.playground-grid{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(380px,1.08fr);gap:24px;align-items:start;padding:20px 0 72px}
.playground-learning,.playground-workspaces,.playground-panel{min-width:0}.playground-panel{padding:0}
.lesson-pane,.playground-demo{min-width:0;border:1px solid var(--line);border-radius:14px;background:#0e151f}
.lesson-pane{padding:20px}.lesson-pane>h2{font-size:clamp(22px,2vw,27px);line-height:1.25}
.lesson-intro,.lesson-hint{font-size:14px;line-height:1.5}.lesson-intro{color:#c9d4e2;margin-top:6px}.lesson-hint{margin-top:8px;padding:8px 11px;border-left:3px solid #4b83c8;background:#111e2c;color:#b9cbe0}
.lesson-hint a,.lesson-completion a,.lesson-block a{color:#8ebdff;text-decoration:underline;text-underline-offset:3px}
.lesson-index{display:grid;gap:7px;margin:20px 0 24px}
.lesson-index button{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:38px;padding:5px 9px;border:1px solid #344154;border-radius:8px;background:#151f2c;color:#aeb9c9;text-align:left;font-size:12px;font-weight:700;line-height:1.3}
.lesson-index button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0b121b;color:#8fa3bd;font:650 10px var(--mono)}
.lesson-index button[aria-current=step]{background:#25436e;border-color:#4d7fc0;color:#eef6ff}.lesson-index button[aria-current=step] span{background:#e6f1ff;color:#183557}
.lesson-select-label,.lesson-mobile-counter{display:none}
.lesson{min-height:400px}.lesson-step-label{color:#8091a7;font:650 11px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase}.lesson h3{font-size:21px;line-height:1.3;margin:5px 0 18px}
.lesson-block{border-top:1px solid #252e3a;padding-top:14px;margin-top:15px}.lesson-block-label{margin:0 0 6px;color:var(--purple);font:650 10px/1.5 var(--mono);letter-spacing:.07em}.lesson-block>p:not(.lesson-block-label){margin:0;color:#c5cfdb;font-size:14px;line-height:1.68}.lesson-block>p:not(.lesson-block-label)+p{margin-top:8px}.lesson-block--before{border-color:#354154}
.playground-extension-label{display:flex;align-items:center;gap:8px}.playground-extension-label img{flex:0 0 auto}
.lesson-callout{margin-top:15px;padding:12px 13px;border:1px solid #2f526e;border-radius:9px;background:#102130;color:#c2d2e0;font-size:13px;line-height:1.62}.lesson-callout p{margin:0}.lesson-callout--warning{border-color:#765742;background:#2a2018;color:#f0d5b4}.lesson-callout--definition{border-color:#504c76;background:#1b1a2c}.lesson-callout--intro{border-color:#35445a;background:#111923}
.lesson-check{margin-top:18px;padding:14px;border:1px solid #34694e;border-radius:10px;background:#10241a}.lesson-check h4{margin:0 0 6px;color:#8de0b7;font:750 11px/1.5 var(--mono);letter-spacing:.08em}.lesson-check p{margin:0;color:#d1e2d8;font-size:14px;line-height:1.68}.lesson-check p+p{margin-top:8px}
.lesson>p:not(.lesson-step-label){margin:14px 0 0;color:#b9c6d6;font-size:13px;line-height:1.65}
.playground-action-token{display:inline-flex;align-items:center;max-width:100%;padding:1px 6px;border:1px solid #2c8a58;border-radius:5px;background:#143a2a;color:#8de0b7;font-size:.86em;font-weight:750;line-height:1.35;vertical-align:baseline;box-shadow:inset 0 1px #ffffff12;cursor:default}
.playground-action-token--primary{border-color:#397cd2;background:#216cd0;color:#fff}
.playground-action-token--secondary{border-color:#38485e;background:#172233;color:#dce8f8}
.playground-code-token{display:inline;padding:2px 6px;border:1px solid #35445a;border-radius:5px;background:#0a1018;color:#c8daf2;font:600 .94em/1.45 var(--mono);overflow-wrap:anywhere}
.playground-guide-images{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}.playground-guide-figure{margin:0;min-width:0}.playground-guide-image{display:block;width:auto;height:auto;max-width:min(100%,320px);border:1px solid #324055;border-radius:9px;background:#090f17;object-fit:contain}.playground-guide-figure figcaption{max-width:320px;margin-top:6px;color:#8695a8;font-size:11px;line-height:1.45}.playground-image-link{display:inline-block;margin-left:4px;color:#8ebdff;text-decoration:underline;text-underline-offset:3px}.playground-image-link:focus-visible{outline:2px solid #8ebdff;outline-offset:2px}
.lesson-completion{margin-top:20px;padding:16px;border:1px solid #3a5980;border-radius:10px;background:#122035}.lesson-completion h4{font-size:17px}.lesson-completion p{margin:7px 0 0;color:#c3d0e0;font-size:13px;line-height:1.62}.lesson-completion nav{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px}.lesson-completion a{color:#9dc7ff;font-size:12px;font-weight:700}
.lesson-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.lesson-actions button,.demo-actions button{border:1px solid #38485e;border-radius:8px;background:#172233;color:#dce8f8;padding:9px 13px;font-size:13px;font-weight:650}.lesson-actions button:disabled,.demo-actions button:disabled{opacity:.42;cursor:not-allowed}
.workspace-jump,.workspace-inline-jump,.instructions-jump{display:none}.playground-workspaces{position:sticky;top:100px;scroll-margin-top:100px}.playground-demo{overflow:hidden;scroll-margin-top:100px}.playground-learning,.lesson{scroll-margin-top:100px}
.demo-heading{padding:16px 20px;border-bottom:1px solid var(--line);background:#101925}.demo-heading h2{font-size:20px}.demo-heading p{color:var(--muted);font-size:11px;margin-top:4px}.demo-heading>p:first-child{color:#7f91a8;font:650 9px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px}
.demo-body{padding:20px}.demo-fields{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:12px}.demo-fields label{display:grid;gap:7px;color:#aeb9c9;font-size:12px}.demo-fields input{width:100%;min-width:0;border:1px solid #35445a;border-radius:8px;background:#0a1018;color:#e5edf8;padding:11px 12px;font:14px/1.4 var(--mono)}
.demo-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.demo-actions .primary-action{border-color:#397cd2;background:#216cd0;color:white}.demo-actions .danger-action{border-color:#63434c;color:#ffc4cc;background:#24171c}
.demo-result{margin-top:19px;border:1px solid #2b3646;border-radius:10px;background:#090f17;min-height:210px;padding:16px;overflow:hidden}.demo-status{font-weight:750;color:#c7d3e1;overflow-wrap:anywhere}.demo-status[data-state=success],.demo-status[data-state=connected]{color:#8de0b7}.demo-status[data-state=pending],.demo-status[data-state=connecting]{color:#f1cf80}.demo-status[data-state=http-error],.demo-status[data-state=invalid],.demo-status[data-state=network],.demo-status[data-state=timeout],.demo-status[data-state=error]{color:#ff9eae}.demo-status[data-outcome=pending]{color:#f1cf80}.demo-status[data-outcome=error]{color:#ff9eae}.demo-status[data-outcome=success]{color:#8de0b7}.demo-meta{min-height:20px;color:#8390a2;font:11px/1.6 var(--mono);margin-top:5px;overflow-wrap:anywhere}.demo-output{max-height:270px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid #252f3e;margin-top:10px;padding-top:12px;color:#c8daf2;font:12px/1.65 var(--mono)}
.application-state{display:grid;gap:4px;margin-top:10px;padding:10px 12px;border:1px solid #274937;border-radius:8px;background:#0d1c16}.application-state-label{color:#8fa3bd;font:650 9px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.application-state-value{display:flex;align-items:center;gap:8px;color:#8de0b7;font-size:14px;line-height:1.35}.application-state-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#45c982;box-shadow:0 0 0 3px #45c9821f}.application-state-description{color:#aab9b0;font-size:11px;line-height:1.45}.application-state[data-available=false]{border-color:#5d3039;background:#211318}.application-state[data-available=false] .application-state-value{color:#ff9eae}.application-state[data-available=false] .application-state-dot{background:#ef6478;box-shadow:0 0 0 3px #ef64781f}.application-state[data-available=false] .application-state-description{color:#c5a8ae}
.empty-result{color:#8de0b7;margin-top:18px}.ws-log-title{font:650 10px/1.5 var(--mono);letter-spacing:.08em;color:var(--muted-2);margin-top:18px}.ws-log{display:grid;gap:7px;list-style:none;padding:0;margin:9px 0 0;max-height:230px;overflow:auto}.ws-log li{border-top:1px solid #202a38;padding-top:7px;font-size:11px;line-height:1.55;color:#aeb9c9;overflow-wrap:anywhere}.ws-log strong{color:#779ed0}.ws-log code{white-space:pre-wrap}
.playground-noscript{margin:0 0 60px;border-left:3px solid #e3b45e;padding:15px 18px;background:#251f15;color:#f0dcae}.js-enabled [hidden]{display:none!important}
.playground-demo-mode .preview-notice,.playground-demo-mode>.site-header,.playground-demo-mode>.site-footer,.playground-demo-mode .playground-hero>.breadcrumb,.playground-demo-mode .playground-hero>.legal-lead,.playground-demo-mode .playground-prerequisites,.playground-demo-mode .playground-tabs,.playground-demo-mode .playground-learning{display:none}
.playground-demo-mode main.container{max-width:900px}
.playground-demo-mode .playground-hero{max-width:820px;padding:24px 0 14px}
.playground-demo-mode .playground-hero h1{font-size:clamp(30px,4vw,43px)}
.playground-demo-mode .playground-grid{display:block;max-width:820px;padding:10px 0 34px}
.playground-demo-mode .playground-workspaces{position:static;top:auto}
.playground-demo-mode .playground-demo{border-color:#3a4b62;background:#0d151f;box-shadow:0 20px 55px #00000030}
.playground-demo-mode .demo-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 18px;padding:17px 20px}
.playground-demo-mode .demo-heading>p:first-child{grid-column:1/-1}
.playground-demo-mode .demo-heading>p:not(:first-child){grid-column:2;grid-row:2;text-align:right}
.playground-demo-mode .demo-heading h2{grid-column:1;grid-row:2;font-size:23px}
.playground-demo-mode .instructions-jump{display:none}
.playground-demo-mode .demo-body{padding:22px}
.playground-demo-mode .demo-fields input{min-height:46px;font-size:15px}
.playground-demo-mode .demo-actions button{min-height:42px}
.playground-demo-mode .demo-result{min-height:230px}
@media(max-width:1100px){.lesson-index{display:none}.lesson-select-label{display:grid;gap:7px;margin:14px 0 5px;color:#aeb9c9;font-size:11px}.lesson-select-label select{width:100%;min-width:0;border:1px solid #40516a;border-radius:8px;background:#111b28;color:#e1eaf7;padding:9px 10px;font:650 13px/1.3 inherit}.lesson-mobile-counter{display:block;margin:0 0 15px;color:#8fa3bd;font:650 11px/1.5 var(--mono)}.lesson-step-label{display:none}}
@media(min-width:901px) and (max-width:1100px){.playground-hero{padding:16px 0 10px}.playground-hero h1{font-size:40px}.playground-prerequisites{grid-template-columns:1fr 1fr;margin-top:10px;padding:10px 13px}.playground-grid{padding-top:12px}.lesson-pane{padding:16px}.lesson-select-label{margin-top:9px}.lesson-mobile-counter{margin-bottom:10px}}
@media(max-width:900px){.playground-grid{grid-template-columns:minmax(0,1fr);padding-top:16px}.lesson{min-height:0}.playground-workspaces{position:static}.workspace-jump,.workspace-inline-jump{display:inline-block;margin-top:10px;color:#8ebdff;font-size:12px;font-weight:700}.instructions-jump{display:inline-block;margin-top:8px;color:#8ebdff;font-size:11px;font-weight:700}.playground-demo{scroll-margin-top:100px}}
@media(max-width:520px){.playground-hero{padding-top:30px}.playground-hero h1{font-size:34px}.playground-prerequisites{padding:15px}.playground-tabs button{padding:11px 13px}.playground-grid{padding-bottom:50px}.lesson-pane,.demo-body{padding:16px}.demo-fields{grid-template-columns:1fr}.lesson-actions{flex-wrap:wrap}.lesson-actions button{flex:1}.demo-actions button{flex:1 1 150px}.demo-result{min-height:190px;padding:13px}.playground-guide-image{max-width:min(100%,280px)}.playground-guide-figure figcaption{max-width:280px}}
@media(max-width:600px){.playground-demo-mode .playground-hero{padding-top:18px}.playground-presentation-bar{align-items:stretch;flex-direction:column}.playground-presentation-meta{justify-content:space-between}.playground-presentation-controls{display:grid;grid-template-columns:1fr 1fr}.playground-presentation-controls [data-demo-reset]{grid-column:1/-1}.playground-demo-mode .demo-heading{display:block}.playground-demo-mode .demo-heading>p:not(:first-child){text-align:left}.playground-demo-mode .demo-body{padding:16px}.playground-demo-mode .demo-result{min-height:190px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
@media print{.playground-tabs,.playground-workspaces,.lesson-actions,.workspace-jump,.workspace-inline-jump,.instructions-jump,.lesson-select-label,.lesson-mobile-counter{display:none!important}.playground-grid{display:block}.lesson-pane{border:0;padding:0}.lesson[hidden],.playground-panel[hidden],.lesson-step-label{display:block!important}.lesson{margin-bottom:28px}.playground-prerequisites{background:white;color:#111}}
