@charset "UTF-8";
:root{--paper:#f8f7f2;--ink:#243d35;--muted:#66766e;--green:#246b59;--line:#dfe3d9;--lime:#dceba5;--mint:#e6efe5;--peach:#f3e4d6;--lavender:#e9e6f0;--white:#fff;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,summary,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}:focus-visible{outline:3px solid #b56b34;outline-offset:5px}p,h1,h2,h3{margin:0}svg{display:block;width:100%}button{color:inherit}.wrap{max-width:1180px;margin-inline:auto;padding-inline:36px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1300px;padding:0 48px;margin:auto}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:750;line-height:1.2;white-space:nowrap;letter-spacing:.035em}.brand-sub{display:block;font-size:11px;font-weight:500;letter-spacing:.16em;margin-top:6px}.brand-symbol{font-family:Georgia,serif;font-style:italic;background:var(--green);color:white;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;font-size:35px;position:relative;padding-right:6px}.brand-symbol span{position:absolute;background:var(--lime);color:var(--ink);font-size:13px;font-style:normal;border-radius:50%;height:18px;width:18px;display:grid;place-items:center;right:-5px;top:-4px}.site-header nav{display:flex;gap:30px;font-size:12px;font-weight:650}.site-header nav a:hover{color:var(--green);text-decoration:underline;text-underline-offset:8px}.header-app{border:1px solid var(--ink);border-radius:50px;padding:9px 18px;font-size:12px;font-weight:700;white-space:nowrap}.header-app span{margin-left:13px}.header-app:hover{background:var(--ink);color:white}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:white;padding:12px}.skip:focus{top:5px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:56px;padding-bottom:70px;align-items:center}.kicker{font-size:12px;letter-spacing:.05em;display:flex;align-items:center;gap:8px;margin-bottom:22px}.kicker>span{height:7px;width:7px;background:var(--green);border-radius:50%}h1{font-size:clamp(38px,4.5vw,59px);line-height:1.42;font-weight:780;letter-spacing:.025em}.highlight{position:relative;z-index:0;white-space:nowrap}.highlight:after{content:"";position:absolute;left:-3px;right:-3px;bottom:6px;background:var(--lime);height:19px;z-index:-1;transform:rotate(-1deg)}.hero-description{font-size:14px;line-height:2.1;color:var(--muted);margin-top:24px}.hero-actions{margin-top:28px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;border-radius:8px;padding:16px 23px;font-size:13px;font-weight:700;border:0;transition:background .15s,transform .15s;min-height:52px}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:white}.primary:hover{background:#185441}.dark{background:var(--ink);color:white}.dark:hover{background:#142c24}.hero-note{font-size:10px;color:var(--muted);padding-left:2px}.hero-proof{font-size:10px;display:flex;align-items:center;gap:11px;margin-top:28px;color:var(--muted)}.hero-proof i{font-style:normal;color:#9cab9d}.hero-visual{position:relative;padding-top:20px}.floating-label{position:absolute;top:0;right:-10px;z-index:2;border:1px solid var(--ink);border-radius:6px;background:var(--lime);font-size:11px;padding:7px 14px;transform:rotate(5deg);box-shadow:3px 3px 0 var(--paper)}.diagram-card{background:white;border:1px solid var(--line);box-shadow:0 18px 45px #334b3510;border-radius:19px;padding:26px;transform:rotate(-1.5deg)}.diagram-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.tiny-label{font-size:10px;font-weight:700;letter-spacing:.11em;color:var(--green)}.pill{border:1px solid var(--line);font-size:10px;border-radius:50px;padding:3px 10px;font-weight:600}.diagram-card h2{font-size:25px;line-height:1.6;letter-spacing:.02em}.wave-box{margin:20px 0 16px;background:#f3f6f0;border-radius:8px;padding:15px 12px 8px}.wave-axis{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);margin-top:4px}.steps{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:5px 3px 20px}.steps div{display:flex;flex-direction:column;align-items:center}.steps div>span{font-size:9px;font-family:monospace;color:var(--green)}.steps b{font-size:14px}.steps small{font-size:9px;color:var(--muted)}.steps i{font-style:normal;color:#90a18f;margin-top:5px}.diagram-bottom{border-top:1px solid var(--line);padding-top:17px;display:flex;align-items:center;justify-content:space-between}.diagram-bottom b{display:block;font-size:13px}.diagram-bottom small{font-size:10px;color:var(--muted)}.round-arrow{border:1px solid #c4cfc2;background:#ffffff70;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;font-size:17px}.visual-footnote{display:flex;justify-content:space-between;align-items:center;margin-top:19px;padding:0 12px}.hand-drawn{font-size:12px;color:var(--green);transform:rotate(-4deg)}.binary{font:10px monospace;letter-spacing:.15em;color:#8e9b8f}.learning-strip{background:#eeeee4;border-block:1px solid var(--line)}.learning-strip .wrap{display:flex;align-items:center;justify-content:space-between;min-height:69px;max-width:1050px}.learning-strip span{font-size:12px;font-weight:600}.learning-strip b{font:11px monospace;color:var(--green);margin-right:12px}.learning-strip i{font-style:normal;color:#a5aea0;font-size:13px}.section{padding-top:79px;padding-bottom:79px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:.14em;color:var(--green);line-height:1.5;margin-bottom:12px}.section-heading h2{font-size:30px;letter-spacing:.04em;line-height:1.6}.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted)}.search-row{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}.search-box{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);padding:11px 15px;border-radius:7px;flex:1;max-width:500px;min-width:0}.search-box>span{font-size:23px;line-height:1;color:var(--green)}.search-box input{width:100%;border:0;outline:none;background:none;font-size:11px;color:var(--ink);min-width:0}.search-box:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #246b5920}.search-box kbd{border:1px solid var(--line);border-radius:3px;font:10px monospace;padding:0 5px;color:#9ba49c}.filters{display:flex;gap:6px}.filter{background:none;border:1px solid transparent;border-radius:50px;padding:7px 13px;font-size:10px;white-space:nowrap}.filter.active{background:var(--ink);color:white}.filter:not(.active):hover{background:var(--mint)}.search-status{font-size:11px;color:var(--muted)}.search-status:not(:empty){margin-bottom:12px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.lesson-card{border:1px solid var(--line);background:white;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}.lesson-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #243d3510}.card-art{height:176px;position:relative;display:flex;justify-content:center;align-items:center;flex-direction:column}.mint{background:var(--mint)}.peach{background:var(--peach)}.lavender{background:var(--lavender)}.card-number{position:absolute;top:14px;left:18px;font:9px monospace;letter-spacing:.12em;color:#52685c}.card-art .round-arrow{position:absolute;right:15px;bottom:14px;width:28px;height:28px;font-size:14px}.art-caption{font:10px monospace;margin-top:13px;letter-spacing:.05em}.mini-wave{display:flex;gap:7px;align-items:center;height:70px;margin-top:12px}.mini-wave i{display:block;width:5px;height:var(--h);border-radius:5px;background:var(--green);opacity:.85}.mini-wave i:nth-child(3n){background:#6d9d6b}.mini-flow{display:flex;align-items:center;flex-direction:column;font-size:10px;margin-top:18px}.mini-flow>span{border:1px solid #946d4e;border-radius:20px;padding:1px 23px;background:#fff9}.mini-flow i{font-style:normal;font-size:12px;height:20px}.mini-flow b{border:1px solid #946d4e;background:#fff9;padding:8px 21px;border-radius:4px}.mini-flow>div{font-size:9px;margin-top:5px;color:#78644c}.mini-array{display:flex;gap:8px}.mini-array>div{display:flex;flex-direction:column;align-items:center}.mini-array small{font:10px monospace;margin-bottom:6px}.mini-array b{width:46px;height:46px;border:1px solid #8b83a7;border-radius:6px;background:#fffa;display:grid;place-items:center;font:20px monospace}.mini-array>div:nth-child(2) b{background:#78688e;color:white}.card-content{padding:21px}.card-content .eyebrow{font-size:9px}.card-content h3{font-size:20px;line-height:1.65;margin:8px 0 10px;letter-spacing:.02em}.card-content p{color:var(--muted);font-size:11px;line-height:1.9;min-height:42px}.card-meta{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);padding-top:16px;margin-top:17px;border-top:1px solid var(--line)}.empty-state{border:1px dashed var(--line);padding:40px;text-align:center;font-size:13px}.text-button{border:0;background:none;font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:4px}.empty-state button{display:block;margin:12px auto 0}.subject-section{background:#efefe6;padding-block:66px}.subject-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-block:1px solid #d6ddcf}.subject{padding:28px 22px 26px 0}.subject+.subject{border-left:1px solid #d6ddcf;padding-left:23px}.subject-no{font:9px monospace;letter-spacing:.02em;color:var(--green)}.subject h3{font-size:17px;line-height:1.8;margin:14px 0 12px}.subject p{font-size:10px;color:var(--muted);line-height:2;min-height:42px}.subject a{display:inline-block;font-size:10px;color:var(--green);margin-top:18px;text-decoration:underline;text-underline-offset:5px}.status-pill{display:inline-block;margin-top:18px;font-size:9px;color:#667161;background:#e2e6d9;border-radius:40px;padding:1px 10px}.app-banner{background:var(--mint);border:1px solid #d8e2d3;border-radius:16px;padding:50px 58px;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;position:relative;overflow:hidden}.app-banner h2{font-size:34px;line-height:1.6;letter-spacing:.03em}.app-banner p:not(.eyebrow){font-size:12px;line-height:2;color:var(--muted);margin-top:15px}.feature-tags{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 24px}.feature-tags span{font-size:10px;border:1px solid #bfd0ba;padding:2px 10px;border-radius:4px;background:#ffffff4d}.app-preview{border:1px solid #c1ccba;border-radius:14px;background:#f9faf5;padding:22px;box-shadow:10px 12px 0 #d2dfcc;transform:rotate(2deg)}.preview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:10px;color:var(--muted)}.preview-top>span:first-child{font-size:16px;font-weight:750;color:var(--ink)}.preview-tile{display:flex;gap:14px;align-items:center;background:white;border:1px solid var(--line);border-radius:9px;padding:13px;margin-top:9px}.preview-tile>span{width:31px;height:34px;display:grid;place-items:center;color:var(--green);font-size:24px}.preview-tile b{display:block;font-size:12px}.preview-tile small{display:block;font-size:9px;color:var(--muted)}.preview-tile i{margin-left:auto;font-style:normal;font-size:13px}.preview-caption{display:block;color:var(--muted);font-size:8px;text-align:right;margin-top:12px}.trust-line{display:flex;align-items:center;gap:20px;padding-bottom:65px}.trust-mark{font-size:24px;color:var(--green);background:var(--mint);border-radius:50%;width:47px;height:47px;display:grid;place-items:center;flex-shrink:0}.trust-line h2{font-size:15px;margin-bottom:5px}.trust-line p{font-size:10px;color:var(--muted)}.trust-line>a{margin-left:auto;font-size:11px;white-space:nowrap}footer{border-top:1px solid var(--line);padding:35px 48px 23px;max-width:1300px;margin:auto}.footer-top{display:flex;align-items:center;gap:35px}.footer-top>p{font-size:11px;color:var(--muted)}.footer-top>a:last-child{margin-left:auto;font-size:10px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;margin-top:30px;padding-top:16px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}
.article-shell{padding-top:26px}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:var(--muted);margin-bottom:35px}.breadcrumb a:hover{text-decoration:underline}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 210px;gap:70px}.article-header{padding:20px 0 35px;border-bottom:1px solid var(--line)}.article-labels{display:flex;align-items:center;gap:13px;font-size:11px;color:var(--green);margin-bottom:17px}.article-header h1{font-size:43px;line-height:1.6;letter-spacing:.02em}.article-intro{font-size:14px;color:var(--muted);margin-top:20px;line-height:2.1}.article-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:10px;color:var(--muted);margin-top:20px}.article-body{font-size:14px;line-height:2.1}.article-body section{padding-top:42px}.article-body section>h2{font-size:23px;line-height:1.7;margin-bottom:20px;letter-spacing:.02em}.article-body h2>span{font:12px monospace;color:var(--green);margin-right:14px;vertical-align:middle}.article-body p+p{margin-top:16px}.key-points{background:#eaf0e4;border-left:3px solid var(--green);padding:23px 26px;border-radius:0 8px 8px 0}.key-points p+p{margin-top:8px}.key-points b{color:var(--green)}.article-figure{margin:25px 0;background:white;border:1px solid var(--line);border-radius:12px;padding:25px}.article-figure .wave-svg{margin-top:15px}.article-figure figcaption{font-size:10px;color:var(--muted);margin-top:15px;line-height:1.8}.term-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.term-grid>div{padding:20px;border:1px solid var(--line);border-radius:9px;background:#f0f1e8}.term-grid strong{font:22px monospace;color:var(--green)}.term-grid p{font-size:12px;margin-top:10px}.formula{padding:25px;background:var(--ink);color:white;border-radius:10px;margin:22px 0}.formula small{font-size:11px;color:#cbd6c5;display:block}.formula strong{font-size:19px;line-height:1.9;display:block;margin:9px 0 15px}.formula>span{border-top:1px solid #ffffff30;padding-top:13px;display:block;font-size:12px}.formula b{color:var(--lime)}.worked-example{background:#eeeee4;border-radius:10px;padding:20px 24px;margin:22px 0;font-size:13px}.worked-example p+p{margin-top:9px}.caution{background:#f9eee0;border:1px solid #ead7be;border-radius:10px;padding:20px 24px;margin:24px 0}.caution b{font-size:13px}.caution p{font-size:12px;margin-top:7px}.calculator{margin-top:30px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:12px}.calculator h3{font-size:17px;margin:5px 0 20px}.calc-controls{display:grid;grid-template-columns:1fr 1fr;gap:15px}.calc-controls label{font-size:10px;color:var(--muted)}.calc-controls select,.calc-controls input{display:block;width:100%;margin-top:4px;background:var(--paper);border:1px solid #ccd3c7;border-radius:5px;padding:9px;color:var(--ink);font-size:12px;min-height:42px}.calculator output{display:block;background:var(--mint);padding:15px;margin-top:20px;font-size:16px;font-weight:700;border-radius:6px}.calculator>small{display:block;font-size:10px;color:var(--muted);margin-top:12px}.article-sidebar{position:sticky;top:35px;align-self:start;padding-top:25px}.article-sidebar nav{display:flex;flex-direction:column;margin-top:15px}.article-sidebar nav a{font-size:11px;padding:12px 0;border-bottom:1px solid var(--line)}.article-sidebar nav a:hover{color:var(--green)}.article-sidebar nav span{font:10px monospace;margin-right:12px;color:#8a9b83}.sidebar-note{margin-top:30px;padding:16px;background:#eeeee4;border-radius:7px;font-size:10px}.sidebar-note b{font-size:11px}.sidebar-note p{margin-top:8px;color:var(--muted)}.back-link{font-size:10px;margin-top:20px;display:inline-block;color:var(--green)}.flow-figure svg{max-width:480px;margin:auto}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:20px;font-size:12px;text-align:left}th{background:#e8ede2}th,td{padding:12px 15px;border-bottom:1px solid var(--line)}td:not(:first-child){font-family:monospace}.large-array{display:flex;justify-content:center;gap:16px;margin:20px 0}.large-array>div{display:flex;flex-direction:column;text-align:center}.large-array small{font:15px monospace;margin-bottom:8px}.large-array strong{font:30px monospace;border:1px solid #aaa2be;background:var(--lavender);padding:22px 28px;border-radius:8px}.large-array .selected strong{background:#76668d;color:white}.array-label{text-align:center;font-size:11px;color:var(--muted)}.array-callout{text-align:center;font-size:17px}.array-callout b{color:var(--green)}pre{background:var(--ink);color:#ecf2e6;padding:24px;border-radius:10px;overflow:auto;font-size:13px;line-height:2}#practice{margin-top:28px;border-top:1px solid var(--line)}.practice-heading{margin-bottom:25px}.practice-heading h2{font-size:28px;margin-bottom:7px}.practice-heading p{font-size:12px;color:var(--muted)}.question{padding:0;margin:0 0 30px;border:0;min-width:0}.question legend{display:block;width:100%;font-size:14px;line-height:1.9;font-weight:650;margin-bottom:13px}.question legend>span{display:inline-block;background:var(--green);color:white;border-radius:5px;font:12px monospace;padding:4px 7px;margin-right:11px}.answers{display:grid;gap:9px}.answer{display:flex;gap:12px;align-items:center;position:relative;border:1px solid #d7ddce;padding:13px 16px;border-radius:8px;background:white;font-size:12px;cursor:pointer;line-height:1.7;min-height:50px}.answer:hover{background:#f0f4ea}.answer:has(input:checked){border-color:var(--green);background:#eaf2e5}.answer input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.answer-letter{color:var(--muted);font:12px monospace}.answer.is-correct{border:2px solid #2d7b59;background:#eaf3e5}.answer.is-incorrect{border-color:#b4754c;background:#fff0e5}.answer:has(input:disabled){cursor:default}.answer-feedback{margin-top:12px;padding:15px;border-radius:6px;font-size:12px;line-height:1.9}.answer-feedback.correct{background:#e5efdc}.answer-feedback.incorrect{background:#f7e9da}.quiz-error{font-size:12px;color:#9a452e}.quiz-actions{display:flex;align-items:center;gap:28px;margin-top:15px}.quiz-result{background:#e2eecf;border:1px solid #bdcea9;border-radius:9px;padding:21px;margin-top:22px;font-weight:650;font-size:14px}.quiz-result a{display:block;margin-top:10px;font-size:12px}.all-explanations{margin-top:25px;border-block:1px solid var(--line);font-size:12px}.all-explanations summary{cursor:pointer;padding:14px 0;color:var(--green)}.all-explanations>div{padding:12px 0;border-top:1px solid var(--line)}.all-explanations p{margin-top:6px;color:var(--muted)}.article-body .article-cta{margin-top:38px;padding:30px;background:var(--mint);border-radius:12px}.article-cta>h2{font-size:23px;margin:10px 0 12px}.article-cta>p{font-size:13px}.article-cta>small{display:block;margin-top:18px;font-size:10px;color:var(--muted);line-height:1.9}.android-link{font-size:11px;color:var(--green);text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-left:18px}.article-summary .text-link{margin-top:15px;display:inline-block}.text-link{color:var(--green);text-decoration:underline;text-underline-offset:5px;font-size:12px}.article-body .sources{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.article-body .sources h2{font-size:12px;margin-bottom:12px}.sources a{text-decoration:underline;text-underline-offset:3px}.related-section{padding-top:65px;padding-bottom:65px}.related-section h2{font-size:25px}.related{grid-template-columns:repeat(2,1fr);max-width:760px}.related .lesson-card{display:grid;grid-template-columns:140px 1fr}.related .card-art{height:100%;min-height:210px}.related .mini-wave{gap:3px;transform:scale(.7)}.related .mini-array{gap:4px}.related .mini-array b{width:30px;height:34px;font-size:16px}.related .card-content{padding:18px}.related h3{font-size:16px}.related .card-content p{font-size:10px}.related .card-meta{font-size:8px}.related .card-number{font-size:8px;left:12px}.related .art-caption{font-size:8px}.simple-page{max-width:1000px;padding-top:65px;padding-bottom:90px}.simple-page h1{font-size:45px;line-height:1.65}.lead{font-size:15px;color:var(--muted);line-height:2.1;margin-top:25px}.app-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:45px 0}.app-feature-grid>div{background:white;border:1px solid var(--line);border-radius:12px;padding:28px}.app-feature-grid>div>span{font:11px monospace;color:var(--green)}.app-feature-grid h2{font-size:19px;margin:12px 0}.app-feature-grid p{font-size:13px;color:var(--muted)}.download-box{padding:35px;background:var(--mint);border-radius:12px;margin-bottom:30px}.download-box h2{font-size:23px;margin-bottom:20px}.download-box p{font-size:10px;color:var(--muted);margin-top:20px;line-height:1.9}.about-page{max-width:850px}.about-page h1{font-size:38px}.about-page>h2{font-size:21px;margin:35px 0 12px}.about-page>p:not(.lead){font-size:14px;line-height:2.1}.about-page>.button{margin-top:35px}
@media(min-width:1500px){.hero{padding-top:75px;padding-bottom:90px;gap:90px}}@media(max-width:1000px){.site-header{padding:0 28px;height:85px}.site-header nav{gap:18px;font-size:11px}.wrap{padding-inline:28px}.hero{gap:35px;padding-top:35px}h1{font-size:45px}.diagram-card{padding:20px}.hero-description{font-size:12px}.diagram-card h2{font-size:23px}.subject h3{font-size:14px}.subject p{font-size:9px}.subject a{font-size:9px}.app-banner{padding:36px;gap:40px}.app-banner h2{font-size:30px}.article-layout{grid-template-columns:minmax(0,1fr) 170px;gap:35px}.article-header h1{font-size:37px}.related .lesson-card{display:block}.related .card-art{height:150px;min-height:0}.related .mini-wave{transform:none;gap:6px}.related .mini-array b{width:40px;height:40px}.related .card-content{padding:20px}.related h3{font-size:20px}}
@media(max-width:720px){html{scroll-padding-top:25px}.site-header{height:78px;padding:0 22px;gap:15px}.brand{font-size:17px;gap:10px}.brand-sub{font-size:9px}.brand-symbol{height:37px;width:37px;font-size:30px;border-radius:10px}.site-header nav{display:none}.header-app{font-size:10px;padding:8px 12px}.wrap{padding-inline:22px}.hero{grid-template-columns:1fr;padding-top:26px;padding-bottom:38px;gap:32px}.hero h1{font-size:46px;line-height:1.4}.kicker{font-size:10px;margin-bottom:17px}.hero-description{font-size:12px;margin-top:19px}.hero-actions{margin-top:22px}.hero-proof{font-size:9px;margin-top:20px}.hero-visual{max-width:480px;width:100%;margin:auto;padding-top:17px;padding-inline:4px}.diagram-card{padding:21px;transform:rotate(-1deg)}.diagram-card h2{font-size:24px}.floating-label{right:2px;font-size:10px}.wave-box{margin-top:17px}.visual-footnote{margin-top:15px}.learning-strip .wrap{min-height:65px;gap:7px;flex-wrap:wrap;justify-content:center;padding-block:14px}.learning-strip span{font-size:9px;white-space:nowrap}.learning-strip b{font-size:8px;margin-right:3px}.learning-strip i{font-size:10px}.section{padding-top:45px;padding-bottom:45px}.section-heading{display:block;margin-bottom:24px}.section-heading h2{font-size:25px}.section-heading>p{font-size:11px;margin-top:12px}.eyebrow{font-size:8px;margin-bottom:9px}.search-row{display:block;margin-bottom:20px}.search-box{max-width:none;padding:12px;font-size:12px}.search-box input{font-size:11px;min-height:24px}.filters{margin-top:15px}.filter{font-size:10px;padding:7px 12px}.lesson-grid{grid-template-columns:1fr;gap:19px}.lesson-card{display:grid;grid-template-columns:115px minmax(0,1fr);border-radius:10px}.card-art{height:100%;min-height:218px}.card-number{font-size:8px;left:10px;top:14px}.mini-wave{gap:3px;transform:scale(.66);margin-top:0}.art-caption{font-size:8px;letter-spacing:0;margin-top:5px}.card-content{padding:18px 15px}.card-content h3{font-size:19px;margin-top:7px;margin-bottom:7px;line-height:1.6}.card-content p{font-size:10px;line-height:1.9;min-height:0}.card-meta{padding-top:12px;margin-top:12px;gap:5px;font-size:8px}.card-art .round-arrow{width:25px;height:25px;right:11px;bottom:12px}.mini-array{gap:3px}.mini-array b{width:28px;height:35px;font-size:16px}.mini-flow b{padding:7px 12px;font-size:9px}.mini-flow>span{padding:1px 15px}.mini-flow>div{font-size:8px}.subject-section{padding-block:40px}.subject-grid{grid-template-columns:1fr 1fr}.subject{padding:23px 13px 24px 0}.subject+.subject{padding-left:15px}.subject:nth-child(3){padding-left:0;border-left:0;border-top:1px solid #d6ddcf}.subject:nth-child(4){border-top:1px solid #d6ddcf}.subject h3{font-size:14px;margin-top:10px}.subject p{font-size:9px}.subject-no{font-size:8px}.subject a{font-size:9px;line-height:2}.app-banner{grid-template-columns:1fr;padding:29px 25px;gap:30px}.app-banner h2{font-size:29px}.app-banner p:not(.eyebrow){font-size:11px}.app-preview{max-width:330px;width:100%;margin:auto;padding:19px;box-shadow:6px 7px 0 #d2dfcc}.trust-line{padding-bottom:40px;align-items:flex-start;gap:13px;flex-wrap:wrap}.trust-line h2{font-size:13px}.trust-line p{font-size:10px}.trust-line>div{flex:1;min-width:220px}.trust-line>a{font-size:10px;margin-left:60px}.trust-mark{height:40px;width:40px;font-size:20px}footer{padding:28px 22px 20px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top>p{font-size:10px}.footer-top>a:last-child{margin-left:0;font-size:9px;flex-basis:100%}.footer-bottom{font-size:8px;display:block;margin-top:20px}.footer-bottom span{display:block;margin-top:4px}.article-shell{padding-top:12px}.breadcrumb{font-size:9px;gap:6px;margin-bottom:20px}.article-layout{display:block}.article-sidebar{display:none}.article-header{padding-top:10px;padding-bottom:25px}.article-header h1{font-size:32px;line-height:1.65}.article-intro{font-size:13px;margin-top:17px}.article-meta{gap:10px;font-size:9px}.article-body{font-size:13px;line-height:2.1}.article-body section{padding-top:32px}.article-body section>h2{font-size:20px;margin-bottom:16px}.article-body h2>span{font-size:10px;margin-right:9px}.key-points{padding:19px 17px}.article-figure{padding:16px;margin:20px 0}.article-figure figcaption{font-size:9px}.term-grid{gap:10px}.term-grid>div{padding:15px}.term-grid strong{font-size:19px}.term-grid p{font-size:11px}.formula{padding:20px}.formula strong{font-size:16px}.worked-example{font-size:11px;padding:17px}.caution{padding:18px}.caution p{font-size:11px}.calculator{padding:18px}.calculator h3{font-size:15px}.calc-controls{gap:12px}.calculator output{font-size:13px;padding:12px}.question legend{font-size:13px}.answer{font-size:11px;padding:12px;gap:9px}.answer-feedback{font-size:11px;padding:13px}.quiz-actions{gap:18px}.quiz-actions .button{font-size:12px;padding-inline:20px}.practice-heading h2{font-size:25px}.quiz-result{font-size:12px;padding:18px}.article-body .article-cta{padding:24px 20px}.article-cta>h2{font-size:20px}.article-cta>p{font-size:12px}.article-cta .android-link{display:block;margin:15px 0 0}.large-array{gap:10px}.large-array strong{font-size:25px;padding:17px 22px}.related-section{padding-top:40px;padding-bottom:45px}.related{grid-template-columns:1fr}.related .lesson-card{display:grid;grid-template-columns:115px 1fr}.related .card-art{height:100%;min-height:200px}.related .mini-wave{gap:3px;transform:scale(.66)}.related .mini-array b{width:28px;height:35px}.related h3{font-size:18px}.simple-page{padding-top:35px;padding-bottom:55px}.simple-page h1{font-size:33px}.simple-page .lead{font-size:13px}.app-feature-grid{grid-template-columns:1fr;gap:15px;margin:30px 0}.app-feature-grid>div{padding:22px}.app-feature-grid h2{font-size:18px}.app-feature-grid p{font-size:12px}.download-box{padding:25px 20px}.download-box h2{font-size:21px}.download-box .android-link{display:block;margin:15px 0 0}.about-page h1{font-size:30px}.about-page>h2{font-size:19px}.about-page>p:not(.lead){font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.button:hover,.lesson-card:hover{transform:none}}

@media(max-width:720px){.hero h1{font-size:40px}}
@media(max-width:370px){.hero h1{font-size:35px}.header-app{padding-inline:10px}}

@media(min-width:721px) and (max-width:1000px){.hero h1{font-size:clamp(30px,4.25vw,42px)}}

/* Selected authentic app infographics: crop only in CSS; original files stay intact. */
.app-card-art{overflow:hidden;background:#e6eff4;isolation:isolate}
.app-card-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform .3s;z-index:-1}
.lesson-card:hover .app-card-art>img{transform:scale(1.04)}
.app-card-art:after{content:"";position:absolute;inset:0;background:linear-gradient(#f7fcff45,transparent 40%,#fff8);z-index:-1}
.app-card-art .card-number{background:#fffffff0;padding:3px 7px;border-radius:4px;top:12px;left:12px;box-shadow:0 2px 8px #173a4b12}
.graphic-origin{position:absolute;left:12px;bottom:13px;background:#fffffff0;color:#28556a;border:1px solid #cbdde5;border-radius:5px;padding:2px 7px;font-size:9px;font-weight:650}
.app-card-art .round-arrow{background:white}
.graphic-preview{position:relative;display:block;width:100%;height:260px;overflow:hidden;border:1px solid #d6e3e6;border-radius:9px;background:#f4f9fc;padding:0;text-align:initial;cursor:zoom-in}
.graphic-preview>img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .15s}
.graphic-preview:hover>img{filter:brightness(.97)}
.graphic-preview:after{content:"";position:absolute;bottom:0;left:0;right:0;height:70px;background:linear-gradient(transparent,#ffffffed);pointer-events:none}
.graphic-expand{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:1;white-space:nowrap;display:block;background:var(--ink);color:white;border-radius:50px;padding:6px 16px;font-size:11px;line-height:1.8;font-weight:650;box-shadow:0 3px 10px #143f3a20}
.hero-graphic{margin-top:19px;margin-bottom:0}.hero-graphic-preview{height:245px;border-color:#cdddde}.hero-graphic-preview .graphic-expand{font-size:10px;padding:4px 13px;bottom:11px}.graphic-credit{font-size:9px!important;color:var(--muted);text-align:right;margin:6px 0 13px!important;line-height:1.8!important}
.question{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:32px}
.question-diagram{margin-top:16px;border:1px solid #cadde0;border-radius:9px;background:#f6faf9;overflow:hidden}
.question-diagram>summary{display:flex;align-items:center;gap:12px;list-style:none;padding:12px 16px;color:var(--green);cursor:pointer;font-size:12px;font-weight:650;line-height:1.8}
.question-diagram>summary::-webkit-details-marker{display:none}.question-diagram>summary small{font-size:9px;color:var(--muted);font-weight:400;margin-left:auto}.diagram-chevron{font-size:17px;font-weight:400}.question-diagram[open] .diagram-chevron{transform:rotate(45deg)}
.question-diagram-body{padding:0 15px 14px}.question-diagram-body .graphic-preview{height:280px}.question-diagram-body>p{font-size:9px;color:var(--muted);margin-top:8px;line-height:1.8}
.practice-prep{background:#edf1e7;border:1px solid #d6dfcd;border-radius:10px;margin-top:26px;padding:20px 24px;font-size:12px}.practice-prep>b{font-size:13px}.practice-prep>p{margin-top:8px;line-height:2}
#diagram-dialog{width:min(94vw,960px);max-width:960px;max-height:92vh;border:0;border-radius:14px;background:#f7f9f8;padding:0;color:var(--ink);box-shadow:0 18px 80px #071d2a60;overflow:auto;overscroll-behavior:contain}
#diagram-dialog::backdrop{background:#0c232bbf;backdrop-filter:blur(5px)}
.dialog-heading{position:sticky;top:0;z-index:3;background:#f9fbf7f5;border-bottom:1px solid #d5e0d9;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;backdrop-filter:blur(10px)}
.dialog-heading h2{font-size:15px;line-height:1.6;margin-top:3px}.dialog-heading>button{flex-shrink:0;background:var(--ink);color:white;border:0;border-radius:6px;padding:9px 14px;font-size:11px;min-height:40px;cursor:pointer}.dialog-image-wrap{padding:18px;max-width:850px;margin:auto}.dialog-image-wrap img{display:block;width:100%;height:auto;border-radius:5px}.dialog-open{overflow:hidden}
@media(min-width:721px) and (max-width:1000px){.hero-graphic-preview{height:215px}}
@media(max-width:720px){.hero-graphic-preview{height:240px}.graphic-expand{font-size:10px;padding:6px 12px}.question-diagram>summary{gap:7px;padding:12px;font-size:11px}.question-diagram>summary small{font-size:8px}.question-diagram-body{padding:0 10px 11px}.question-diagram-body .graphic-preview{height:220px}.question-diagram-body>p{font-size:9px}.practice-prep{padding:17px;font-size:11px}.app-card-art>img{object-position:center 40%;opacity:.94}.graphic-origin{font-size:8px;left:7px;bottom:13px;padding:1px 4px;max-width:100px}.app-card-art .card-number{left:7px;font-size:7px;padding:2px 5px}.app-card-art .round-arrow{bottom:39px;right:9px}#diagram-dialog{width:96vw;max-height:94vh;border-radius:10px}.dialog-heading{padding:12px 14px;gap:10px}.dialog-heading h2{font-size:12px}.dialog-heading>button{padding:8px 11px;font-size:10px}.dialog-image-wrap{padding:7px}}

.question-app-link{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:15px 0}
.question-app-link>a{display:inline-flex;gap:15px;align-items:center;border:1px solid #9dbba8;background:#eaf1e6;color:var(--green);border-radius:6px;padding:8px 13px;font-size:11px;font-weight:650;line-height:1.8}
.question-app-link>a:hover{background:#dce9d5}.question-app-link>small{font-size:9px;color:var(--muted)}
.question-handoff{max-width:900px;padding-top:25px;padding-bottom:65px}.handoff-card{max-width:700px;margin:30px auto;background:white;border:1px solid var(--line);border-radius:16px;padding:40px}.handoff-card h1{font-size:36px;line-height:1.6}.handoff-question{margin:25px 0;background:#f1f3ec;border-radius:9px;padding:20px}.handoff-question>p{font-size:13px;line-height:2;margin-top:12px}.handoff-help{font-size:11px;color:var(--muted);margin-top:13px;line-height:1.9}.open-question{width:100%;font-size:13px}.handoff-install{border-top:1px solid var(--line);margin:26px 0;padding-top:25px}.handoff-install h2{font-size:17px}.handoff-install>p{font-size:12px;color:var(--muted);margin-top:9px}.handoff-stores{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.handoff-stores .button{font-size:11px;padding:12px 16px}.store-secondary{background:#edf1e7;border:1px solid #c5d0bd;color:var(--green)}.handoff-install .handoff-return{font-size:10px}.handoff-card .text-link{font-size:11px}
@media(max-width:720px){.question-app-link{gap:7px}.question-app-link>a{font-size:10px}.question-app-link>small{font-size:8px}.question-handoff{padding-top:15px}.handoff-card{padding:25px 20px;margin-top:20px}.handoff-card h1{font-size:29px}.handoff-question{padding:17px}.handoff-question>p{font-size:12px}.open-question{font-size:11px;padding-inline:15px;gap:10px}.handoff-stores{display:grid;grid-template-columns:1fr}.handoff-install h2{font-size:16px}}

.app-top-download{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.app-top-download .button{font-size:12px}@media(max-width:720px){.app-top-download{display:grid;grid-template-columns:1fr}.app-top-download .button{font-size:11px}}
/* Textbook structure: a clear chapter route, definitions, and review. */
.active-subjects{display:grid;grid-template-columns:1fr 1fr;gap:22px}.chapter-card{background:#fffdf7;border:1px solid #cdd8c7;border-radius:13px;padding:28px}.chapter-card h3{font-size:22px;line-height:1.65;margin:13px 0}.chapter-card>p{font-size:12px;color:var(--muted);margin-bottom:20px}.chapter-card>a{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.chapter-card>a>span:first-child{font:12px monospace;color:var(--green)}.chapter-card>a>span:last-child{margin-left:auto}.chapter-card>a:hover b{text-decoration:underline}.future-subjects{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:25px 0 15px;color:var(--muted);font-size:11px}.future-subjects>span{font-weight:650}.future-subjects>small{font-size:10px}.subject-section .text-link{font-size:12px}.real-screens{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:460px;width:100%;margin:auto}.real-screens figure{margin:0;min-width:0}.real-screens img{width:100%;height:auto;display:block;border:1px solid #d0d7d8;border-radius:19px;box-shadow:0 10px 25px #193e3412}.real-screens figure>button{display:block;border:0;padding:0;background:transparent;width:100%;cursor:zoom-in}.real-screens figcaption{font-size:10px;line-height:1.8;text-align:center;margin-top:12px}.real-screens figcaption button{font-size:10px}.real-screens>p{grid-column:1/-1;font-size:9px!important;text-align:center;color:var(--muted);margin:0!important}.simple-page>.real-screens{max-width:560px;margin:38px auto}.learning-objectives{background:#eaf0e4;border:1px solid #cddbc3;border-radius:10px;padding:24px!important;margin-top:25px}.article-body .learning-objectives h2{font-size:21px;margin:8px 0 13px}.learning-objectives ul{margin:0;padding-left:1.4em;font-size:13px}.article-body .prerequisite{font-size:11px;border-top:1px solid #d0dcc8;padding-top:13px;margin-top:15px}.everyday h2{font-size:22px}.mobile-toc{background:#fff;border:1px solid var(--line);border-radius:8px;margin-top:18px;padding:13px 18px;font-size:12px}.mobile-toc summary{cursor:pointer;font-weight:650}.mobile-toc nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.mobile-toc a{text-decoration:underline;text-underline-offset:4px}.vocabulary-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.9}.vocabulary-table caption{text-align:left;color:var(--muted);font-size:10px;margin-bottom:9px}.vocabulary-table th,.vocabulary-table td{padding:14px;border:1px solid var(--line);text-align:left;vertical-align:top}.vocabulary-table th{width:30%;background:#edf2e8;font-weight:650}.vocabulary-table td{background:#fff}.review-list{padding-left:1.4em}.review-list li{margin-bottom:9px}.lesson-navigation{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:12px;color:var(--green)}.study-routes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:35px 0 45px}.study-routes>div{border:1px solid var(--line);background:#edf2e7;padding:22px;border-radius:10px}.study-routes b{font-size:14px}.study-routes p{font-size:12px;margin-top:9px}.hub-chapter{margin:40px 0}.hub-chapter>h2{font-size:24px;line-height:1.6;border-bottom:2px solid var(--green);padding-bottom:16px}.hub-lesson{display:flex;gap:22px;align-items:flex-start;padding:28px 10px;border-bottom:1px solid var(--line)}.hub-lesson:hover{background:#eef1e7}.hub-number{font:22px Georgia,serif;color:var(--green);padding-top:5px}.hub-lesson>div{flex:1}.hub-lesson h3{font-size:20px}.hub-lesson ul{font-size:12px;padding-left:1.4em;margin:12px 0}.hub-lesson small{font-size:10px;color:var(--muted)}.planned-chapters{background:#edeee8;border-radius:10px;padding:25px;color:var(--muted);margin:40px 0 20px}.planned-chapters h2{font-size:16px;margin-bottom:14px}.planned-chapters p{font-size:12px;margin-top:10px}.planned-chapters small,.curriculum-note{font-size:10px;color:var(--muted)}
@media(max-width:720px){.active-subjects{grid-template-columns:1fr;gap:16px}.chapter-card{padding:22px}.chapter-card h3{font-size:20px}.chapter-card>a{font-size:11px}.future-subjects{display:block;font-size:10px}.future-subjects p{margin-top:7px}.future-subjects small{display:block;margin-top:9px}.real-screens{gap:12px;max-width:350px}.real-screens img{border-radius:13px}.real-screens figcaption{font-size:9px}.app-banner{padding-inline:22px}.article-body .learning-objectives{padding:20px!important}.article-body .learning-objectives h2{font-size:18px}.learning-objectives ul{font-size:12px}.vocabulary-table th,.vocabulary-table td{padding:10px;font-size:11px}.vocabulary-table th{width:32%}.study-routes{grid-template-columns:1fr;gap:12px;margin:25px 0}.hub-chapter>h2{font-size:20px}.hub-lesson{gap:13px;padding:23px 0}.hub-lesson h3{font-size:17px}.hub-lesson ul{font-size:11px}.hub-number{font-size:18px}.planned-chapters{padding:20px}.hero h1{font-size:38px}.hero-proof{flex-wrap:wrap}.hero-description br{display:none}}

/* Show the authentic infographic intact, rather than a cropped teaser. */
.graphic-preview,.hero-graphic-preview,.question-diagram-body .graphic-preview{height:auto;overflow:visible;background:white}
.graphic-preview>img{width:100%;height:auto;object-fit:contain;display:block;border-radius:8px}
.graphic-preview:after{display:none}
.graphic-preview .graphic-expand{position:static;transform:none;display:table;margin:12px auto;box-shadow:none}
.hero-graphic-preview .graphic-expand{margin:10px auto}
.question-diagram-body{padding-top:5px}
.hero-visual .diagram-card{transform:none}
@media(max-width:720px){.hero-graphic-preview,.question-diagram-body .graphic-preview{height:auto}.graphic-preview .graphic-expand{font-size:10px}}

/* Bridge from explanation to exercises; mobile-first readable teaching text. */
.question-skill{font-size:13px;color:var(--green);font-weight:650;margin:10px 0}.question-hint{border:1px solid var(--line);border-radius:7px;padding:12px 15px;margin:12px 0 18px;background:#f0f4eb;font-size:13px}.question-hint summary{cursor:pointer;font-weight:650}.question-hint p{margin-top:10px}.diagram-focus{background:#eef4e7;border-left:3px solid var(--green);padding:15px 18px;margin:12px 0 18px;font-size:13px;line-height:1.9}.diagram-focus ol{margin:8px 0 0;padding-left:1.5em}.guided-example{border-top:2px solid var(--green);margin-top:35px}.guided-example details{border:1px solid #cad8c1;background:#f0f4e9;border-radius:8px;padding:15px 18px;margin:20px 0}.guided-example summary{cursor:pointer;font-weight:650}.guided-steps{margin-top:14px}.question legend>span{white-space:nowrap}
@media(max-width:720px){.article-body{font-size:16px;line-height:1.95}.article-intro{font-size:16px}.learning-objectives ul,.article-body .prerequisite,.term-grid p,.caution p,.practice-prep,.question legend,.answer,.answer-feedback,.question-hint,.diagram-focus,.guided-example,.vocabulary-table th,.vocabulary-table td,.worked-example{font-size:16px}.article-body section>h2{font-size:23px}.question-skill{font-size:14px}.vocabulary-table th,.vocabulary-table td{padding:12px;overflow-wrap:anywhere}.article-body .learning-objectives h2{font-size:21px}.article-body .prerequisite{font-size:14px}.article-figure figcaption,.question-diagram-body>p,.sources p,.article-cta>small{font-size:12px;line-height:1.9}.question-diagram>summary{font-size:14px;flex-wrap:wrap}.question-diagram>summary small{font-size:12px}.question legend>span{font-size:12px}.question-hint summary{min-height:30px}.answer{padding:15px 12px;line-height:1.8}.question-app-link>a{font-size:13px}.question-app-link>small{font-size:12px}.mobile-toc{font-size:14px}.guided-example details{padding:15px}.article-body pre{font-size:14px}.review-list{font-size:16px}.question-diagram-body{padding-inline:10px}.diagram-focus{padding:14px}.article-body .article-cta>p{font-size:16px}.article-summary>p{font-size:16px}}

.app-unit-diagram{border-top:2px solid var(--green);margin-top:35px}.app-unit-diagram figure{margin:22px 0 0}.app-unit-diagram figcaption{font-size:12px;color:var(--muted);line-height:1.9;margin-top:12px}.app-unit-diagram .unit-scope{font-size:13px;line-height:1.9;background:#edf1e8;border-radius:8px;padding:16px}.unit-original>img{border-radius:9px}.app-unit-diagram .graphic-preview{border:0}.app-unit-diagram .unit-original{height:auto}.app-unit-diagram h2{margin-top:12px}@media(max-width:720px){.app-unit-diagram figcaption{font-size:12px}.app-unit-diagram .unit-scope{font-size:14px}}

.q1-flowchart{margin:22px auto;max-width:500px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}.q1-flowchart svg{width:100%;height:auto}.q1-flowchart figcaption{font-size:12px;color:var(--muted);line-height:1.9;margin-top:14px}
