body.python-preview{--ink:#123b67;--accent:#126aca;--paper:#f1f7fd;--line:#d9e5f2;color:var(--ink);font-size:18px}body.python-preview main{overflow:clip}body.python-preview .header{min-height:90px}body.python-preview .header nav a[aria-current=page]{border-bottom:2px solid #1768b5}body.python-preview h1{font-size:clamp(42px,4.7vw,70px);line-height:1.5;letter-spacing:-.055em;font-weight:750;margin:20px 0 28px;white-space:pre-line}body.python-preview h2{font-size:clamp(31px,3.3vw,48px);line-height:1.55;letter-spacing:-.04em}body.python-preview h3{font-size:24px;line-height:1.6}body.python-preview p{line-height:1.95}body.python-preview .kicker{font-family:Arial,sans-serif;font-weight:700;font-size:14px;letter-spacing:.15em;color:var(--accent);line-height:1.7}body.python-preview .hero-lead{font-size:20px;white-space:pre-line;margin-bottom:32px;line-height:1.95}body.python-preview .primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--accent);color:white;padding:18px 26px;font-size:19px;font-weight:700;min-width:260px;border:1px solid var(--accent);transition:background .25s,transform .25s}body.python-preview .primary-link:hover{background:#084e9a;transform:translateY(-2px)}body.python-preview .primary-link span{font-size:25px}body.python-preview .secondary-link{display:inline-block;padding:18px 0;margin-left:28px;color:#155c9d;border-bottom:1px solid #afc7de;font-size:18px}body.python-preview .py-home-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:4%;align-items:center;min-height:720px;padding:74px 6% 80px;background:linear-gradient(115deg,#fff 38%,#f0f7ff 100%)}body.python-preview .hero-foot{font-size:13px;letter-spacing:.09em;margin-top:28px;color:#6a829a}body.python-preview .code-scene{padding:30px 0;position:relative;isolation:isolate}body.python-preview .code-scene::before{content:"";position:absolute;inset:-25px -25%;border:1px solid #d4e5f5;border-radius:38%;transform:rotate(-18deg);z-index:-1}body.python-preview .code-window{border:1px solid #d3e2f2;background:white;box-shadow:0 24px 70px #19477512;border-radius:12px;overflow:hidden;transform:rotate(-2deg)}body.python-preview .window-bar{display:flex;align-items:center;gap:16px;padding:17px 20px;background:#f4f8fd;border-bottom:1px solid #dce8f3;font:14px monospace;color:#5b7690}body.python-preview .dots{font-size:10px;letter-spacing:3px;color:#afc7df}body.python-preview .file-tag{margin-left:auto;font-size:11px;color:#196dc3}body.python-preview .code-body{padding:32px 22px;font:clamp(12px,1.2vw,17px)/2 monospace;white-space:nowrap}body.python-preview .code-body p{font:inherit;color:#274868}body.python-preview .code-note{color:#6b879e;font-size:12px;display:block;margin-bottom:24px}body.python-preview .code-body em{color:#784fa3;font-style:normal}body.python-preview .code-body i{color:#1a7395;font-style:normal}body.python-preview .code-body b{color:#1b65b1;font-weight:500}body.python-preview .indent{padding-left:24px}body.python-preview .code-last{margin-top:24px}body.python-preview .terminal{background:#103a63;padding:22px;color:white}body.python-preview .terminal>span{font:11px Arial;letter-spacing:.14em;color:#a6cbed}body.python-preview .terminal p{color:white;font:15px/2 monospace;margin-top:8px}body.python-preview .cursor{display:inline-block;width:8px;height:16px;background:#bddaff;margin-left:8px;vertical-align:middle}body.python-preview .scene-caption{display:flex;gap:15px;align-items:center;background:white;border:1px solid #e0e9f3;box-shadow:0 16px 35px #123b6710;border-radius:7px;padding:18px 22px;margin:25px 30px 0}body.python-preview .square-icon{font:24px monospace;color:#1476c8;background:#edf6ff;padding:8px}body.python-preview .scene-caption strong{font-size:19px}body.python-preview .scene-caption small{display:block;letter-spacing:.12em;color:#6d859a;font:11px/2 Arial}body.python-preview .tech-band{display:flex;justify-content:space-around;gap:20px;padding:26px 6%;border-top:1px solid #dbe6f1;border-bottom:1px solid #dbe6f1;color:#3d6489;font:bold 16px Arial;letter-spacing:.12em}body.python-preview .py-section{padding:100px 6%;max-width:1520px;margin:auto}body.python-preview .section-heading{margin-bottom:44px}body.python-preview .section-heading h2{margin:14px 0 20px}body.python-preview .split-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}body.python-preview .split-heading>p{max-width:540px;font-size:19px}body.python-preview .home-path{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}body.python-preview .home-path article{border-top:2px solid #2473b9;padding-top:25px}body.python-preview .home-path article>span{font:13px Arial;color:#4279a9;letter-spacing:.12em}body.python-preview .home-path h3{font-size:30px;margin:18px 0}body.python-preview .home-path p{font-size:19px}body.python-preview .home-course-band{margin:0 6%;padding:55px;background:#edf5fe;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;border:1px solid #dce8f5}body.python-preview .home-course-band h2{margin:15px 0 22px}body.python-preview .duration-art{display:flex;justify-content:space-around;gap:18px}body.python-preview .duration-art span{font:clamp(40px,5vw,76px)/1 Arial;color:#216cb4;letter-spacing:-.06em}body.python-preview .duration-art small{display:block;margin-top:12px;font:10px Arial;letter-spacing:.1em}body.python-preview .home-course-band>.primary-link{grid-column:1/-1;justify-self:start}body.python-preview .home-philosophy{background:white;padding-top:95px;padding-bottom:100px}body.python-preview .home-philosophy h2{margin:15px 0 30px}
/* Course */
body.python-preview .course-hero-new{padding:68px 6% 74px;display:grid;grid-template-columns:1.15fr .85fr;gap:7%;align-items:center;background:linear-gradient(110deg,#fff 40%,#eff6ff);min-height:650px}body.python-preview .course-hero-new h1{font-size:clamp(48px,6vw,82px);line-height:1.35;margin-bottom:28px}body.python-preview .course-visual{position:relative;max-width:440px;width:100%;margin:auto;padding:15px 0}body.python-preview .stack-label{font:11px Arial;color:#65829e;letter-spacing:.14em;margin-bottom:20px;text-align:center}body.python-preview .stack-card{border:1px solid #cddff2;background:white;padding:20px 25px;box-shadow:0 12px 30px #1947750b;border-radius:8px;display:grid;grid-template-columns:1fr auto;gap:8px 18px;position:relative}body.python-preview .stack-card>span{font:11px Arial;color:#5f7d9b;letter-spacing:.1em;grid-column:1/-1}body.python-preview .stack-card strong{font-size:23px;font-weight:700;grid-column:1}body.python-preview .stack-card small{font:12px Arial;letter-spacing:.08em;grid-column:1;color:#58738b}body.python-preview .stack-front{margin-right:26px}body.python-preview .stack-python{margin-left:30px;background:#176bc0;border-color:#176bc0;color:white}body.python-preview .stack-python>span,body.python-preview .stack-python small{color:#d0e5ff}body.python-preview .stack-data{margin-right:26px}body.python-preview .stack-connector{padding:4px 0;text-align:center;color:#6792bb;font-size:18px}body.python-preview .mini-browser{grid-column:2;grid-row:2/4;width:72px;background:#f0f6fd;border:1px solid #bdd4ee;padding:7px;align-self:center}body.python-preview .mini-browser i{display:block;height:6px;background:#d6e6f7;margin-bottom:7px}body.python-preview .mini-browser>div{display:flex;gap:4px}body.python-preview .mini-browser b{display:block;height:22px;width:100%;background:#9ec2e9}body.python-preview .course-subnav{display:flex;justify-content:center;gap:0;border-top:1px solid #dce7f2;border-bottom:1px solid #dce7f2;background:white}body.python-preview .course-subnav a{padding:23px 42px;font-size:18px;font-weight:700;position:relative}body.python-preview .course-subnav a::after{content:"";position:absolute;bottom:0;left:30%;right:30%;height:2px;background:#1871c6;transform:scaleX(0);transition:transform .25s}body.python-preview .course-subnav a:hover::after{transform:scaleX(1)}body.python-preview .modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}body.python-preview .module-card{padding:30px;background:white;border:1px solid #d8e4f0;border-radius:5px;transition:transform .3s,box-shadow .3s}body.python-preview .module-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #123b670c}body.python-preview .module-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}body.python-preview .module-icon{display:grid;place-items:center;width:58px;height:58px;background:#edf5fe;color:#1769b9;font:25px monospace;border-radius:8px}body.python-preview .module-no{font:16px Arial;color:#6488a9}body.python-preview .module-tech{font:12px Arial;letter-spacing:.1em;color:#2674b9;margin-bottom:12px}body.python-preview .module-card h3{font-size:23px;margin-bottom:17px;min-height:73px}body.python-preview .module-card>p[data-copy]{font-size:18px;line-height:1.9}body.python-preview .module-card details{border-top:1px solid #e0e9f3;margin-top:25px;padding-top:16px}body.python-preview summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}body.python-preview summary::-webkit-details-marker{display:none}body.python-preview summary>span{font-size:22px;transition:transform .2s}body.python-preview details[open]>summary>span{transform:rotate(45deg)}body.python-preview .module-card summary{font-size:17px;font-weight:700;color:#1c63a4}body.python-preview .module-card details p{padding-top:15px;font-size:17px}body.python-preview .project-section{padding:80px 6%;background:#edf5fd;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}body.python-preview .project-copy h2{margin:15px 0 28px}body.python-preview .project-copy>p:not(.kicker){font-size:20px}body.python-preview .project-copy .project-disclaimer{font-size:16px!important;color:#607e98;margin-top:15px}body.python-preview .project-flow{display:flex;gap:12px;align-items:center;margin-top:35px;flex-wrap:wrap}body.python-preview .project-flow span{font-size:17px;background:white;border:1px solid #d4e4f4;padding:10px 14px}body.python-preview .project-flow b{font-weight:400;color:#6198c8}body.python-preview .sample-app{background:white;border:1px solid #ccdeef;box-shadow:0 22px 45px #123b670b;border-radius:12px;padding:30px}body.python-preview .sample-top{display:flex;justify-content:space-between;align-items:center;font:12px Arial;color:#2a6ea9;letter-spacing:.07em}body.python-preview .sample-tag{padding:5px 10px;background:#edf5fe;font-size:12px}body.python-preview .sample-app h3{margin:22px 0;font-size:24px}body.python-preview .sample-input{border:1px solid #d5e0eb;background:#f8fafc;padding:13px 16px;color:#5c758d;font-size:16px}body.python-preview .sample-save{padding:11px 18px;margin:12px 0 22px;background:#176bc0;color:white;text-align:center;font-size:16px}body.python-preview .sample-save span{float:right}body.python-preview .sample-row{padding:17px 0;display:flex;gap:12px;align-items:center;border-top:1px solid #e1e9f2;font-size:17px}body.python-preview .sample-dot{width:8px;height:8px;background:#81b3e1;border-radius:50%}body.python-preview .sample-row small{display:block;font-size:13px;color:#607b93}body.python-preview .sample-row>span:last-child{margin-left:auto;color:#87a0b8;font:13px Arial}body.python-preview .sample-app>p{font-size:13px;color:#657e94;margin-top:16px}body.python-preview .plans-section .section-heading{text-align:center}body.python-preview .plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}body.python-preview .plan-card{border:1px solid #ccdaea;padding:30px;border-radius:6px;background:linear-gradient(#f4f8fe,white 50%);position:relative;transition:border .2s,box-shadow .2s}body.python-preview .plan-card.selected{border-color:#176bc0;box-shadow:0 0 0 2px #176bc0}body.python-preview .plan-eyebrow{font:12px Arial;letter-spacing:.13em;color:#2c73b1}body.python-preview .plan-card h3{display:flex;align-items:baseline;gap:16px;margin:22px 0 24px}body.python-preview .plan-card h3 b{font:70px/1 Arial;letter-spacing:-.07em;color:#1767b4}body.python-preview .plan-card h3 span{font-size:22px}body.python-preview .plan-price{font-size:25px;font-weight:700;border-bottom:1px solid #dce6f1;padding-bottom:24px;margin-bottom:12px;overflow-wrap:anywhere;color:#123b67}body.python-preview .plan-meta{display:flex;justify-content:space-between;gap:12px;font-size:17px;padding:10px 0}body.python-preview .plan-meta>span{color:#637b91}body.python-preview .plan-topics{font-size:15px;color:#5a728a;border-top:1px solid #e0e8f1;padding:20px 0;line-height:1.8}body.python-preview .plan-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px;background:white;color:#1767b4;border:1px solid #a9c6e2;font-size:17px;font-weight:700;transition:background .2s,color .2s}body.python-preview .plan-button:hover,body.python-preview .plan-button[aria-pressed=true]{background:#176bc0;color:white;border-color:#176bc0}body.python-preview .plan-comparison{background:#f0f6fd;margin-top:28px;padding:28px 32px;display:grid;grid-template-columns:1fr auto;gap:12px 24px}body.python-preview .comparison-label{font:11px Arial;letter-spacing:.12em;color:#547eaa;grid-column:1/-1}body.python-preview .plan-comparison h3{font-size:25px}body.python-preview .plan-comparison p{grid-column:1;font-size:17px}body.python-preview .common-badge{align-self:center;grid-column:2;grid-row:2/4;font-size:16px;background:white;padding:12px 18px;color:#1a629f}body.python-preview .pricing-note{font-size:16px;text-align:center;color:#697e92;margin-top:22px}body.python-preview .faq-section{border-top:1px solid #e0e8f1}body.python-preview .faq-section details{border-top:1px solid #d9e5f0;padding:26px 0}body.python-preview .faq-section details:last-child{border-bottom:1px solid #d9e5f0}body.python-preview .faq-section summary{font-size:21px;font-weight:700}body.python-preview .faq-section details p{padding-top:18px;font-size:19px;max-width:950px}body.python-preview .course-end{background:#edf5fd;padding:75px 6%;text-align:center}body.python-preview .course-end h2{margin:14px 0 30px}body.python-preview [id]{scroll-margin-top:110px}body.python-preview .stack-card,body.python-preview .scene-caption{will-change:auto}body.python-preview.has-motion .stack-python{animation:stack-drift 7s ease-in-out infinite alternate}@keyframes stack-drift{to{transform:translateX(-8px)}}body.python-preview :is(button,summary,a):focus-visible{outline:3px solid #124b80;outline-offset:5px}body.python-preview [data-copy]{overflow-wrap:anywhere}
@media(max-width:1080px){body.python-preview .py-home-hero,body.python-preview .course-hero-new{gap:30px;padding:55px 5%}body.python-preview .modules-grid{grid-template-columns:repeat(2,1fr)}body.python-preview .course-subnav a{padding:20px 26px}body.python-preview .plan-card{padding:22px}body.python-preview .plan-card h3 b{font-size:58px}body.python-preview .plan-card h3 span{font-size:18px}body.python-preview .plan-comparison{grid-template-columns:1fr}body.python-preview .common-badge{grid-column:1;grid-row:auto;justify-self:start}body.python-preview .split-heading{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:760px){body.python-preview .py-home-hero,body.python-preview .course-hero-new{grid-template-columns:1fr;padding:42px 6% 48px;gap:32px;min-height:0}body.python-preview h1{font-size:clamp(37px,8.6vw,55px);letter-spacing:-.06em}body.python-preview .course-hero-new h1{font-size:52px}body.python-preview .hero-lead{font-size:18px}body.python-preview .hero-foot{font-size:11px}body.python-preview .code-scene{max-width:500px;width:100%;margin:auto;padding:5px 0}body.python-preview .code-body{font-size:12px;padding:24px 16px}body.python-preview .code-note{font-size:11px}body.python-preview .code-window{transform:none}body.python-preview .file-tag{font-size:9px}body.python-preview .window-bar{font-size:12px;gap:10px;padding:14px}body.python-preview .scene-caption{margin:18px 8px 0;padding:14px}body.python-preview .scene-caption strong{font-size:17px}body.python-preview .tech-band{flex-wrap:wrap;gap:22px;font-size:13px;padding:23px 6%}body.python-preview .py-section{padding:65px 6%}body.python-preview .home-path{grid-template-columns:1fr;gap:30px}body.python-preview .home-path h3{font-size:28px}body.python-preview .home-course-band{margin:0 6%;padding:30px 24px;grid-template-columns:1fr}body.python-preview .duration-art{justify-content:space-between;padding:10px 0}body.python-preview .duration-art span{font-size:52px}body.python-preview .home-course-band>.primary-link{grid-column:auto;min-width:0;width:100%;font-size:17px;padding:16px}body.python-preview .secondary-link{margin:14px 0 0;padding:9px 0;display:table}body.python-preview .course-visual{max-width:370px}body.python-preview .course-subnav{display:grid;grid-template-columns:1fr 1fr;text-align:center}body.python-preview .course-subnav a{padding:17px 10px;font-size:16px}body.python-preview .modules-grid{grid-template-columns:1fr;gap:18px}body.python-preview .module-card{padding:27px}body.python-preview .module-card h3{min-height:0;font-size:24px}body.python-preview .module-top{margin-bottom:16px}body.python-preview .project-section{grid-template-columns:1fr;padding:60px 6%;gap:34px}body.python-preview .sample-app{padding:23px}body.python-preview .sample-app h3{font-size:22px}body.python-preview .project-copy>p:not(.kicker){font-size:18px}body.python-preview .project-flow{gap:7px}body.python-preview .project-flow span{font-size:15px;padding:9px 10px}body.python-preview .plans-grid{grid-template-columns:1fr;gap:22px}body.python-preview .plan-card{padding:28px}body.python-preview .plan-card h3 b{font-size:68px}body.python-preview .plan-card h3 span{font-size:23px}body.python-preview .plan-comparison{padding:24px}body.python-preview .common-badge{font-size:15px;padding:10px}body.python-preview .faq-section summary{font-size:19px}body.python-preview .faq-section details p{font-size:18px}body.python-preview .course-end{padding:55px 6%}body.python-preview .primary-link{min-width:0;max-width:100%}body.python-preview .stack-card strong{font-size:21px}body.python-preview .stack-front,body.python-preview .stack-data{margin-right:15px}body.python-preview .stack-python{margin-left:15px}}
@media(prefers-reduced-motion:reduce){body.python-preview *,body.python-preview *::before,body.python-preview *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body.python-preview .py-home-hero .hero-foot{position:static;display:block;border:0;margin:28px 0 0;padding:0;font-size:12px;line-height:1.7;color:#597087}
body.python-preview .header nav a{border-bottom:0}body.python-preview .header nav a[aria-current="page"]{border-bottom:2px solid var(--blue)}

/* Preview 02: adjustable Japanese duration labels */
body.python-preview .duration-art b{font-weight:inherit;font-size:inherit;line-height:1}
body.python-preview .duration-art small{font-family:inherit;font-size:18px;letter-spacing:.04em;margin-top:12px}
body.python-preview .duration-art[hidden]{display:none!important}
body.python-preview .home-course-band.durations-hidden{grid-template-columns:1fr;gap:26px}
body.python-preview .home-course-band.durations-hidden>.primary-link{grid-column:1}

body.python-preview .xg-course-image{width:100%;height:auto;max-height:560px;object-fit:contain;display:block}body.python-preview .plan-card a.plan-button{display:block;margin-top:12px;text-align:center}body.python-preview .py-home-hero{background-image:var(--xg-hero-image,linear-gradient(110deg,#fff,#f2f7fd));background-size:cover;background-position:center}body.python-preview .plan-button[hidden],body.python-preview .plan-comparison[hidden]{display:none!important}body.admin-bar .header{top:32px}@media(max-width:782px){body.admin-bar .header{top:46px}}@media(max-width:600px){body.admin-bar .header{top:0}}
