@font-face {
  font-family: 'Ysabeau';
  font-style: normal;
  font-weight: 350 550;
  font-display: swap;
  src: url(/fonts/ysabeau-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Ysabeau';
  font-style: normal;
  font-weight: 350 550;
  font-display: swap;
  src: url(/fonts/ysabeau-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Ysabeau';
  font-style: normal;
  font-weight: 350 550;
  font-display: swap;
  src: url(/fonts/ysabeau-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--paper:#f4f2e9;--ink:#294344;--muted:#627472;--line:#29434424;--glass:#fffff770;--solid:#f8f7ef;--accent:#5d8174;--shadow:0 16px 46px #2547440c,0 1px 2px #25474412;--display:'Ysabeau',Geneva,Verdana,'PingFang SC','Microsoft YaHei',sans-serif;color-scheme:light}
html[data-theme=dark]{--paper:#142425;--ink:#e8ece1;--muted:#adbfba;--line:#e1ebe02b;--glass:#223739ac;--solid:#213234;--accent:#a6c7b6;--shadow:0 16px 48px #0003;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:radial-gradient(ellipse at 84% 7%,#97b9b12b,transparent 32%),radial-gradient(ellipse at 8% 40%,#d9b98916,transparent 38%),var(--paper);color:var(--ink);font:15px/1.7 Geneva,Verdana,Arial,'PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,summary,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button,input,select,summary{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border:1px solid var(--line);background:transparent}p{color:var(--muted);margin:0 0 1.2em}h1,h2,h3,blockquote{font-family:var(--display);font-weight:450;letter-spacing:-.025em;line-height:1.15;margin:0 0 .55em;text-wrap:balance}h1{font-size:clamp(44px,5.4vw,78px)}h2{font-size:clamp(32px,3.4vw,48px)}h3{font-size:29px}small,.small{font-size:12px;line-height:1.8;color:var(--muted)}.mono,.eyebrow{font:11px/1.6 'Courier New',monospace;letter-spacing:.07em}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);display:flex;gap:12px;align-items:center;margin-bottom:22px}.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #759a8c20}.wrap{max-width:1280px;width:calc(100% - 100px);margin:0 auto}.narrow{max-width:890px}.glass{border:1px solid #ffffff88;background:var(--glass);backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15);box-shadow:var(--shadow)}html[data-theme=dark] .glass{border-color:#ffffff20}.header{max-width:1380px;width:calc(100% - 72px);margin:28px auto 0;border-radius:27px;min-height:90px;padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;position:sticky;top:22px;z-index:20}.brand{display:flex;align-items:center;gap:13px;flex-shrink:1;min-width:0}.brand>span:last-child{min-width:0;font:500 24px/1.2 var(--display)}.brand small{font:9px/1.7 'Courier New',monospace;letter-spacing:.17em;display:block;margin-top:5px;text-transform:uppercase}.brand-icon{flex-shrink:0;display:flex;align-items:center;color:var(--accent)}nav{display:flex;align-items:center;gap:25px}nav a{font-size:13px;white-space:nowrap}nav a[aria-current],nav a:hover{color:var(--accent)}.header-actions{flex-shrink:0;display:flex;gap:9px;align-items:center}.icon-button{width:42px;height:42px;border-radius:50%;background:#ffffff18;font-size:21px}.menu-button{display:none}.languages{position:relative}.languages summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:15px;padding:10px 12px;display:flex;gap:10px;font:12px/1.7 'Courier New',monospace}.languages summary::-webkit-details-marker{display:none}.languages>div{position:absolute;right:0;top:54px;min-width:150px;border-radius:14px;padding:9px;background:var(--solid)}.languages a{display:block;padding:7px 9px;border-radius:8px}.languages a:hover{background:var(--line)}.skip{position:fixed;top:-100px;left:20px;z-index:60;background:var(--ink);color:var(--paper);padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:65px;align-items:center;padding:90px 0 80px}.hero h1{font-size:clamp(52px,5.5vw,80px);margin-bottom:30px}.lead{font-family:var(--display);font-size:23px;line-height:1.6;font-weight:450;max-width:790px;color:var(--muted)}.hero .lead{max-width:550px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:34px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:15px 22px;border-radius:999px;font-size:14px;line-height:1.5;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #294b4c20}.button span{font-size:24px}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.text-link{border:0;background:none;border-bottom:1px solid var(--line);padding:2px 0;font-size:13px;line-height:1.6}.hero-facts{display:flex;gap:23px;flex-wrap:wrap;color:var(--muted);margin-top:34px;font-size:10px}.hero-art{border-radius:30px;overflow:hidden;transform:rotate(1deg);background:linear-gradient(135deg,#c3d8d91c,#ffedce30),var(--glass)}.art-top,.art-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;font-size:9px;border-bottom:1px solid var(--line);color:var(--muted)}.art-top button{font:inherit;border-radius:9px;padding:6px 9px}.art-bottom{border-bottom:0;border-top:1px solid var(--line)}.atlas{height:380px;position:relative;display:grid;place-items:center;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:34px 34px}.atlas-rings{position:absolute;width:300px;height:300px;border:1px dashed var(--line);border-radius:50%;animation:turn 100s linear infinite}.atlas-rings:before,.atlas-rings:after{content:'';position:absolute;inset:28px;border:1px solid var(--line);border-radius:50%;transform:rotateX(55deg)}.atlas-rings:after{transform:rotateY(55deg)}.atlas-book{display:flex;flex-direction:column;align-items:center;justify-content:center;width:200px;height:230px;border:1px solid #fff8;border-radius:18px;background:linear-gradient(125deg,#ffffffa0,#d3d6be20),var(--solid);box-shadow:10px 18px 26px #294b4c18;transform:rotate(-10deg);color:var(--accent);animation:float 9s ease-in-out infinite}.atlas-book .mono{font-size:9px}.atlas-icon{position:absolute;display:flex;gap:7px;align-items:center;font-size:9px;line-height:1.4;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--solid);box-shadow:var(--shadow);color:var(--topic);transition:transform .25s}.atlas-icon span{max-width:80px}.atlas-icon:hover{transform:translateY(-4px)}.a0{top:42px;left:18px}.a1{top:35px;right:14px}.a2{top:175px;right:7px}.a3{bottom:36px;right:26px}.a4{bottom:36px;left:20px}.a5{top:180px;left:3px}.section{padding:70px 0;border-top:1px solid var(--line)}.section-head{max-width:750px;margin-bottom:36px}.section-head h2{margin-bottom:15px}.section-head p{max-width:640px}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.topic-card{padding:26px 28px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#ffffff20,transparent);transition:background .2s,transform .2s}.topic-card:hover{background:var(--glass);transform:translateY(-4px)}.topic-card>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;color:var(--topic)}.topic-card p{font-size:13px;line-height:1.8;min-height:47px}.topic-card>.mono{display:flex;justify-content:space-between;color:var(--muted)}.topic-card b{font-size:22px;font-weight:normal}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.section>.lesson-grid:has(>article:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-card{position:relative;border-top:2px solid var(--topic);background:linear-gradient(130deg,var(--glass),transparent);border-radius:0 0 18px 18px;transition:background .2s}.lesson-card:hover{background:var(--glass)}.lesson-link{display:block;padding:27px 25px 55px;height:100%}.card-top{color:var(--topic);margin-bottom:25px;display:flex;align-items:center;gap:12px}.card-top .mono{font-size:9px}.lesson-card h3{font-size:27px;line-height:1.23}.lesson-card p{font-size:13px;line-height:1.85;margin-bottom:10px}.card-arrow{position:absolute;bottom:17px;right:26px;font-size:24px;color:var(--topic)}.save-card{position:absolute;bottom:18px;left:25px;border:0;font-size:25px;line-height:1;border-radius:8px;padding:3px 6px}.save-card[aria-pressed=true]{color:var(--topic)}.read-dot{position:absolute;bottom:23px;left:65px;color:var(--accent)}.quote-section{margin-top:20px;padding:45px 70px;border-radius:24px;display:flex;align-items:center;gap:35px;flex-wrap:wrap}.quote-section svg{color:var(--accent);flex:none}.quote-section blockquote{flex:1;min-width:240px;font-size:35px;margin:0}.book-invite{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:90px 0}.book-invite p{max-width:590px}.spines{display:flex;align-items:end;justify-content:center;padding:20px 0;gap:8px;min-height:240px}.spines span{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;height:calc(240px - var(--i)*12px);width:58px;border-radius:5px 10px 10px 5px;border-left:8px solid #0002;background:var(--ink);color:var(--paper);font:12px/1 'Courier New',monospace;letter-spacing:.25em;transform:rotate(calc(var(--i)*4deg - 6deg));box-shadow:6px 12px 20px #0002}.spines span:nth-child(2n){background:#947557;color:#fff4df}.page-top{padding:75px 0 80px;min-height:70vh}.page-top>h1{max-width:950px}.page-top>.lead{margin-bottom:45px}.filters{padding:20px 24px;border-radius:21px;margin:35px 0}.search-label{display:flex;align-items:center;gap:14px}.search-label>span[aria-hidden]{font-size:29px}.search-label input{width:100%;padding:9px 0;font:21px/1.4 var(--display);border:0;background:transparent;color:var(--ink);min-width:0}.filter-bottom{border-top:1px solid var(--line);margin-top:16px;padding-top:17px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.filter-bottom output{margin-left:auto}.filter-bottom select,.lab select{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--solid);color:var(--ink);max-width:100%}.check{display:flex;align-items:center;gap:7px;font-size:12px}.check input{accent-color:var(--accent)}[hidden]{display:none!important}.article{padding:60px 0 40px}.back-link{font-size:12px;color:var(--muted)}.article-header{padding:45px 0 40px;max-width:920px}.article-header h1{font-size:clamp(42px,5.5vw,72px)}.pill{border-radius:999px;padding:10px 18px;font-size:12px}.pill[aria-pressed=true]{background:var(--ink);color:var(--paper)}.article-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start}.essentials h2{font-size:31px}.essentials ol{list-style:none;padding:0;margin:25px 0 35px;counter-reset:item}.essentials li{counter-increment:item;display:flex;align-items:start;gap:18px;padding:16px 0;border-top:1px solid var(--line);line-height:1.9}.essentials li:before{content:'0' counter(item);font:12px/2.5 'Courier New',monospace;color:var(--accent)}.example{padding:25px 28px;border-radius:19px}.example .eyebrow{margin-bottom:12px}.example p{margin:0;font-size:14px;line-height:1.85}.lesson-figure{margin:0;position:sticky;top:150px}.lesson-figure figcaption{font:10px/1.5 'Courier New',monospace;color:var(--muted);margin-top:14px;text-align:center}.diagram{border-radius:22px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(125deg,var(--glass),transparent);color:var(--topic)}.diagram-stage{position:relative;display:grid;place-items:center;height:240px;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:18px 18px;overflow:hidden}.diagram-stage>svg{position:absolute;inset:20px 0;width:100%;height:190px;fill:none;stroke:var(--topic);stroke-width:1;opacity:.35}.diagram-stage>svg .signal{stroke-width:3;stroke-dasharray:4 60;animation:signal 10s linear infinite}.diagram-core{width:135px;height:135px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--solid);z-index:1}.diagram-core svg{max-width:85px}.diagram-orbit{position:absolute;border:1px solid var(--line);border-radius:50%;width:210px;height:150px;transform:rotate(-25deg)}.diagram-orbit.o2{transform:rotate(25deg);width:260px}.diagram-node{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--topic);box-shadow:0 0 0 8px var(--line)}.n1{top:42px;left:23%}.n2{right:17%;top:100px}.n3{bottom:30px;left:38%}.flow{list-style:none;display:flex;margin:0;padding:20px 12px;border-top:1px solid var(--line);gap:12px;color:var(--ink)}.flow li{flex:1;min-width:0;font-size:12px;line-height:1.6}.flow li+li:before{content:'→';position:absolute;margin-left:-12px;color:var(--muted)}.flow li>span{display:block;padding:0 7px}.flow li .mono{font-size:9px;color:var(--topic);margin-bottom:7px}.quiz{padding:32px 35px;border-radius:22px;margin-top:55px;display:grid;grid-template-columns:1fr auto;gap:20px}.quiz h2{font-size:31px;max-width:800px}.quiz .eyebrow{margin-bottom:16px}.quiz-options{display:flex;gap:10px;align-items:center}.quiz-options button{padding:12px 22px;border-radius:99px;min-width:76px}.quiz-options button[aria-pressed=true]{background:var(--ink);color:var(--paper)}[data-answer-feedback]{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;font-size:13px;line-height:1.8}[data-answer-feedback] ul{color:var(--muted);padding-left:22px}.article-end{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:35px 0 50px}.references{border-top:1px solid var(--line);padding-top:28px}.references h2{font-size:30px}.references ul{padding-left:20px;font-size:13px}.references a,.link-row a{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}.references li{margin:10px 0}.path-list{display:grid;gap:30px}.path-card{padding:30px 35px;border-radius:24px}.path-title{display:flex;align-items:center;gap:24px}.path-title>svg{color:var(--topic);flex:none}.path-title .eyebrow{margin-bottom:7px}.path-title h2{font-size:34px;margin-bottom:9px}.path-title p{font-size:13px}.path-progress{margin-left:auto;flex-shrink:0;font-size:10px;color:var(--muted)}.path-card ol{list-style:decimal-leading-zero;padding-left:26px;margin:20px 0 0}.path-card li{padding-left:14px;border-top:1px solid var(--line)}.path-card li::marker{font:11px 'Courier New',monospace;color:var(--topic)}.path-card li a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0}.path-card li a>.mono{flex-shrink:0;font-size:10px;color:var(--muted)}.path-card li[data-complete=true] a>span:first-child:after{content:' ✓';color:var(--accent)}.books-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.book-card{display:grid;grid-template-columns:185px 1fr;gap:26px;border-top:1px solid var(--line);padding:30px 0}.book-cover{min-height:285px;background:var(--book-color);border-left:7px solid #0002;padding:20px 18px;color:#fff3dd;border-radius:3px 13px 13px 3px;box-shadow:5px 10px 22px #0002;display:flex;flex-direction:column;gap:16px}.book-cover .mono{font-size:8px;color:#fff3dd99}.book-cover svg{margin:6px auto;flex-shrink:0}.book-cover h2{font-size:25px;line-height:1.25;letter-spacing:-.02em}.book-cover>span:last-child{font-size:10px;margin-top:auto}.book-note{font-size:13px;line-height:1.85;padding-top:6px}.book-note .eyebrow{font-size:9px;line-height:1.8;margin-bottom:12px}.book-note details{margin:14px 0 22px;border-top:1px solid var(--line);padding-top:12px}.book-note summary{cursor:pointer;font-size:12px}.book-note details p{margin-top:10px}.book-note .text-link{font-size:12px}.book-caveat{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.prose-section{margin:40px 0}.prose-section h2{font-size:33px}.narrow>p,.prose-section p{line-height:1.95}.link-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;font-size:12px}.source-list{list-style:none;padding:0}.source-list li{padding:18px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.source-list small{display:block;margin-top:7px;font-size:9px}.labs{display:grid;grid-template-columns:1fr 1fr;gap:25px}.lab{padding:28px 30px;border-radius:24px;min-width:0}.lab h2{font-size:34px}.lab .eyebrow{font-size:10px}.lab p{font-size:13px}.lab .small{font-size:11px}.lab-controls{display:flex;gap:20px;margin:26px 0}.lab-controls>label{flex:1;min-width:0}.lab label{display:block;font-size:12px}.lab label>input:not([type=range]){display:block;width:100%;background:var(--solid);border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--ink);margin-top:8px;font:14px/1.6 'Courier New',monospace}.lab label>select{display:block;width:100%;margin-top:8px}.lab input[type=range]{display:block;width:100%;accent-color:var(--accent);margin:18px 0 24px;cursor:pointer}.lab output{float:right;font:12px/1.5 'Courier New',monospace}.bitbar{display:flex;gap:3px;padding:25px 0 8px}.bitbar i{height:38px;flex:1;border:1px solid var(--line);border-radius:4px}.bitbar i:nth-child(8n){margin-right:5px}.bitbar i[data-network-bit=true]{background:var(--accent);opacity:.8}.readouts{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);padding-top:22px;margin-top:20px}.readouts dt{font-size:11px;color:var(--muted)}.readouts dd{font:18px/1.8 'Courier New',monospace;margin:7px 0 0;overflow-wrap:anywhere}.readouts [data-range]{font-size:12px}.circuit-visual{width:100%;height:150px;stroke:var(--accent);stroke-width:2;fill:none}.circuit-visual text{font:17px 'Courier New',monospace;fill:var(--muted);stroke:none;text-anchor:middle}.circuit-visual circle{fill:var(--accent)}.light-path{display:flex;align-items:center;gap:16px;margin:34px 0 45px;font-size:30px}.light-path>i{position:relative;flex:1;height:1px;background:var(--line)}.light-path>i:before{content:'';width:8px;height:8px;background:var(--accent);position:absolute;top:-4px;border-radius:50%;animation:travel 5s ease-in-out infinite}.presets{display:flex;gap:8px;flex-wrap:wrap}.presets button{padding:8px 10px;border-radius:9px;font:10px/1.5 'Courier New',monospace}.scenario{border:0;padding:0;margin-top:26px}.scenario legend{font-size:13px;margin-bottom:15px}.scenario button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;padding:15px;border-radius:12px;margin:10px 0;font-size:12px;line-height:1.8}.scenario button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.scenario-feedback{padding-top:15px;border-top:1px solid var(--line)}.scenario-feedback:empty{display:none}.footer{max-width:1380px;width:calc(100% - 72px);margin:0 auto 24px;border-radius:24px;padding:22px 28px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px}.footer small{display:block;font:9px/1.7 'Courier New',monospace;margin-top:6px}.footer-centre{text-align:center}.release{position:relative;font-family:'Courier New',monospace;font-size:10px}.release summary{cursor:pointer;list-style:none}.release-panel{position:absolute;right:0;bottom:35px;min-width:300px;max-width:350px;display:grid;gap:12px;padding:20px;border-radius:15px;background:var(--solid)}.release-panel code{font-size:10px;overflow-wrap:anywhere}.release-panel span{font-size:10px;color:var(--muted)}
@keyframes turn{to{transform:rotate(360deg)}}@keyframes float{50%{transform:rotate(-6deg) translateY(-8px)}}@keyframes signal{to{stroke-dashoffset:-128}}@keyframes travel{0%{left:0}100%{left:100%}}
html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation-play-state:paused!important}html[data-theme=dark] .atlas-book{background:linear-gradient(125deg,#ffffff0e,transparent),var(--solid)}html[data-theme=dark] .atlas-icon{color:var(--ink)}html[data-theme=dark] :is(.card-top,.topic-card>div,.diagram,.path-title>svg){color:var(--accent)}
@media(min-width:1500px){.hero{padding:105px 0 100px}.atlas{height:410px}}
@media(max-width:1150px){.header{gap:15px;padding:15px 18px}.brand>span:last-child{font-size:21px}nav{gap:17px}nav a{font-size:12px}.hero{gap:35px}.wrap{width:calc(100% - 72px)}.hero h1{font-size:58px}.atlas-icon span{max-width:62px;font-size:8px}.atlas-icon{padding:8px}.atlas-book{width:155px;height:200px}.atlas-book svg{width:130px}.books-grid{gap:25px}.book-card{grid-template-columns:150px 1fr;gap:20px}.book-cover{padding:18px 14px}.book-cover h2{font-size:23px}.section>.lesson-grid:has(>article:nth-child(4):last-child){grid-template-columns:1fr 1fr}.path-title{flex-wrap:wrap}.path-progress{margin-left:76px}.article-grid{gap:35px}.quiz{padding:25px}.hero-facts{gap:14px}}
@media(max-width:900px){nav{display:none}.menu-button{display:block}.header:has([data-menu][aria-expanded=true]) nav{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--solid);border:1px solid var(--line);border-radius:20px;margin-top:10px;padding:20px;flex-wrap:wrap;justify-content:space-around}.hero{grid-template-columns:1fr 1fr;gap:30px}.hero h1{font-size:49px}.hero .lead{font-size:20px}.atlas-icon span{display:none}.atlas-icon.a5{left:14px}.hero .actions{gap:19px}.hero-art{border-radius:23px}.atlas{height:330px}.topic-grid{gap:15px}.topic-card{padding:22px 20px}.lesson-grid{grid-template-columns:1fr 1fr}.books-grid{grid-template-columns:1fr}.book-card{grid-template-columns:200px 1fr}.book-cover{min-height:260px}.book-note{padding:15px 0}.article-grid{grid-template-columns:1fr}.lesson-figure{position:static;max-width:650px;width:100%;margin:0 auto}.diagram-stage{height:210px}.quiz{grid-template-columns:1fr}.quiz-options{justify-content:start}.labs{grid-template-columns:1fr}.lab{max-width:800px}.book-invite{gap:30px}.book-invite .spines{transform:scale(.8)}.footer{flex-wrap:wrap}.footer-centre{order:3;flex-basis:100%;border-top:1px solid var(--line);padding-top:13px}.article-header{max-width:800px}}
@media(max-width:650px){html{scroll-padding-top:115px}.wrap{width:calc(100% - 36px)}.header{width:calc(100% - 24px);margin-top:12px;top:10px;padding:13px;min-height:76px;border-radius:21px;gap:10px}.brand{gap:8px}.brand-icon svg{width:32px}.brand>span:last-child{font-size:20px}.brand small{font-size:7px;letter-spacing:.07em}.header-actions{gap:6px}.icon-button{width:34px;height:34px;font-size:18px}.languages summary{padding:8px;font-size:10px;border-radius:11px;gap:5px}.hero{display:flex;flex-direction:column;gap:35px;padding:53px 0 45px}.hero h1{font-size:clamp(42px,9vw,61px)}.hero .lead,.lead{font-size:21px}.hero-art{width:100%;max-width:450px;transform:none}.atlas{height:340px}.atlas-icon span{display:block;max-width:85px;font-size:9px}.atlas-book{width:170px;height:210px}.hero-facts{font-size:9px;margin-top:23px}.hero .actions{margin-bottom:20px}.button{padding:13px 18px;font-size:13px}.actions{gap:18px}.section{padding:45px 0}.section-head h2{font-size:36px}.topic-grid{grid-template-columns:1fr 1fr;gap:12px}.topic-card{padding:18px 16px}.topic-card h3{font-size:25px}.topic-card>div{margin-bottom:16px}.topic-card>div svg{width:37px;height:37px}.topic-card p{font-size:11px;min-height:70px}.topic-card>.mono{font-size:9px}.lesson-grid{grid-template-columns:1fr}.section>.lesson-grid:has(>article:nth-child(4):last-child){grid-template-columns:1fr}.lesson-link{padding:23px 22px 51px}.lesson-card h3{font-size:30px}.card-top{margin-bottom:19px}.quote-section{padding:28px;gap:20px}.quote-section blockquote{font-size:31px;min-width:200px}.quote-section svg{width:42px}.book-invite{grid-template-columns:1fr;padding:50px 0;gap:15px}.book-invite .spines{transform:none}.page-top{padding:48px 0 60px}.page-top>h1{font-size:43px}.filters{padding:15px 18px}.search-label input{font-size:18px}.filter-bottom{gap:14px}.filter-bottom>label:first-child{width:100%}.filter-bottom select{width:100%}.filter-bottom .text-link{font-size:11px}.filter-bottom output{font-size:10px}.article{padding-top:35px}.article-header{padding-top:30px}.article-header h1{font-size:43px}.article-grid{gap:30px}.essentials li{font-size:14px;gap:13px}.example{padding:22px}.quiz{padding:24px 22px;margin-top:30px}.quiz h2{font-size:29px}.article-end{align-items:start;flex-direction:column;margin:28px 0 35px}.flow{gap:8px;padding:18px 7px}.flow li{font-size:11px}.path-card{padding:22px}.path-title{gap:15px;align-items:start}.path-title>svg{width:34px;height:34px}.path-title>div{flex:1}.path-title h2{font-size:30px}.path-title p{font-size:12px}.path-progress{margin-left:49px}.path-card ol{padding-left:19px}.path-card li{padding-left:9px}.path-card li a{font-size:13px;gap:12px}.path-card li a>.mono{font-size:9px}.book-card{grid-template-columns:130px 1fr;gap:18px}.book-cover{min-height:265px;padding:18px 12px}.book-cover h2{font-size:21px}.book-cover svg{width:50px;height:50px}.book-cover .mono{font-size:7px}.book-cover>span:last-child{font-size:9px}.book-note{font-size:12px;padding-top:0}.book-note .text-link{font-size:11px}.lab{padding:23px 20px}.lab h2{font-size:31px}.lab-controls{gap:14px}.lab-controls label{font-size:11px}.bitbar{gap:2px}.bitbar i{height:29px}.bitbar i:nth-child(8n){margin-right:2px}.readouts dd{font-size:16px}.lab output{font-size:10px}.footer{width:calc(100% - 24px);padding:20px;margin-bottom:12px;gap:17px;border-radius:20px}.footer-centre{font-size:10px}.release-panel{min-width:250px;max-width:280px}.eyebrow{font-size:10px}.lab-intro{margin-top:-20px;margin-bottom:25px}h2{font-size:34px}}
@media(max-width:370px){.brand>span:last-child{font-size:17px}.brand small{font-size:6px}.brand-icon svg{width:28px}.header-actions{gap:4px}.icon-button{width:30px;height:30px}.languages summary{padding:7px}.book-card{grid-template-columns:1fr}.book-cover{max-width:190px;min-height:270px;margin:auto}.topic-card{padding:16px 12px}.hero h1{font-size:39px}.atlas-icon span{max-width:66px;font-size:8px}.atlas-book{width:143px}.page-top>h1,.article-header h1{font-size:38px}}
html[lang=zh-Hans] :is(h1,h2,h3,blockquote){letter-spacing:0;line-height:1.45}html[lang=zh-Hans] .lead{line-height:1.9}html[lang=zh-Hans] .book-cover h2{font-family:'Ysabeau',sans-serif}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.header,.footer,.save-card,.pill,.quiz-options,.article-end,.related,.back-link{display:none!important}body{background:white;color:black}.wrap{width:100%}.article-grid{display:block}.glass{box-shadow:none;backdrop-filter:none;background:none}.lesson-figure{max-width:500px;break-inside:avoid}.diagram-stage{height:150px}.references a:after{content:' (' attr(href) ')';font-size:10px}h1{font-size:36px}.article-header{padding-top:0}.quiz{break-inside:avoid}.book-card{break-inside:avoid}}

.footer-motion{font:9px/1.5 "Courier New",monospace;border:0;padding:5px;margin-top:3px;color:var(--muted)}

.theme-picker{position:relative}.theme-picker summary{list-style:none;cursor:pointer}.theme-picker summary::-webkit-details-marker{display:none}.theme-picker fieldset{position:absolute;z-index:50;right:0;top:52px;width:190px;padding:18px;border-radius:18px;background:var(--paper);box-shadow:0 15px 50px #0002;display:grid;gap:12px}.theme-picker legend{font-size:12px}.theme-picker label{display:flex;align-items:center;gap:10px;cursor:pointer}.theme-picker input{accent-color:var(--ink)}.site-network{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 30px;border-top:1px solid var(--line);padding:28px 0;font-size:14px}.site-network a{padding:6px 0}.site-network a:hover{text-decoration:underline}

.photon-track{display:flex;align-items:center;gap:22px;height:90px;color:var(--accent)}.photon-end{font-size:30px}.photon-line{height:1px;background:var(--line);flex:1;position:relative}.photon-line i{position:absolute;top:-4px;left:0;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px var(--accent);transform:translateX(-50%)}.photon-caption{display:flex;justify-content:space-between;color:var(--muted);margin:-15px 0 28px;font-size:9px}.light-travel label{display:block;font-size:12px}.light-travel output{float:right;font:11px 'Courier New',monospace}.light-travel input[type=range]{width:100%;accent-color:var(--accent);margin-top:18px}.au-note{font-size:12px;line-height:1.8;border-left:2px solid var(--accent);padding-left:14px;margin-top:20px}.travel-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:25px 0}.travel-controls label{flex:1;min-width:135px}.travel-controls select{display:block;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--solid);width:100%}.travel-controls .pill{font-size:11px;padding:10px}.travel-status{font-size:12px!important}.light-travel .presets{display:flex;flex-wrap:wrap;gap:10px}.light-travel .presets button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.theme-picker summary{display:grid;place-items:center;border:1px solid var(--line)}

.science-model{border-radius:24px;padding:22px;overflow:hidden;min-width:0}.science-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.science-heading .mono{font-size:10px;letter-spacing:0}.science-heading .pill{font-size:10px;padding:6px 10px;flex-shrink:0}.science-canvas{display:block;width:100%;height:auto;margin:16px 0}.science-controls{display:grid;gap:17px}.science-controls label{font-size:12px}.science-controls output{float:right;font:12px 'Courier New',monospace}.science-controls input{display:block;width:100%;accent-color:var(--accent);margin-top:15px}.science-reading{display:block;border-top:1px solid var(--line);margin-top:20px;padding:16px 0;font:13px/1.7 'Courier New',monospace;overflow-wrap:anywhere}.science-model>.small{margin-bottom:0}.concept-icon{height:180px;display:grid;place-items:center}.concept-flow .flow{border-top:1px solid var(--line)}.lesson-figure:has(.science-model){position:static}.science-model .readouts{grid-template-columns:1fr}.science-model .travel-controls{gap:9px}.science-model .travel-controls label{min-width:100%}@media(max-width:650px){.science-model{padding:18px}.science-heading{align-items:start}.science-canvas{margin:10px 0}.site-network{display:flex}}

.cyber-feature{display:inline-block;margin-bottom:10px;color:var(--accent)}.cyber-practice{padding-top:25px}.cyber-practice>p{max-width:780px}.cyber-cases{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.cyber-case{padding:28px;border-radius:25px}.cyber-case h3{margin-top:20px}.cyber-case fieldset{border:0;padding:0;display:grid;gap:10px}.cyber-case button{padding:13px 16px;border-radius:14px;text-align:left;font-size:12px}.cyber-case button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.cyber-feedback{padding-top:20px;font-size:13px}.cyber-feedback p{margin:8px 0 0}.cyber-feedback[hidden]{display:none}@media(max-width:650px){.cyber-cases{grid-template-columns:1fr}.cyber-case{padding:22px}}

/* Pulse endpoints align with source and receiver; the visible line represents the full distance. */
.photon-track{position:relative;padding:0 15px;gap:0}.photon-end{position:absolute;left:0;z-index:1}.photon-end:last-child{left:auto;right:0}.travel-loop{display:flex!important;align-items:center;gap:8px}.travel-loop input{accent-color:var(--accent);width:17px;height:17px}.travel-loop-note{margin:10px 0 24px}.travel-quick{font-size:11px;padding:10px 14px}

.read-full{margin-bottom:24px;font-size:13px}.book-cover{color:inherit;text-decoration:none;transition:transform .2s}.book-cover:hover{transform:translateY(-4px)}.book-cover:focus-visible{outline:2px solid var(--accent);outline-offset:5px}

/* Original EPUB cover artwork, shown uncropped on the bookshelf. */
.book-cover.illustrated{display:block;align-self:start;padding:0;border:0;min-height:0;max-width:none;width:100%;aspect-ratio:var(--cover-ratio);background:transparent;border-radius:3px 10px 10px 3px;overflow:hidden;box-shadow:7px 12px 24px #0003}
.book-cover.illustrated img{display:block;width:100%;height:auto;object-fit:contain}
.book-note .book-title{font-size:clamp(21px,2vw,28px);line-height:1.5;margin:0 0 7px}
.book-note .book-author{font-size:12px;color:var(--muted);margin:0 0 19px}
@media(max-width:650px){.book-note .book-title{font-size:20px}.book-note .book-author{font-size:11px}.book-note .read-full{padding:10px 13px;font-size:11px}}
@media(max-width:370px){.book-cover.illustrated{max-width:190px}.book-note .book-title{margin-top:8px}}
