:root{--color-canvas:#eef0e4;--color-canvas-elevated:#f5f5e9;--color-surface:#fbf8ed;--color-surface-raised:#fffdf3;--color-ink:#253e40;--color-muted:#627574;--color-soft:#80918b;--color-line:#3a605d2e;--color-line-strong:#41615857;--color-accent:#32685f;--color-accent-hover:#9c7851;--color-accent-soft:#31635817;--color-violet:#a78861;--color-violet-soft:#a7886124;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-18:4.5rem;--space-24:6rem;--radius-sm:.35rem;--radius-control:.4rem;--radius-surface:1rem;--page-max:85rem;--reading-max:46rem;color:var(--color-ink);background:var(--color-canvas);color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;line-height:1.75}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-canvas);min-width:0}body{min-width:0;min-height:100svh;color:var(--color-ink);background:radial-gradient(ellipse at 85% 30%,#d6ede067,transparent 54%), radial-gradient(ellipse at 5% 85%,#d9cdad50,transparent 48%),var(--color-canvas);margin:0;overflow-x:hidden}[hidden]{display:none!important}::selection{color:#132d36;background:#a2cdba}a{color:var(--color-accent);text-underline-offset:.24em}a:hover{color:var(--color-accent-hover)}:where(a,button,input,select,textarea):focus-visible{outline-offset:3px;outline:3px solid #97bc8e}button,input,select,textarea{font:inherit;color:var(--color-ink);border:1px solid var(--color-line-strong);border-radius:var(--radius-control);background:var(--color-surface-raised)}button{cursor:pointer;min-height:2.8rem;padding:.65rem 1rem}input,select,textarea{min-height:2.8rem;padding:.65rem .8rem}p{max-width:var(--reading-max);margin:0}h1,h2,h3{color:var(--color-ink);letter-spacing:.065em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,Noto Serif JP,Georgia,serif}h1{font-size:clamp(2.5rem,5.6vw,5rem);font-weight:500;line-height:1.2}h2{font-size:clamp(1.75rem,3vw,2.6rem);font-weight:500;line-height:1.33}h3{font-size:1.25rem;font-weight:550;line-height:1.4}.eyebrow{letter-spacing:.25em;color:#7c927f;font:500 .69rem Georgia,serif}.lede{color:var(--color-muted);font:400 clamp(1rem,1.5vw,1.12rem)/1.9 Yu Mincho,serif}.stack{gap:var(--space-6);display:grid}.stack-lg{gap:var(--space-12);display:grid}.surface{background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-surface);box-shadow:0 18px 45px #24534918}.skip-link{z-index:110;color:#16393f;background:#fff8e8;border:2px solid #8fbba7;padding:.6rem .9rem;position:fixed;top:.8rem;left:1rem;transform:translateY(-175%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:40;background:linear-gradient(92deg,#0b2936,#143c47 55%,#0b2734);border-bottom:1px solid #ac936a7a;position:relative;box-shadow:0 7px 33px #09202b5c}.site-header__inner{width:min(var(--page-max),calc(100% - 3rem));justify-content:space-between;align-items:center;gap:1.6rem;min-height:5.3rem;margin-inline:auto;display:flex}.brand{color:#f3e9cb;align-items:center;gap:.9rem;text-decoration:none;display:flex}.brand:hover{color:#fff9e8}.brand__ornament{color:#e5c896;border:1px solid #d4b988a1;border-radius:50%;flex:0 0 3rem;place-items:center;width:3rem;height:3rem;font:400 1.7rem Georgia,serif;display:grid;box-shadow:inset 0 0 0 4px #bba17518,0 0 17px #d5c08a12}.brand__text{gap:.22rem;line-height:1.2;display:grid}.brand__text small{letter-spacing:.21em;color:#b9cbbb;font:500 .57rem Georgia,serif}.brand__text strong{letter-spacing:.18em;color:#f9eccb;font:500 1.45rem Yu Mincho,serif}.site-nav{align-items:center;gap:1.4rem;display:flex}.site-nav a{color:#e0e7d6;letter-spacing:.11em;padding:.7rem .2rem;font:500 .92rem Yu Mincho,serif;text-decoration:none;transition:color .2s;display:block;position:relative}.site-nav a:after{content:"";transform-origin:0;background:#edcf90;height:1px;transition:transform .22s;position:absolute;bottom:.2rem;left:0;right:0;transform:scaleX(0)}.site-nav a[aria-current=page],.site-nav a:hover{color:#f8dfa6}.site-nav a[aria-current=page]:after,.site-nav a:hover:after{transform:scaleX(1)}main{width:min(var(--page-max),calc(100% - 3rem));min-height:65svh;margin-inline:auto;padding:3rem 0 5rem}body:has(.library-home) main{width:100%;max-width:none;padding:0}.site-footer{width:100%;min-height:125px;padding:2.2rem max(1.5rem,calc((100% - var(--page-max))/2));color:#b7cbc4;background:linear-gradient(100deg,#0a2935,#1b4146);border-top:1px solid #c6aa77;align-items:center;gap:1.5rem;margin:0;font:400 .8rem Yu Mincho,serif;display:flex}.site-footer__mark{color:#d6bc8e;font-size:1.35rem}.site-footer a{color:#e7d0a3;margin-left:auto;text-decoration:none}.site-footer a:hover{color:#fff5d8}.scene-wipe{z-index:101;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .17s,visibility .17s;display:flex;position:fixed;inset:0}.scene-wipe span{background:radial-gradient(#33626b66,#0000 78%),repeating-linear-gradient(90deg,#0000 0 31px,#d6b77f0a 32px 33px),linear-gradient(90deg,#061f30,#184251,#0a2635);flex:1;box-shadow:inset 0 0 0 14px #ba9d6b18}.scene-wipe span:first-child{border-right:5px solid #d8bb82;transition:transform .37s cubic-bezier(.4,0,.2,1);transform:translate(-100%)}.scene-wipe span:last-child{border-left:5px solid #d8bb82;transition:transform .37s cubic-bezier(.4,0,.2,1);transform:translate(100%)}body.is-moving .scene-wipe{opacity:1;visibility:visible}body.is-moving .scene-wipe span{transform:translate(0)}.scene-wipe:after{content:"";z-index:2;pointer-events:none;opacity:0;position:absolute;inset:0}body.is-moving[data-scene-motion=room] .scene-wipe:after{background:radial-gradient(at 50% 32%,#ffefba8a,#0000 27%),repeating-linear-gradient(90deg,#0000 0 20%,#cbad7352 20.5%,#0000 21.1%),linear-gradient(110deg,#0c2b38b0,#0000 50%,#0c2b38b0);animation:.53s ease-in forwards room-pass}body.is-moving[data-scene-motion=desk] .scene-wipe:after{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%);background:linear-gradient(110deg,#f8ebc7,#fffdf0,#c0b48c);animation:.53s ease-in forwards page-pass}body.is-moving[data-scene-motion=world] .scene-wipe:after{background:radial-gradient(circle,#fffdea 0%,#e5d4a3 13%,#55847d 48%,#173e47 80%);animation:.6s ease-in forwards world-pass}@keyframes room-pass{0%,35%{opacity:0;transform:scale(.56)}55%{opacity:.4}to{opacity:1;transform:scale(1.8)}}@keyframes page-pass{0%,25%{opacity:0;transform:translate(-85%)skew(-19deg)}75%{opacity:.85}to{opacity:1;transform:translate(0)skew(0)}}@keyframes world-pass{0%,30%{opacity:0;transform:scale(.5)}75%{opacity:.85}to{opacity:1;transform:scale(2.2)}}@media (width<=650px){.site-header__inner{gap:.6rem;width:calc(100% - 1.6rem);min-height:4.3rem}.brand{gap:.5rem}.brand__ornament{flex-basis:2.2rem;width:2.2rem;height:2.2rem;font-size:1.3rem}.brand__text small{letter-spacing:.12em;font-size:.41rem}.brand__text strong{letter-spacing:.075em;font-size:1.03rem}.site-nav{gap:.55rem}.site-nav a{letter-spacing:.01em;padding:.5rem 0;font-size:.72rem}main{width:calc(100% - 1.4rem);padding:1.3rem 0 3rem}.site-footer{flex-wrap:wrap;gap:.8rem;min-height:0;padding:1.5rem 1rem}.site-footer a{margin-left:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
