:root{font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;color:#ff385c;background:#f8f7f3;font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:wait}main{position:fixed;inset:0;overflow:clip;touch-action:none;-webkit-user-select:none;user-select:none;background:#f8f7f3}.canvas{position:absolute;left:50%;top:50%;width:750px;height:1440px;transform-origin:center;background:#f8f7f3}.page{position:absolute;inset:0;animation:page-enter .45s ease-out both}.page-art{display:block;width:750px;height:1440px;pointer-events:none}.page[data-page="1"]{animation:none}.opening-poster{object-fit:contain;background:#f8f7f3}.bare{position:absolute;padding:0;border:0;background:transparent}.bare:focus-visible,a:focus-visible{outline:3px solid #ff385c;outline-offset:6px;border-radius:20px}.entry-hit{inset:0;width:100%;height:100%;z-index:1;color:#ff385c}.tap-prompt{position:absolute;left:50%;bottom:88px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;min-width:470px;padding:18px 28px;border-radius:28px;background:#f8f7f3ee;color:#ff385c;font-size:28px;line-height:1.4;font-weight:600;white-space:nowrap;pointer-events:none}.tap-prompt.has-skip{bottom:176px;min-width:420px;gap:8px;padding:12px 24px;font-size:24px}.tap-icon{width:48px;height:48px;animation:tap-guide 1.8s ease-in-out infinite}@keyframes tap-guide{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.opening-video{position:absolute;inset:0;width:750px;height:1440px;object-fit:contain;background:#f8f7f3;opacity:0;pointer-events:none;transition:none}.opening-video.playing{opacity:1}.sound-control,.skip-video,.replay{position:absolute;border:1px solid #ff385c55;background:#f8f7f3ee;color:#ff385c;z-index:2}.sound-control{top:28px;right:25px;font-size:22px;padding:9px 15px;border-radius:25px}.replay{right:24px;top:30px;width:52px;height:52px;font-size:38px;line-height:1;border-radius:50%}.skip-video{bottom:50px;left:50%;transform:translate(-50%);min-width:310px;min-height:96px;padding:16px 32px;border-color:#ff385c88;border-radius:999px;background:#fffffff2;box-shadow:0 4px 18px #ff385c14;font-size:28px;line-height:1.3}.skip-video:focus-visible{outline:3px solid #ff385c;outline-offset:5px}.skip-video:active{background:#fff0f3}form input{position:absolute;display:block;appearance:none;outline:none;border:0;border-radius:18px;background:#fff;padding:0 24px;color:#303030;font-family:Arial,PingFang SC,sans-serif;font-size:30px;font-weight:400;line-height:normal;-webkit-user-select:text;user-select:text;touch-action:auto}form input::placeholder{color:#ff385c;opacity:1}form input:focus{box-shadow:inset 0 0 0 2px #ff385c22}form input[aria-invalid=true]{box-shadow:inset 0 0 0 2px #d02a4b}form input:disabled{color:#777;-webkit-text-fill-color:#777;opacity:1}.submit-hit{border-radius:45px}.submit-hit:disabled{background:#fff6}.map-link{position:absolute;border-radius:23px;color:#fff;text-decoration:none;overflow:hidden}.map-link span{position:absolute;right:14px;bottom:14px;padding:11px 18px;border-radius:28px;background:#ff385c;font-size:24px;box-shadow:0 3px 10px #0002}.map-link:active span{background:#df2147}.next-hit{border-radius:50%}.theme-next{display:grid;place-items:center}.chevrons{width:33px;height:33px;border-top:4px solid #ff385c;border-left:4px solid #ff385c;transform:rotate(45deg);animation:nudge 1.8s ease-in-out infinite}.chevrons:after{content:"";position:absolute;left:9px;top:9px;width:29px;height:29px;border-top:4px solid #ff385c66;border-left:4px solid #ff385c66}.toast{position:fixed;left:50%;top:48%;transform:translate(-50%,-50%);z-index:20;max-width:calc(100vw - 40px);width:max-content;padding:14px 22px;border-radius:12px;background:#302a2ae8;color:#fff;font-size:15px;text-align:center;line-height:1.6;box-shadow:0 6px 20px #0002;pointer-events:none}.busy-overlay{position:fixed;inset:0;z-index:15;display:flex;gap:12px;align-items:center;justify-content:center;background:#f8f7f3c9;color:#b82140;font-size:16px}.spinner{width:21px;height:21px;border:2px solid #ff385c44;border-top-color:#ff385c;border-radius:50%;animation:spin .8s linear infinite}.dialog-shade{position:fixed;inset:0;background:#302a2a60;z-index:30;display:grid;place-items:center;padding:20px;touch-action:auto}.success-dialog{width:350px;max-width:100%;padding:32px 25px;text-align:center;border-radius:24px;background:#fffdfb;box-shadow:0 20px 80px #0002}.success-mark{display:grid;place-items:center;margin:auto;width:55px;height:55px;border-radius:50%;color:#fff;background:#ff385c;font-size:30px}.success-dialog h1{font-size:25px;margin:18px 0}.success-dialog p{color:#5f5456;font-size:15px;line-height:1.6;margin:8px 0}.success-dialog .success-venue{font-size:13px;color:#8c7e81}.success-dialog button{margin-top:22px;padding:13px 28px;border:0;border-radius:26px;background:#ff385c;color:#fff;font-size:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes nudge{0%,to{transform:translateY(5px) rotate(45deg);opacity:.6}50%{transform:translateY(-7px) rotate(45deg);opacity:1}}@media(prefers-reduced-motion:reduce){.page,.chevrons,.tap-icon{animation:none}.opening-video{transition:none}}
