
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,wght@0,300;0,400;0,600;0,700;1,300&family=Merriweather:ital,wght@0,400;0,700;1,300&family=Courier+Prime:wght@400;700&display=swap');
:root{--bg:#f0f4f8;--white:#fff;--panel:#e8eef4;--border:#c0cede;--slate:#2a4060;--steel:#3a6090;--sky:#5090c0;--chrome:#d8e4f0;--text:#1e3050;--muted:#506880;--red:#c03040;--orange:#c86020;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}
body{font-family:'Nunito Sans',sans-serif;background:var(--bg);color:var(--text);}
#prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(to right,var(--slate),var(--sky));z-index:1000;width:0%;}
#bt{position:fixed;bottom:28px;right:28px;width:44px;height:44px;background:var(--slate);color:white;font-size:.9rem;border-radius:3px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .25s;z-index:999;text-decoration:none;border:none;}
#bt.on{opacity:1;pointer-events:auto;}#bt:hover{transform:translateY(-3px);}
.nav{background:var(--slate);border-bottom:3px solid var(--sky);padding:10px 28px;display:flex;align-items:center;justify-content:space-between;}
.nav .bc{font-family:'Courier Prime',monospace;font-size:.6rem;color:rgba(144,192,240,.6);letter-spacing:.12em;}
.nav .bc .s{color:rgba(144,192,240,.22);margin:0 8px;}
.nav .dept{font-family:'Nunito Sans',sans-serif;font-size:.72rem;font-weight:700;color:var(--chrome);letter-spacing:.08em;}
.hero{background:white;border-bottom:3px solid var(--border);padding:44px;display:flex;gap:44px;align-items:flex-start;flex-wrap:wrap;}
.hero-diagram{flex:0 0 auto;width:min(360px,100%);}
.hero-content{flex:1;min-width:260px;}
.hero-eyebrow{font-family:'Courier Prime',monospace;font-size:.62rem;color:var(--steel);letter-spacing:.18em;margin-bottom:10px;}
.hero h1{font-family:'Merriweather',serif;font-size:clamp(2.6rem,6vw,4rem);font-weight:700;color:var(--slate);line-height:.92;}
.hero h1 em{display:block;font-style:italic;font-size:.4em;color:var(--steel);margin-bottom:7px;font-weight:300;}
.hero-sub{margin-top:12px;font-size:1.02rem;color:var(--muted);max-width:480px;line-height:1.78;font-weight:300;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.chip{padding:4px 13px;border:1.5px solid;font-family:'Courier Prime',monospace;font-size:.6rem;letter-spacing:.08em;border-radius:2px;}
.ch-s{border-color:rgba(42,64,96,.45);color:var(--slate);}
.ch-o{border-color:rgba(200,96,32,.4);color:var(--orange);}
.main{max-width:1100px;margin:0 auto;padding:32px 24px 80px;}
.intro{background:white;border:2px solid var(--border);border-left:5px solid var(--slate);padding:22px 36px;margin-bottom:28px;}
.intro p{font-size:1.03rem;line-height:1.85;}
.intro strong{color:var(--steel);}
.grid{display:grid;grid-template-columns:1fr 310px;gap:28px;}
.sh{font-family:'Merriweather',serif;font-size:1.35rem;font-weight:700;color:var(--slate);margin:36px 0 12px;padding-bottom:7px;border-bottom:2px solid var(--border);}
.sh:first-child{margin-top:0;}
.mc p{font-size:.99rem;line-height:1.85;margin-bottom:12px;}
.mc strong{font-weight:700;}
.cells{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:12px 0;}
.cell{background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--steel);padding:12px;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;}
.cell.on{opacity:1;transform:translateY(0);}
.cell h4{font-size:.93rem;font-weight:700;color:var(--slate);margin-bottom:3px;}
.cell p{font-size:.81rem!important;color:var(--muted)!important;margin:0!important;line-height:1.48!important;}
.dt{width:100%;border-collapse:collapse;margin:14px 0;font-size:.86rem;}
.dt thead th{background:var(--slate);color:white;padding:8px 12px;text-align:left;font-family:'Courier Prime',monospace;font-size:.62rem;letter-spacing:.08em;}
.dt td{padding:7px 12px;border-bottom:1px solid var(--border);}
.dt tr:nth-child(even) td{background:var(--panel);}
.dt td:first-child{font-family:'Courier Prime',monospace;color:var(--steel);font-size:.77rem;}
.tl{position:relative;padding-left:24px;margin:12px 0;}
.tl::before{content:'';position:absolute;left:7px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--slate),var(--sky),transparent);}
.tl-item{position:relative;margin-bottom:15px;opacity:0;transform:translateX(-8px);transition:opacity .45s,transform .45s;}
.tl-item.on{opacity:1;transform:translateX(0);}
.tl-item::before{content:'';position:absolute;left:-20px;top:5px;width:8px;height:8px;background:var(--steel);border-radius:50%;border:2px solid var(--bg);}
.tl-yr{font-family:'Courier Prime',monospace;font-size:.64rem;color:var(--steel);letter-spacing:.12em;margin-bottom:1px;}
.tl-item p{font-size:.96rem!important;margin:0!important;line-height:1.58!important;}
.vocab{list-style:none;}
.vocab li{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid var(--border);opacity:0;transform:translateX(-8px);transition:opacity .4s,transform .4s;}
.vocab li.on{opacity:1;transform:translateX(0);}
.vocab li:last-child{border-bottom:none;}
.vt{font-family:'Courier Prime',monospace;font-size:.69rem;color:var(--steel);min-width:130px;flex-shrink:0;}
.vd{font-size:.91rem;}
.scard{background:white;border:1.5px solid var(--border);border-radius:4px;padding:16px;margin-bottom:14px;position:relative;}
.scard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--slate),var(--sky));border-radius:4px 4px 0 0;}
.scard h3{font-size:.93rem;font-weight:700;color:var(--slate);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.kl{list-style:none;}
.kl li{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid rgba(192,206,222,.5);}
.kl li:last-child{border-bottom:none;}
.kk{font-size:.79rem;color:var(--muted);}
.kv{font-family:'Courier Prime',monospace;font-size:.81rem;color:var(--steel);}
footer{background:var(--slate);padding:18px 44px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.fb{font-family:'Merriweather',serif;font-style:italic;font-size:.9rem;color:var(--chrome);}
.fm{font-family:'Courier Prime',monospace;font-size:.59rem;color:rgba(216,228,240,.4);text-align:right;line-height:1.8;}
@media(max-width:820px){.grid{grid-template-columns:1fr;}.cells{grid-template-columns:1fr;}.hero{flex-direction:column;padding:28px 22px;}}
