:root{--paper:#eee6d8;--cream:#f8f3e9;--ink:#302f2c;--fade:#766f66;--rule:#b7a997;--red:#a2594e;--olive:#74786a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Mincho ProN','Yu Mincho',serif}button,a{font:inherit}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:100;background:white;padding:12px}.fiction{background:#6d695f;color:#fff;font:10px/1.6 'Hiragino Kaku Gothic ProN',sans-serif;text-align:center;padding:6px 16px;letter-spacing:.07em}.head{height:85px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream);border-bottom:1px solid #c9bdac}.logo{text-decoration:none;display:flex;align-items:baseline;gap:18px}.logo b{font-size:25px;font-weight:500;letter-spacing:.2em}.logo small{font:10px 'Courier New',monospace;letter-spacing:.12em}.head nav{display:flex;gap:35px;align-items:center}.head nav a{text-decoration:none;font-size:12px;letter-spacing:.12em;border-bottom:1px solid transparent;padding:8px 0}.head nav a:hover,.head nav a:focus-visible{border-color:currentColor}.list-link{font-weight:bold}.cover{background:#d7cabb;min-height:720px;position:relative;display:grid;grid-template-columns:65px 1fr;overflow:hidden}.cover-side{background:#b7aa9c;writing-mode:vertical-rl;display:flex;justify-content:space-between;align-items:center;padding:35px 20px;font:10px/1.4 'Courier New',monospace;letter-spacing:.17em}.cover-body{display:grid;grid-template-columns:1fr 46%;align-items:center;gap:4vw;padding:65px 6vw 90px;position:relative}.cover-body:before{content:'';position:absolute;inset:25px;border:1px solid #bbaa98;pointer-events:none}.cover-text{position:relative;z-index:1;padding-left:2vw}.cover-text>p{font-size:11px;letter-spacing:.32em;border-left:2px solid var(--red);padding-left:14px}.cover h1{font-size:clamp(72px,10vw,170px);font-weight:400;letter-spacing:-.08em;line-height:1.15;margin:30px 0}.cover h1 em{font-style:normal;color:#776f63}.cover-intro{display:flex;gap:25px;max-width:450px;align-items:flex-start}.cover-intro span{writing-mode:vertical-rl;font-size:12px;letter-spacing:.3em;padding-right:13px;border-right:1px solid var(--red);white-space:nowrap}.cover-intro p{font-size:14px;line-height:2.2;max-width:340px;margin:0}.cover-text>a{display:inline-block;text-decoration:none;margin-top:35px;border-bottom:1px solid var(--ink);padding:8px 0;font-size:14px;letter-spacing:.15em}.cover-text>a span{margin-left:60px}.cover-mount{position:relative;width:min(100%,550px);aspect-ratio:.88;justify-self:center;transform:rotate(-3deg)}.mount-back{position:absolute;inset:0;background:#bdb1a2;transform:translate(22px,19px) rotate(4deg);box-shadow:15px 25px 35px #6b5e5140}.cover-mount figure{position:absolute;inset:0;margin:0;background:#f7f2e8;padding:26px 26px 58px;box-shadow:6px 13px 25px #665d5055}.cover-mount img{width:100%;height:100%;object-fit:cover;filter:saturate(.74) sepia(.09)}.cover-mount figcaption{font:10px 'Courier New',monospace;letter-spacing:.15em;margin-top:19px}.cover-stamp{position:absolute;right:-28px;bottom:60px;background:var(--red);color:#fff;border-radius:50%;width:96px;height:96px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;transform:rotate(9deg);font-size:14px;box-shadow:0 3px 10px #54473777}.cover-bottom{position:absolute;bottom:0;left:65px;right:0;height:55px;border-top:1px solid #bbaa98;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font:10px 'Courier New',monospace;letter-spacing:.17em}.timeline{display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--cream);padding:32px 6vw;font-size:12px;letter-spacing:.12em}.timeline div{display:flex;align-items:center;gap:12px;color:var(--red);font:12px 'Courier New',monospace}.timeline i{display:block;width:10vw;height:1px;background:var(--rule)}.album{padding:105px 5vw 110px;background:#e5dcca}.album-heading{display:grid;grid-template-columns:25% 1fr 28%;align-items:end;gap:20px;margin-bottom:60px}.album-heading>p,.album-heading>span,.notes-heading>span,.interlude>span,.about>span{font:11px 'Courier New',monospace;letter-spacing:.14em}.album-heading h2{font-size:clamp(45px,6vw,100px);font-weight:400;line-height:1.3;letter-spacing:-.06em;margin:0}.album-heading h2 em{font-style:normal;color:var(--red)}.album-heading>span{line-height:1.9;color:var(--fade);max-width:250px}.book{display:grid;grid-template-columns:35px 1fr 1.1fr;max-width:1380px;margin:auto;min-height:650px;box-shadow:16px 20px 30px #594a3930;perspective:1300px}.book-spine{writing-mode:vertical-rl;background:#554d44;color:#e4dbcb;display:flex;align-items:center;justify-content:center;font:10px 'Courier New',monospace;letter-spacing:.2em;padding:10px}.book-page{background:#f5efe4;min-width:0;position:relative}.text-page{display:flex;flex-direction:column;padding:35px 4vw 28px;border-right:2px solid #c5b7a6;background:linear-gradient(90deg,#e8decc,#f7f1e7 12%,#f9f5ec 88%,#e5d7c3)}.page-top,.page-caption,.album-foot{display:flex;justify-content:space-between;gap:15px;font:10px 'Courier New',monospace;letter-spacing:.11em}.page-top{border-bottom:1px solid var(--rule);padding-bottom:15px}.page-content{margin:auto 0;padding:40px 0 20px}.page-rule{font:10px 'Courier New',monospace;color:var(--red);letter-spacing:.2em}.page-content>p:first-of-type{font:11px 'Courier New',monospace;letter-spacing:.17em;margin-top:40px}.page-content h3{font-size:clamp(33px,3.3vw,56px);line-height:1.4;font-weight:400;letter-spacing:-.06em;margin:15px 0}.page-content>p:last-of-type{font-size:14px;line-height:2.1;max-width:380px}.album-switch{display:flex;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.album-switch button{border:0;background:transparent;cursor:pointer;flex:1;text-align:left;padding:17px 10px;font-size:13px}.album-switch button+button{border-left:1px solid var(--rule)}.album-switch button span{display:block;color:var(--red);font:10px 'Courier New',monospace;margin-bottom:7px}.album-switch button[aria-pressed=true]{background:#e5d8c5}.text-page small{font-size:10px;line-height:1.6;color:var(--fade);padding-top:18px}.image-page{padding:7% 8% 5%;background:#ede3d2;display:flex;flex-direction:column;justify-content:center}.photo-mat{background:#d7c5ac;padding:10%;height:520px;position:relative;transition:background .5s,padding .5s}.photo-mat img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.7)}.photo-mat span{position:absolute;bottom:4%;right:10%;font:10px 'Courier New',monospace;letter-spacing:.1em}.book.portrait .photo-mat{background:#afa69c;padding:7% 16% 12%}.book.portrait .photo-mat img{object-position:center 35%}.book.portrait .text-page{background:linear-gradient(90deg,#e8decc,#f5f0e8 12%,#f9f6ef 88%,#e2d8cd)}.page-caption{padding-top:20px}.album-foot{max-width:1380px;margin:22px auto 0;color:var(--fade)}.interlude{min-height:480px;background:#a7a398;color:#f8f4eb;padding:70px 6vw;display:grid;grid-template-columns:20% 1fr 25%;gap:20px;align-items:center}.interlude p{font-size:clamp(40px,6vw,95px);font-weight:400;line-height:1.4;margin:0;letter-spacing:-.05em}.interlude p em{font-style:normal;opacity:.65}.interlude-line{grid-column:2;display:flex;gap:15px}.interlude-line i{height:2px;background:#e4d9c9;display:block;flex:1;transform-origin:left;animation:write 4s ease-in-out infinite alternate}.interlude-line i:nth-child(2){animation-delay:.8s}.interlude-line i:nth-child(3){animation-delay:1.6s}@keyframes write{from{transform:scaleX(.1)}to{transform:scaleX(1)}}.interlude small{grid-column:3;grid-row:1/3;line-height:2;max-width:200px;font-size:13px}.notes{background:#f3ede3;padding:110px 6vw}.notes-heading{display:grid;grid-template-columns:23% 1fr 27%;align-items:end;gap:20px;margin-bottom:60px}.notes-heading h2{font-size:clamp(40px,5vw,78px);font-weight:400;line-height:1.35;letter-spacing:-.06em;margin:0}.notes-heading p{font-size:13px;line-height:1.9}.notes-grid{display:grid;grid-template-columns:1fr 46%;gap:5vw}.choices{border-top:1px solid var(--rule)}.choice-block{padding:28px 0;border-bottom:1px solid var(--rule)}.choice-block h3{font-size:20px;font-weight:400;margin:0 0 22px}.choice-block h3 span{font:11px 'Courier New',monospace;color:var(--red);margin-right:28px}.buttons{display:flex;flex-wrap:wrap;gap:9px}.buttons button{background:none;border:1px solid #baac9a;padding:11px 17px;cursor:pointer;font-size:13px}.buttons button[aria-pressed=true]{background:#544b43;color:white;border-color:#544b43}.buttons button:hover,.buttons button:focus-visible,.album-switch button:focus-visible{outline:2px solid var(--red);outline-offset:2px}.memo{padding:25px;background:#ded2c1;align-self:start}.memo>span{font:10px 'Courier New',monospace;letter-spacing:.13em}.memo-frame{background:#f9f5ec;margin:20px 0;padding:40px;border:1px solid #c2b2a0;box-shadow:7px 7px 0 #b4a28d;min-height:330px}.memo-frame small{font-size:11px;letter-spacing:.15em}.memo-frame h3{font-size:29px;font-weight:400;margin:30px 0;border-bottom:1px solid var(--rule);padding-bottom:25px}.memo-frame p{font-size:14px}.memo-date{font:11px 'Courier New',monospace;color:var(--red);text-align:right;margin-top:40px}.memo>button{background:none;border:0;border-bottom:1px solid var(--ink);padding:7px 0;cursor:pointer}.memo>p{font-size:11px;line-height:1.8;color:var(--fade)}.about{background:#514a43;color:#eee9df;padding:120px 6vw;text-align:center}.about h2{font-size:clamp(36px,5vw,70px);font-weight:400;letter-spacing:-.05em}.about p{max-width:600px;margin:0 auto 35px;line-height:2;font-size:13px}.about a{text-decoration:none;border-bottom:1px solid currentColor;padding:8px;font-size:14px}footer{padding:30px 6vw;display:flex;justify-content:space-between;background:#eee6d8;font-size:11px;gap:20px}footer a{text-decoration:none}@media(max-width:1000px){.cover-body{grid-template-columns:1fr 45%;gap:20px;padding:50px 4vw 80px}.cover h1{font-size:clamp(60px,9vw,110px)}.album-heading,.notes-heading{grid-template-columns:1fr 1fr}.album-heading>p,.notes-heading>span{grid-column:1/-1}.book{min-height:560px}.text-page{padding:25px 3vw}.photo-mat{height:440px}}@media(max-width:700px){.head{height:70px;padding:0 5vw}.head nav a:not(.list-link){display:none}.logo b{font-size:21px}.logo small{font-size:9px}.cover{grid-template-columns:23px 1fr;min-height:0}.cover-side{font-size:8px;padding:22px 5px}.cover-side span:nth-child(2){display:none}.cover-body{display:flex;flex-direction:column;align-items:stretch;padding:45px 8vw 90px}.cover-body:before{inset:13px}.cover-text{padding:0}.cover h1{font-size:clamp(66px,19vw,110px);margin:20px 0}.cover-intro p{font-size:12px}.cover-mount{width:85%;max-width:440px;margin:35px auto 0}.cover-bottom{left:23px;font-size:8px;height:48px}.timeline{font-size:10px}.timeline span:last-child{display:none}.timeline i{width:9vw}.album{padding:70px 5vw}.album-heading,.notes-heading{display:block}.album-heading h2,.notes-heading h2{margin:15px 0}.album-heading>span{display:block}.book{grid-template-columns:12px 1fr;min-height:0}.book-spine{font-size:6px}.book-page{grid-column:2}.text-page{min-height:450px;padding:25px 6vw;border-right:0;border-bottom:2px solid #c5b7a6}.image-page{min-height:420px;padding:25px 6vw}.photo-mat{height:350px;padding:7% 12%}.album-foot{font-size:8px}.interlude{min-height:380px;display:block;padding:60px 7vw}.interlude p{margin:35px 0}.interlude-line{margin:30px 0}.interlude small{display:block}.notes{padding:70px 6vw}.notes-grid{display:block}.memo{margin-top:35px}.about{padding:80px 7vw}footer{flex-direction:column}}@media(max-width:390px){.logo{gap:7px}.logo b{font-size:19px}.cover-intro span{display:none}.cover-mount{width:82%}.cover-stamp{right:-16px;width:70px;height:70px;font-size:11px}.book .page-top{font-size:8px}.memo-frame{padding:28px}.page-caption{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Typography QA: keep the cover text readable on narrow screens. */
.cover-intro p{font-size:14px;line-height:1.9}

/* 2026-10-31: portrait photography beside a vertical studio title. */
.cover{display:grid;grid-template-columns:minmax(280px,24%) minmax(0,1fr);min-height:710px;background:#e6ded0;overflow:hidden}.cover-rail{display:flex;flex-direction:column;align-items:flex-start;padding:40px clamp(25px,3vw,48px);background:#4e5448;color:#f7f3e9;min-width:0}.cover-rail>span{font:10px/1.4 'Courier New',monospace;letter-spacing:.15em}.cover h1{writing-mode:vertical-rl;text-orientation:upright;align-self:center;font-size:clamp(80px,7.5vw,125px);font-weight:400;letter-spacing:.13em;line-height:1;margin:auto 0 20px;white-space:nowrap;color:#fff}.cover-rail p{font-size:13px;line-height:1.9;margin:8px 0}.cover-rail p.cover-tagline{font-size:20px;letter-spacing:.12em;color:#e4d2b5}.cover-rail a{display:inline-flex;align-items:center;gap:15px;text-decoration:none;border-bottom:1px solid #e4d2b5;padding:7px 0;font-size:12px;margin-top:18px}.cover-photo{position:relative;margin:0;min-width:0;height:100%;overflow:hidden}.cover-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.88)}.cover-photo figcaption{position:absolute;left:25px;bottom:24px;color:white;background:#302f2cb8;padding:7px 10px;font:10px/1.5 'Courier New',monospace;letter-spacing:.08em}
@media(max-width:900px) and (min-width:701px){.cover{grid-template-columns:minmax(230px,27%) minmax(0,1fr)}.cover-rail{padding:28px}.cover h1{font-size:83px}.cover-rail p{font-size:11px}.cover-rail p.cover-tagline{font-size:16px}}
@media(max-width:700px){.cover{display:flex;flex-direction:column;min-height:0}.cover-photo{order:0;height:clamp(290px,75vw,420px);min-height:0}.cover-photo img{object-position:center 42%}.cover-photo figcaption{left:12px;bottom:12px;font-size:8px}.cover-rail{order:1;padding:22px 22px 35px}.cover h1{writing-mode:horizontal-tb;text-orientation:mixed;align-self:auto;font-size:clamp(72px,18vw,110px);letter-spacing:.12em;margin:12px 0 3px}.cover-rail p{max-width:500px}.cover-rail p.cover-tagline{font-size:16px}.cover-rail a{margin-top:12px}}
@media(max-width:390px){.cover-photo{height:285px}.cover h1{font-size:70px}.cover-rail{padding:20px 18px 32px}}
