:root{--ink:#172c3e;--muted:#4b6070;--paper:#f5f4ef;--line:#d4dbdc;--accent:#a34b1b;--blue:#174d6b;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--blue);text-underline-offset:4px}a:hover{color:var(--accent)}img{display:block;max-width:100%;height:auto}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}:focus-visible{outline:3px solid #c35b20;outline-offset:5px}h1,h2,h3{font-family:Georgia,serif;line-height:1.13;font-weight:500;text-wrap:balance}h1{font-size:clamp(2.4rem,4.9vw,4.4rem);margin:16px 0 22px}h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 18px}h3{font-size:1.45rem;margin:12px 0}p{margin:0 0 18px}ul,ol{padding-left:24px}li{margin:8px 0}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.skip{position:absolute;top:-90px;left:16px;padding:12px;background:white;z-index:10}.skip:focus{top:12px}.masthead{background:var(--white);border-top:5px solid var(--accent);border-bottom:1px solid var(--line)}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;flex-wrap:wrap}.brand{font-family:Georgia,serif;font-size:1.9rem;font-weight:bold;text-decoration:none;color:var(--ink)}.brand span{color:var(--accent)}.nav{display:flex;gap:22px;flex-wrap:wrap;align-items:center}.nav a{font-size:.9rem;font-weight:650;text-decoration:none}.languages{display:flex;gap:12px;font-size:.85rem}.languages [aria-current]{font-weight:bold;text-decoration:underline}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;align-items:center;padding:56px 0}.intro p{max-width:60ch;color:var(--muted)}.intro figure{margin:0;background:#fff;border:1px solid var(--line);padding:16px}.intro figure img{width:100%;aspect-ratio:1.35;object-fit:contain}.intro figcaption{border-top:1px solid var(--line);padding-top:12px;font-size:.83rem;color:var(--muted)}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:25px}.button{display:inline-block;background:var(--blue);color:white;padding:12px 20px;border-radius:3px;text-decoration:none;font-size:.9rem;font-weight:650;border:1px solid var(--blue)}.button:hover{background:var(--ink);color:white}.button.secondary{background:transparent;color:var(--blue)}.section{padding:52px 0;border-top:1px solid var(--line)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}.section-head h2{margin-bottom:0}.section-head>a{font-size:.9rem;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{background:white;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.card-body{padding:24px;display:flex;flex-direction:column;flex:1}.card p{color:var(--muted);font-size:.94rem}.card h3 a{text-decoration:none;color:var(--ink)}.card h3 a:hover{text-decoration:underline}.card .links{margin-top:auto;display:flex;gap:10px 20px;flex-wrap:wrap;font-size:.88rem;font-weight:650}.card-image{height:185px;width:100%;object-fit:contain;padding:12px;background:#fff;border-bottom:1px solid var(--line)}.meta{font-size:.76rem;color:var(--muted)}.tools{background:#e9eeed}.tools .card{border-top:3px solid var(--blue)}.track{padding:28px;background:#fff;border:1px solid var(--line)}.track p{color:var(--muted);font-size:.92rem}.track ol{padding-left:20px;font-size:.93rem}.track .number{color:var(--accent);font-size:.8rem;letter-spacing:.12em}.feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:var(--ink);color:white;padding:38px}.feature p{color:#d5e1e5}.feature a{color:#fff}.feature .eyebrow{color:#ffc290}.feature .result{font:clamp(2.5rem,6vw,4rem)/1.3 Georgia,serif;color:#ffc290}.author{display:grid;grid-template-columns:1fr 1fr;gap:48px}.author p{color:var(--muted)}.footer{background:#132939;color:#dbe5ea;padding:32px 0;font-size:.85rem}.footer a{color:#fff}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.catalog-head{padding:48px 0 30px}.catalog-head h1{font-size:clamp(2.2rem,4vw,3.5rem)}.filters{display:flex;gap:20px;flex-wrap:wrap;align-items:end;padding:24px;background:#e9eeed;margin-bottom:24px}.filters label{display:block;font-size:.85rem;font-weight:650}.filters input,.filters select{display:block;margin-top:6px;min-height:46px;background:white;border:1px solid #71828b;padding:8px 12px;max-width:100%;width:100%}.filters>div:first-child{flex:1;min-width:200px}.filters button{padding:9px 18px;min-height:46px;background:white;border:1px solid #71828b;cursor:pointer}.catalog-grid{padding-bottom:48px}.empty{padding:28px;border:1px solid var(--line);background:#fff}.reading{max-width:780px;margin:0 auto;padding:48px 0 70px}.reading h2{font-size:1.9rem;margin-top:40px}.reading h3{font-size:1.35rem}.reading .lead{font-size:1.15rem;color:var(--muted)}.reading table{border-collapse:collapse;width:100%;font-size:.94rem;margin:20px 0}.reading th,.reading td{padding:12px;border:1px solid var(--line);text-align:left}.reading th{background:#e6eeec}.table-scroll{overflow:auto}.formula{background:#e6eeec;padding:18px 22px;border-left:4px solid var(--blue);font-family:ui-monospace,monospace;overflow-wrap:anywhere}.reading details{background:white;border:1px solid var(--line);padding:16px;margin:18px 0}.reading summary{cursor:pointer;font-weight:650}.reading details p{margin-top:16px}.toc{padding:20px;background:#fff;border:1px solid var(--line)}.toc a{display:block;margin:6px 0}.archive-details{border:1px solid var(--line);background:white;padding:20px;margin-top:18px}.archive-details summary{cursor:pointer;font-weight:650}.archive-details .container{width:100%}.archive-details h2{font-size:1.5rem;margin-top:24px}.archive-details h3{font-size:1.2rem}.archive-details img{max-height:200px;width:auto}.archive-details .hero-actions{display:none}.book-grid,.book-card{display:grid;grid-template-columns:1fr 1fr;gap:24px}.archive-details details{margin:12px 0}.archive-details dt{font-weight:700;margin-top:15px}.archive-details dd{margin-left:0;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:850px){.intro{gap:28px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid>.track:last-child{grid-column:1/-1}.nav{gap:16px}.top{gap:16px}.feature{gap:24px}}
@media(max-width:600px){body{font-size:16px}.wrap{width:calc(100% - 32px)}.top{padding:16px 0}.nav{order:3;width:100%;gap:16px;font-size:.85rem}.intro{grid-template-columns:1fr;padding:32px 0;gap:24px}.intro figure img{aspect-ratio:1.6}.grid,.feature,.author,.book-grid,.book-card{grid-template-columns:1fr}.grid>.track:last-child{grid-column:auto}.section{padding:32px 0}.section-head{align-items:start;flex-direction:column;gap:10px}.feature{padding:24px}.card-image{height:190px}.filters{padding:16px}.filters>div{width:100%}.reading{padding-top:30px}.catalog-head{padding-top:30px}}
.card h2{font-size:1.45rem;margin:12px 0}.card h2 a{text-decoration:none;color:var(--ink)}.card h2 a:hover{text-decoration:underline}.reading h1{font-size:clamp(2.2rem,4vw,3.2rem)}
.intro h1{font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.15;text-wrap:initial}
.intro figure img{aspect-ratio:auto;height:auto}
.reading .formula{font-family:Georgia,serif;overflow-x:auto;overflow-wrap:normal;margin:20px 0}
.reading mjx-container[display="true"]{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 0}
@media(max-width:800px){.intro{grid-template-columns:1fr;gap:28px}.intro h1{font-size:clamp(1.85rem,5.5vw,3rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.intro{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.intro h1{max-width:20ch}
.reference-shelf{background:#dfe8e6}.reference-shelf>.wrap>h2{color:var(--ink)}
.reference-shelf .archive-details{border-color:#bdccca;box-shadow:0 2px 8px rgba(23,44,62,.06)}
.reference-shelf .archive-details>summary{padding:3px 0;color:var(--ink)}
.reference-shelf .books-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.reference-shelf .book-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:start;padding:20px;background:#f7f8f5;border:1px solid var(--line)}
.reference-shelf .book-cover-img{display:flex;align-items:flex-start;justify-content:center}
.reference-shelf .book-cover-img img{width:100%;max-width:130px;max-height:none;object-fit:contain}
.reference-shelf .book-info h3{margin-top:8px}.reference-shelf .book-info p:last-child{margin-bottom:0}
.reference-shelf .book-badge{display:inline-block;color:var(--accent);font-size:.76rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:850px){.reference-shelf .books-grid{grid-template-columns:1fr}}
@media(max-width:520px){.reference-shelf .book-card{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:14px}.reference-shelf .book-info h3{font-size:1.05rem}.reference-shelf .book-info p{font-size:.9rem}}
.study-section{background:#edf0e9}.study-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.study-cards a{font-weight:650}.study-form{background:#fff;border:1px solid var(--line);padding:22px;margin:24px 0}.study-form fieldset{border:0;padding:0;margin:0;min-width:0}.study-form legend{font-weight:700;margin-bottom:16px}.study-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.study-inputs label{font-size:.9rem;font-weight:650}.study-inputs input{display:block;width:100%;min-height:46px;padding:8px;border:1px solid #71828b;margin-top:6px}.study-form button{cursor:pointer}.study-form [role=status]{margin:20px 0 0;border-top:1px solid var(--line);padding-top:16px;overflow-wrap:anywhere}.study-chart{margin:24px 0;padding:16px;background:#fff;border:1px solid var(--line)}.study-chart svg{display:block;width:100%;height:auto}.study-chart figcaption{font-size:.87rem;color:var(--muted)}
@media(max-width:800px){.intro{grid-template-columns:1fr}.intro h1{max-width:100%}}
@media(max-width:600px){.study-cards,.study-inputs{grid-template-columns:1fr}.study-form{padding:16px}}
