:root{--pink:#ff8fc4;--hot:#ff4d9d;--cream:#fff4e0;--ink:#2b1c33;--violet:#b98cff}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--ink);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100%;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden}.stage{background:var(--ink);place-items:center;display:grid;position:fixed;inset:0}#view{image-rendering:-webkit-optimize-contrast;image-rendering:pixelated;display:block}.boot{z-index:50;background:var(--pink);cursor:default;place-items:center;transition:opacity .55s;display:grid;position:fixed;inset:0}.boot.is-ready{cursor:pointer}.boot.is-gone{opacity:0;pointer-events:none}.boot__in{justify-items:center;gap:22px;display:grid}.boot__disc{background:radial-gradient(circle at 50% 50%, var(--pink) 0 17%, transparent 17.5%), repeating-radial-gradient(circle at 50% 50%, #1d1420 0 2px, #2c1f31 2px 4px);border-radius:50%;width:132px;height:132px;animation:2.6s linear infinite spin;position:relative;box-shadow:0 6px #00000029}.boot__disc i{background:linear-gradient(115deg,#0000 42%,#ffffff38 50%,#0000 58%);border-radius:50%;position:absolute;inset:0}@keyframes spin{to{transform:rotate(360deg)}}.boot__bar{border:2px solid var(--cream);background:#ffffff29;gap:2px;width:232px;height:20px;padding:3px;display:flex}.boot__bar i{background:0 0;flex:1}.boot__bar i.on{background:var(--cream)}.boot__who[hidden]{display:none}.boot__who{justify-items:center;gap:4px;margin-top:-4px;display:grid}.boot__who b{letter-spacing:.3em;color:var(--ink);text-indent:.3em;font-size:21px;font-weight:700}.boot__who span{letter-spacing:.2em;color:#2b1c339e;text-indent:.2em;font-size:10px}.boot__label{letter-spacing:.18em;color:var(--cream);text-align:center;min-height:1em;font-size:10px}.boot__hint{letter-spacing:.22em;color:var(--ink);font-size:13px;font-weight:700;animation:1.05s steps(2,start) infinite blink}@keyframes blink{50%{opacity:0}}.prompt{z-index:30;text-align:center;min-width:210px;color:var(--cream);border:2px solid var(--cream);cursor:pointer;background:#2b1c33d1;padding:11px 22px 9px;position:fixed;bottom:8%;left:50%;transform:translate(-50%)}.prompt__name{letter-spacing:.14em;font-size:15px;font-weight:700}.prompt__sub{letter-spacing:.1em;color:var(--pink);margin-top:3px;font-size:10px}.prompt__key{letter-spacing:.12em;color:#fff4e09e;margin-top:7px;font-size:10px}.prompt__key b{background:var(--cream);min-width:16px;color:var(--ink);padding:1px 4px;font-weight:700;display:inline-block}@media (pointer:coarse){.prompt__key b{display:none}.prompt__key:before{content:"TAP"}.prompt__key{color:var(--cream)}}.wipe{z-index:70;background:var(--wipe,var(--hot));opacity:0;pointer-events:none;place-items:center;transition:opacity .26s;display:grid;position:fixed;inset:0}.wipe.is-on{opacity:1}.wipe__in{justify-items:center;gap:14px;display:grid}.wipe__bar{border:2px solid var(--ink);width:190px;height:10px;overflow:hidden}.wipe__bar i{background:var(--ink);width:40%;height:100%;animation:.62s cubic-bezier(.5,0,.5,1) infinite wipeslide;display:block}@keyframes wipeslide{0%{transform:translate(-110%)}to{transform:translate(280%)}}.wipe__name{letter-spacing:.22em;color:var(--ink);text-align:center;font-size:15px;font-weight:700}.wipe__sub{letter-spacing:.16em;color:#2b1c339e;text-align:center;min-height:1em;font-size:10px}.viewer[hidden]{display:none}.viewer:not(.is-open){pointer-events:none}.viewer{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;background:#1c1222db;place-items:center;padding:4vmin;transition:opacity .3s;display:grid;position:fixed;inset:0}.viewer.is-open{opacity:1}.viewer__frame{border:2px solid var(--cream);background:#2b1c33f5;flex-direction:column;width:min(1040px,100%);max-height:100%;transition:transform .3s cubic-bezier(.2,.9,.3,1);display:flex;transform:translateY(10px)scale(.985)}.viewer.is-open .viewer__frame{transform:none}.viewer__stage{aspect-ratio:16/9;background:#17101c;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.viewer__video,.viewer__img,.viewer__site{width:100%;height:100%;position:absolute;inset:0}.viewer__video{border:0;display:block}.viewer__img{object-fit:contain;image-rendering:auto;display:block}.viewer__site{text-align:center;align-content:center;place-items:center;gap:18px;padding:6%;display:grid}.viewer__siteMark{border:2px solid var(--pink);width:96px;height:96px;color:var(--pink);letter-spacing:.06em;place-items:center;font-size:34px;font-weight:700;display:grid}.viewer__siteDomain{letter-spacing:.16em;color:#fff4e0b3;font-size:13px}.viewer__siteGo{border:2px solid var(--cream);background:var(--cream);color:var(--ink);font:inherit;letter-spacing:.18em;padding:9px 18px;font-size:11px;font-weight:700;text-decoration:none}.viewer__siteGo:hover{background:var(--hot);border-color:var(--hot);color:var(--cream)}.viewer__bar{border-top:2px solid var(--cream);align-items:baseline;gap:16px;padding:12px 16px;display:flex}.viewer__meta{flex:1;min-width:0}.viewer__title{letter-spacing:.1em;color:var(--cream);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.viewer__sub{letter-spacing:.12em;color:var(--pink);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.viewer__count{letter-spacing:.16em;color:#fff4e080;flex:none;font-size:10px}.viewer__nav,.viewer__close{border:2px solid var(--cream);color:var(--cream);font:inherit;cursor:pointer;background:#2b1c33d1;position:fixed}.viewer__nav{width:46px;height:62px;font-size:13px;top:50%;transform:translateY(-50%)}.viewer__nav--prev{left:2vmin}.viewer__nav--next{right:2vmin}.viewer__close{letter-spacing:.16em;padding:8px 13px;font-size:10px;font-weight:700;top:2vmin;right:2vmin}.viewer__nav:hover,.viewer__close:hover{background:var(--hot);border-color:var(--hot)}@media (width<=720px){.viewer{padding:3vmin}.viewer__nav{width:58px;height:44px;top:auto;bottom:2vmin;transform:none}.viewer__close{padding:7px 10px}}.hint{z-index:20;letter-spacing:.14em;color:#ffffff6b;pointer-events:none;font-size:10px;position:fixed;bottom:10px;right:12px}.hint b{color:var(--ink);background:#fff4e08c;padding:0 3px;font-weight:700}.hint--coarse{display:none}@media (pointer:coarse){.hint--fine{display:none}.hint--coarse{display:inline}.hint{bottom:calc(10px + env(safe-area-inset-bottom,0px))}}
