:root{--ink:#d8d4cc;--ink-dim:#8a867e;--ground:#14140f;--ground-2:#1d1d17;--rule:#35342c;--measure:34em}*{box-sizing:border-box}html{background:var(--ground)}html,body{margin:0;padding:0;color:var(--ink)}#bg{position:fixed;inset:0;z-index:-2;background:var(--ground)}.bg-layer{position:absolute;inset:0;opacity:0;background-position:center;background-size:cover;background-repeat:no-repeat;transition:opacity 1.2s linear}#bg:after{content:"";position:absolute;inset:0;background:radial-gradient(125% 95% at 50% 42%,#0000,#0000004d 84%),linear-gradient(#10100c1a,#10100c1a)}#grain{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url(/tex/grain.png);background-repeat:repeat;background-size:256px 256px;opacity:.045;mix-blend-mode:overlay}body{font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,"Noto Serif JP",serif;font-size:17px;line-height:2;letter-spacing:.02em;-webkit-font-smoothing:antialiased}#stage{max-width:var(--measure);margin:0 auto;padding:14vh 1.4em 60vh;min-height:100vh}.p{margin:0 0 1.05em;white-space:pre-wrap;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8),0 0 28px rgba(0,0,0,.6)}.p.solo{margin:2.1em 0}.p.caret:after{content:"▌";opacity:.45;margin-left:.15em}.choices{margin:1.4em 0 0;display:flex;flex-direction:column;gap:.55em}.choice{background:transparent;color:var(--ink);border:1px solid var(--rule);font:inherit;text-align:left;padding:.55em .9em;cursor:pointer;line-height:1.7}.choice:hover{border-color:var(--ink-dim);background:var(--ground-2)}.ask{margin:1.6em 0 0}.field{display:block;width:100%;margin:.5em 0 0;background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--ink);font:inherit;padding:.35em .1em;outline:none}.field:focus{border-bottom-color:var(--ink-dim)}.commit{margin-top:1.4em;background:transparent;color:var(--ink-dim);border:1px solid var(--rule);font:inherit;font-size:.85em;padding:.4em 1.6em;cursor:pointer;letter-spacing:.4em}.commit:hover{color:var(--ink);border-color:var(--ink-dim)}button:focus-visible,.field:focus-visible{outline:1px solid var(--ink-dim);outline-offset:2px}#veil{position:fixed;inset:0;background:#000;z-index:5;opacity:0;transition:opacity var(--veil-ms,.6s) linear;pointer-events:none}#veil[data-on="1"]{opacity:1}.photo{margin:3.2em 0;filter:drop-shadow(0 .6em 1.6em rgba(0,0,0,.55))}.photo-sheet{position:relative;aspect-ratio:1/1.35;padding:8% 8% 6%;color:#2a2823;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(120% 80% at 50% 38%,#fffcf080,#0000 62%),linear-gradient(168deg,#cdc6b5,#b7ae9b 58%,#9d9482)}.photo-sheet:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url(/tex/grain.png);background-repeat:repeat;background-size:180px 180px;opacity:.16;mix-blend-mode:multiply}.photo-sheet:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(105% 75% at 50% 46%,#0000,#1e1a126b 88%)}.photo-blurred{display:flex;flex-direction:column;gap:.7em;filter:blur(3.2px);opacity:.58}.photo-blurred span{display:block;height:.5em;background:#2a2823;opacity:.45}.photo-witness{position:relative;z-index:1;align-self:flex-end;display:flex;align-items:baseline;gap:.6em;border:1px solid rgba(42,40,35,.55);padding:.35em .8em;min-width:7em;background:#ffffff1f}.photo-witness-label{font-size:.72em;opacity:.75}.photo-witness-value{font-size:1.05em;letter-spacing:.18em;min-height:1.2em}#panel{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:center;gap:.2em;padding:.4em;background:linear-gradient(transparent,var(--ground) 60%)}.tool{background:transparent;border:1px solid var(--rule);color:var(--ink-dim);font:inherit;font-size:.72em;padding:.3em 1em;cursor:pointer;letter-spacing:.1em}.tool:hover{color:var(--ink);border-color:var(--ink-dim)}body[data-pace=auto] .tool:nth-child(2),body[data-pace=skip] .tool:nth-child(3){color:var(--ink);border-color:var(--ink-dim)}.overlay{position:fixed;inset:0;z-index:20;overflow:auto;background:#0a0a08f7;padding:8vh 1.4em 20vh}.overlay-inner{max-width:var(--measure);margin:0 auto}.overlay .said{color:var(--ink-dim)}.overlay .said:before{content:"— "}.overlay .row{display:flex;align-items:center;gap:1em;margin:1.2em 0}.overlay .row span{min-width:6em;color:var(--ink-dim);font-size:.85em}.overlay .row input{flex:1}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
