@font-face{font-family:Inter;src:url("assets/inter-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Imperial;src:url("assets/imperial-script.ttf") format("truetype");font-weight:400;font-display:swap}
:root{--paper:#f7f7ee;--ink:#23231f;--cream:#faf9ec;--sans:Inter,Arial,sans-serif;--serif:"Baskerville","Baskerville Old Face","Palatino Linotype",Georgia,serif;--ease:cubic-bezier(.22,.74,.22,1);--margin:clamp(12px,1vw,24px);color-scheme:light}
*{box-sizing:border-box}
html{scroll-padding-top:54px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:default}
a{color:inherit;text-decoration:none}h1,h2,h3,p,figure,ol,ul{margin:0}ol,ul{padding:0;list-style:none}button{background:none;border:0}
.symbols{position:absolute;width:0;height:0;overflow:hidden}.icon{height:15px;width:15px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
:focus-visible{outline:2px solid #f518a5;outline-offset:4px}.skip{position:fixed;left:12px;top:-10rem;z-index:100;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:5px}
.topbar{position:fixed;inset:0 0 auto;z-index:12;display:flex;align-items:center;gap:clamp(22px,3.4vw,60px);height:50px;padding:0 var(--margin);color:var(--cream);background:linear-gradient(to bottom,rgba(0,0,0,.19),transparent);font-size:14px;font-weight:570;letter-spacing:-.048em;transition:color .22s,background-color .22s}
.topbar button{font-weight:inherit;letter-spacing:inherit}.topbar.is-paper{background:rgba(247,247,238,.96);color:var(--ink)}
.wordmark,.top-menu,.top-search,.top-right,.mobile-toggle,.pill{display:inline-flex;align-items:center}
.wordmark{gap:7px;white-space:nowrap}.wordmark img{display:block;width:32px;height:32px;flex:none}.wordmark b{font-weight:inherit}.wordmark small{font-size:inherit;opacity:.74;margin-left:5px}
.top-menu,.top-search{gap:6px;padding:8px 0}.top-menu svg{width:12px;height:12px}
.top-right{gap:28px;margin-left:auto}.pill{border-radius:100px;background:var(--cream);color:var(--ink);padding:9px 17px;line-height:1.1;white-space:nowrap}.is-paper .pill{background:var(--ink);color:var(--cream)}
.classic-link:hover,.wordmark:hover,.topbar button:hover,.side-index button:hover,.colophon a:hover{text-decoration:underline;text-underline-offset:3px}
.mobile-toggle{display:none}
.pill{gap:8px}
.pill:hover{box-shadow:inset 0 0 0 1px currentColor}
.gallery-cover{height:100svh;min-height:400px;position:relative;isolation:isolate;background:#11140e;color:var(--cream)}
.cover-backdrop,.construction,.chapter-art>img{position:absolute;inset:0;width:100%;height:100%}
.cover-backdrop picture,.cover-backdrop img{display:block;width:100%;height:100%}
.cover-backdrop img,.chapter-art>img{object-fit:cover;object-position:center 46%}
.cover-backdrop::after,.chapter-art::after{content:"";pointer-events:none;position:absolute;inset:0;background:rgba(15,20,15,.23)}
.construction{color:rgba(249,249,233,.25);pointer-events:none}.construction svg{width:100%;height:100%}
.cover-index{position:absolute;z-index:4;left:50%;top:50svh;translate:-50% -50%;width:clamp(335px,26.8vw,378px);height:min(465px,calc(100svh - 96px));display:flex;flex-direction:column;justify-content:space-between;padding:18px 19px 20px;border:1px solid rgba(251,250,236,.65);color:var(--cream);text-shadow:0 1px 9px rgba(15,17,10,.19)}
.edition-title{display:block;letter-spacing:-.073em;font-weight:615;line-height:.83}.edition-title>span{display:block}.edition-title em{font-family:var(--serif);font-style:italic;letter-spacing:-.1em;font-weight:400}
.cover-title{font-size:clamp(29px,2.35vw,39px)}.cover-subtitle{font-family:var(--serif);font-size:clamp(18px,1.45vw,24px);letter-spacing:-.055em;line-height:.96;margin-bottom:16px;text-wrap:balance}
.contents-list a{display:flex;align-items:baseline;gap:6px;line-height:1.04;font-size:clamp(17px,1.37vw,23px);letter-spacing:-.057em;font-weight:670;padding:2px 0}
.contents-list a i{flex:1;border-bottom:1px dotted currentColor;opacity:0}.contents-list a:hover i,.contents-list a:focus-visible i,.contents-list a[aria-current] i{opacity:.68}
.numeral{flex:none;min-width:1.3em;text-align:right;font:normal 600 .72em var(--serif);opacity:.8;letter-spacing:-.035em}
.side-index{position:fixed;inset:62px auto 11px var(--margin);width:clamp(132px,12vw,185px);z-index:7;visibility:hidden;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;color:var(--cream);text-shadow:0 1px 6px #0005}
.side-index.is-paper{color:var(--ink);text-shadow:none}.side-index a,.side-index button{pointer-events:auto}.index-title{font-size:clamp(21px,1.55vw,30px);width:max-content}
.side-index .contents-list a{font-size:clamp(14px,1.18vw,20px);padding:1px 0}.side-index .contents-list a:not([aria-current]){opacity:.8}.side-index .contents-list a:hover{opacity:1}
.index-credit{margin-top:36px;font:12px/1.15 var(--serif);letter-spacing:-.03em}.index-credit button{padding:0;font:inherit}
.chapter{position:relative}.chapter-art{position:relative;height:100svh;min-height:390px;background:#25281e;color:var(--cream);isolation:isolate}
.chapter-art>img{object-position:center;z-index:-2}.chapter-art::after{z-index:-1;background:linear-gradient(90deg,rgba(9,14,12,.42),rgba(9,14,12,.17) 58%,rgba(9,14,12,.10))}
.chapter-caption{position:relative;height:100svh;min-height:390px;margin-left:20%;width:76%;z-index:2}
.chapter-caption h2{position:absolute;top:43%;translate:0 -50%;font-size:clamp(64px,10.9vw,194px);line-height:.89;font-weight:600;letter-spacing:-.085em;overflow-wrap:normal}
.chapter-caption .chapter-lede{position:absolute;top:67%;max-width:22em;font-family:var(--serif);font-size:clamp(24px,3vw,55px);line-height:.99;letter-spacing:-.06em;text-wrap:balance}
.chapter-lede::first-letter,.paper-inner > h3::first-letter{font-family:Imperial,"Kunstler Script",cursive;font-weight:400;font-style:normal;font-size:1.97em;line-height:.60;letter-spacing:-.055em}
.chapter-paper{position:relative;isolation:isolate;background:var(--paper);color:var(--ink);padding:clamp(80px,11vh,150px) 0 clamp(90px,13vh,180px)}
.paper-inner{margin-left:20%;width:min(70%,950px)}.paper-inner > h3{font:400 clamp(44px,5vw,88px)/1.03 var(--serif);letter-spacing:-.064em;max-width:14em;text-wrap:balance}
.paper-copy{font-size:clamp(15px,1.28vw,21px);line-height:1.4;letter-spacing:-.038em;max-width:40em;margin:17px 0 34px}
.paper-inner>figure,.paper-inner>div{max-width:740px}
.notebook-sample,.library,.question-study{color:#e9e9df;background:#20221e;border-radius:4px;overflow:hidden;padding:12px}
.notebook-sample figcaption,.library-bar{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;margin:0 4px 12px;letter-spacing:-.035em}
.notebook-sample figcaption span,.library-bar span:last-child{font-weight:400;color:#cccfc8}
.note-sheet{padding:clamp(24px,3vw,52px);display:grid;justify-content:center;align-content:center;min-height:235px;background-color:#f5f3e5;background-image:linear-gradient(to right,#9aa99e40 1px,transparent 1px),linear-gradient(to bottom,#9aa99e40 1px,transparent 1px);background-size:20px 20px;color:#2b3d54}
.note-sheet span{display:block;font-family:"Segoe Print","Bradley Hand",var(--serif);font-style:italic;width:fit-content}.note-head{font-size:clamp(18px,2.1vw,36px);transform:rotate(-3deg)}
.note-formula{font-size:clamp(35px,4vw,66px);margin:6px 0;line-height:1.35;background:linear-gradient(transparent 64%,#ff93c9aa 64%,#ff93c9aa 90%,transparent 90%);transform:rotate(-2deg)}
.note-result{font-size:20px;margin-left:15%}.note-margin{font-size:15px;color:#77406d;margin:10px 0 0 auto}
.library-content{padding:clamp(20px,3vw,38px);color:var(--ink);background:#eeeee4}.library-content [role=group]{display:flex;gap:7px;margin-bottom:16px}
.library-content button{padding:8px 12px;font-size:13px;letter-spacing:-.03em;border:1px solid #8b8d83;border-radius:50px}.library-content button[aria-pressed=true]{background:#23251f;color:var(--paper);border-color:#23251f}
.library-content li{padding:14px 0;border-top:1px solid #c1c2b8;display:flex;align-items:center;justify-content:space-between;font-size:16px}.library-content small{font-size:12px;color:#565a50}
.question-study{padding:clamp(22px,3.4vw,52px)}.example-label{font-size:12px;opacity:.7}
.question-study>p{font:400 clamp(24px,2.8vw,46px)/1.08 var(--serif);letter-spacing:-.04em;margin:17px 0 27px;text-wrap:balance}
.question-study summary{list-style:none;width:fit-content;padding:7px 0;border-bottom:1px solid #b8b6a9;font-size:14px;cursor:pointer}.question-study summary::-webkit-details-marker{display:none}
.question-study details p{font-size:16px;line-height:1.5;max-width:44em;margin-top:15px;color:#deddd4}
.colophon{position:relative;z-index:8;background:var(--paper);border-top:1px solid #dddcd1;display:flex;justify-content:space-between;padding:23px max(20px,5vw);font-size:13px}
.download-sheet {
  position: relative;
  z-index: 8;
  background: #25352d;
  color: var(--cream);
  padding: clamp(58px, 8vw, 130px) max(24px, 8vw);
}
.download-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(32px, 7vw, 110px);
}
.download-inner h2 {
  font: 400 clamp(48px, 6.8vw, 110px)/.92 var(--serif);
  letter-spacing: -.06em;
}
.download-inner h2 em { color: #d6c59f; }
.download-details { border-left: 1px solid #7c8473; padding-left: clamp(25px, 4vw, 64px); }
.download-details img { display: block; }
.download-details p { max-width: 36ch; margin: 16px 0 24px; line-height: 1.48; }
.download-details .pill { min-height: 44px; font-size: 14px; font-weight: 600; }
.download-details small { display: block; margin-top: 12px; color: #e1e3d6; line-height: 1.5; }
.menu-dialog{inset:58px auto auto var(--dialog-left,16px);margin:0;padding:0;border:1px solid #36352f22;color:var(--ink);background:var(--paper);border-radius:4px;max-width:calc(100vw - 24px);width:360px;box-shadow:0 12px 54px #0003;max-height:calc(100dvh - 76px);overflow:auto}
.menu-dialog::backdrop{background:#11180e55;backdrop-filter:blur(4px)}.dialog-inner{padding:19px 21px 22px}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.dialog-heading h2{font-size:24px;letter-spacing:-.065em;line-height:1.05;font-weight:610}
.close-dialog{font-size:27px;line-height:1;width:33px;height:33px;border:1px solid #b8b7ad;border-radius:50%;display:grid;place-items:center}
.menu-dialog .dialog-row{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;padding:11px 0;border-top:1px solid #d2d1c6;font-size:16px;letter-spacing:-.045em}.dialog-row:hover span:first-child{text-decoration:underline}
.dialog-row small{font:13px var(--serif)}.dialog-description{font:19px/1.3 var(--serif);letter-spacing:-.035em}.dialog-description + .dialog-row{margin-top:16px}
.scroll-speed select{font:inherit;color:var(--ink);background:var(--paper);padding:5px 8px;border:1px solid #aaa99e;border-radius:4px}
@media (hover: none), (pointer: coarse), (pointer: none) {
  .menu-dialog .scroll-speed { display: none; }
}
.search-input{font-size:16px;color:var(--ink);width:100%;padding:11px 9px;border:1px solid #c0bfb2;background:#fffef6;border-radius:2px;margin:0 0 12px}.search-empty{font:16px var(--serif);padding-block:8px}
@media(max-width:900px){.topbar{gap:22px}.top-right{gap:16px}.classic-link{display:none}.chapter-caption h2{font-size:10.7vw}.side-index{width:15%}}
@media(max-width:680px){
  .download-inner { grid-template-columns: 1fr; gap: 28px; }
  .download-details { padding: 22px 0 0; border-left: 0; border-top: 1px solid #7c8473; }
  .topbar{height:56px;padding:0 15px;gap:8px}.wordmark{font-size:14px;gap:7px;line-height:1.04}.wordmark img{width:28px;height:28px}.wordmark small{display:block;margin:0;font-size:13px}
  .top-menu,.top-search,.classic-link{display:none}.top-right{gap:13px}.pill{font-size:13px;padding:9px 14px}
  .mobile-toggle{display:grid;align-content:center;gap:5px;padding:6px 0;height:38px;width:26px}.mobile-toggle span{background:currentColor;height:2px;width:21px;display:block}
  .cover-index{width:calc(100% - 34px);max-width:350px;height:min(459px,calc(100svh - 130px));padding:18px 18px 21px}
  .cover-title{font-size:30px}.contents-list a{font-size:18px;line-height:1.12;padding:2px 0}.cover-subtitle{font-size:19px;max-width:13em}
  .side-index{display:none}.chapter-caption{width:calc(100% - 36px);margin-left:18px}.chapter-caption h2{font-size:clamp(40px,13vw,86px)}.chapter-caption .chapter-lede{font-size:clamp(26px,6.8vw,37px);max-width:17em}
  .chapter-art>img{object-position:68% center}.chapter-art::after{background:linear-gradient(0deg,#15100a49,#1917102e)}
  .chapter-paper{padding:68px 0 88px}.paper-inner{margin:0 19px;width:auto}.paper-inner > h3{font-size:clamp(44px,10.4vw,64px)}.paper-copy{margin:15px 0 25px;line-height:1.46;font-size:15px}
  .note-sheet{min-height:205px}.note-result{font-size:17px}.note-margin{font-size:13px}.library-content{padding:16px}
  .menu-dialog{inset:60px 12px auto;margin-inline:auto;width:calc(100% - 24px)}.colophon{font-size:12px;padding:18px 16px}
}
@media(max-width:380px){
  .topbar{padding-inline:10px}
  .top-right{gap:8px}
  .topbar .pill{padding-inline:10px;gap:5px}
  .topbar .wordmark small{font-size:11px}
}
@media(max-width:360px){
  .topbar .wordmark small{display:none}
}
@media(max-height:530px) and (min-width:681px){.cover-index{height:calc(100svh - 64px);top:54svh}.cover-subtitle{margin-bottom:9px}.index-credit{margin-top:12px}.side-index{top:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0s!important;transition-duration:0s!important}}
::selection{background:#e69cbb;color:#15130f}
