:root{color-scheme:dark;--bg:#06111d;--bg-deep:#040e17;--surface:#0b1d2b;--surface-2:#102536;--surface-3:#132d41;--line:#25465a;--muted:#a3bdcb;--text:#ecf8ff;--cyan:#39d7ef;--cyan2:#15b9dd;--electric:#368cff;--lime:#8ae6c1;--amber:#f9d88c;--danger:#ff9999;--radius:14px;--shadow:0 24px 65px #0008;--content:1140px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:#24a9c4 #081827;scrollbar-width:thin}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}body::before{content:"";pointer-events:none;position:absolute;left:0;right:0;top:0;height:680px;z-index:-1;background:radial-gradient(ellipse 600px 460px at 75% 12%,#134c7866,transparent 70%),radial-gradient(ellipse 400px 350px at 10% 5%,#0b6f8252,transparent 70%)}::selection{background:#0c849c;color:white}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:#081827}::-webkit-scrollbar-thumb{background:#247f99;border:2px solid #081827;border-radius:12px}a{color:var(--cyan);text-underline-offset:4px}a:hover{color:#9ceeff}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.17;letter-spacing:-.035em}h1{font-weight:790}p{color:#c2d6e2}img{max-width:100%}code,pre,kbd,.code-editor,.code-output{font-family:ui-monospace,'Cascadia Code',Consolas,'Liberation Mono',monospace}code{color:#a0e8f4}.container{max-width:var(--content);width:calc(100% - 48px);margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:6px;background:#fff;color:#000;padding:10px;z-index:900}.skip-link:focus{left:10px}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.topbar{position:sticky;top:0;z-index:30;background:#06131ff5;backdrop-filter:blur(14px);border-bottom:1px solid #17384c}.topbar-inner{max-width:1200px;width:calc(100% - 48px);margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:77px;gap:18px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:white;white-space:nowrap}.brand img{width:40px;height:40px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.15}.brand strong{font-size:15px;letter-spacing:.16em;font-weight:840}.brand strong em{font-style:normal;color:var(--cyan)}.brand small{color:#90aaba;font-weight:700;letter-spacing:.19em;font-size:8px;margin-top:5px}.primary-nav{display:flex;gap:5px;align-items:center}.primary-nav a{color:#a8c7d8;font-size:13px;text-decoration:none;font-weight:700;padding:11px 14px;border-radius:8px}.primary-nav a:hover,.primary-nav a[aria-current]{color:#efffff;background:#173246}.menu-toggle{display:none;background:#123044;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 13px;font-weight:750}
.kicker,.eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;color:var(--cyan);text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:9px}.pulse{display:inline-block;width:8px;height:8px;background:#5af4cb;border-radius:50%;box-shadow:0 0 0 4px #48d8ac29}.btn{border-radius:10px;padding:11px 19px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:750;font-size:14px;line-height:1.3;border:1px solid transparent;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(115deg,#21c9e3,#3098ff);color:#031823;box-shadow:0 7px 24px #00a4ef20}.btn-primary:hover{color:#031823;background:linear-gradient(115deg,#87eaf5,#6dbaff)}.btn-secondary,.btn-outline{background:#102c40;color:#e4f9ff;border-color:#2b6178}.btn-secondary:hover,.btn-outline:hover{background:#17465f;color:#fff}.btn-outline{padding:10px 13px}.gradient-text{color:#4fddf5;background:linear-gradient(90deg,#53dfef 15%,#80b1ff 88%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:55px;align-items:center;padding-block:99px 104px}.hero h1{font-size:clamp(44px,5.4vw,75px);margin:18px 0 22px;line-height:1.085}.hero-lead{font-size:18px;line-height:1.75;max-width:590px}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:29px}.hero-meta{border-top:1px solid #28516a;display:flex;flex-wrap:wrap;gap:12px 23px;margin-top:48px;padding-top:22px;color:#829dad;font-size:10px;font-weight:800;letter-spacing:.13em}.hero-console{border:1px solid #356781;border-radius:16px;overflow:hidden;box-shadow:0 15px 75px #0bbbd01e,0 26px 66px #0009;background:#061421;transform:none}.console-top{display:flex;align-items:center;gap:14px;background:#112b3e;padding:13px 17px;font-size:10px;color:#b7d3e0;font-weight:650}.console-dots{display:flex;gap:5px}.console-dots i{width:7px;height:7px;background:#ff8992;border-radius:50%}.console-dots i:nth-child(2){background:#f3c378}.console-dots i:nth-child(3){background:#79e8bf}.console-lang{margin-left:auto;color:var(--cyan);font-weight:900}.hero-console pre{margin:0;padding:36px 25px;font-size:14px;line-height:2.1;white-space:pre-wrap;color:#dceef5}.code-comment{color:#7a9cad}.code-blue{color:#92b7ff}.code-green{color:#b9e2a3}.code-cyan{color:#49ddfa}.console-output{padding:21px 24px;background:#0e2737;border-top:1px solid #2d5267;display:flex;flex-direction:column;gap:8px}.console-output small{color:#7d9db1;letter-spacing:.14em;font-weight:800}.console-output strong{color:#75e7c1;font:16px ui-monospace,Consolas,monospace}.console-bottom{text-align:right;padding:9px 15px;font-size:10px;color:#748e9f}
.section{padding-block:80px}.section-rule{background:#081a28;border-block:1px solid #19394b}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:31px}.section-heading h2{font-size:clamp(29px,3vw,40px);margin:8px 0 0}.section-heading>p{max-width:360px;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.feature-card{position:relative;background:#0d2435;border:1px solid #244758;border-radius:15px;padding:30px 24px}.feature-index{position:absolute;top:16px;right:18px;color:#57758a;font-size:11px;font-weight:850}.feature-icon{font:800 32px ui-monospace,monospace;color:#68d8ee;margin-bottom:22px}.feature-card h3{font-size:21px;margin-bottom:9px}.feature-card p{margin:0;font-size:14px}.lesson-list{border:1px solid #2a5064;border-radius:14px;overflow:hidden;background:#0b2233}.lesson-row{display:flex;align-items:center;text-decoration:none;padding:19px 25px;gap:22px;border-bottom:1px solid #26475b;color:var(--text)}.lesson-row:last-child{border-bottom:0}.lesson-row:hover{background:#14364a;color:var(--text)}.lesson-number{color:var(--cyan);font:800 19px ui-monospace,Consolas,monospace}.lesson-row-copy{flex:1;display:flex;flex-direction:column;gap:2px}.lesson-row-copy strong{font-size:17px}.lesson-row-copy small{font-size:13px;color:#a4bdca}.lesson-row-arrow{font-size:22px;color:#61bdd4}.next-note{margin-top:17px;padding:15px 20px;background:#113044;border-left:3px solid var(--cyan);font-size:14px;color:#b6d4e2}.next-note b{color:white}.section-cta{background:radial-gradient(ellipse at 95% 50%,#165d7780,transparent 52%),#081d2b;border-top:1px solid #2b5267}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-inner h2{font-size:clamp(29px,3.4vw,46px);margin:11px 0 16px}.cta-inner p{max-width:570px;margin:0}
.page-intro{padding-block:68px 72px}.page-intro h1{font-size:clamp(42px,5vw,65px);margin:15px 0 18px}.page-intro>p{font-size:19px;max-width:750px}.page-intro.compact{padding-bottom:32px}.breadcrumbs{display:flex;align-items:center;gap:10px;color:#8aa9bb;font-size:12px;font-weight:700;margin-bottom:24px}.breadcrumbs a{color:#a7d5e8;text-decoration:none}.intro-details{display:flex;gap:11px;flex-wrap:wrap;margin-top:29px}.intro-details span{padding:6px 11px;background:#123147;border:1px solid #2d5266;border-radius:7px;color:#b6d8e8;font-size:12px;font-weight:700}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.course-lesson-card{border:1px solid #2a4a5d;background:#0c2435;border-radius:13px;padding:23px;display:flex;flex-direction:column;min-height:246px;text-decoration:none;color:white}.course-lesson-card:hover{background:#123549;border-color:#2d9fb7;color:white}.course-card-top,.course-card-bottom{display:flex;justify-content:space-between;gap:7px;align-items:center;font-size:12px;color:#89aab9}.course-num{color:var(--cyan);font-weight:850;letter-spacing:.1em}.course-lesson-card h3{font-size:22px;margin:22px 0 10px}.course-lesson-card p{font-size:13px;line-height:1.65;flex:1}.course-card-bottom{border-top:1px solid #31556a;padding-top:13px}.course-card-bottom strong{font-size:24px;color:var(--cyan)}.course-search-label{color:#a9c5d5;font-size:12px;font-weight:800;display:flex;flex-direction:column;gap:7px;min-width:245px}.course-search-label input{padding:10px 12px;border-radius:8px;background:#0a2233;border:1px solid #346078;color:white;font-size:14px}.info-panel{border:1px solid #2e6b7b;background:#0c2d40;padding:23px 27px;border-radius:12px;margin-top:30px}.info-panel p{margin:8px 0 0;font-size:14px}
.course-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:48px;align-items:start;padding-top:36px;padding-bottom:90px}.course-sidebar{position:sticky;top:114px;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);border:1px solid #254757;border-radius:12px;background:#0b2030;overflow:hidden;display:flex;flex-direction:column;min-height:0}.sidebar-head{padding:23px 18px 16px}.sidebar-head>a{font-size:12px;display:block;margin-top:9px;text-decoration:none}.course-sidebar nav{display:flex;flex-direction:column;padding:0 8px 15px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#269bb5 #081827;scrollbar-width:thin}.course-sidebar nav::-webkit-scrollbar{width:8px}.course-sidebar nav::-webkit-scrollbar-track{background:#081827}.course-sidebar nav::-webkit-scrollbar-thumb{background:#269bb5;border-radius:9px;border:2px solid #081827}.course-sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:8px;text-decoration:none;color:#a5c0d0;scroll-margin-block:12px}.course-sidebar nav a:hover,.course-sidebar nav a.selected{background:#184159;color:white}.course-sidebar nav a span{font:800 12px ui-monospace,Consolas,monospace;color:var(--cyan)}.course-sidebar nav a b{font-size:13px;font-weight:650}.sidebar-foot{border-top:1px solid #25485c;padding:18px;font-size:11px;color:#86a9b9;line-height:1.55}.lesson-article{max-width:810px;min-width:0}.lesson-article>.breadcrumbs{margin-top:6px}.lesson-hero{padding-bottom:38px;border-bottom:1px solid #254b60;margin-bottom:38px}.lesson-kicker{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.reading-time{font-size:12px;color:#9ab5c3}.lesson-hero h1{font-size:clamp(39px,4.2vw,59px);margin:19px 0}.lesson-intro{font-size:19px;line-height:1.75}.lesson-objective{background:#113347;border-left:3px solid #30c9e3;padding:15px 18px;color:#c9e2ee;font-size:14px;border-radius:0 8px 8px 0}.lesson-objective b{color:white}.lesson-prereq{margin-top:15px;font-size:12px;color:#91adbd}.lesson-prereq span{color:#cde0eb}.learning-section{margin-bottom:37px}.learning-section h2{font-size:26px;margin-bottom:15px}.learning-section p{font-size:16px;line-height:1.84}.pitfall{background:#272719;border:1px solid #675835;border-left:3px solid #e8c277;border-radius:8px;padding:19px 23px;margin:45px 0}.pitfall-title{font-size:11px;font-weight:850;letter-spacing:.15em;color:#ffe2a5}.pitfall p{margin:8px 0 0;color:#efdfc0}.playground-section{margin:65px 0 47px;scroll-margin-top:90px}.section-label{color:var(--cyan);font-weight:850;font-size:12px;letter-spacing:.12em}.playground-section h2{font-size:31px;margin:10px 0}.playground-section>p{max-width:680px}.playground{margin-top:22px;border:1px solid #316179;background:#0a2030;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.playground-head{display:flex;align-items:center;justify-content:space-between;background:#123145;border-bottom:1px solid #31566d;padding:13px 17px;gap:12px;flex-wrap:wrap}.playground-headline{display:flex;align-items:center;gap:10px;font-size:13px}.playground-light{background:#75edc1;width:8px;height:8px;border-radius:100%}.runtime-label{font-size:11px;color:#a9c8d7}.playground-head #runtime-status{font-size:11px;color:#99b9c8}.example-tabs{padding:12px 15px 4px;display:flex;gap:8px;flex-wrap:wrap}.example-tab{border:1px solid #31596d;background:#112e42;color:#bfd6e4;border-radius:7px;padding:8px 11px;font-size:12px;font-weight:700}.example-tab:hover,.example-tab[aria-pressed=true]{border-color:#48cfe0;background:#175569;color:white}.example-description{padding:11px 16px 12px}.example-description b{color:white;font-size:14px}.example-description p{margin:3px 0 0;font-size:13px;color:#98b7c6}.editor-label{display:block;font-weight:800;font-size:11px;letter-spacing:.12em;color:#a2c6d7;padding:10px 16px 8px;background:#0c1b2b;border-top:1px solid #24485d}.code-editor{display:block;width:100%;max-width:100%;min-height:214px;padding:17px 19px;resize:vertical;border:0;outline:none;background:#061522;color:#e5f4fa;font-size:13px;line-height:1.9;tab-size:4;overflow:auto;border-bottom:1px solid #29465c}.code-editor:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.editor-help{padding:5px 16px;color:#8da9b9;font-size:11px;background:#0b1d2c}.playground-actions{display:flex;flex-wrap:wrap;gap:7px;padding:13px 15px;border-bottom:1px solid #2d5066}.playground-actions .btn{font-size:12px}.output-head{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 16px;background:#102d40;color:#acccdc;font-size:11px;letter-spacing:.08em}.text-button{border:0;background:transparent;color:#9fe0ea;font-weight:700;font-size:11px}.text-button:hover{text-decoration:underline}.code-output{margin:0;padding:18px 19px;min-height:85px;max-height:270px;overflow:auto;color:#97f0c9;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65}.code-output.error{color:#ffa9ac}.code-output.running{color:#b5d7e5}.exercise{border-top:1px solid #2c5265;background:#113147;padding:20px}.exercise p{margin:8px 0 14px;color:#cde3ee;font-size:14px}.exercise details{font-size:13px;color:#b0cfdd}.exercise summary{cursor:pointer;color:#95e7f5;font-weight:700}.exercise details p{margin:8px 0 0}.runtime-note{padding:13px 17px;margin:0!important;font-size:11px!important;color:#98b7c5!important;line-height:1.65!important}.checkpoint{border-top:1px solid #265269;padding-top:28px}.checkpoint ol{color:#b9d1de;padding-left:22px}.checkpoint li{margin-bottom:11px}.lesson-pager{border-top:1px solid #31546a;padding-top:25px;display:flex;justify-content:space-between;gap:25px;align-items:center}.lesson-pager>a:first-child{font-size:13px;white-space:nowrap}.next-lesson{display:flex;flex-direction:column;gap:5px;max-width:350px;text-decoration:none;background:#10344a;padding:18px;border:1px solid #376d85;border-radius:10px}.next-lesson>span{font-size:11px;color:#97c6d8}.next-lesson>strong{font-size:18px;color:#fff}
.policy-content{max-width:840px;padding-bottom:90px}.policy-section{padding:14px 0 18px;border-bottom:1px solid #214255}.policy-section h2{font-size:24px;margin-bottom:11px}.policy-section p{line-height:1.86}.policy-note{margin-top:30px;padding:17px;border-left:3px solid #b39c69;background:#272719;font-size:13px;color:#e6d9b5}.site-footer{margin-top:0;background:#030c15;border-top:1px solid #204457;padding-block:46px 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:46px}.footer-grid>div{display:flex;flex-direction:column;align-items:start;gap:8px}.footer-brand{font-weight:850;letter-spacing:.08em;text-transform:uppercase}.footer-brand span{color:var(--cyan)}.footer-grid p{margin:0;max-width:330px;font-size:13px}.footer-grid .footer-note{font-size:11px;color:#8ba9bb}.footer-grid b{font-size:13px;margin-bottom:7px}.footer-grid a{font-size:13px;color:#a9c9d6;text-decoration:none}.footer-grid a:hover{color:var(--cyan)}.footline{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #1d3c50;margin-top:32px;padding-top:18px;font-size:11px;color:#7395a7}
@media(max-width:1030px){.hero{gap:30px;grid-template-columns:1fr 1fr}.hero-console pre{font-size:12px}.course-layout{grid-template-columns:206px minmax(0,1fr);gap:26px}.container{width:calc(100% - 36px)}}
@media(max-width:780px){.topbar-inner{width:calc(100% - 28px);min-height:69px}.menu-toggle{display:inline-flex;align-items:center;gap:8px}.primary-nav{display:none;position:absolute;top:69px;left:0;right:0;background:#0b2332;border-bottom:1px solid #31556a;flex-direction:column;padding:12px;align-items:stretch}.primary-nav.open{display:flex}.primary-nav a{padding:12px 17px}.hero{grid-template-columns:1fr;padding-block:62px 70px}.hero-console{max-width:610px;width:100%;margin:auto;transform:none}.feature-grid,.course-grid{grid-template-columns:repeat(2,1fr)}.section{padding-block:60px}.section-heading{align-items:start;flex-direction:column;gap:10px}.course-layout{display:block}.course-sidebar{position:relative;top:auto;max-height:none;display:block;margin-bottom:28px}.course-sidebar nav{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible;max-height:none}.sidebar-foot{display:none}.cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:20px}}
@media(max-width:540px){.container{width:calc(100% - 28px)}.brand strong{font-size:12px;letter-spacing:.08em}.brand small{font-size:7px}.brand img{width:33px;height:33px}.hero h1{font-size:42px}.hero-lead{font-size:16px}.hero-meta{margin-top:27px;gap:8px 14px}.hero-console pre{padding:24px 13px;font-size:11px}.feature-grid,.course-grid{grid-template-columns:1fr}.feature-card{padding:24px}.lesson-row{padding:16px 13px;gap:10px}.lesson-row-copy strong{font-size:15px}.lesson-row-copy small{font-size:11px}.page-intro{padding-block:48px}.page-intro h1{font-size:42px}.page-intro>p{font-size:16px}.course-sidebar nav{grid-template-columns:1fr}.lesson-hero h1{font-size:39px}.lesson-intro{font-size:17px}.lesson-kicker{display:block}.reading-time{display:block;margin-top:10px}.lesson-article p{font-size:15px}.lesson-pager{align-items:stretch;flex-direction:column}.playground-actions .btn{flex:1}.playground-headline{flex-wrap:wrap}.runtime-label{display:none}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-grid>div:first-child{grid-column:1/-1}.footline{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}
[hidden]{display:none!important}


/* R002: local PrismJS paints code under a native, accessible textarea.
 * The textarea remains the only editable source. No third-party network calls. */
.editor-stack{position:relative;min-width:0;min-height:214px;background:#061522;border-bottom:1px solid #29465c;overflow:hidden}
.highlight-layer,.editor-stack>.code-editor{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.9;letter-spacing:normal;tab-size:4;white-space:pre;overflow:auto;box-sizing:border-box;margin:0;padding:17px 19px;width:100%;min-height:214px;border:0}
.highlight-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;background:transparent;color:#e5f4fa;z-index:1;scrollbar-width:none;visibility:hidden}
.editor-stack.syntax-active .highlight-layer{visibility:visible}
.highlight-layer::-webkit-scrollbar{display:none}
.highlight-layer code{font:inherit;line-height:inherit;white-space:inherit;color:inherit}
.editor-stack>.code-editor{position:relative;z-index:2;display:block;max-width:100%;resize:vertical;outline:none;background:transparent;color:#e5f4fa;-webkit-text-fill-color:#e5f4fa;caret-color:#edffff}
.editor-stack.syntax-active>.code-editor{color:transparent;-webkit-text-fill-color:transparent}
.editor-stack>.code-editor:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.editor-stack>.code-editor::selection{background:#2f6f99a3;-webkit-text-fill-color:transparent}
.highlight-layer .token.comment{color:#799db3;font-style:italic}
.highlight-layer .token.string,.highlight-layer .token.char{color:#a9e2ad}
.highlight-layer .token.keyword,.highlight-layer .token.boolean{color:#bf9fff}
.highlight-layer .token.builtin,.highlight-layer .token.function{color:#56d7ed}
.highlight-layer .token.number{color:#ffca90}
.highlight-layer .token.operator,.highlight-layer .token.punctuation{color:#c9dfeb}
.highlight-layer .token.class-name,.highlight-layer .token.decorator{color:#eac97c}
.checkpoint .checkpoint-question{font-weight:650;color:#e2f3fa;margin:0 0 8px;line-height:1.6}
.checkpoint li{margin-bottom:21px;padding-left:3px}
.checkpoint-answer{border:1px solid #345c70;border-radius:8px;overflow:hidden;background:#102e41;margin:0 0 6px}
.checkpoint-answer summary{cursor:pointer;color:#8fe9f2;font-weight:750;font-size:13px;padding:10px 13px;list-style-position:inside}
.checkpoint-answer summary:hover{background:#174255}
.checkpoint-answer summary:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.checkpoint-answer[open] summary{border-bottom:1px solid #345c70}
.checkpoint-answer-body{padding:12px 16px}
.checkpoint-answer-body p{margin:0;font-size:14px;line-height:1.75;color:#c5dce9}
.checkpoint-answer-body code{color:#abeddc;background:#061f2f;border-radius:3px;padding:1px 4px;overflow-wrap:anywhere}

/* R007 learner-facing source projects and paste/transform/copy exercise. */
.source-panel{border:1px solid #37667c;background:#081b2a;border-radius:12px;margin:17px 0;overflow:hidden}
.source-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#102f43}
.source-panel-head strong{font-family:ui-monospace,Consolas,monospace;font-size:13px;color:#a5ebf4}
.source-panel-head .btn{padding:7px 13px;font-size:12px}
.source-code{overflow:auto;margin:0;padding:16px;white-space:pre;tab-size:4;font-size:12px;line-height:1.8;color:#d7edf5}
.source-code code{color:inherit}
.copy-feedback{margin:0;padding:0 14px 10px;font-size:12px;color:#a8e8cd}
.source-code .token.comment{color:#799db3}.source-code .token.keyword,.source-code .token.boolean{color:#bf9fff}.source-code .token.string{color:#a9e2ad}.source-code .token.function,.source-code .token.builtin{color:#56d7ed}.source-code .token.number{color:#ffca90}
@media(max-width:540px){.source-panel-head{align-items:start;flex-direction:column}}
