/* Secret arcade — the same charcoal / blush palette, with mint for collectibles. */
.secret-door{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#b99da9;border:1px solid #ffffff20;border-radius:50%;margin-inline:auto 16px}
.secret-door:hover{color:#f2bad1;border-color:currentColor}.secret-door svg{width:26px;height:26px}
.boo-game{color:#f8f3f5;background:#121216;border:1px solid #44333e;border-radius:20px;padding:0;width:min(940px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;box-shadow:0 28px 120px #000c;overflow:auto;font-family:'Noto Sans JP',sans-serif;overscroll-behavior:contain}
.boo-game::backdrop{background:#08080be8;backdrop-filter:blur(14px)}
.boo-game:not([open]),.boo-game [hidden]{display:none!important}
.game-head{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;border-bottom:1px solid #ffffff13;gap:12px}
.game-brand{font:700 22px 'Space Grotesk',sans-serif;letter-spacing:-1px}.game-brand span{color:#e79eb9}.game-head small{color:#a19aa3;font-size:11px;margin-left:16px;letter-spacing:.12em}
.game-close{width:44px;height:44px;font-size:28px;color:#b6aab3;border:1px solid #ffffff20;border-radius:50%;flex:none}.game-close:hover{color:white}
.secret-panel{padding:45px 24px 50px;max-width:470px;text-align:center;margin:auto}.secret-face{width:110px;height:124px;margin:0 auto 20px;--boo-play:running}
.secret-panel h2{font-size:25px;margin:0 0 14px;line-height:1.5}.secret-panel p{color:#b4a7b0;font-size:13px;line-height:1.9}
.secret-form{margin-top:26px}.secret-form label{display:block;font-size:12px;text-align:left;margin-bottom:10px;color:#c4b6bf}
.secret-form input{width:100%;background:#08080c;color:#f8f3f5;border:1px solid #6a485d;padding:15px;border-radius:10px;font:600 26px 'Space Grotesk',sans-serif;letter-spacing:.28em;text-align:center;box-sizing:border-box;text-transform:uppercase}
.game-primary,.game-secondary{min-height:48px;border-radius:9px;padding:13px 20px;font-size:14px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:8px}
.game-primary{background:#edb1c9;color:#24131d;border:1px solid #edb1c9}.game-primary:hover{background:#f6c9dc}.game-primary:disabled{opacity:.45;cursor:wait}.game-secondary{background:transparent;color:#d2bdca;border:1px solid #66515f}
.secret-form .game-primary{width:100%;margin-top:12px}.secret-message{min-height:25px;margin-top:12px}.secret-message:empty{margin-top:0}
.game-layout{display:grid;grid-template-columns:minmax(0,480px) minmax(210px,1fr);gap:28px;padding:24px;align-items:center}
.game-machine{min-width:0;max-width:480px;width:100%;margin:auto}.game-hud{display:flex;justify-content:space-between;align-items:end;padding:0 3px 12px;gap:10px;font-size:11px;color:#a796a3}.game-hud>div{display:grid;gap:3px}.game-hud b{font:600 24px 'Space Grotesk',sans-serif;color:#f7ecf3;font-variant-numeric:tabular-nums}.game-hud .game-hearts{color:#e79eb9;letter-spacing:3px;font-size:22px}.game-hud #gameNotes{color:#b5efe0}
.game-arena{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border:1px solid #644556;border-radius:12px;background:#0e0e15;touch-action:none;isolation:isolate;user-select:none;-webkit-user-select:none}
.game-canvas{display:block;width:100%;height:100%;touch-action:none}.game-avatar{position:absolute;width:11.7%;height:auto;left:50%;top:80%;transform:translate(-50%,-58%);pointer-events:none;filter:drop-shadow(0 2px 4px #0008);--boo-play:paused;z-index:2}
.game-avatar.is-hit{opacity:.5}.game-avatar.is-dashing{filter:drop-shadow(0 0 9px #b5efe0)}
.game-avatar>svg{width:100%;height:auto}
.game-hitbox{position:absolute;left:50%;top:58%;width:7px;height:7px;background:#fff;border-radius:50%;box-shadow:0 0 0 2px #8b4c71;transform:translate(-50%,-50%)}
.game-announcement{position:absolute;top:17%;inset-inline:12px;text-align:center;pointer-events:none;font-size:12px;letter-spacing:.1em;color:#eac3d7;z-index:3;text-shadow:0 2px 8px black}
.game-cover{position:absolute;inset:0;display:grid;place-items:center;padding:26px;background:#100e18d9;text-align:center;z-index:4;backdrop-filter:blur(5px)}
.game-cover-inner{width:100%;max-width:330px}.game-cover .cover-pig{width:100px;height:113px;margin:0 auto 12px;--boo-play:running}.game-cover h3{font-size:clamp(24px,3.3vw,38px);font-weight:900;line-height:1.4;letter-spacing:-.04em;margin-bottom:15px}.game-cover h3 span{color:#edb1c9}.game-cover p{font-size:12px;color:#cdbbc8;line-height:1.9;margin-bottom:18px}.game-cover .game-primary{width:100%}.game-cover .game-secondary{width:100%;margin-top:10px}.game-countdown{font:700 90px 'Space Grotesk',sans-serif!important;color:#edb1c9}
.game-controls{display:flex;gap:10px;padding-top:12px}.game-controls button{min-height:48px;border-radius:9px;font-size:13px}.game-pause{width:88px;background:#26202a;color:#d5c4d1;border:1px solid #453847}.game-dash{flex:1;background:#c8ebdf;color:#18362c;font-weight:700;touch-action:none}.game-dash:disabled{color:#b4c5bf;background:#2d3937}.game-dash span{font:600 12px 'Space Grotesk',sans-serif;margin-left:9px}
.game-aside .game-label{font-size:11px;letter-spacing:.16em;color:#d49bb8;margin-bottom:12px}.game-aside h2{font-size:30px;line-height:1.5;letter-spacing:-.04em;margin-bottom:16px}.game-aside h2 span{color:#e79eb9}.game-aside>p{color:#b4a6b1;font-size:13px;line-height:1.9}
.game-mission{margin:22px 0;padding-block:20px;border-block:1px solid #ffffff18;display:grid;gap:15px}.game-mission>div{display:flex;align-items:center;gap:12px;font-size:12px;color:#cdbdca}.game-mission b{font:600 25px 'Space Grotesk',sans-serif;color:#fff;min-width:48px}.game-mission b.mint{color:#b5efe0}
.game-instructions{font-size:12px;line-height:1.9;color:#b9aab6}.game-instructions strong{display:block;color:#e8d9e3;margin-bottom:5px}.game-instructions kbd{font:inherit;padding:1px 4px;border:1px solid #5c4a57;border-radius:3px;color:#e9dde5}.game-tip{margin-top:15px!important;font-size:11px!important;color:#968b94!important}.game-sound{margin-top:20px;color:#cdb7c6;font-size:12px;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.game-reward{padding:36px 24px;max-width:530px;margin:auto;text-align:center}.game-reward .secret-face{width:100px;height:113px}.reward-label{font-size:12px;letter-spacing:.13em;color:#b5efe0;margin-bottom:12px}.game-reward h2{font-size:24px;margin-bottom:24px}.reward-ticket{position:relative;border:1px solid #e2adc6;background:#edbdd3;color:#392132;border-radius:14px;padding:26px 24px;margin:0 0 24px;box-shadow:0 0 60px #e79eb911}.reward-ticket p{font-size:14px}.reward-ticket strong{display:block;font:700 82px/1.1 'Space Grotesk',sans-serif;margin:8px 0}.reward-ticket strong span{font:700 22px 'Noto Sans JP',sans-serif;margin-left:6px}.reward-ticket small{display:block;font-size:11px;border-top:1px dashed #74405c66;padding-top:15px;margin-top:20px;line-height:1.8}.reward-note{font-size:12px;line-height:1.9;color:#c3b0bc}.game-reward .game-secondary{margin-top:22px;width:100%}.reward-confirm{border:1px solid #69505f;padding:16px;border-radius:10px;margin-top:16px}.reward-confirm p{font-size:13px;line-height:1.8;margin-bottom:14px}.reward-confirm>div{display:flex;gap:8px}.reward-confirm button{flex:1}.reward-confirm .game-secondary{margin:0}.reward-used{font-size:16px;color:#b5efe0;padding-top:20px}
.boo-game :focus-visible{outline:3px solid #b5efe0;outline-offset:4px}.game-arena:focus-visible{outline-offset:2px}
body.game-open .stage,body.game-open .disco,body.game-open .hype{display:none!important}
@media(min-width:701px){.game-machine{max-width:min(480px,calc((100dvh - 238px)*.75))}}
@media(max-width:700px){.boo-game{width:100%;max-height:100dvh;height:100dvh;border:0;border-radius:0}.game-head{padding:8px 16px}.game-head small{font-size:10px;margin-left:10px}.game-brand{font-size:20px}.game-close{width:40px;height:40px;min-height:40px}.game-layout{display:flex;flex-direction:column;gap:18px;padding:16px}.game-machine{max-width:min(480px,calc((100dvh - 196px)*.75))}.game-hud{padding-bottom:8px}.game-hud b{font-size:20px}.game-hud .game-hearts{font-size:19px}.game-cover{padding:18px}.game-cover h3{font-size:25px}.game-cover .cover-pig{width:70px;height:79px}.game-cover p{font-size:11px;margin-bottom:14px}.game-cover .game-primary{min-height:44px;padding:10px}.game-aside{max-width:480px;width:100%;padding-bottom:env(safe-area-inset-bottom)}.game-aside .game-label,.game-aside h2,.game-aside>p:not(.game-tip),.game-mission{display:none}.game-instructions{font-size:11px}.game-instructions strong{display:none}.game-sound{margin-top:4px}.game-tip{margin-top:6px!important}.secret-panel{padding-top:40px}.game-controls{padding-top:9px}.game-controls button{min-height:44px}}
@media(max-height:540px) and (orientation:landscape){.game-layout{display:grid;grid-template-columns:240px minmax(180px,1fr);align-items:start;justify-content:center}.game-machine{max-width:240px}.boo-game{height:auto}.game-arena{max-height:none}.game-aside h2{display:block;font-size:22px}.game-aside .game-label{display:block}.game-cover .cover-pig{display:none}.game-cover h3{font-size:22px}}

[data-game-pig]{cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y}
[data-game-pig].game-pig-holding{filter:drop-shadow(0 0 12px #e79eb9aa)}
