*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#0a0604;--color-fire:#e8a020;--color-fire-dim:#b87010;--color-parchment:#f5e6c8;--color-ink:#2c1810;--color-amber:#d4a020;--transition-scene:.8s cubic-bezier(.4, 0, .2, 1)}html,body{background:var(--color-bg);color:#c8b8a0;cursor:default;width:100%;height:100%;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}.scene{transition:opacity var(--transition-scene);position:fixed;inset:0;overflow:hidden}.scene-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.transition-video{object-fit:cover;z-index:60;pointer-events:none;opacity:0;width:100%;height:100%;position:fixed;inset:0}.transition-video.playing{opacity:1}.hotspot-container{z-index:10;position:absolute}.hotspot{cursor:pointer;border:1px solid #0000;border-radius:4px;transition:box-shadow .4s,border-color .4s;position:absolute}.hotspot:hover{border-color:#e8a02040;box-shadow:0 0 40px #e8a0201f,0 0 80px #e8a0200f}.hotspot--book{width:12%;height:17%;top:62%;left:38%;transform:rotate(-36deg)}.hotspot--walkman{width:15%;height:20%;top:67%;left:60%;transform:rotate(8deg)}.view{z-index:50;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-scene), visibility var(--transition-scene);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.view.view--active{opacity:1;visibility:visible;pointer-events:auto}.view.view--instant{transition:none}.view--book{background:url(/scene/book-bg.png) 50%/cover no-repeat;background-color:var(--color-parchment);color:var(--color-ink)}.view--walkman{color:#e0d8c8;background:#121212}.view-close{color:inherit;letter-spacing:.05em;cursor:pointer;opacity:.5;background:0 0;border:1px solid;border-radius:2px;padding:.4rem .8rem;font-size:.8rem;transition:opacity .2s;position:absolute;top:2rem;left:2rem}.view-close:hover{opacity:1}.walkman-content{text-align:center}.walkman-content h1{letter-spacing:.1em;color:var(--color-amber);margin-bottom:1rem;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:1.5rem;font-weight:400}.walkman-placeholder{opacity:.5;font-size:.9rem}@media (width<=767px){.view-close{padding:.4rem .8rem;font-size:.8rem;top:1rem;left:1rem}}.view--book{flex-direction:column;padding:0;display:flex}.book-nav{z-index:10;gap:1rem;padding:1.5rem 2rem;display:flex;position:absolute;top:0;left:0;right:0}.book-nav-btn{border:1px solid var(--color-ink);color:var(--color-ink);letter-spacing:.05em;cursor:pointer;opacity:.4;background:0 0;border-radius:2px;padding:.4rem .8rem;font-family:inherit;font-size:.8rem;transition:opacity .2s}.book-nav-btn:hover{opacity:.8}.book-toc{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.book-toc-title{color:var(--color-ink);letter-spacing:.05em;margin-bottom:2.5rem;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.8rem;font-weight:400}.book-toc-list{width:100%;max-width:28em;list-style:none}.book-toc-item{border-bottom:.5px solid var(--color-ink);cursor:pointer;flex-direction:column;gap:.25rem;padding:.8rem 0;transition:opacity .2s;display:flex}.book-toc-item:hover{opacity:.7}.book-toc-item:last-child{border-bottom:none}.book-toc-item-title{color:var(--color-ink);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.1rem}.book-toc-item-meta{color:var(--color-ink);letter-spacing:.02em;font-size:.7rem;font-weight:300}.book-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.book-reader{flex-direction:column;flex:1;width:100%;max-width:42em;margin:0 auto;padding:5rem 2rem 1rem;display:flex}.book-page-container{flex:1;position:relative;overflow:hidden}.book-page{color:var(--color-ink);max-width:38em;margin:0 auto;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.05rem;line-height:1.75}.draft-indicator{letter-spacing:.05em;color:#c0392b;font-size:.65rem;font-style:italic;font-weight:300}.book-post-title{margin-bottom:.5rem;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.6rem;font-weight:400;line-height:1.3}.book-post-meta{color:var(--color-ink);letter-spacing:.02em;margin-bottom:2.5rem;font-size:.72rem;font-weight:300}.book-page p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;text-indent:1.5em;margin-top:0;margin-bottom:0}.book-post-title+p,.book-post-meta+p,.book-page>p:first-child{text-indent:0}.book-page em{font-style:italic}.book-page strong{font-weight:600}.book-page h2{margin-top:1.5em;margin-bottom:.75em;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.3rem;font-weight:400}.book-page img{max-width:100%;height:auto;margin:1.5em auto;display:block}.book-oversize-block{max-height:100%;overflow-y:auto}.book-page blockquote{border-left:2px solid var(--color-ink);color:var(--color-ink);margin:1.2em 0;padding-left:1.2em;font-style:italic}.book-footer{justify-content:center;align-items:center;gap:2rem;width:100%;max-width:42em;margin:0 auto;padding:1rem 2rem;display:flex}.book-page-btn{color:var(--color-ink);cursor:pointer;background:0 0;border:none;padding:.5rem;font-family:inherit;font-size:1rem;font-weight:300;transition:opacity .2s}.book-page-btn:hover:not(:disabled){opacity:.7}.book-page-btn:disabled{opacity:.2;cursor:default}.book-page-info{color:var(--color-ink);letter-spacing:.1em;text-align:center;min-width:4em;font-size:.7rem;font-weight:300}.book-paginate-measure{visibility:hidden;pointer-events:none;width:38em;max-width:calc(100vw - 4rem);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.05rem;line-height:1.75;position:absolute;top:0;left:0}.page-sweep{z-index:20;pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000 0%,#2c181008 35%,#2c181014 45%,#2c18102e 49%,#2c181040 50%,#2c18102e 51%,#2c181014 55%,#2c181008 65%,#0000 100%);position:absolute;inset:0}.page-sweep--active{opacity:1}.page-sweep--backward{background:linear-gradient(270deg,#0000 0%,#2c181008 35%,#2c181014 45%,#2c18102e 49%,#2c181040 50%,#2c18102e 51%,#2c181014 55%,#2c181008 65%,#0000 100%)}@media (width<=767px){.book-nav{padding:1rem}.book-reader{padding:4rem 1.5rem 1rem}.book-page{font-size:.95rem}.book-toc{padding:3rem 1.5rem}}
