.game-page[data-game-id="hidden-objects"]{padding-top:18px;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(420px,.84fr);column-gap:14px;row-gap:6px}
.game-page[data-game-id="hidden-objects"]>.crumbs{grid-column:1/-1}
.game-page[data-game-id="hidden-objects"]>h1{grid-column:1;grid-row:2;margin:12px 0 0;font-size:clamp(3rem,3.6vw,4rem)}
.game-page[data-game-id="hidden-objects"]>.lede{grid-column:1;grid-row:3;margin:0;font-size:.82rem;line-height:1.45}
.game-page[data-game-id="hidden-objects"]>.play-layout,.game-page[data-game-id="hidden-objects"]>.play-layout>section{display:contents}
.game-page[data-game-id="hidden-objects"] .mode-bar{grid-column:2;grid-row:2/4;margin:12px 0 0}
.game-page[data-game-id="hidden-objects"] .mode-bar>div{display:grid;align-content:center;padding:9px 12px}
.game-page[data-game-id="hidden-objects"] .mode-bar h2{margin-bottom:7px;font-size:1.05rem}
.game-page[data-game-id="hidden-objects"] .difficulty button{padding:7px 4px}
.game-page[data-game-id="hidden-objects"] .game-shell{grid-column:1/-1;grid-row:4;margin-top:4px}
.game-page[data-game-id="hidden-objects"]>.game-info{grid-column:1/-1;grid-row:5}
.game-shell:has(.ho-game){min-height:0;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px;background:#04111c}
.game-shell:has(.ho-game) .game-root{min-height:0}
.game-shell:has(.ho-game) .game-status{flex-direction:row;align-items:center;justify-content:space-between;gap:18px;padding:8px 12px}
.game-shell:has(.ho-game) .game-status strong{max-width:68%}
.game-shell:has(.ho-game) .game-tools{flex-direction:row;padding:0}
.game-shell:has(.ho-game) .game-tools button{flex:1;padding:9px 8px;text-align:center}
.ho-game{--ho-ink:#04121c;--ho-panel:#071b27;--ho-line:#a47a3c;--ho-gold:#d9b978;--ho-paper:#f2e4c3;--ho-cyan:#8ec7d2;--ho-coral:#c85e4d;min-width:0;width:min(100%,1180px);display:grid;gap:8px;color:var(--ho-paper);font-family:Inter,"Segoe UI",sans-serif}
.ho-heading{min-height:64px;display:grid;grid-template-columns:minmax(490px,1.05fr) minmax(340px,.95fr) 38px;align-items:center;gap:20px;padding:8px 18px;border:1px solid var(--ho-line);border-radius:10px;background:#061722 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='120' viewBox='0 0 160 120'%3E%3Cg fill='none' stroke='%233f6d70' stroke-opacity='.12'%3E%3Cpath d='M4 116 64 8m22 118 58-105M2 38l151 70M15 2l141 91'/%3E%3C/g%3E%3C/svg%3E");box-shadow:inset 0 0 28px #0008}
.ho-heading h2{margin:0;color:var(--ho-paper);font:700 clamp(2.15rem,3.8vw,2.9rem)/.8 Georgia,"Times New Roman",serif;letter-spacing:.095em;white-space:nowrap;text-transform:uppercase;text-shadow:0 2px 0 #000}
.ho-heading>div:nth-child(2){display:grid;place-items:center;gap:2px;text-align:center}
.ho-heading strong{color:var(--ho-gold);font:700 clamp(.95rem,2vw,1.34rem)/1 Georgia,"Times New Roman",serif;letter-spacing:.07em;text-transform:uppercase}
.ho-heading p{margin:0;color:var(--ho-cyan);font-size:.68rem;letter-spacing:.04em}
.ho-leaf{width:29px;height:37px;justify-self:end;opacity:.82;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 42'%3E%3Cg fill='none' stroke='%23c9a762' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M7 39c5-9 8-18 9-34M14 13C8 13 5 10 4 6c6-1 10 1 12 6M12 21c-5 0-9-2-11-6 6-2 10 0 13 4M16 12c5-1 9-4 10-8 3 5 1 9-8 12M14 27c6 0 11-3 14-8 1 6-3 11-15 12'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.ho-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 226px;gap:8px}
.ho-scene{position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:3/2;border:1px solid var(--ho-line);border-radius:9px;background:#071b27 url('/assets/hidden-objects-conservatory.webp') center/cover no-repeat;box-shadow:inset 0 0 30px #0007,0 13px 30px #0007;cursor:crosshair;touch-action:manipulation}
.ho-scene:focus-visible{outline:3px solid var(--ho-paper);outline-offset:3px}
.ho-scene::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;box-shadow:inset 0 0 26px #021018a3}
.ho-dust{position:absolute;z-index:2;inset:0;pointer-events:none;overflow:hidden}
.ho-dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#e7ce91;box-shadow:0 0 6px #e7ce91;opacity:.3;animation:ho-drift 8s linear infinite}
.ho-dust i:nth-child(1){left:19%;top:76%;animation-duration:9s}.ho-dust i:nth-child(2){left:46%;top:54%;animation-delay:-3s}.ho-dust i:nth-child(3){left:70%;top:69%;animation-duration:11s;animation-delay:-6s}.ho-dust i:nth-child(4){left:87%;top:43%;animation-duration:7s;animation-delay:-4s}
.ho-markers{position:absolute;z-index:5;inset:0;pointer-events:none}
.ho-found-marker,.ho-hint-marker{position:absolute;width:clamp(24px,4.2vw,46px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%}
.ho-found-marker{border:2px solid #c9df76;box-shadow:0 0 0 3px #071b27b8,0 0 14px #c9df76;animation:ho-found .44s ease both}
.ho-found-marker::before,.ho-found-marker::after{content:"";position:absolute;background:#c9df76;border-radius:2px;transform-origin:left center}
.ho-found-marker::before{left:25%;top:52%;width:24%;height:3px;transform:rotate(45deg)}
.ho-found-marker::after{left:43%;top:64%;width:42%;height:3px;transform:rotate(-48deg)}
.ho-hint-marker{border:2px dashed var(--ho-paper);box-shadow:0 0 0 3px #071b27b0,0 0 19px var(--ho-gold);animation:ho-hint .58s ease-in-out infinite alternate}
.ho-reticle{position:absolute;z-index:6;width:clamp(28px,4.3vw,48px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 2px 2px #000)}
.ho-reticle::before,.ho-reticle::after{content:"";position:absolute;inset:0;background:linear-gradient(var(--ho-gold),var(--ho-gold)) 0 0/11px 2px no-repeat,linear-gradient(var(--ho-gold),var(--ho-gold)) 0 0/2px 11px no-repeat,linear-gradient(var(--ho-gold),var(--ho-gold)) 100% 0/11px 2px no-repeat,linear-gradient(var(--ho-gold),var(--ho-gold)) 100% 0/2px 11px no-repeat,linear-gradient(var(--ho-gold),var(--ho-gold)) 0 100%/11px 2px no-repeat,linear-gradient(var(--ho-gold),var(--ho-gold)) 0 100%/2px 11px no-repeat,linear-gradient(var(--ho-gold),var(--ho-gold)) 100% 100%/11px 2px no-repeat,linear-gradient(var(--ho-gold),var(--ho-gold)) 100% 100%/2px 11px no-repeat}
.ho-game[data-state="ready"] .ho-reticle,.ho-game[data-state="won"] .ho-reticle,.ho-game[data-state="lost"] .ho-reticle{display:none}
.ho-overlay,.ho-pause{position:absolute;z-index:20;inset:0;display:grid;place-items:center;background:#020d15cf;backdrop-filter:blur(3px)}
.ho-overlay[hidden],.ho-pause[hidden]{display:none}
.ho-overlay>div{width:min(74%,440px);display:grid;gap:10px;padding:clamp(22px,4vw,38px);border:1px solid var(--ho-line);border-radius:9px;background:#061722f2;box-shadow:0 18px 45px #0009;text-align:center}
.ho-overlay small{color:var(--ho-cyan);font:800 .62rem "Barlow Condensed",sans-serif;letter-spacing:.15em;text-transform:uppercase}
.ho-overlay strong,.ho-pause strong{color:var(--ho-paper);font:700 clamp(1.8rem,4vw,2.8rem)/.95 Georgia,"Times New Roman",serif;text-transform:uppercase}
.ho-overlay p,.ho-pause p{margin:0;color:#c3d5d7;font-size:.7rem;line-height:1.55}
.ho-overlay button,.ho-pause button{min-height:44px;margin-top:3px;border:1px solid var(--ho-gold);border-radius:5px;background:var(--ho-gold);color:#07131b;font:900 .74rem "Barlow Condensed",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ho-overlay button:hover,.ho-overlay button:focus-visible,.ho-pause button:hover,.ho-pause button:focus-visible{outline:3px solid white;outline-offset:3px}
.ho-pause{align-content:center;gap:11px}.ho-pause button{min-width:155px;padding-inline:22px}
.ho-case{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:7px;padding:7px;border:1px solid var(--ho-line);border-radius:9px;background:#061722;box-shadow:inset 0 0 25px #0008}
.ho-readouts{display:grid;grid-template-columns:1fr 1fr;border:1px solid #3b5f64;border-radius:6px;overflow:hidden}
.ho-readouts span{min-width:0;display:grid;gap:1px;padding:7px 8px;background:#081d29}
.ho-readouts span:nth-child(even){border-left:1px solid #3b5f64}.ho-readouts span:nth-child(n+3){border-top:1px solid #3b5f64}
.ho-readouts small{color:var(--ho-cyan);font:800 .43rem "Barlow Condensed",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.ho-readouts strong{overflow:hidden;color:var(--ho-paper);font:800 .8rem "Barlow Condensed",sans-serif;white-space:nowrap;text-overflow:ellipsis}
.ho-targets{min-height:0;max-height:418px;display:grid;align-content:start;gap:4px;overflow:auto;margin:0;padding:0;list-style:none;scrollbar-color:var(--ho-line) #071722;scrollbar-width:thin}
.ho-targets li{min-height:46px;display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:7px;padding:4px;border:1px solid #36565e;border-radius:5px;background:#081d29;transition:opacity .16s,border-color .16s,background .16s}
.ho-targets li>i{width:38px;aspect-ratio:1;border:1px solid #6f654e;border-radius:4px;background-image:url('/assets/hidden-objects-conservatory.webp');background-size:900% auto;background-position:var(--object-x) var(--object-y);background-repeat:no-repeat;box-shadow:inset 0 0 8px #0008}
.ho-targets li>span{overflow:hidden;color:#e1e6dc;font:700 .68rem "Barlow Condensed",sans-serif;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis}
.ho-targets li>b{width:22px;aspect-ratio:1;display:grid;place-items:center;border:1px solid #596d55;border-radius:50%;color:#93b668;opacity:.25}
.ho-targets li>b svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ho-targets li.found{border-color:#667a45;background:#11241f;opacity:.67}.ho-targets li.found>span{text-decoration:line-through}.ho-targets li.found>b{opacity:1;color:#c5df70;border-color:#9eb44f}
.ho-targets li.hinted{border-color:var(--ho-gold);box-shadow:inset 0 0 0 1px #d9b97855}
.ho-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.ho-actions button{min-width:0;min-height:52px;display:grid;place-items:center;align-content:center;gap:2px;padding:5px 2px;border:1px solid var(--ho-line);border-radius:5px;background:#071b27;color:var(--ho-paper);font:800 .55rem "Barlow Condensed",sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.ho-actions button:hover:not(:disabled),.ho-actions button:focus-visible{outline:2px solid var(--ho-gold);outline-offset:2px;background:#102a37}
.ho-actions button:disabled{opacity:.35;cursor:default}.ho-actions button svg{width:20px;height:20px;fill:none;stroke:var(--ho-gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ho-actions button b{font:inherit;color:var(--ho-cyan)}
.ho-help{margin:0;padding:8px 12px;border:1px solid var(--ho-line);border-radius:7px;color:var(--ho-cyan);font-size:.56rem;letter-spacing:.02em;text-align:center}.ho-help i{display:inline-block;width:3px;height:3px;margin:0 8px 2px;border-radius:50%;background:var(--ho-gold)}
.ho-scene.miss{animation:ho-miss .34s ease}.ho-scene.found-flash{box-shadow:inset 0 0 30px #0007,0 0 22px #c5df7059}
@keyframes ho-drift{from{transform:translateY(45px);opacity:0}20%{opacity:.36}to{transform:translate(24px,-100px);opacity:0}}
@keyframes ho-found{from{opacity:0;transform:translate(-50%,-50%) scale(1.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ho-hint{to{transform:translate(-50%,-50%) scale(1.16)}}
@keyframes ho-miss{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){.ho-dust{display:none}.ho-found-marker,.ho-hint-marker,.ho-scene.miss{animation:none}.ho-targets li{transition:none}}
@media(max-width:800px){.game-page[data-game-id="hidden-objects"]{display:block;padding-top:20px}.game-page[data-game-id="hidden-objects"]>.play-layout,.game-page[data-game-id="hidden-objects"]>.play-layout>section{display:block}.game-page[data-game-id="hidden-objects"]>h1{margin:18px 0 5px;font-size:2.9rem}.game-page[data-game-id="hidden-objects"]>.lede{font-size:.88rem}.game-page[data-game-id="hidden-objects"] .mode-bar{margin:15px 0 10px}.game-shell:has(.ho-game) .game-status{align-items:flex-start;flex-direction:column;gap:7px}.game-shell:has(.ho-game) .game-status strong{max-width:none}}
@media(max-width:700px){.ho-heading{min-width:0;min-height:72px;grid-template-columns:minmax(0,1fr);gap:6px;padding:9px 10px}.ho-heading h2{min-width:0;font-size:2rem}.ho-heading>div:nth-child(2){place-items:start;text-align:left}.ho-heading strong{font-size:.78rem}.ho-heading p{font-size:.52rem}.ho-leaf{display:none}.ho-layout{grid-template-columns:minmax(0,1fr)}.ho-scene,.ho-case{min-width:0}.ho-case{grid-template-rows:auto auto auto}.ho-readouts{grid-template-columns:repeat(4,minmax(0,1fr))}.ho-readouts span{padding:6px 5px}.ho-readouts span+span{border-left:1px solid #3b5f64}.ho-readouts span:nth-child(n+3){border-top:0}.ho-readouts strong{font-size:.7rem}.ho-targets{max-height:none;grid-template-columns:1fr 1fr;gap:4px}.ho-targets li{min-height:42px;grid-template-columns:33px minmax(0,1fr) 20px}.ho-targets li>i{width:33px}.ho-targets li>span{font-size:.61rem}.ho-targets li>b{width:19px}.ho-actions button{min-height:48px}.ho-help{font-size:.5rem}.ho-help i{margin-inline:4px}}
@media(max-width:410px){.ho-heading h2{font-size:1.65rem;letter-spacing:.07em}.ho-heading strong{font-size:.65rem}.ho-heading p{font-size:.46rem}.ho-overlay>div{width:min(84%,340px);padding:20px}.ho-overlay strong{font-size:1.65rem}.ho-targets li{grid-template-columns:29px minmax(0,1fr) 18px;padding:3px}.ho-targets li>i{width:29px}.ho-targets li>span{font-size:.55rem}.ho-targets li>b{width:17px}.ho-readouts small{font-size:.36rem}.ho-readouts strong{font-size:.62rem}.ho-actions button{font-size:.49rem}.ho-help{padding-inline:4px;font-size:.43rem}}
