*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:#000;font-family:Shippori Mincho,Hiragino Mincho ProN,Yu Mincho,serif;overflow:hidden}#stage{-webkit-user-select:none;user-select:none;cursor:pointer;background:#000;position:fixed;inset:0;overflow:hidden}.bg{filter:brightness(.9);opacity:0;transition:opacity .8s ease, filter var(--reveal-ms,0s) linear;background-position:50%;background-size:cover;position:absolute;inset:0}.bg.show{opacity:1}.bg.dim{filter:brightness(.03);transition:opacity .8s,filter linear}.bg.instant{transition:opacity 0s ease, filter var(--reveal-ms,0s) linear}.bg.instant.dim{transition:opacity,filter linear}#stage.white-mode{background:#fff}#sprite{height:78%;transition:filter 3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}#sprite.dim{filter:brightness(.12)}#credits{z-index:40;background:#000;position:absolute;inset:0;overflow:hidden}#credits .roll{text-align:center;color:#cfc9bc;letter-spacing:.25em;font-size:clamp(14px,2.2vmin,20px);line-height:2.4;animation:24s linear forwards creditroll;position:absolute;top:100%;left:0;right:0}@keyframes creditroll{to{transform:translateY(calc(-100% - 100vh))}}#reveal{z-index:30;color:#f2efe9;text-shadow:0 1px 3px #000000e6,0 0 12px #0009;background:radial-gradient(#0000009e 0%,#00000080 55%,#00000057 100%);flex-direction:column;justify-content:center;padding:8% 12%;font-size:clamp(15px,2.5vmin,26px);animation:.9s both revealin;display:flex;position:absolute;inset:0}#reveal .inner{flex-direction:column;gap:1.6vmin;width:100%;max-width:min(1500px,40em);margin-inline:auto;display:flex}#reveal .head{letter-spacing:.22em;color:#cfe6dd;margin-bottom:1.2vmin;font-size:clamp(16px,2.7vmin,28px)}#reveal p{line-height:2}@keyframes revealin{0%{opacity:0}to{opacity:1}}#scrim{background:linear-gradient(#00000047 0%,#0000006b 55%,#0000009e 100%);position:absolute;inset:0}#stage.white-mode #scrim{background:0 0}#text{color:#f2efe9;text-shadow:0 1px 3px #000000e6,0 0 14px #0009;white-space:pre-wrap;max-width:1500px;margin-inline:auto;padding:max(6.5%,46px) 13% 7%;font-size:clamp(19px,3.4vmin,36px);line-height:2;position:absolute;inset:0;overflow:hidden}#stage.white-mode #text{color:#3a3a3a;text-shadow:none;background:#ffffff8c}#text p{margin:0 0 .35em}#cursor{opacity:.8;width:.9em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}#choices{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000d9;flex-direction:column;justify-content:center;align-items:center;gap:2.2vmin;display:flex;position:absolute;inset:0}.choice{color:#e8e4da;letter-spacing:.12em;cursor:pointer;text-shadow:0 1px 3px #000;border:1px solid #f0ece200;padding:.4em 2em;font-size:clamp(16px,2.8vmin,28px);transition:all .15s}.choice:hover{color:#fff;background:#ffffff0f;border-color:#f0ece2b3}#card{color:#ded9cc;letter-spacing:.35em;opacity:0;background:#000;justify-content:center;align-items:center;font-size:clamp(20px,4vmin,42px);transition:opacity .9s;display:flex;position:absolute;inset:0}#card.vis{opacity:1}#card.fin{color:#2b2723;z-index:50;background:#fff;flex-direction:column;gap:1.4em;transition:opacity 1.6s}#card.fin .fin-title{letter-spacing:.5em;text-indent:.5em;font-size:clamp(24px,5.4vmin,56px)}#card.fin .fin-mark{letter-spacing:.3em;text-indent:.3em;color:#2b272380;font-size:clamp(12px,2vmin,20px)}#streamui{color:#eee;background:#0000008c;border-radius:3px;align-items:center;gap:.6em;padding:.35em .9em;font-family:monospace;font-size:clamp(11px,1.7vmin,16px);display:flex;position:absolute;top:max(10px,1.6vmin);right:4%}#streamui .dot{background:#e33;border-radius:50%;width:.7em;height:.7em}#glitch{z-index:26;pointer-events:none;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#ffffff17 0 2px,#0000 2px 5px),linear-gradient(90deg,#ff004424,#0000 30%,#00ffff24 70%);animation:90ms steps(2,jump-none) infinite glitchband;position:absolute;inset:0}@keyframes glitchband{0%{clip-path:inset(0 0 62%);transform:translate(0)}50%{clip-path:inset(35% 0 18%);transform:translate(-1.2%)}to{clip-path:inset(70% 0 0);transform:translate(1%)}}#slip{z-index:27;pointer-events:none;mix-blend-mode:screen;animation:sliprush var(--slip-ms,1.2s) ease-in-out both;background:repeating-linear-gradient(0deg,#fff3 0 1px,#0000 1px 7px),radial-gradient(#e9f0ffeb,#e9f0ff59 55%,#0000 85%);position:absolute;inset:0}@keyframes sliprush{0%{opacity:0;transform:scaleY(1)}40%{opacity:1;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(.06)}62%{opacity:1;transform:scaleY(.6)}to{opacity:0;transform:scaleY(1)}}#stage.slipping .bg{animation:slipwarp var(--slip-ms,1.2s) ease-in-out both}@keyframes slipwarp{0%{filter:brightness(.9);transform:scale(1)}20%{filter:brightness(.45)blur(1px);transform:scale(.99)}45%{filter:brightness(3.2)blur(8px);transform:scale(1.13)}55%{filter:brightness(3.2)blur(8px);transform:scale(1.13)}to{filter:brightness(.9);transform:scale(1)}}#text p.dbl{position:relative}#text p.dbl:before,#text p.dbl:after{content:attr(data-t);pointer-events:none;position:absolute;inset:0}#text p.dbl:before{opacity:.55;transform:translate(-.16em,-.06em)}#text p.dbl:after{opacity:.4;filter:blur(1.2px);transform:translate(.17em,.07em)}#title{z-index:30;background:linear-gradient(#050505d1,#050505e6),#050505 url(/assets/bg/cu_flowers.png) 50%/cover no-repeat;flex-direction:column;justify-content:center;align-items:center;gap:4.5vmin;display:flex;position:absolute;inset:0}#title h1{color:#e9e4d8;letter-spacing:.5em;text-indent:.5em;margin-bottom:1.5vmin;font-size:clamp(30px,7vmin,72px);font-weight:500}#title .sub{color:#6f6a60;letter-spacing:.3em;text-align:center;font-size:clamp(11px,1.8vmin,16px)}#title .menu{flex-direction:column;align-items:center;gap:1.6vmin;display:flex}#title .mi{color:#b8b2a4;letter-spacing:.25em;cursor:pointer;padding:.3em 1.6em;font-size:clamp(15px,2.6vmin,24px)}#title .mi:hover{color:#fff}#title .mi.extra{color:#9ac8ab}#title .mi.extra:hover{color:#cdf2dc}#title .endcount{color:#5c574e;letter-spacing:.2em;font-size:clamp(11px,1.7vmin,15px)}#notice{z-index:60;background:#000000d1;flex-direction:column;justify-content:center;align-items:center;gap:6vmin;padding:8vmin 6vw;display:flex;position:absolute;inset:0}#notice .body{color:#e9e4d8;letter-spacing:.12em;text-align:center;background:#56565a80;border:1px solid #e9e4d81a;border-radius:3px;max-width:40em;padding:4.5vmin 5vmin;font-size:clamp(14px,2.4vmin,21px);line-height:2.2}#notice .body p+p{margin-top:2.4em}#notice a{color:#cf8ba0;border-bottom:1px solid #cf8ba080;text-decoration:none}#notice a:hover{color:#ffc4d6;border-bottom-color:#ffc4d6}#notice .entry{flex-wrap:wrap;justify-content:center;gap:3vmin;display:flex}#notice .ebtn{color:#c8c2b4;letter-spacing:.25em;text-indent:.25em;cursor:pointer;border:1px solid #e9e4d859;border-radius:3px;padding:.7em 2em;font-size:clamp(13px,2.1vmin,19px);transition:all .15s}#notice .ebtn:hover{color:#fff;background:#ffffff12;border-color:#e9e4d8cc}#notice .hint{color:#6f6a60;letter-spacing:.3em;text-align:center;font-size:clamp(11px,1.7vmin,15px)}#pageno{color:#fff6;letter-spacing:.12em;z-index:20;pointer-events:none;font-size:clamp(10px,1.5vmin,13px);position:absolute;top:1.6%;left:1.2%}.white-mode #pageno{color:#00000059}#hud{z-index:20;gap:.8em;display:flex;position:absolute;bottom:1.8%;right:1.2%}.hud-btn{color:#ffffff73;cursor:pointer;background:#00000059;border:1px solid #ffffff40;border-radius:3px;padding:.25em .8em;font-size:clamp(10px,1.6vmin,14px)}.hud-btn:hover{color:#fff}.hud-btn.active{color:#ffd;border-color:#ffffdc99}
