/* Approved Python hero: live text and a subject-specific SVG, no raster UI. */
.python-page{--canvas:#0a0a0a;--page:#0a0a0a;--surface:#111514;--ink:#f7f9f8;--text-2:#b0b8b4;--text-3:#89958f;--accent:#43edcb;--accent-soft:rgba(67,237,203,.06);--border:rgba(255,255,255,.12);--card-border:rgba(255,255,255,.12);--cta:#f7f9f8;--on-cta:#101613;--tile-a:#00d4aa;--tile-b:#a6f4df;--tile-c:#e4fff7;color-scheme:dark;background:var(--canvas)}
.python-page .site-nav{position:relative;background:var(--canvas);border:0;backdrop-filter:none}
.python-page .nav-inner{max-width:1250px;min-height:82px}
.python-page .nav-links .nav-link{display:none}.python-page .nav-links .nav-link:first-child{display:inline-flex}
.python-page .logo{width:173px}.python-page .btn{font-weight:800}
.python-hero{position:relative;max-width:1440px;margin:auto;padding:102px 5vw 26px;text-align:center}
.hero-copy h1{font-size:clamp(46px,5.7vw,82px);font-weight:800;line-height:1.065;letter-spacing:-.045em;text-wrap:balance}
.hero-copy h1 span{color:var(--accent)}.hero-copy>p{font-size:clamp(18px,2.05vw,28px);line-height:1.5;color:var(--text-2);margin:26px auto 32px}
.audio-experience{position:relative;min-height:102px}.listen-button{display:inline-flex;justify-content:center;align-items:center;gap:14px;padding:17px 28px;min-height:62px;background:#f7f9f8;color:#101613;border:0;border-radius:100px;font-size:18px;font-weight:800;cursor:pointer;transition:transform .18s ease,background .18s ease}.listen-button:hover{background:#dffcf2;transform:translateY(-2px)}.listen-button svg{width:23px;height:23px;fill:#00bb99}.pause-icon{display:none}.listen-button.playing .play-icon{display:none}.listen-button.playing .pause-icon{display:block}
.audio-experience audio{max-width:360px;width:100%;margin:auto}.audio-progress{display:flex;gap:12px;align-items:center;max-width:300px;margin:16px auto 0;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-2)}.audio-progress input{min-width:0;width:100%;height:16px;accent-color:var(--accent);cursor:pointer}.audio-status{font-size:13px;color:var(--text-2);margin-top:8px}.audio-status:empty{display:none}[hidden]{display:none!important}
.code-flow{position:relative;height:240px;margin:6px 0 0;text-align:left}.flow-line{width:100%;height:100%;overflow:visible}.flow-stroke{stroke:var(--accent);stroke-width:2.5;vector-effect:non-scaling-stroke}.flow-halo{stroke:var(--accent);stroke-width:10;opacity:.17;filter:blur(12px)}.flow-line circle{fill:#6af5d9;filter:drop-shadow(0 0 9px #1be5b9)}.code-step{position:absolute;display:flex;flex-direction:column;gap:10px;white-space:nowrap}.code-step code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(24px,2.7vw,38px);line-height:1.3;letter-spacing:-.03em}.code-step code span{color:var(--accent)}.step-label{font-size:11px;color:var(--text-3);letter-spacing:.04em}.step-one{top:0;left:4%}.step-two{top:62px;left:43%}.step-three{top:120px;left:85%}.continue-link{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;margin:25px auto 0;width:fit-content;color:var(--text-3);font-size:11px}.continue-link svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5}.continue-link:hover{color:var(--accent)}
.try-example{display:grid;grid-template-columns:1fr 1fr;gap:100px;max-width:1120px;margin:100px auto 60px;padding:60px 24px;border-top:1px solid var(--border);scroll-margin-top:30px}.section-label{color:var(--accent);font-size:12px;letter-spacing:.04em}.example-intro h2{font-size:clamp(34px,4vw,48px);line-height:1.1;letter-spacing:-.035em;margin:16px 0 24px}.example-intro p{font-size:18px;line-height:1.7;color:var(--text-2);margin:16px 0;max-width:42ch}.example-intro code{font-size:.9em;color:var(--ink)}.example-workbench label{display:block;font-size:13px;color:var(--text-2);margin-bottom:10px}.name-controls{display:flex;gap:12px}.name-controls input{background:var(--surface);border:1px solid #35433c;border-radius:12px;color:var(--ink);font:inherit;padding:12px 15px;min-width:0;width:100%}.name-controls .btn{font-size:14px;white-space:nowrap;padding:12px 20px;min-height:48px}.example-workbench pre{font:18px/2 ui-monospace,SFMono-Regular,Menlo,monospace;padding:26px 0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.code-string{color:var(--accent)}.line-number{display:inline-block;width:32px;font-size:12px;color:var(--text-3)}.example-result{display:flex;align-items:center;gap:30px;border-top:1px solid var(--border);padding:20px 0}.example-result>span{font-size:12px;color:var(--text-3)}.example-result output{font:26px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);overflow-wrap:anywhere;min-width:0}.example-note{font-size:12px;line-height:1.6;color:var(--text-3)}
.python-page .reading{max-width:1120px}.python-page .reading>.objective{background:none;padding:0;max-width:720px;color:var(--text-2)}.python-page .reading>section{max-width:720px;margin-block:64px}.python-page .reading h2{font-size:32px;line-height:1.15;text-transform:none}.python-page .reading p{color:var(--text-2);font-size:17px;line-height:1.8}.python-page .reading .syllabus{list-style:none;padding:0;counter-reset:lesson}.python-page .syllabus li{position:relative;padding:22px 0 22px 52px;counter-increment:lesson}.python-page .syllabus li:before{content:"0" counter(lesson);position:absolute;left:0;top:24px;color:var(--accent);font:13px/1.5 ui-monospace,monospace}.python-page .syllabus h3{font-size:20px}.python-page .reading .exercise{background:none;border:0;padding:0}.python-page .reading .cta{border:0;background:radial-gradient(ellipse at bottom,rgba(0,212,170,.08),transparent 70%);padding-inline:24px}.python-page .reading .cta h2{text-transform:none;font-size:clamp(32px,4vw,48px)}.python-page .reading .card{background:none;border:1px solid var(--border);box-shadow:none;font-size:17px}.python-page .footer-links a{color:var(--text-2)}.python-page .site-footer{background:var(--canvas)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.python-hero{padding-top:120px}}
@media(max-width:760px){.python-page .nav-inner{min-height:72px;padding-inline:24px}.python-page .logo{width:145px}.python-page .nav-links .nav-link:first-child{display:none}.python-page .nav-links .btn{font-size:13px;padding:10px 17px}.python-hero{padding:57px 24px 24px}.hero-copy h1{font-size:clamp(38px,8vw,58px);line-height:1.08;letter-spacing:-.045em}.hero-copy>p{font-size:18px;max-width:30ch;margin:22px auto 27px}.listen-button{font-size:16px;min-height:56px;padding:15px 23px}.audio-experience{min-height:88px}.code-flow{margin:22px auto 0;height:265px;max-width:440px}.flow-line{display:none}.code-flow:before{content:"";position:absolute;left:14px;top:31px;bottom:25px;width:1px;background:linear-gradient(var(--accent),#1a5d4b)}.code-step{left:42px;gap:5px}.code-step:before{content:"";position:absolute;left:-32px;top:30px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px #1be5b966}.code-step code{font-size:27px}.step-one{top:0}.step-two{top:90px}.step-three{top:180px}.step-label{font-size:11px}.continue-link{margin-top:5px}.try-example{grid-template-columns:1fr;gap:24px;margin:55px 24px 0;padding:42px 0}.example-intro p{font-size:17px}.python-page .reading{padding:16px 24px 50px}.python-page .reading>section{margin-block:46px}.python-page .reading h2{font-size:27px}.python-page .reading .cta{margin-top:50px}.python-page .footer-inner{padding-inline:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.listen-button{transition:none}.listen-button:hover{transform:none}}
