:root{--navy:#071525;--navy2:#0c2037;--panel:#102b48;--panel2:#163858;--text:#eef7ff;--muted:#a9c0d5;--cyan:#48d7e8;--blue:#4da3ff;--red:#ff6577;--orange:#ff9b50;--yellow:#ffd166;--green:#53d39a;--gray:#dce6ef;--ink:#071525;--border:#294d6d;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,var(--navy),#0a1b2d 45%,#081521);color:var(--text);line-height:1.55}a{color:#84e9f4}a:hover{color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}button,input,select{font:inherit}.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}.sitebar{position:sticky;top:0;z-index:20;background:rgba(7,21,37,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.sitebar .wrap{display:flex;gap:16px;align-items:center;min-height:62px}.brand{font-weight:800;text-decoration:none;color:#fff;white-space:nowrap}.nav{display:flex;gap:6px;overflow-x:auto;padding:8px 0;scrollbar-width:thin}.nav a{text-decoration:none;color:var(--muted);padding:8px 10px;border-radius:9px;white-space:nowrap;font-size:.9rem}.nav a:hover{background:var(--panel);color:#fff}.hero{padding:64px 0 42px;background:radial-gradient(circle at 75% 20%,rgba(72,215,232,.16),transparent 34%),radial-gradient(circle at 15% 10%,rgba(255,101,119,.12),transparent 35%)}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}h1{font-size:clamp(2.3rem,6vw,4.6rem);line-height:.98;margin:12px 0 18px;max-width:900px}h2{font-size:clamp(1.65rem,4vw,2.4rem);line-height:1.15;margin:0 0 10px}h3{line-height:1.25}.lede{font-size:clamp(1.05rem,2vw,1.28rem);color:#c9dcec;max-width:900px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}.stat{background:rgba(16,43,72,.8);border:1px solid var(--border);padding:18px;border-radius:16px}.stat strong{display:block;font-size:1.7rem;color:#fff}.stat span{font-size:.86rem;color:var(--muted)}.notice{margin-top:22px;padding:16px 18px;border-left:4px solid var(--yellow);background:#182c3d;border-radius:8px;color:#dbe8f3}.notice strong{color:#fff}.section{padding:54px 0;border-top:1px solid rgba(41,77,109,.55)}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.section-head p{max-width:700px;color:var(--muted);margin:0}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tab,.btn{border:1px solid var(--border);background:var(--panel);color:#fff;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700}.tab[aria-selected="true"],.btn.primary{background:var(--cyan);color:var(--ink);border-color:var(--cyan)}.btn.secondary{background:transparent}.btn.danger{background:#5c2430;border-color:#934253}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:linear-gradient(180deg,var(--panel),#0d243c);border:1px solid var(--border);border-radius:18px;padding:20px}.card p{color:#c3d5e5}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:5px 9px;font-size:.78rem;color:#cce1f1;background:#0c2138}.visualizer{display:grid;grid-template-columns:290px minmax(0,1fr);gap:18px}.procedure-list{display:flex;flex-direction:column;gap:7px}.procedure-list button{text-align:left;border:1px solid var(--border);background:#0e2742;color:#d8e9f5;padding:10px 12px;border-radius:10px;cursor:pointer}.procedure-list button.active{background:var(--cyan);color:var(--ink);border-color:var(--cyan);font-weight:800}.viz-title{display:flex;justify-content:space-between;gap:12px;align-items:start}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.diagram{background:#f6fbff;border-radius:14px;padding:10px;color:var(--ink);min-height:310px;overflow:hidden}.diagram h4{margin:0 0 6px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.diagram svg{width:100%;height:260px;display:block}.steps{counter-reset:step;display:grid;gap:10px}.step{position:relative;padding:12px 12px 12px 48px;border-radius:10px;background:#0a2036;border:1px solid var(--border)}.step:before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:12px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);color:var(--ink);font-weight:900}.callout{padding:13px 15px;border-radius:10px;background:#1b334a;border-left:4px solid var(--orange)}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.82rem;color:var(--muted);margin:12px 0}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.flow div{background:#0d2742;border:1px solid var(--border);border-radius:12px;padding:13px;text-align:center}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;min-width:760px;background:#0d243c}th,td{padding:12px 13px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}th{position:sticky;top:0;background:#163858;color:#fff}td{color:#c7daea}.searchbar{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:15px}.searchbar input,.searchbar select{width:100%;border:1px solid var(--border);background:#081d32;color:#fff;border-radius:10px;padding:11px 12px}.library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.libitem{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#0d243c}.libitem a{font-weight:800;text-decoration:none}.libitem small{display:block;color:var(--muted)}.eponyms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.eponym{border:1px solid var(--border);background:#0d243c;border-radius:12px;padding:14px}.eponym b{color:#fff}.timeline{border-left:3px solid var(--cyan);margin-left:10px;padding-left:20px;display:grid;gap:16px}.timeitem{position:relative}.timeitem:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--cyan);left:-27px;top:6px}.timeitem strong{color:#fff}.quiz-shell{max-width:900px;margin:auto}.progress{height:9px;background:#071827;border-radius:999px;overflow:hidden;border:1px solid var(--border)}.progress>div{height:100%;background:var(--cyan);width:0}.qcard{margin-top:16px}.answers{display:grid;gap:9px}.answer{width:100%;text-align:left;border:1px solid var(--border);background:#0b233b;color:#e7f2fa;padding:12px 14px;border-radius:10px;cursor:pointer}.answer:hover{border-color:var(--cyan)}.answer.correct{border-color:var(--green);background:#123d35}.answer.wrong{border-color:var(--red);background:#48232c}.explanation{margin-top:14px;padding:14px;border-radius:10px;background:#132f49;border-left:4px solid var(--cyan)}.score{font-size:3rem;font-weight:900}.pass{color:var(--green)}.fail{color:var(--orange)}.footer{padding:40px 0 70px;color:var(--muted);font-size:.9rem}.source-list li{margin:8px 0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.visualizer{grid-template-columns:1fr}.procedure-list{display:grid;grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:1fr 1fr}.flow{grid-template-columns:1fr 1fr}}@media(max-width:680px){.wrap{width:min(100% - 22px,var(--max))}.hero{padding-top:42px}.stats,.grid.two,.grid.three,.before-after,.library,.eponyms,.searchbar{grid-template-columns:1fr}.procedure-list{grid-template-columns:1fr 1fr}.section{padding:42px 0}.sitebar .wrap{align-items:flex-start;flex-direction:column;gap:0;padding-top:8px}.sitebar{position:relative}.nav{width:100%}.diagram{min-height:275px}.diagram svg{height:230px}}@media print{.sitebar,.tabs,.searchbar,.btn,.procedure-list,.notice.web{display:none!important}body{background:#fff;color:#111}.section{break-inside:avoid;border-top:1px solid #bbb}.card,.eponym,.libitem,.step{background:#fff;color:#111;border-color:#bbb}.card p,td,.section-head p,.eponym,.libitem small{color:#333}a{color:#111}.wrap{width:100%}.before-after{grid-template-columns:1fr 1fr}.diagram{border:1px solid #aaa}.hero{padding:15px 0}.footer{padding:20px 0}}