:root{color:#1c2430;background:#f6f1e7;font-family:Segoe UI,Avenir Next,Trebuchet MS,sans-serif;line-height:1.45}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable;background:#f6f1e7}body{overflow-x:hidden;min-height:100vh;margin:0}h1,h2,h3,p{margin:0}button,input{font:inherit}a{color:#1f5f93}a:focus-visible{outline:3px solid #1f5f93;outline-offset:3px}button:focus-visible{outline:3px solid #1f5f93;outline-offset:3px}.shell{width:min(1120px,100%);margin:0 auto;padding:1.5rem 1rem 3rem}.site-header{display:flex;text-align:center;flex-direction:column;align-items: center;gap:.7rem}.eyebrow{color:#e23b2f;letter-spacing:.16em;margin:0;font-size:.78rem;font-weight:800}.site-header h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1}.modal h2{font-size:clamp(1.35rem,3vw,1.7rem);line-height:1.15}.stripes{background:repeating-linear-gradient(90deg,#e23b2f 0 10px,#fffdf9 10px 16px);border-radius:999px;width:min(12rem,60%);height:.55rem}.lede,.status,.modal-role,.card-role{color:#5c6b7a}.lede{max-width:36rem}.status{text-align:center;margin:2.5rem 0;font-size:1.1rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),320px));list-style:none;justify-content:center;gap:1rem;margin:1.5rem 0 0;padding:0}.cards li{display:flex}.card{display:flex;overflow:hidden;color:inherit;text-decoration:none;background:#fffdf9;border-radius:1.1rem;flex-direction:column;flex:1;box-shadow:0 10px 28px #1c243014}.card:hover{transform:translateY(-2px)}.card-photo{display:block;object-fit:contain;background:radial-gradient(circle at 50% 82%,#fffdf9 0,#e7f3ea 58%,#d7e7f6 100%);width:100%;height:240px}.card-photo-empty{display:grid;color:#5c6b7a;place-items: center}.card-body{display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem 1rem}.card-name{font-size:1.25rem;font-weight:800}.card-action{color:#e23b2f;margin-top:.45rem;font-weight:800}.photo-switch{position:relative;display:flex;color:#1c2430;cursor:pointer;justify-content:center;align-items: center;gap:.7rem;width:-moz-fit-content;width:fit-content;margin:1.5rem auto 0;font-weight:800}.photo-switch input{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.photo-switch-track{position:relative;background:#fffdf9;border:2px solid #5c6b7a;border-radius:999px;flex:none;width:2.75rem;height:1.5rem}.photo-switch-track:after{content:"";position:absolute;background:#5c6b7a;border-radius:999px;width:calc(1.5rem - 8px);height:calc(1.5rem - 8px);transition:transform .16s,background-color .16s;top:2px;left:2px}.photo-switch input:checked+.photo-switch-track{background:#e23b2f;border-color:#e23b2f}.photo-switch input:checked+.photo-switch-track:after{background:#fffdf9;transform:translate(1.25rem)}.photo-switch input:focus-visible+.photo-switch-track{outline:3px solid #1f5f93;outline-offset:3px}.play{display:flex;height:100vh;overflow:hidden;flex-direction:column;height:100dvh}.topbar{position:sticky;z-index:40;display:flex;background:#fffdf9;border-bottom:4px solid #e23b2f;flex:none;align-items: center;gap:.75rem;min-height:3.4rem;padding:.55rem .9rem;top:0}.topbar-link{color:#1f5f93;text-decoration:none;white-space:nowrap;flex:none;font-weight:800}.topbar-title{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1.05rem}.timer{display:flex;flex:none;align-items: center;gap:.4rem;margin:0}.timer-label{color:#5c6b7a;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.timer-value{display:inline-block;color:#fffdf9;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:center;background:#1c2430;border-radius:999px;min-width:4.6rem;padding:.22rem .6rem;font-weight:800}.map-viewport{display:flex;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;overflow-anchor:none;touch-action:pan-x pan-y;background:#d5e2ea;flex:1;min-height:0}.map{position:relative;z-index:0;overflow:hidden;user-select:none;transform-origin:0 0;background:#d5e2ea;flex:none;margin:auto}.map.is-interactive{cursor:crosshair}.map-bg,.sprite,.decoration{position:absolute;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none;max-width:none}.map-bg{z-index:0;object-fit:fill;width:100%;height:100%;inset:0}.miss-marker{position:absolute;z-index:1000;pointer-events:none;background:#e23b2f24;border:3px solid #e23b2f;border-radius:50%;width:clamp(1.6rem,5vw,2.4rem);height:clamp(1.6rem,5vw,2.4rem);transform:translate(-50%,-50%);box-shadow:0 0 0 4px #fffdf9b3}.miss-marker:before,.miss-marker:after{position:absolute;content:"";background:#e23b2f;border-radius:999px;width:58%;height:3px;top:50%;left:50%}.miss-marker:before{transform:translate(-50%,-50%)rotate(45deg)}.miss-marker:after{transform:translate(-50%,-50%)rotate(-45deg)}.modal-backdrop{position:fixed;z-index:30;display:flex;overflow:hidden;background:#1c24307a;justify-content:center;align-items: center;padding:4.25rem 1rem .75rem;inset:0}.modal{display:flex;width:min(26rem,92vw);max-height:min(92vh,100vh - 5rem);overflow:hidden;text-align:center;background:#fffdf9;border-radius:1.2rem;flex-direction:column;max-height:min(92dvh,100dvh - 5rem);box-shadow:0 18px 50px #1c243038}.modal-body{overflow:auto;flex:auto;min-height:0;padding:.85rem 1rem .35rem}.modal-actions{position:sticky;z-index:1;display:flex;background:#fffdf9;flex-direction:column;flex:none;gap:.5rem;padding:.45rem 1rem .8rem;bottom:0}.portrait{display:block;object-fit:contain;width:auto;max-width:100%;height:auto;max-height:min(38dvh,300px);margin:.35rem auto .2rem}.modal-name{font-size:1.15rem;font-weight:800;line-height:1.2}.modal-role{margin-top:.15rem;font-size:.92rem;line-height:1.3}.hints-title{margin-top:.45rem;font-size:.85rem}.hints,.id-list{list-style:none;margin:.4rem 0 .2rem;padding:0}.hints{display:flex;text-align:left;flex-direction:column;gap:.3rem}.hints li{background:#fff1ee;border-radius:.6rem;padding:.32rem .6rem;font-size:.92rem;line-height:1.3}.id-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.id-list a{display:inline-block;color:#9d120c;text-decoration:none;background:#fff1ee;border-radius:999px;padding:.45rem .75rem;font-weight:800}.found-time{color:#e23b2f;font-variant-numeric:tabular-nums;margin:.25rem 0 .15rem;font-size:clamp(2.2rem,8vw,3rem);font-weight:800;line-height:1}.button{display:inline-flex;color:#fffdf9;text-decoration:none;cursor:pointer;background:#e23b2f;border:0;border-radius:999px;justify-content:center;align-items: center;width:100%;padding:.65rem 1.1rem;font-weight:800}.button:hover{background:#c2251c}.button-secondary{color:#e23b2f;background:#fffdf9;border:2px solid #e23b2f}.button-secondary:hover{background:#fff1ee}@media (max-width:420px){.timer-label{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px}}@media (prefers-reduced-motion:reduce){.card:hover{transform:none}.photo-switch-track:after{transition:none}}
