:root{--washi: #F2EBDC;--washi-deep: #E8DFCB;--washi-shadow: #DCD1B6;--sumi: #0B0907;--sumi-deep: #060504;--sumi-rim: #1C1812;--ink: #1A1612;--ink-soft: #2C2620;--ink-mute: #6A5E4B;--ink-faint: #9A8E78;--cream: #F2EBDC;--cream-mute: #B8AC93;--cream-faint: #7E7460;--rule: #C9BEA4;--rule-soft: #DBD0B6;--rule-night: rgba(242, 235, 220, .16);--seal: #9C2D26;--seal-deep: #7A1F1A;--brass: #B08642;--brass-bright:#D8A64A;--steel: #AEB4BE;--display: "Italiana", "EB Garamond", serif;--serif: "EB Garamond", "Apple Garamond", Garamond, serif;--jp: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--mono: "DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--t-2xs: 9.5px;--t-xs: 10.5px;--t-sm: 12px;--t-base: 17px;--t-md: 17.5px;--t-lg: 21px;--t-xl: 26px;--t-2xl: clamp(28px, 3.6vw, 44px);--t-display: clamp(40px, 6.4vw, 84px);--s-1: 8px;--s-2: 16px;--s-3: 24px;--s-4: 32px;--s-5: 48px;--s-6: 64px;--s-7: 96px;--s-8: 128px;--s-9: 192px;--page-max: 1320px;--page-pad: 56px;--col: 880px;--col-narrow: 680px;--measure: 66ch;--edge-inset: max(var(--page-pad), calc((100vw - var(--page-max)) / 2 + var(--page-pad)));--ease-out: cubic-bezier(.2, .6, .2, 1);--ease-ink: cubic-bezier(.2, .6, .2, 1)}@media(max-width:760px){:root{--page-pad: 22px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{background:var(--sumi-deep);color:var(--ink);font-family:var(--serif);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}body{overflow-x:hidden;position:relative}a{color:inherit;text-decoration:none}img,canvas{display:block;max-width:100%}::selection{background:var(--seal);color:var(--washi)}.scene-stage{position:fixed;inset:0;z-index:0;background:var(--sumi-deep)}.scene-stage canvas{width:100%;height:100%;touch-action:none}.paper:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.42;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.10  0 0 0 0 0.08  0 0 0 0 0.05  0 0 0 0.16 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.dawn{position:relative;z-index:2;height:56vh;pointer-events:none;background:linear-gradient(180deg,rgba(10,8,6,0) 0%,rgba(10,8,6,.28) 26%,var(--washi-deep) 84%,var(--washi) 100%)}.paper{position:relative;z-index:2;background:radial-gradient(ellipse 100% 60% at 30% 0%,rgba(255,248,228,.6),transparent 70%),radial-gradient(ellipse 90% 70% at 80% 100%,rgba(192,170,128,.18),transparent 70%),var(--washi)}.paper>*{position:relative;z-index:2}.page{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-pad)}.col{max-width:var(--col);margin:0 auto}.col-narrow{max-width:var(--col-narrow);margin:0 auto}.section-mark{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);padding:var(--s-7) 0 var(--s-2);border-bottom:1px solid var(--rule);margin-bottom:var(--s-5)}.section-mark .roman{font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.34em;text-transform:uppercase;color:var(--seal);white-space:nowrap}.section-mark h2{font-family:var(--display);font-weight:400;font-size:var(--t-2xl);color:var(--ink);letter-spacing:.01em}.section-mark .pagina{font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-mute);text-align:right;white-space:nowrap}@media(max-width:760px){.section-mark{flex-direction:column;align-items:flex-start;gap:var(--s-1)}.section-mark .pagina{text-align:left}}.ornament{display:flex;align-items:center;gap:var(--s-2);justify-content:center;margin:var(--s-2) 0 var(--s-4);color:var(--ink-mute)}.ornament .line{flex:0 0 80px;height:1px;background:var(--rule)}.ornament .diamond{width:6px;height:6px;background:var(--seal);transform:rotate(45deg)}.reveal{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveal.in{opacity:1;transform:none}@keyframes inkBloom{0%{opacity:0;transform:translateY(20px) scale(.98);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--seal);outline-offset:3px}
