@font-face{font-family:JournalHei;src:url('./hei.ttf') format('truetype');font-display:swap}
:root{--bg:#080f1c;--panel:#101d2d;--panel2:#14263a;--ink:#edf5fa;--muted:#9fb1c2;--line:#2b3e51;--cyan:#43c6d5;--orange:#ed9e58;--blue:#8da8fb;--shadow:0 24px 80px #0004;--sans:Inter,'Segoe UI',JournalHei,'Noto Sans TC','Microsoft JhengHei',sans-serif;color-scheme:dark}
:root[data-theme=light]{--bg:#f2f6f9;--panel:#fff;--panel2:#e5eef5;--ink:#152c42;--muted:#536b7e;--line:#bccdd9;--cyan:#007f92;--orange:#b36325;--blue:#4963b5;--shadow:0 24px 80px #17385312;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:6px}::selection{background:#43c6d566}p{color:var(--muted);line-height:1.95}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.28;letter-spacing:.04em}h1{font-size:clamp(2.6rem,6vw,5.8rem)}h2{font-size:clamp(1.8rem,3.2vw,2.7rem)}h3{font-size:1.3rem}h4{font-size:1rem}small,.meta{font-size:.875rem;color:var(--muted)}svg{display:block;max-width:100%}img{max-width:100%;height:auto}button{border:1px solid var(--line);background:var(--panel);padding:10px 16px;transition:background .25s,color .25s,border .25s,transform .3s}button:hover{border-color:var(--cyan);background:var(--panel2)}button[aria-pressed=true],button.active{background:var(--cyan);border-color:var(--cyan);color:var(--bg)}button.icon{padding:8px;width:42px;height:42px;display:grid;place-items:center}.icon svg{width:20px;height:20px}a.button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:12px 22px;font-size:.95rem;transition:.25s}a.button:hover{border-color:var(--cyan);background:var(--panel2)}.button.primary{background:var(--cyan);color:var(--bg);border-color:var(--cyan)}.button.primary:hover{background:var(--ink)}.buttons{display:flex;flex-wrap:wrap;gap:10px}.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.nav{height:86px;position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:var(--bg)}.brand{font-size:1.05rem;white-space:nowrap;display:flex;gap:14px;align-items:center}.brand-mark{width:33px;height:33px;color:var(--cyan)}.nav-container{display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px}.nav-links{display:flex;align-items:center;gap:24px;font-size:.875rem}.nav-links a{position:relative;white-space:nowrap;padding:12px 0}.nav-links a:after{content:'';height:2px;position:absolute;bottom:5px;left:0;width:0;background:var(--cyan);transition:width .3s}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{width:100%}.nav-tools{display:flex;gap:8px}.menu-toggle{display:none!important}.scroll-track{height:2px;position:fixed;top:84px;left:0;width:0;background:var(--cyan);z-index:70}.ambient{position:fixed;inset:0;z-index:-1;opacity:.48;pointer-events:none}.page-veil{position:fixed;inset:0;background:var(--bg);z-index:100;pointer-events:none;animation:pageOpen .8s cubic-bezier(.2,.7,.2,1) forwards}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.875rem;letter-spacing:.12em;color:var(--cyan)}.eyebrow:before{content:'';width:28px;height:2px;background:var(--orange)}.hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:min(790px,calc(100svh - 86px));align-items:center;gap:20px;position:relative}.hero-copy{position:relative;z-index:3;padding-block:62px}.hero h1{margin-top:26px;font-size:clamp(3.2rem,7vw,6.5rem);letter-spacing:.07em}.hero h1 span{display:block;font-size:.4em;color:var(--cyan);margin-top:20px}.hero .period{margin:27px 0 38px;font-size:.92rem;letter-spacing:.04em;color:var(--muted)}.hero-links{display:flex;gap:25px;margin-top:37px;font-size:.875rem;flex-wrap:wrap}.hero-links a{border-bottom:1px solid var(--line);padding-bottom:8px}.hero-links a:hover{color:var(--cyan)}.hero-visual{min-height:550px;position:relative;display:grid;place-items:center;perspective:1200px}.orbit{position:absolute;border:1px solid var(--line);border-radius:50%;width:95%;aspect-ratio:1;transform:rotateX(25deg);animation:orbit 38s linear infinite}.orbit:before{content:'';position:absolute;top:11%;left:15%;height:8px;width:8px;background:var(--cyan);border-radius:50%;box-shadow:0 0 25px var(--cyan)}.orbit.two{width:77%;border-style:dashed;animation-direction:reverse;animation-duration:58s}.orbit.three{width:112%;border-color:color-mix(in srgb,var(--line),transparent 50%);animation-duration:90s}.vehicle-frame{width:100%;position:relative;z-index:2;transform-style:preserve-3d;transition:transform .6s ease-out}.vehicle-image{display:block;width:100%;mix-blend-mode:screen;filter:contrast(1.07);animation:float 7s ease-in-out infinite;clip-path:polygon(3% 1%,99% 1%,99% 99%,3% 99%)}[data-theme=light] .vehicle-image{mix-blend-mode:normal;border:1px solid var(--line);box-shadow:var(--shadow)}.hero-annotation{position:absolute;z-index:4;font-size:.875rem;padding:8px 13px;background:var(--bg);border-left:2px solid var(--cyan);box-shadow:var(--shadow)}.hero-annotation.a{top:60px;left:5%}.hero-annotation.b{right:0;bottom:94px}.hero-annotation.c{left:1%;bottom:14px;color:var(--orange)}.scan{position:absolute;inset:15% 8%;background:linear-gradient(transparent 49.8%,#43c6d544 50%,transparent 50.2%);animation:scan 6s ease-in-out infinite;pointer-events:none;z-index:3}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin-bottom:120px}.stat{padding:32px 24px;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{font-size:clamp(2rem,4vw,3.5rem);font-weight:400;font-variant-numeric:tabular-nums;line-height:1.3}.stat small{display:block;margin-top:10px}.stat .unit{font-size:1rem;margin-left:6px}.section{padding-block:70px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-head .eyebrow{margin-bottom:14px}.section-head p{max-width:460px;font-size:.95rem}.section-number{font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--muted)}.grid{display:grid;gap:24px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{position:relative;background:var(--panel);border:1px solid var(--line);padding:32px;box-shadow:var(--shadow)}.cut{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}.panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.panel p{margin-top:18px}.panel .button{margin-top:24px}.readable{max-width:860px}.readable p{margin-block:20px;text-align:justify}.spaced{margin-top:28px}.subhero{padding:65px 0 52px;position:relative;border-bottom:1px solid var(--line)}.subhero h1{margin-block:24px 18px}.subhero p{max-width:670px}.subhero .aside-number{font-size:clamp(5rem,14vw,12rem);position:absolute;right:0;top:10px;color:var(--line);opacity:.45;font-weight:300;pointer-events:none}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{font-size:.9rem;min-width:84px}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1);transition-delay:var(--delay,0ms)}.motion-ready .reveal.visible{opacity:1;transform:none}.tilt{will-change:transform;transition:transform .4s ease-out,border-color .3s}.tilt:hover{border-color:var(--cyan)}.line-svg{color:var(--cyan);width:62px;height:62px}.flow-path{stroke-dasharray:12 9;animation:signalFlow 3s linear infinite}.fine-grid{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px}.big-number{font-size:clamp(2.5rem,5vw,4.6rem);font-weight:300;line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.accent{color:var(--cyan)}.orange{color:var(--orange)}.bar{height:5px;background:var(--line);position:relative;margin-top:18px;overflow:hidden}.bar span{display:block;width:var(--value);height:100%;background:var(--bar-color,var(--cyan));transform-origin:left;animation:grow 1.6s cubic-bezier(.2,.75,.2,1)}.person-card{min-height:310px;display:flex;flex-direction:column;padding:32px;position:relative;overflow:hidden}.person-card .initial{position:absolute;right:20px;top:15px;font-size:8rem;line-height:1;color:var(--line);opacity:.6;transition:transform .8s}.person-card:hover .initial{transform:translateY(-10px) rotate(-7deg)}.person-card h3{margin-block:8px 24px;font-size:1.65rem;position:relative}.person-card .metrics{display:flex;gap:32px;margin-top:auto;position:relative}.person-card .metrics strong{font-size:1.8rem;line-height:1.2;font-weight:400;display:block}.person-card .metrics small{display:block;margin-top:6px}.person-card .card-link{position:absolute;inset:0;z-index:2}.person-card:hover{background:var(--panel2)}.avatar-ring{width:72px;height:72px;display:grid;place-items:center;border:1px solid var(--cyan);position:relative;font-size:1.5rem}.avatar-ring:after{content:'';position:absolute;inset:-7px;border:1px dashed var(--line);animation:orbit 25s linear infinite}.person-head{display:flex;gap:28px;align-items:center;padding-block:55px}.person-head h1{font-size:3.2rem}.person-head p{margin-top:12px}.metric-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.donut-wrap{display:grid;grid-template-columns:300px 1fr;align-items:center;gap:40px}.donut{width:300px;aspect-ratio:1;position:relative}.donut svg{transform:rotate(-90deg);width:100%;height:100%;overflow:visible}.donut circle.segment{fill:none;stroke-width:16;transition:stroke-width .3s,opacity .3s;cursor:pointer;stroke-dashoffset:0;animation:drawRing 1.8s ease}.donut circle.segment:hover{stroke-width:20}.donut-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-label strong{font-size:2.7rem;font-weight:400}.legend{display:grid;gap:18px}.legend-item{display:flex;align-items:center;justify-content:space-between;gap:20px;background:transparent;border:0;padding:10px 0;width:100%;border-bottom:1px solid var(--line)}.legend-item span:first-child{display:flex;gap:12px;align-items:center}.swatch{width:11px;height:11px;display:inline-block;background:var(--color);flex-shrink:0}.legend-item strong{font-size:1.5rem;font-weight:400;font-variant-numeric:tabular-nums}.metric-list{display:grid;gap:20px}.metric-row{display:grid;grid-template-columns:160px 1fr 100px;gap:20px;align-items:center}.metric-row .bar{margin:0}.metric-row strong{text-align:right;font-variant-numeric:tabular-nums;font-weight:400}.details{border-block:1px solid var(--line);padding:18px 0;margin-block:14px}.details summary{cursor:pointer;padding:5px 0;font-size:1rem}.details p{margin-top:15px}.formula{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-left:2px solid var(--cyan);padding:20px;font:14px/1.8 'Cascadia Code',Consolas,monospace;color:var(--muted);margin-block:18px}.timeline{position:relative;padding-left:100px}.timeline:before{content:'';position:absolute;left:66px;top:0;bottom:0;width:1px;background:var(--line)}.timeline-event{position:relative;min-height:170px;padding:0 0 60px 36px}.timeline-event:before{content:'';position:absolute;width:10px;height:10px;left:-39px;top:9px;background:var(--cyan);border:4px solid var(--bg);box-sizing:content-box;border-radius:50%;box-shadow:0 0 25px #43c6d566}.timeline-event time{position:absolute;left:-100px;top:0;font-size:.875rem;color:var(--cyan)}.timeline-event h3{font-size:1.6rem;margin-bottom:15px}.timeline-event p{max-width:800px}.timeline-event .chips{margin-top:20px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);padding:4px 11px;font-size:.875rem;background:var(--bg)}.chip:hover{border-color:var(--cyan);color:var(--cyan)}.history-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.history-point{position:relative;display:block;text-align:left;padding:22px 16px;border-top:1px solid var(--line);background:none;border-inline:0;border-bottom:0}.history-point:hover{background:var(--panel)}.history-point time{font-size:.875rem;color:var(--cyan)}.history-point h3{font-size:1rem;margin-top:16px}.task-toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:32px 0}.task-toolbar label{display:flex;gap:8px;align-items:center;font-size:.875rem}.task-toolbar input,.task-toolbar select{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:11px 14px;min-height:46px}.task-toolbar input{width:250px}.task-toolbar .tabs{margin-left:auto}.table-scroll{overflow-x:auto;border-top:2px solid var(--cyan)}table{width:100%;border-collapse:collapse;text-align:left;font-size:.95rem}th{font-weight:400;color:var(--muted);font-size:.875rem;padding:17px 14px;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:19px 14px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr{transition:background .25s}tbody tr:hover{background:var(--panel)}.task-title{display:block;background:none;color:var(--ink);border:0;text-align:left;padding:0;max-width:380px;font-size:.95rem}.task-title:hover{color:var(--cyan);background:none}.status{font-size:.875rem;color:var(--cyan);padding:4px 0;white-space:nowrap}.status.pending{color:var(--orange)}.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.board-title{padding-bottom:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;margin-bottom:20px}.task-mini{width:100%;display:block;padding:24px;text-align:left;background:var(--panel);margin-bottom:12px}.task-mini h3{font-size:1rem;line-height:1.65}.task-mini .meta{margin-top:12px}.task-mini:hover{transform:translateY(-3px)}.task-mini .row{display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.empty{padding:80px 20px;text-align:center;color:var(--muted);border:1px solid var(--line)}.result-count{font-size:.875rem;color:var(--muted);margin-block:10px 26px}dialog{width:min(760px,calc(100% - 36px));max-height:90svh;background:var(--panel);color:var(--ink);padding:0;border:1px solid var(--line);box-shadow:0 50px 180px #0009;animation:dialogEnter .35s ease}dialog::backdrop{background:#030910b8;backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:28px 32px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}.dialog-top h2{font-size:1.45rem}.dialog-body{padding:32px}.dialog-body p{margin-block:14px}.definition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.definition-grid div{border-top:1px solid var(--line);padding-top:14px}.definition-grid dt{font-size:.875rem;color:var(--muted)}.definition-grid dd{margin:8px 0 0;font-size:1.2rem;font-variant-numeric:tabular-nums}.schematic{background:var(--panel);border:1px solid var(--line);position:relative;min-height:460px;display:grid;place-items:center;padding:30px;perspective:1000px}.schematic .model{width:100%;mix-blend-mode:screen;transition:transform .6s;animation:float 7s ease-in-out infinite}.hotspot{position:absolute;width:27px;height:27px;border-radius:50%;background:var(--cyan);padding:0;border:2px solid var(--bg);box-shadow:0 0 0 6px #43c6d522;animation:hotspotPulse 3s ease-in-out infinite;font-size:.8rem;color:var(--bg);z-index:3}.hotspot:hover,.hotspot.active{transform:scale(1.25);background:var(--orange);border-color:var(--bg);box-shadow:0 0 0 9px #ed9e5833}.hotspot-info{padding:24px;border-left:3px solid var(--cyan);background:var(--panel);min-height:120px}.hotspot-info h3{margin-bottom:10px}.sim-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}.sim-field{position:relative;background:var(--panel);border:1px solid var(--line);padding:38px 24px;min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.sim-diagram{width:100%;max-width:440px;overflow:visible}.sim-diagram text{font:16px var(--sans);fill:var(--ink)}.sim-diagram .base{fill:var(--panel2);stroke:var(--line)}.sim-diagram .beam{stroke:var(--cyan);fill:none;stroke-width:1;opacity:.6;stroke-dasharray:8 6;animation:signalFlow 2s linear infinite}.sim-diagram .wheel{fill:var(--ink);transform-box:fill-box;transform-origin:center;animation:wheelRoll var(--speed,0s) linear infinite}.sim-diagram .target{fill:var(--orange);transform:translateY(var(--target-y,0px));transition:transform .4s ease}.sim-label{display:flex;justify-content:space-between;gap:20px;width:100%;margin-top:30px}.sim-label strong{font-weight:400;font-size:1.5rem}.range-field{border-bottom:1px solid var(--line);padding:20px 0}.range-label{display:flex;align-items:center;gap:15px;justify-content:space-between}.range-label label{font-size:1rem}.range-label output{font-size:1.3rem;color:var(--cyan);font-variant-numeric:tabular-nums}.range-row{display:flex;gap:18px;align-items:center;margin-top:15px}.range-row input[type=range]{flex:1;min-width:0;accent-color:var(--cyan);cursor:pointer}.range-row label{font-size:.875rem;display:flex;gap:6px;white-space:nowrap}.led-bar{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;padding:24px 0}.led{height:24px;width:24px;border-radius:50%;background:var(--line);margin:0 auto 10px;border:1px solid var(--line);transition:background .3s,box-shadow .3s}.led.on{background:var(--led);box-shadow:0 0 25px var(--led)}.led-item{text-align:center;font-size:.875rem}.led-item small{display:block;font-size:.8rem;margin-top:5px}.motor-output{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:12px;gap:20px}.motor-output strong{font-size:2rem;font-weight:400;display:block;font-variant-numeric:tabular-nums}.motor-output label{font-size:.875rem;color:var(--muted)}.pwm-svg{width:100%;height:150px;color:var(--cyan);margin-block:20px}.pwm-svg polyline{stroke:currentColor;stroke-width:2.5;fill:none}.pwm-svg .axis{stroke:var(--line);stroke-width:1}.pwm-svg .sweep{fill:color-mix(in srgb,var(--cyan),transparent 90%);animation:sweep 4s linear infinite}.parameter-band{display:grid;grid-template-columns:repeat(4,1fr);margin-block:30px;gap:4px}.parameter-band div{padding:18px 10px;background:var(--panel);text-align:center;border-top:3px solid var(--cyan)}.parameter-band strong{font-weight:400;font-size:1.35rem;display:block;margin-bottom:8px}.parameter-band div.selected{background:var(--panel2);border-color:var(--orange);transform:translateY(-5px);transition:.3s}.parameter-band small{font-size:.8rem}.expense-chart{display:flex;align-items:end;height:300px;gap:26px;padding:10px 20px 45px;border-bottom:1px solid var(--line);margin-block:20px 70px}.expense-col{flex:1;height:var(--height);position:relative;background:var(--color);min-width:0;transform-origin:bottom;animation:growY 1.3s cubic-bezier(.2,.75,.2,1)}.expense-col:hover{filter:brightness(1.15)}.expense-col span{position:absolute;top:-32px;left:0;width:100%;text-align:center;font-variant-numeric:tabular-nums}.expense-col small{position:absolute;bottom:-49px;left:50%;transform:translateX(-50%);white-space:nowrap;text-align:center}.phase-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.phase-step{padding:28px 20px;border-top:1px solid var(--line)}.phase-step strong{color:var(--cyan);font-weight:300;font-size:2rem}.phase-step h3{margin-block:24px 14px;font-size:1.1rem}.phase-step p{font-size:.95rem}.reader-layout{display:grid;grid-template-columns:230px 1fr;gap:30px;align-items:start}.reader-index{max-height:660px;overflow:auto;position:sticky;top:110px;scrollbar-width:thin}.reader-index button{width:100%;display:flex;justify-content:space-between;background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left;font-size:.875rem}.reader-index button.active{background:var(--panel2);color:var(--cyan);border-left:2px solid var(--cyan)}.reader-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.reader-tools .row{display:flex;gap:10px;align-items:center}.page-paper{background:var(--panel);padding:20px;border:1px solid var(--line);position:relative}.page-paper img{display:block;width:100%;height:auto;animation:paperIn .6s ease}.page-paper button{position:absolute;top:30px;right:30px;background:var(--bg)}.reader-note{font-size:.875rem;text-align:center;margin-top:18px}.statement{max-width:850px;margin-inline:auto;padding:45px;border:1px solid var(--line);background:var(--panel);text-align:justify;line-height:2.1}.statement p{color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.page-thumb{background:transparent;border:0;padding:0;text-align:left}.page-thumb img{width:100%;aspect-ratio:595/842;object-fit:contain;background:#fff;transition:transform .4s,box-shadow .4s}.page-thumb:hover img{transform:translateY(-8px);box-shadow:var(--shadow)}.page-thumb small{display:block;margin-top:10px}.image-dialog{width:min(1100px,calc(100% - 24px))}.image-dialog img{display:block;width:100%;height:auto}.chapter-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.chapter-link{padding:35px 25px;border:1px solid var(--line);background:var(--panel);position:relative;overflow:hidden;transition:background .3s}.chapter-link strong{font-size:3rem;font-weight:300;color:var(--cyan);opacity:.5}.chapter-link h3{margin-top:24px}.chapter-link:hover{background:var(--panel2)}.footer{margin-top:100px;border-top:1px solid var(--line);padding:45px 0 32px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer p{font-size:.875rem;margin-top:12px}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-size:.875rem;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:40px;font-size:.8rem;color:var(--muted)}.back-top{position:fixed;bottom:24px;right:24px;z-index:40;opacity:0;pointer-events:none;transition:.3s}.back-top.shown{opacity:1;pointer-events:auto}.skip{position:fixed;top:-80px;left:20px;background:var(--cyan);color:var(--bg);padding:10px;z-index:200}.skip:focus{top:10px}pre.code{margin:0;background:var(--bg);padding:24px;font:14px/1.85 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);max-height:560px;overflow:auto}.wide-dialog{width:min(980px,calc(100% - 36px))}.pulse-rule{height:1px;background:var(--line);position:relative;overflow:hidden;margin-block:35px}.pulse-rule:after{content:'';position:absolute;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:ruleFlow 4s linear infinite}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes pageOpen{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}@keyframes orbit{to{rotate:360deg}}@keyframes float{50%{translate:0 -15px}}@keyframes scan{0%,100%{translate:0 -100px;opacity:0}20%,80%{opacity:1}50%{translate:0 100px}}@keyframes signalFlow{to{stroke-dashoffset:-84}}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes growY{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes drawRing{from{stroke-dasharray:0 628}}@keyframes hotspotPulse{50%{box-shadow:0 0 0 12px #43c6d508}}@keyframes dialogEnter{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}@keyframes wheelRoll{to{rotate:360deg}}@keyframes sweep{from{translate:-100% 0}to{translate:600% 0}}@keyframes paperIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ruleFlow{to{left:100%}}
html[data-reduced=true]{scroll-behavior:auto}html[data-reduced=true] *,html[data-reduced=true] *:before,html[data-reduced=true] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready[data-reduced=true] .reveal{opacity:1;transform:none}html[data-reduced=true] .ambient{display:none}
@media(min-width:1700px){.wrap{width:min(1440px,calc(100% - 120px))}.hero{min-height:800px}}
@media(max-width:1100px){.nav-links{gap:14px}.nav{gap:15px}.wrap{width:calc(100% - 48px)}.hero-visual{min-height:440px}.hero{grid-template-columns:1fr 1fr}.person-card{padding:25px}.person-card .metrics{gap:20px}.history-rail{grid-template-columns:repeat(3,1fr)}.phase-steps{grid-template-columns:repeat(3,1fr)}.task-toolbar .tabs{margin-left:0}.gallery-grid{grid-template-columns:repeat(4,1fr)}.donut-wrap{grid-template-columns:270px 1fr}.donut{width:270px}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.nav{height:74px}.scroll-track{top:72px}.nav-links{display:none;position:absolute;top:73px;right:0;left:0;background:var(--bg);border-bottom:1px solid var(--line);padding:24px;grid-template-columns:1fr 1fr;gap:8px 24px}.nav-links.open{display:grid}.menu-toggle{display:grid!important}.nav-container{gap:14px}.brand{font-size:.95rem;gap:10px}.hero{grid-template-columns:1fr;min-height:0;gap:0}.hero-copy{padding:45px 0 10px}.hero h1{font-size:4.6rem}.hero-visual{min-height:470px;width:min(560px,100%);margin:auto}.hero-annotation.a{top:25px}.hero-annotation.b{bottom:70px}.hero-annotation.c{bottom:10px}.stat-strip{margin-bottom:45px}.stat{padding:22px 15px}.stat strong{font-size:2.5rem}.section{padding-block:45px}.section-head{align-items:start;flex-direction:column;gap:15px}.cols-3{grid-template-columns:1fr}.cols-2{grid-template-columns:1fr}.person-card{min-height:265px}.person-card .initial{font-size:7rem}.person-card .metrics{gap:40px}.chapter-links{grid-template-columns:repeat(2,1fr)}.sim-grid{grid-template-columns:1fr}.donut-wrap{grid-template-columns:1fr;justify-items:center}.legend{width:100%}.metric-row{grid-template-columns:125px 1fr 90px;gap:12px}.subhero{padding:45px 0 35px}.subhero .aside-number{top:25px;font-size:8rem}.reader-layout{grid-template-columns:1fr}.reader-index{position:relative;top:auto;max-height:140px;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.reader-index button{font-size:.8rem}.footer-top{flex-direction:column}.task-grid{grid-template-columns:1fr}.definition-grid{grid-template-columns:repeat(2,1fr)}.statement{padding:28px}.task-toolbar input{width:220px}}
@media(max-width:520px){.wrap{width:calc(100% - 32px)}.nav-tools{gap:5px}.nav-tools .icon{width:36px;height:36px}.brand-mark{width:26px;height:26px}.hero h1{font-size:3.6rem}.hero-visual{min-height:350px}.hero-annotation{font-size:.75rem;padding:6px 9px}.hero-annotation.a{top:12px}.hero-annotation.b{bottom:43px}.orbit.three{width:100%}.hero .period{font-size:.82rem;margin:24px 0}.hero-links{margin-top:24px;gap:20px}.stat-strip{grid-template-columns:1fr 1fr}.stat{border-bottom:1px solid var(--line);padding:22px 16px}.stat:first-child{padding-left:16px}.stat:nth-child(2){border-right:0}.stat:nth-child(3){border-bottom:0}.stat:last-child{border-bottom:0}.panel{padding:23px}.metric-pair{grid-template-columns:1fr 1fr;gap:12px}.big-number{font-size:2.8rem}.history-rail{grid-template-columns:repeat(2,1fr)}.timeline{padding-left:65px}.timeline:before{left:49px}.timeline-event{padding-left:20px;min-height:175px}.timeline-event:before{left:-24px}.timeline-event time{left:-64px;font-size:.8rem}.timeline-event h3{font-size:1.3rem}.task-toolbar{gap:12px}.task-toolbar input{width:100%}.task-toolbar label:first-child{width:100%}.task-toolbar .tabs{width:100%}.task-toolbar select{max-width:145px}.table-scroll table{min-width:670px}.dialog-top,.dialog-body{padding:23px}.phase-steps{grid-template-columns:1fr 1fr}.phase-step{padding:24px 10px}.parameter-band strong{font-size:1.05rem}.parameter-band small{font-size:.75rem}.led-bar{gap:8px}.sim-field{min-height:330px;padding:22px}.sim-label strong{font-size:1.2rem}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:12px}.reader-index{grid-template-columns:repeat(2,1fr)}.reader-tools{flex-direction:column;align-items:stretch}.reader-tools .row{justify-content:space-between}.reader-tools .tabs{justify-content:start}.page-paper{padding:5px}.page-paper button{top:12px;right:12px}.expense-chart{gap:17px;padding-inline:8px}.expense-col small{font-size:.75rem}.footer-bottom{flex-direction:column;gap:15px}.person-head{align-items:start;gap:18px}.person-head h1{font-size:2.3rem}.person-head .avatar-ring{width:54px;height:54px;flex-shrink:0}.chapter-link{padding:25px 20px}.metric-row{grid-template-columns:100px 1fr 82px;font-size:.875rem}.buttons .button{padding:10px 15px}.statement{padding:22px}.schematic{min-height:320px;padding:15px}}
@media(prefers-reduced-motion:reduce){:root:not([data-reduced=false]){scroll-behavior:auto}:root:not([data-reduced=false]) *{animation:none!important;transition:none!important}:root:not([data-reduced=false]) .reveal{opacity:1!important;transform:none!important}}

#header{position:sticky;top:0;z-index:60;background:var(--bg)}.ambient{z-index:0}#main,.footer{position:relative;z-index:1}.nav{position:relative}.sim-diagram .wheel circle{fill:var(--ink)}

.grid>*,.sim-grid>*,.reader-layout>*{min-width:0}.table-scroll{max-width:100%}
.person-name{display:block;font-size:1.65rem;font-weight:500;line-height:1.28;letter-spacing:.04em;margin-block:8px 24px;position:relative}
.task-card-title{display:block;font-size:1.1rem;font-weight:500;line-height:1.4;margin-block:12px;letter-spacing:.02em}
.vehicle-image{mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);}

.dialog-caption{font-size:1.35rem;line-height:1.6;color:var(--ink);margin-bottom:24px}.task-mini .task-card-title{margin-top:16px;margin-bottom:12px}

[hidden]{display:none!important}.reader-search{display:flex;align-items:center;gap:15px;margin-bottom:30px;flex-wrap:wrap}.reader-search input{color:var(--ink);background:var(--panel);border:1px solid var(--line);padding:12px 15px;width:min(420px,100%)}.reader-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:.95rem;line-height:2;padding:20px 0}.statement p{white-space:pre-wrap}
.donut{max-width:100%}
@media(max-width:520px){.motor-output{display:grid;grid-template-columns:1fr 1fr}.motor-output>div:last-child{grid-column:1/-1}.motor-output>div:last-child strong{font-size:1rem!important}}
@media(max-width:360px){.brand .meta{display:none}.donut{width:230px}.stat strong{font-size:2rem}.parameter-band{grid-template-columns:1fr 1fr}.metric-row{grid-template-columns:1fr 82px}.metric-row .bar{display:none}}
