:root{--ink:#f2e9dd;--dim:#9a8f86;--hot:#ff2d64;--cy:#31d9e6;--panel:rgba(10,8,14,.62);--edge:rgba(255,255,255,.1)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:#05060a;overflow:hidden;font:13px/1.45 ui-sans-serif,-apple-system,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;color:var(--ink)}#stage{position:fixed;inset:0;width:100%;height:100%;display:block}#loader{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:.35rem;background:radial-gradient(1200px 700px at 50% 45%,#181026,#05060a 70%);z-index:20;transition:opacity .7s}#loader.gone{opacity:0;pointer-events:none}.lo-title{font-size:clamp(46px,9vw,104px);font-weight:800;letter-spacing:.14em;color:#fff;text-shadow:0 0 28px rgba(255,45,100,.85),0 0 70px rgba(255,45,100,.45)}.lo-sub{letter-spacing:.62em;font-size:11px;color:var(--cy);text-shadow:0 0 16px rgba(49,217,230,.8);padding-left:.62em}.lo-bar{width:min(300px,60vw);height:2px;background:#ffffff1f;margin-top:1.6rem;overflow:hidden}.lo-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--hot),var(--cy));transition:width .35s}.lo-step{font-size:11px;letter-spacing:.18em;color:var(--dim);margin-top:.7rem;text-transform:uppercase}#loader.err .lo-step{color:#ff5a5a;text-transform:none;letter-spacing:0;max-width:80vw;text-align:center}#labels{position:fixed;inset:0;pointer-events:none;z-index:9}.marker{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;pointer-events:auto;background:#0a080ea8;border:1px solid var(--edge);border-radius:999px;padding:4px 11px 4px 6px;color:var(--ink);font-size:11px;letter-spacing:.04em;white-space:nowrap;cursor:pointer;backdrop-filter:blur(10px);transition:background .18s,border-color .18s;will-change:transform,opacity}.marker:hover{background:#ff2d64e6;border-color:var(--hot)}.marker i{width:7px;height:7px;border-radius:50%;background:var(--cy);box-shadow:0 0 8px var(--cy);flex:0 0 auto}.marker:hover i{background:#fff;box-shadow:0 0 8px #fff}.marker span{display:flex;flex-direction:column;line-height:1.15}.marker em{font-style:normal;font-size:8px;letter-spacing:.16em;color:var(--dim)}.marker:hover em{color:#ffffffd9}#hud{position:fixed;inset:0;pointer-events:none;z-index:10;transition:opacity .5s}#hud.hidden{opacity:0}.panel{position:absolute;pointer-events:auto;background:var(--panel);border:1px solid var(--edge);border-radius:10px;padding:12px 14px;backdrop-filter:blur(14px)}.tl{top:16px;left:16px}.bl{bottom:16px;left:16px}.tr{top:16px;right:16px}.br{bottom:16px;right:16px;max-width:330px;text-align:right}h1{font-size:24px;letter-spacing:.1em;font-weight:800;line-height:1}h1 span{font-size:12px;letter-spacing:.42em;color:var(--hot);vertical-align:middle;margin-left:.5em;text-shadow:0 0 14px rgba(255,45,100,.9)}.sub{font-size:10px;letter-spacing:.24em;color:var(--dim);margin:.45rem 0 .8rem}.lbl{font-size:9px;letter-spacing:.3em;color:var(--dim);margin-bottom:.5rem}nav{display:flex;flex-wrap:wrap;gap:6px}nav.row2{margin-top:6px}button{font:inherit;font-size:11px;letter-spacing:.1em;color:var(--ink);cursor:pointer;background:#ffffff0d;border:1px solid var(--edge);border-radius:6px;padding:5px 10px;transition:.18s}button:hover{background:#ffffff24;border-color:#ffffff4d}button.on{background:var(--hot);border-color:var(--hot);color:#fff;box-shadow:0 0 18px #ff2d6499}.tr p,.br p{font-size:11px}.dim{color:var(--dim);font-size:10px;margin-top:.3rem}b{font-variant-numeric:tabular-nums;color:var(--cy)}a{color:var(--dim)}@media (max-width: 760px),(max-height: 520px){#hud{display:flex;flex-direction:column;justify-content:space-between}.panel{position:static;border-radius:0;border-width:0;padding:8px 10px;max-width:none;text-align:left;background:#0a080ebd}.tl{border-bottom:1px solid var(--edge)}.tr,.br{display:none}#mobile-bar{display:flex;align-items:center;gap:10px;pointer-events:auto;background:#0a080ebd;border-top:1px solid var(--edge);padding:8px 10px;font-size:10px;color:var(--dim)}h1{font-size:17px}h1 span{font-size:9px;letter-spacing:.3em}.sub{font-size:8px;margin:.3rem 0 .55rem}.lbl{font-size:8px;margin-bottom:.35rem}button{font-size:10px;padding:6px 9px}#shots{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}#shots::-webkit-scrollbar{display:none}#shots button{flex:0 0 auto}.marker{font-size:10px;padding:3px 9px 3px 5px}.marker em{display:none}.bl{margin-top:auto;border-top:1px solid var(--edge)}#mobile-bar a{color:var(--dim)}}@media (min-width: 761px) and (min-height: 521px){#mobile-bar{display:none}}
