#hidden-objects-game{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#0c0d14;color:#eddbb9;overflow:hidden;font:14px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;isolation:isolate}
#hidden-objects-game::backdrop{background:#090a10}
#hidden-objects-game::before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#080a1099,transparent 40% 60%,#080a1099),linear-gradient(#080a1040,#080a1080),url('assets/v19/match3_stage_background.png') center/cover no-repeat}
#hidden-objects-game *{box-sizing:border-box}
#hidden-objects-game [hidden]{display:none!important}
#hidden-objects-game button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#hidden-objects-game button:focus-visible{outline:2px solid #f0cf84;outline-offset:3px}
.ho-shell{width:min(100%,548px);height:100%;margin:auto;background:#10141bf5;border-inline:1px solid #836644;box-shadow:0 0 45px #000c;display:flex;flex-direction:column}
.ho-head{flex:0 0 auto;min-height:58px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;background:linear-gradient(#302833,#211f29);border-bottom:1px solid #957246}
.ho-head h1{font-size:17px;line-height:1.25;margin:0;color:#f4dfb5;letter-spacing:.02em}
#ho-location-name{display:block;font-size:10px;color:#b8a88f;margin-top:2px}
#ho-location-name:empty{display:none}
.ho-head-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
#ho-stage-progress{font-size:13px;color:#d1b383;font-variant-numeric:tabular-nums}
.ho-stage-meta{display:flex;flex-direction:column;align-items:center;gap:1px}
#ho-run-time{font-size:10px;color:#b9aa90;font-variant-numeric:tabular-nums}
#ho-close{width:40px;height:40px;background:#332b35;border:1px solid #856747;border-radius:4px;font-size:24px!important;line-height:1}
.ho-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6c533a #12151c}
.ho-stage-wrap{width:min(100%,max(240px,calc((100dvh - 180px)*2/3)));margin-inline:auto;border-inline:1px solid #55442e}
.ho-stage{position:relative;aspect-ratio:2/3;overflow:hidden;background:#211a17;isolation:isolate}
.ho-background{display:block;width:100%;height:100%;object-fit:fill;image-rendering:pixelated;user-select:none;pointer-events:none}
.ho-objects{position:absolute;inset:0}
.ho-object{position:absolute;left:var(--item-x);top:var(--item-y);width:var(--item-width);padding:0;border:0;border-radius:0;background:none;transform:translate(-50%,-50%) rotate(var(--item-rotation));transform-origin:center;isolation:isolate;transition:opacity .35s,filter .25s;line-height:0}
.ho-object img{display:block;width:100%;height:auto;pointer-events:none;image-rendering:pixelated;user-select:none;filter:drop-shadow(0 1px 1px #07050380);transform:scaleY(var(--item-scale-y,1))}
.ho-object::after{content:'';position:absolute;left:50%;top:50%;width:max(44px,100%);height:max(44px,100%);transform:translate(-50%,-50%)}
.ho-object.is-found{opacity:0;pointer-events:none;animation:ho-found .38s ease-out both}
.ho-object.is-hinted{filter:drop-shadow(0 0 2px #ffdfa1) drop-shadow(0 0 5px #d9a65c)}
.ho-object.is-hinted::before{content:'';position:absolute;inset:-9px;border:2px solid #efd38a;border-radius:50%;box-shadow:0 0 12px #efb45666;animation:ho-hint-ring 1s ease-out infinite}
.ho-object:disabled{cursor:default}
.ho-transition{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:30px;background:#070a10a6;text-align:center;backdrop-filter:none;animation:ho-fade .3s ease-out}
.ho-transition>span{font-size:34px;color:#d8bd7e;width:62px;height:62px;display:grid;place-items:center;border:1px solid #bf9859;border-radius:50%;background:#15181e}
.ho-transition p{max-width:280px;font-size:14px;color:#ead6b2;line-height:1.5;text-shadow:0 2px 3px #000}
.ho-bottom{padding:10px 13px 8px;background:linear-gradient(#20232c,#141820);border-top:1px solid #947043}
.ho-counter-row{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}
#ho-counter{margin:0;font-size:11px;white-space:nowrap;color:#c3b294}
#ho-counter strong{font-size:15px;margin-left:3px;color:#f0d59f;font-variant-numeric:tabular-nums}
.ho-hint{display:flex;align-items:center;justify-content:center;gap:4px;min-height:36px;padding:5px 7px;border:1px solid #846545;background:linear-gradient(#3b3038,#27252f);border-radius:4px;font-size:10px!important;box-shadow:inset 0 1px #d8b47718;flex-shrink:0}
#ho-counter{font-size:10px}
.ho-ranking-button{margin-left:auto}
.ho-hint svg{width:16px;height:16px;fill:none;stroke:#e0c08b;stroke-width:1.7}
.ho-hint:disabled{opacity:.45;cursor:default}
.ho-search-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;list-style:none;padding:0;margin:0}
.ho-search-list li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-width:0;padding:5px 2px 3px;border:1px solid #574a3b;border-radius:4px;background:#131a24;transition:opacity .3s,border-color .3s}
.ho-item-preview{position:relative;display:grid;place-items:center;width:34px;height:29px;flex:none}
.ho-search-list img{width:34px;height:29px;object-fit:contain;image-rendering:pixelated}
.ho-search-list span{text-align:center;font-size:9px;line-height:1.25;color:#d2c2a8;overflow-wrap:anywhere}
.ho-found-mark{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);place-items:center;font-size:14px;line-height:1;width:20px;height:20px;color:#e5cf9c;border-radius:50%;background:#273e35;box-shadow:0 0 0 1px #73907b}
.ho-search-list li.is-found{border-color:#62745c;background:#1a2526}
.ho-search-list li.is-found img{opacity:.35}
.ho-search-list li.is-found span{color:#8e9c8d;text-decoration:line-through}
.ho-search-list li.is-found .ho-found-mark{display:grid}
.ho-status{min-height:17px;margin:4px 12px 6px;color:#cbb892;text-align:center;font-size:10px;overflow-wrap:anywhere}
.ho-status:empty{margin-block:0;min-height:0}
.ho-status.is-notice{position:absolute!important;inset:auto;width:1px;height:1px;min-height:0;margin:0;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.ho-search-list li[data-item-id="photo"] span{font-size:8px}
.ho-retry{display:block;margin:12px auto;padding:10px 16px;min-height:44px;border:1px solid #9b7951;border-radius:4px;background:#362c36}
.ho-result{padding:36px 22px 28px;max-width:470px;margin:auto;text-align:center;animation:ho-fade .5s ease-out}
.ho-result-seal{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 12px;border:1px solid #bd985a;border-radius:50%;font-size:30px;background:radial-gradient(#473c2d,#1b2027);color:#ead099;box-shadow:0 0 28px #c6985020,inset 0 0 0 4px #1b2027}
.ho-result-count{margin:0;font-size:12px;letter-spacing:.18em;color:#a98f66}
.ho-result h2{font-size:22px;line-height:1.3;color:#f0d7a4;margin:14px auto 22px;max-width:300px}
.ho-message{position:relative;padding:25px 20px;background:linear-gradient(125deg,#b59c72,#d2b98b 35%,#c0a475 80%,#9e835b);color:#30251e;border:1px solid #9c7d4f;border-radius:2px;box-shadow:0 8px 25px #0008,inset 0 0 22px #4a301c33;transform:rotate(-1deg)}
.ho-message::before,.ho-message::after{content:'';position:absolute;left:10px;right:10px;height:1px;background:#70523660}
.ho-message::before{top:10px}.ho-message::after{bottom:10px}
.ho-message p{margin:0;text-align:left;font-size:16px;line-height:1.7;font-family:ui-serif,Georgia,serif}
.ho-story-bridge{color:#b9aa92;font-size:12px;line-height:1.65;margin:24px auto;max-width:320px}
.ho-result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.ho-result-actions button{min-height:44px;padding:10px 13px;border:1px solid #92704a;border-radius:4px;background:linear-gradient(#41323b,#2c2631);font-size:12px!important}
.ho-result-actions button:disabled{opacity:.5}
body.ho-open #scene *{animation-play-state:paused!important}
@keyframes ho-hint-ring{0%{opacity:1;transform:scale(.85)}100%{opacity:0;transform:scale(1.45)}}
@keyframes ho-found{0%{opacity:1;filter:brightness(1)}30%{opacity:1;filter:brightness(1.5)}100%{opacity:0;transform:translate(-50%,-70%) rotate(var(--item-rotation)) scale(.85)}}
@keyframes ho-fade{from{opacity:0}to{opacity:1}}
@media(min-width:741px){.ho-shell{width:min(548px,max(334px,calc((100dvh - 219px)*2/3 + 2px)));max-height:calc(100dvh - 16px);margin-top:8px;border:1px solid #836644;border-radius:6px;overflow:hidden}.ho-stage-wrap{width:100%}.ho-item-preview{height:34px;width:40px}.ho-search-list img{height:34px;width:40px}.ho-search-list span{font-size:10px}}
@media(max-width:360px){.ho-head{padding:7px 10px;min-height:54px}.ho-head h1{font-size:15px}.ho-head-actions{gap:8px}.ho-bottom{padding:8px}.ho-hint{padding:5px 7px;gap:4px;font-size:10px!important}#ho-counter{font-size:10px}#ho-counter strong{font-size:14px}.ho-search-list{gap:3px}.ho-search-list span{font-size:8px}.ho-result{padding:25px 18px}.ho-result h2{font-size:20px}.ho-message{padding:22px 17px}.ho-message p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ho-object,.ho-transition,.ho-result,.ho-search-list li{transition:none;animation:none!important}.ho-object.is-found{opacity:0}.ho-object.is-hinted::before{animation:none;opacity:1}}
#hidden-objects-ranking{box-sizing:border-box;width:min(540px,calc(100vw - 20px));max-width:calc(100vw - 20px);max-height:88dvh;margin:auto;padding:0;border:1px solid #9c794c;border-top:3px solid #c6a268;border-radius:6px;background:#171c26;color:#ead9b9;box-shadow:0 16px 70px #000d;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}
#hidden-objects-ranking[open]{display:flex;flex-direction:column}
#hidden-objects-ranking *{box-sizing:border-box}
#hidden-objects-ranking::backdrop{background:#07090ddd}
#hidden-objects-ranking [hidden]{display:none!important}
#hidden-objects-ranking header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:linear-gradient(#352b36,#22232d);border-bottom:1px solid #6f563c;flex-shrink:0}
#ho-ranking-title{margin:0;font-size:20px}
#hidden-objects-ranking button{min-height:40px;padding:7px 12px;border:1px solid #8b6b47;border-radius:4px;background:#372d37;color:#edd9b5;font:inherit;cursor:pointer}
#hidden-objects-ranking #ho-ranking-close{font-size:23px;line-height:1;width:40px;padding:4px}
.ho-ranking-content{min-height:0;overflow:auto;padding:14px}
.ho-ranking-content>label{display:block;color:#beac90;font-size:11px;margin-bottom:5px}
#ho-ranking-search{display:block;width:100%;min-height:42px;padding:9px 11px;margin-bottom:15px;border:1px solid #706047;border-radius:4px;background:#10151f;color:#f1dfbf;font:inherit;outline-color:#bd9b63}
.ho-ranking-columns,#ho-ranking-list li{display:grid;grid-template-columns:45px minmax(0,1fr) 96px;gap:8px;align-items:center;padding:10px 8px}
.ho-ranking-columns{font-size:10px;color:#bba58a;border-bottom:1px solid #776044;padding-block:4px 8px}
.ho-ranking-columns>:last-child{text-align:right}
#ho-ranking-list{list-style:none;padding:0;margin:0}
#ho-ranking-list li{font-size:12px;border-bottom:1px solid #3f3b36;min-height:46px}
#ho-ranking-list li strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ho-ranking-list li>span{color:#bb9d72}
#ho-ranking-list time{text-align:right;color:#e8cc96;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}
#ho-ranking-list .is-self{background:#c8994f10;box-shadow:inset 2px 0 #d2ad6b}
#ho-ranking-status{font-size:11px;color:#bead93;min-height:18px;margin:12px 0 0}
#ho-ranking-more{display:block;margin:10px auto 0}
@media(max-width:360px){.ho-ranking-content{padding:11px}.ho-ranking-columns,#ho-ranking-list li{grid-template-columns:36px minmax(0,1fr) 86px;gap:5px;padding-inline:5px}.ho-ranking-columns{font-size:9px}#ho-ranking-list time{font-size:10px}}
