.birthday-hunt{padding:72px 24px 88px;background:#f7efde;color:#213d32;isolation:isolate}
.hunt-heading{max-width:1000px;margin:0 auto 26px;display:flex;align-items:end;justify-content:space-between;gap:20px}
.hunt-kicker{font:11px 'Space Mono',monospace;letter-spacing:.13em;color:#6b7156}
.hunt-heading h2{font:italic 58px/1.1 'Instrument Serif',serif;letter-spacing:-.03em;margin:10px 0}
.hunt-heading p{font:14px/1.6 'DM Sans',sans-serif;margin:0;max-width:410px}
.hunt-stamp{font:11px/1.6 'Space Mono',monospace;border:1px solid #789077;padding:10px 16px;transform:rotate(3deg);white-space:nowrap;background:#e7edc9}
.hunt-machine{max-width:1000px;margin:auto;border:6px solid #284538;border-radius:14px;background:#284538;box-shadow:0 9px 0 #c9c9a5;overflow:hidden}
.hunt-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#284538;color:#faf1d3;font:12px 'Space Mono',monospace}
.hunt-controls{display:flex;gap:6px}.hunt-controls button{background:#ffffff0d;color:#faf1d3;border:1px solid #ffffff3b;border-radius:5px;padding:8px 12px;min-height:40px;font:12px 'DM Sans',sans-serif}.hunt-controls button:hover{background:#ffffff20}.hunt-controls button:disabled{opacity:.4}
.hunt-field{position:relative;aspect-ratio:16/9;min-height:340px;overflow:hidden;background:#73bafa;cursor:crosshair;outline-offset:-5px}
.hunt-landscape{position:absolute;width:100%;height:100%;inset:0;image-rendering:pixelated;pointer-events:none}
.hunt-targets,.hunt-effects{position:absolute;inset:0;pointer-events:none}
.hunt-target{position:absolute;left:0;top:0;width:clamp(58px,8vw,88px);aspect-ratio:1;border:0;background:none;padding:5px;pointer-events:auto;cursor:crosshair;touch-action:manipulation;will-change:transform}
.hunt-target img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) drop-shadow(2px 3px 0 #213a3160);pointer-events:none;user-select:none;-webkit-user-drag:none}
.hunt-target[data-person="Duru"] img{filter:grayscale(1) drop-shadow(0 0 5px #ffe37c)}
.hunt-target span{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);font:10px 'Space Mono',monospace;background:#fff3d9e8;border-radius:3px;padding:2px 5px;color:#284538;white-space:nowrap;pointer-events:none}
.hunt-target:focus-visible{outline:3px dashed #fff5b4;outline-offset:2px;border-radius:50%}
.hunt-target.is-hit{pointer-events:none;animation:hunt-pop .35s forwards}.hunt-target.is-escaped{pointer-events:none;animation:hunt-escape .8s forwards}
@keyframes hunt-pop{to{opacity:0;scale:.2;rotate:25deg}}@keyframes hunt-escape{to{opacity:0;translate:0 -100px}}
.hunt-effect{position:absolute;color:#fffbe8;text-shadow:2px 2px #294938;font:bold 20px 'Space Mono',monospace;transform:translate(-50%,-50%);animation:hunt-points .7s forwards;white-space:nowrap;pointer-events:none}
.hunt-effect.miss{font-size:24px;color:#fff4b6}@keyframes hunt-points{to{opacity:0;translate:0 -45px}}
.hunt-overlay{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:22px;background:#274e3925;cursor:default}
.hunt-overlay[hidden]{display:none!important}.hunt-card{max-width:420px;width:100%;padding:28px 30px;text-align:center;background:#fcf4dd;border:3px solid #284538;box-shadow:7px 7px 0 #28453855}
.hunt-card .hunt-mini{font:11px 'Space Mono',monospace;color:#607245;letter-spacing:.15em}
.hunt-card h3{font:700 32px/1.1 'Space Mono',monospace;letter-spacing:-1.5px;margin:14px 0;color:#254b37}
.hunt-card p{font:14px/1.65 'DM Sans',sans-serif;margin:0 0 20px;color:#506047}
.hunt-primary{min-height:48px;padding:12px 28px;font:700 13px 'Space Mono',monospace;color:#213d32;border:2px solid #284538;background:#e7e98f;box-shadow:3px 3px 0 #284538;transition:background .15s}
.hunt-primary:hover{background:#f5f6b1}.hunt-primary:active{box-shadow:1px 1px 0 #284538;translate:2px 2px}
.hunt-round-notice{position:absolute;top:18px;left:50%;transform:translateX(-50%);margin:0;max-width:92%;text-align:center;background:#fcf4dd;color:#284538;border:2px solid #284538;padding:9px 18px;font:12px 'Space Mono',monospace;pointer-events:none;z-index:2}
.hunt-round-notice:empty{display:none}.hunt-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#1c342b;color:#faf1d3;padding:17px 20px;border-top:4px solid #d3de75}
.hunt-hud>div{display:flex;flex-direction:column;gap:6px}.hunt-hud dt{font:10px 'Space Mono',monospace;color:#b9c79b;letter-spacing:.08em}.hunt-hud dd{font:700 21px/1.1 'Space Mono',monospace;margin:0;color:#f1edac;font-variant-numeric:tabular-nums}.hunt-hud small{font:11px 'Space Mono',monospace;color:#b9c79b}
.hunt-bottom{max-width:1000px;margin:20px auto 0;display:flex;align-items:center;justify-content:space-between;gap:14px;font:12px/1.5 'DM Sans',sans-serif;color:#606b54}
.hunt-results{display:flex;gap:5px;align-items:center}.hunt-results i{width:12px;height:12px;display:block;border:1px solid #8b9d72;background:#e6e6cb}.hunt-results i.hit{background:#426642;border-color:#426642}.hunt-results i.escaped{background:#cf946c;border-color:#b47851}.hunt-bottom p{margin:0;text-align:right}.hunt-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.birthday-hunt .section-dedication{color:#687355}
@media(max-width:700px){.birthday-hunt{padding:48px 12px 82px}.hunt-heading{padding:0 8px;margin-bottom:20px}.hunt-heading h2{font-size:43px}.hunt-heading p{font-size:13px;max-width:280px}.hunt-stamp{display:none}.hunt-kicker{font-size:9px}.hunt-machine{border-width:4px;border-radius:8px}.hunt-field{aspect-ratio:1;min-height:330px}.hunt-topbar{padding:8px;font-size:10px;gap:5px}.hunt-controls button{min-height:40px;padding:7px 9px;font-size:11px}.hunt-card{padding:22px 18px}.hunt-card h3{font-size:27px}.hunt-card p{font-size:13px}.hunt-overlay{padding:20px}.hunt-hud{gap:8px;padding:14px 10px}.hunt-hud dd{font-size:18px}.hunt-hud dt{font-size:9px}.hunt-hud small{font-size:9px}.hunt-bottom{padding:0 6px;align-items:start;font-size:11px}.hunt-results{gap:3px}.hunt-results i{width:10px;height:10px}.hunt-bottom p{max-width:180px}.hunt-target{width:62px}.hunt-round-notice{font-size:10px;padding:8px 12px}.hunt-effect{font-size:17px}}
@media(prefers-reduced-motion:reduce){.hunt-target.is-hit,.hunt-target.is-escaped{animation:none;opacity:0}.hunt-effect{animation:none}.hunt-primary{transition:none}}

.hunt-hud{margin:0}
