.nino-game{height:100dvh;display:flex;flex-direction:column;background:#123e46}.nino-room{position:relative;flex:1;min-height:0;overflow:auto;background:#21484b url('assets/nino/room.webp') center/cover;color:#fff4cf;font-family:inherit}.nino-button{border:3px solid #c79951;border-radius:16px;padding:12px 22px;background:linear-gradient(#e7c58d,#b67c3d);color:#35200d;font:700 clamp(16px,1.6vw,24px) inherit;min-height:48px;cursor:pointer;margin:6px;box-shadow:0 4px 0 #614620}.nino-button.yes{background:#32704d;color:white}.nino-button.no{background:#ae443e;color:white}.nino-instruction{text-align:center;margin:10px;background:#163e48e8;padding:10px}.nino-instruction button{font-size:26px;border:0;border-radius:50%;cursor:pointer}.nino-hiding{margin-left:22%;width:73%;display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(10px,2vw,30px);padding:25px 0}.nino-piece{width:100%;aspect-ratio:4/3;padding:0;border:4px solid #d0ad67;background:#fffdf4;box-shadow:3px 6px 12px #0008;cursor:pointer}.nino-piece:nth-child(3n){transform:translateY(16px)}.nino-fragment{display:block;position:relative;width:100%;height:100%;overflow:hidden;background:white}.nino-fragment img{position:absolute;width:200%;height:200%;max-width:none;object-fit:fill;left:0;top:0}.nino-fragment.q1 img,.nino-fragment.q3 img{left:-100%}.nino-fragment.q2 img,.nino-fragment.q3 img{top:-100%}.nino-case{margin:20px 8% 40px auto;width:min(48%,620px);background:#163b40;border:12px ridge #b47c38;border-radius:15px;padding:10px;box-shadow:0 12px 20px #0008;text-align:center}.nino-case h2{margin:0 0 8px}.nino-slots,.nino-assembled{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:4/3}.nino-slots button{border:1px dashed #d2c392;background:#fff9e7;min-width:0;padding:0;cursor:pointer;position:relative}.nino-slots button>span:not(.nino-fragment){font-size:40px;color:#80735a}.nino-modal{position:absolute;inset:0;z-index:10;min-height:500px;background:#0b202bea;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.nino-lens{width:min(50vw,430px);aspect-ratio:1;border:14px ridge #cdab62;border-radius:50%;padding:30px;background:#fffdf3;box-shadow:0 0 0 6px #244853,0 20px 50px #0008}.nino-lens .nino-fragment{border-radius:20%;height:85%;top:7%}.nino-review,.nino-intro,.nino-finale{margin:4% 5% 3% 24%;padding:25px;background:#173d46f2;border:6px ridge #c59951;border-radius:20px;text-align:center}.nino-assembled{width:min(100%,650px);margin:20px auto;background:white}.nino-evidence{margin:2% 4% 3% 22%;padding:20px;background:#14363ef5;border:8px ridge #b58643;text-align:center}.nino-vitrines{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.nino-vitrines button{aspect-ratio:4/3;min-width:0;border:6px ridge #b68c47;background:#fff9e8;padding:5px;position:relative;font-size:30px;color:#c5b695}.nino-vitrines img{width:100%;height:100%;object-fit:contain}.nino-vitrines span{position:absolute;right:2px;bottom:0;color:#286344}.nino-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.nino-badge{font-size:80px}.nino-final-pictures{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.nino-final-pictures img{width:100px;height:75px;object-fit:contain;background:white;border:4px solid #d6b26e}.nino-finale h1{color:#ffe293;border:4px double;padding:15px;transform:rotate(-3deg)}button:focus-visible{outline:4px solid #fff09d;outline-offset:3px}@media(max-width:800px){.nino-hiding{margin-left:5%;width:90%;grid-template-columns:repeat(4,1fr);gap:14px}.nino-case{width:65%;margin:20px auto}.nino-evidence,.nino-review,.nino-intro,.nino-finale{margin:15px;background:#173d46f5}.nino-lens{width:65vw}.nino-vitrines{gap:8px}.nino-button{padding:10px}.nino-room{background-position:20% center}}@media(prefers-reduced-motion:no-preference){.nino-finale h1{animation:nino-stamp .45s ease-out}@keyframes nino-stamp{from{transform:scale(1.5) rotate(-3deg);opacity:0}to{transform:scale(1) rotate(-3deg);opacity:1}}}
.nino-fragment:after{content:'';position:absolute;width:22%;height:28%;border:3px solid #946829;pointer-events:none}.nino-fragment.q0:after{top:2px;left:2px;border-right:0;border-bottom:0}.nino-fragment.q1:after{top:2px;right:2px;border-left:0;border-bottom:0}.nino-fragment.q2:after{bottom:2px;left:2px;border-right:0;border-top:0}.nino-fragment.q3:after{bottom:2px;right:2px;border-left:0;border-top:0}.nino-assembled .nino-fragment:after{display:none}.nino-lens{position:relative}.nino-lens:after{content:'';position:absolute;width:22px;height:85px;right:-18px;bottom:-42px;transform:rotate(-35deg);background:linear-gradient(90deg,#6a431c,#c4914b,#523212);border:3px solid #d7af64;border-radius:12px;z-index:-1}.nino-room.phase-evidence,.nino-room.phase-final{background-image:url('assets/nino/evidence.webp')}
.nino-room{overflow:auto}.nino-hiding{position:absolute;left:24%;top:13%;width:71%;height:42%;margin:0;padding:0;grid-template-columns:repeat(6,minmax(0,1fr));align-content:space-around;align-items:center;gap:14px}.nino-piece{max-height:100%;min-width:0}.nino-piece:nth-child(3n){transform:none}.nino-case{position:absolute;right:6%;bottom:3%;width:29%;margin:0;padding:7px;border-width:8px}.nino-case h2{font-size:clamp(14px,1.5vw,21px)}.nino-intro,.nino-evidence,.nino-review,.nino-finale{position:relative}.nino-modal{position:fixed;min-height:0}.nino-vitrines{grid-template-columns:repeat(4,minmax(0,1fr))}.nino-evidence{max-height:90%;overflow:auto}.nino-evidence h1{margin:4px}.nino-vitrines button{max-height:15vh}.nino-review .nino-assembled{max-width:55vh}.nino-review{margin-top:2%}.nino-game{font-family:Arial,sans-serif}.nino-button{font-family:inherit;font-weight:700;font-size:clamp(16px,1.6vw,24px)}@media(max-aspect-ratio:1/1){.nino-hiding{left:5%;width:90%;grid-template-columns:repeat(4,minmax(0,1fr));height:43%;top:12%}.nino-case{width:55%;right:20%;bottom:4%}.nino-room{min-height:650px}.nino-evidence{margin:10px}.nino-review{margin:15px}.nino-vitrines{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nino-new-evidence{width:100px;height:75px;object-fit:contain;border:4px solid #e8c174;background:white}.nino-evidence{background:transparent;border:0;margin-left:29%;margin-right:10%;padding:12px}.nino-evidence h1{font-size:clamp(18px,2vw,28px);text-shadow:0 2px 4px #000}.nino-vitrines button:not(:disabled){cursor:pointer}.nino-vitrines button:disabled{opacity:1}.nino-vitrines button{box-shadow:0 4px 10px #0008}.nino-vitrines{gap:10px}.nino-evidence p{margin:8px}.nino-evidence .nino-button{font-size:18px}.nino-case:before{content:'';position:absolute;left:35%;right:35%;height:15px;top:-23px;border:6px ridge #af8c47;border-radius:12px 12px 0 0}.nino-piece{border-radius:2px 8px 2px 8px}.nino-hiding{column-gap:2.2vw}.nino-piece:nth-child(2n){transform:translateY(12px) rotate(2deg)}.nino-piece:nth-child(3n){transform:translateY(-8px) rotate(-2deg)}@media(max-aspect-ratio:1/1){.nino-evidence{margin:12px;background:#163b40ed;border-radius:15px}}
.nino-finale:after{content:'🐾 nino';display:block;color:#d8b370;font-weight:bold;font-size:28px;margin-top:18px;transform:rotate(-8deg)}.nino-badge{display:inline-grid;place-items:center;width:100px;height:100px;border:8px ridge #d4a343;border-radius:50%;background:radial-gradient(#ffe8a0,#c08b31);box-shadow:0 0 25px #edca6966;font-size:52px}.nino-piece-space{aspect-ratio:4/3}.nino-case>button{position:absolute;right:0;bottom:0;font-size:14px;padding:7px;transform:translateY(90%)}
.nino-reveal{position:absolute;inset:0;background:#102e3ceF;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden}.nino-reveal h1{color:#ffe0a0;font-size:clamp(24px,4vw,48px);margin:0;text-shadow:0 3px 8px #000}.nino-reveal-picture{position:relative;width:min(58vw,64vh);aspect-ratio:4/3;background:#fffdf4;border:8px ridge #dbb767;box-shadow:0 12px 40px #0008;margin:25px 0 0}.nino-reveal-pieces{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.nino-joining{position:relative;min-height:0;animation:nino-join 2.1s cubic-bezier(.25,.65,.3,1) both}.nino-joining .nino-fragment:after{display:none}.nino-joining.corner-0{--dx:-35%;--dy:-35%}.nino-joining.corner-1{--dx:35%;--dy:-35%}.nino-joining.corner-2{--dx:-35%;--dy:35%}.nino-joining.corner-3{--dx:35%;--dy:35%}.nino-whole{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:0;animation:nino-whole-in .5s 2s both}.nino-reveal-shine{position:absolute;inset:0;overflow:hidden;pointer-events:none}.nino-reveal-shine:after{content:'';position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 40%,#fff6c276 49%,transparent 58%);transform:translateX(-100%);animation:nino-sheen 1.2s 2.1s both}.nino-reveal-sparks{position:absolute;inset:0;pointer-events:none}.nino-reveal-sparks i{position:absolute;left:50%;top:50%;color:#ffe59c;font-style:normal;font-size:26px;opacity:0;animation:nino-spark 1.6s calc(2s + var(--delay)) both}.nino-reveal-word{margin:0;color:#fff2cb;font-size:clamp(22px,3vw,38px);font-weight:700;animation:nino-whole-in .5s 2s both}.nino-reveal button:disabled{opacity:.5;cursor:default}@keyframes nino-join{0%,18%{transform:translate(var(--dx),var(--dy));filter:drop-shadow(0 5px 8px #0008)}100%{transform:translate(0,0);filter:none}}@keyframes nino-whole-in{from{opacity:0}to{opacity:1}}@keyframes nino-sheen{to{transform:translateX(100%)}}@keyframes nino-spark{0%{opacity:0;transform:rotate(var(--angle)) translateX(100px)}25%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(min(38vw,320px)) scale(.2)}}@media(prefers-reduced-motion:reduce){.nino-joining{animation:none}.nino-whole,.nino-reveal-word{animation:none;opacity:1}.nino-reveal-shine,.nino-reveal-sparks{display:none}}@media(max-aspect-ratio:1/1){.nino-reveal-picture{width:75vw}}
.nino-room.phase-office,.nino-room.phase-intro{background-image:url('assets/nino/office-v210.webp');background-size:100% 100%}
.nino-room.phase-search{background-image:url('assets/nino/search-v210.webp');background-size:100% 100%;overflow:hidden}
.nino-office-doors .nino-button{position:absolute;top:18%;padding:9px 12px;font-size:clamp(14px,1.5vw,21px);background:linear-gradient(#31565b,#173b40);color:#fff1c6;border:2px solid #c6a35e;border-radius:8px;box-shadow:0 3px 8px #0008}
.nino-search-door{left:25%}.nino-evidence-door{left:72%}
.nino-office-case{position:absolute;left:47.5%;top:37%;width:26.5%;height:31%;text-align:center;display:flex;flex-direction:column}
.nino-office-case h2{color:#69441e;font-size:clamp(14px,1.5vw,21px);margin:0 0 4px}.nino-office-case h2 button{background:#224d54;border:2px solid #b79151;border-radius:50%;color:white;min-width:40px;min-height:40px;cursor:pointer}
.nino-office-case .nino-slots{min-height:0;flex:1;aspect-ratio:auto;grid-template-rows:1fr 1fr}
.nino-office-case .nino-slots button{background:#fffaf044;border-color:#a78351;border-radius:0}
.nino-office-case>.nino-button{position:absolute;top:135%;left:0;width:100%;margin:0;font-size:clamp(14px,1.5vw,21px)}
.nino-search-scene{position:absolute;inset:0}
.nino-hidden-tile{position:absolute;width:8%;height:11%;padding:0;border:0;background:none;cursor:zoom-in;isolation:isolate}
.nino-hidden-tile .nino-fragment{box-shadow:0 0 0 2px #ba954f,0 3px 8px #0007}
.nino-occluder{position:absolute;inset:0;background-image:url('assets/nino/search-v210.webp');background-size:1250% 909.0909%;clip-path:polygon(0 59%,24% 56%,42% 63%,67% 58%,100% 60%,100% 100%,0 100%);pointer-events:none}
.nino-hidden-tile:focus-visible{outline:3px solid #ffe7ac;outline-offset:4px}
.nino-search-controls{position:absolute;left:0;bottom:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 1%;pointer-events:none}
.nino-search-controls>*{pointer-events:auto}.nino-search-controls>span{padding:4px 16px;background:#163c42e8;border:2px solid #bb9450;border-radius:12px;font-size:30px;letter-spacing:4px;color:#fff2c8}
.nino-search-controls .nino-button{font-size:clamp(14px,1.5vw,20px);padding:8px 14px}
.nino-vitrines{padding:12px;background:linear-gradient(90deg,#684324,#95683c,#654023);border:6px ridge #af8045;border-radius:8px;gap:12px}
.nino-vitrines button{aspect-ratio:auto;height:clamp(94px,17vh,155px);max-height:none;padding:8px 8px 33px;background:linear-gradient(135deg,#214c54,#0d252c);border:4px ridge #a77a44;border-radius:3px;box-shadow:inset 0 0 14px #0009,0 2px 3px #0007}
.nino-vitrines button img{background:#fffdf6;border:3px ridge #d4ad67;box-sizing:border-box;box-shadow:0 3px 0 #6b491d,0 5px 5px #0009}
.nino-vitrines span.nino-vitrine-label{position:absolute;left:0;right:0;bottom:0;padding:5px 2px;background:#fff0cd;color:#382510;font-size:clamp(12px,1.2vw,18px);line-height:1.05;min-height:24px;display:flex;justify-content:center;align-items:center;gap:.25em;flex-wrap:wrap}
.nino-vitrines .nino-vitrine-label .nino-article{position:static;color:#c32927}
.nino-vitrine-active{outline:3px solid #ffeaa0;outline-offset:2px;animation:nino-vitrine-glow 2s ease-in-out infinite}
.nino-evidence{margin:1% 6% 0 27%;max-height:96%;padding:8px}.nino-evidence p{margin:4px}.nino-new-evidence{width:80px;height:60px}.nino-evidence .nino-button{margin:4px;padding:8px 16px}
.nino-intro{margin:18% 15% 0 46%;padding:15px;background:#163d46e8}
.nino-magic-seams{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:#fff6d1;stroke-width:2;filter:drop-shadow(0 0 3px #fff8d8) drop-shadow(0 0 8px #ffc766)}
.nino-magic-seams path{stroke-dasharray:750;stroke-dashoffset:750;animation:nino-seam 2.4s 1.2s both}
.nino-magic-seams rect{stroke-dasharray:1400;stroke-dashoffset:1400;animation:nino-seam 2s 2s both}
.nino-magic-seams circle{transform-origin:center;animation:nino-wave 1.8s 2.2s both}
@keyframes nino-seam{0%{stroke-dashoffset:1500;opacity:0}20%{opacity:1}75%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes nino-wave{0%{transform:scale(.2);opacity:0}20%{opacity:.8}100%{transform:scale(7);opacity:0}}
@keyframes nino-vitrine-glow{50%{box-shadow:0 0 20px #ffe89e,inset 0 0 12px #e5c58055}}
@media(prefers-reduced-motion:reduce){.nino-magic-seams{display:none}.nino-vitrine-active{animation:none}}
@media(max-aspect-ratio:1/1){.nino-evidence{margin:10px}.nino-office-case{width:32%;left:45%}.nino-office-case h2{font-size:14px}.nino-vitrines{grid-template-columns:repeat(3,minmax(0,1fr))}.nino-office-doors .nino-button{font-size:13px;padding:8px}.nino-search-door{left:22%}.nino-evidence-door{left:70%}}

.nino-hidden-tile .nino-fragment{box-shadow:none;border:0}.nino-hidden-tile .nino-fragment:after{border-width:2px}.nino-occluder{z-index:2}

.nino-case-complete{grid-column:1/-1;grid-row:1/-1;width:100%;height:100%;object-fit:fill}
.nino-lens .nino-fragment{border-radius:0;width:86%;height:72%;left:7%;top:14%}
.nino-joining.corner-0{--dx:-22%;--dy:-22%}.nino-joining.corner-1{--dx:22%;--dy:-22%}.nino-joining.corner-2{--dx:-22%;--dy:22%}.nino-joining.corner-3{--dx:22%;--dy:22%}
.nino-reveal-picture{margin-top:40px}.nino-reveal h1{font-size:clamp(24px,3vw,38px)}
.nino-vitrines{grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));background:repeating-linear-gradient(3deg,#76502e 0px,#916840 2px,#76502e 4px,#775231 12px)}
.nino-vitrines button:after{content:'';position:absolute;bottom:29px;left:32%;right:32%;height:4px;background:linear-gradient(#c69a56,#745026);border-radius:2px}
@media(max-aspect-ratio:1/1){.nino-vitrines{grid-template-columns:repeat(3,minmax(0,1fr))}}

.nino-room.phase-evidence{overflow:hidden}
.nino-evidence{position:absolute;left:27%;right:6%;top:1%;bottom:1%;margin:0;max-height:none;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box}
.nino-evidence .nino-vitrines{min-height:0;flex:1;grid-template-rows:repeat(var(--rows,4),minmax(0,1fr));margin:4px 0}
.nino-evidence .nino-vitrines button{height:auto;min-height:0;box-sizing:border-box}
.nino-evidence .nino-new-evidence{align-self:center;flex-shrink:0}
.nino-evidence>.nino-button{align-self:center;flex-shrink:0}
.nino-vitrines span.nino-vitrine-label{min-height:28px;box-sizing:border-box}
.nino-vitrines button:after{bottom:33px}
@media(max-aspect-ratio:1/1){.nino-evidence{left:2%;right:2%}.nino-evidence .nino-vitrines{grid-template-columns:repeat(4,minmax(0,1fr))}.nino-vitrines span.nino-vitrine-label{font-size:12px}}

.nino-vitrines span.nino-vitrine-label{height:40px;min-height:40px}.nino-evidence .nino-vitrines button{padding-bottom:44px}.nino-vitrines button:after{bottom:43px}

/* v211: fitted case and interlocking quarters; identical concealed backs. */
.nino-office-case{left:48.4%;top:37%;width:25%;height:29.3%}
.nino-office-case .nino-slots{margin:0 2%;position:relative;overflow:visible}
.nino-office-case .nino-slots button{border:0;overflow:visible;min-height:0;background:transparent}
.nino-office-case .nino-slots button:empty{background:none}
.nino-office-case .nino-slots button>span{border:1px dashed #a7835170;position:absolute;inset:0;display:grid;place-items:center}
.nino-jigsaw{display:block;width:100%;height:100%;overflow:visible;position:relative;pointer-events:none}
.nino-cut-edge{fill:none;stroke:#825728;stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.nino-slots button:has(.nino-jigsaw){z-index:1}
.nino-slots button:hover:has(.nino-jigsaw){z-index:2;filter:drop-shadow(0 0 4px #f8d77e)}
.nino-assembled>div{min-width:0;min-height:0;position:relative}
.nino-lens>.nino-jigsaw{width:72%;height:60%;left:14%;top:20%;filter:drop-shadow(0 4px 3px #78502755)}
.nino-hidden-back{display:block;position:absolute;width:64%;height:80%;left:18%;top:0;overflow:hidden;clip-path:inset(0 0 44% 0);pointer-events:none}
.nino-hidden-back svg{width:100%;height:100%;overflow:visible;fill:#35d9df;stroke:#fff3cf;stroke-width:3;filter:drop-shadow(0 1px 1px #102f38) drop-shadow(0 2px 2px #102f38)}
.nino-hidden-back:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(12deg,transparent 0 3px,#fff5d414 3px 4px);pointer-events:none}
.nino-joining .nino-cut-edge{animation:nino-edge-fade .7s 2s both}
@keyframes nino-edge-fade{to{opacity:0}}
@media(prefers-reduced-motion:reduce){.nino-joining .nino-cut-edge{animation:none;opacity:0}}

.nino-hidden-back{top:25%}
.nino-office-case .nino-slots{flex:none;height:calc(100% - 45px);width:auto;aspect-ratio:4/3;max-width:100%;align-self:center;margin:0}

/* v212: a readable collection case beside the route back to nino. */
.nino-search-controls{justify-content:center;gap:18px;padding:12px 18px;box-sizing:border-box;z-index:3}
.nino-collection{position:relative;background:linear-gradient(115deg,#31575a,#173a40);border:4px ridge #bd995b;border-radius:12px;padding:8px 18px 10px;box-shadow:0 6px 12px #23170788;text-align:center;min-width:190px}
.nino-collection:before{content:'';position:absolute;width:65px;height:10px;left:calc(50% - 35px);top:-15px;border:4px solid #ba9658;border-bottom:0;border-radius:10px 10px 0 0}
.nino-collection strong{display:block;color:#fff1c8;font-size:clamp(17px,1.6vw,24px);margin-bottom:5px}
.nino-collection-pieces{display:flex;gap:9px;justify-content:center}
.nino-collection-pieces svg{width:clamp(30px,3vw,46px);height:clamp(30px,3vw,46px);fill:#092a30;stroke:#bcaa80;stroke-width:3}
.nino-collection-pieces svg.collected{fill:#efc775;stroke:#fff0bb;filter:drop-shadow(0 0 3px #ffd77866)}
.nino-search-controls .nino-return{display:flex;align-items:center;gap:16px;min-height:84px;margin:0;padding:12px 24px;font-size:clamp(21px,2vw,30px);background:linear-gradient(#f9e2aa,#d6aa61);border:3px solid #ffeac0;border-radius:16px;box-shadow:0 5px 0 #78512e,0 8px 15px #21150988;text-align:left}
.nino-return>span:first-child{font-size:46px;color:#214c50}.nino-return small{display:block;font-size:clamp(14px,1.3vw,19px);font-weight:normal;margin-top:3px}
.nino-return.ready{animation:nino-route-glow 2s ease-in-out infinite}
.nino-search-controls .nino-listen-again{position:absolute;right:16px;bottom:14px;font-size:16px}
@keyframes nino-route-glow{50%{box-shadow:0 5px 0 #78512e,0 0 24px #ffe69bbb}}
@media(max-width:850px){.nino-search-controls{justify-content:flex-start;gap:12px;padding:12px}.nino-collection{min-width:150px;padding:7px 10px}.nino-search-controls .nino-return{padding:10px 14px;min-height:80px}.nino-return>span:first-child{font-size:32px}.nino-search-controls .nino-listen-again{font-size:14px;padding:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.nino-return.ready{animation:none;outline:3px solid #ffe69b}}
/* v213: physical sixteen-compartment cabinet; all overlays share its coordinates. */
.nino-room.phase-evidence{background-image:url('assets/nino/evidence-v213.webp');background-size:100% 100%;min-height:0}
.nino-evidence-room{position:absolute;inset:0;color:#ffedbf}
.nino-evidence-room h1{position:absolute;top:0;left:30%;width:40%;margin:0;text-align:center;font-size:clamp(17px,2vw,28px);text-shadow:0 2px 3px #241408;line-height:1.5}
.nino-cabinet{position:absolute;left:10.1%;top:7.05%;width:79.8%;height:79.55%}
.nino-niche{position:absolute;left:calc(var(--col)*25%);top:calc(var(--row)*25%);width:25%;height:25%;border:0;background:none;padding:0;box-shadow:none;color:inherit;box-sizing:border-box;isolation:isolate;cursor:pointer;overflow:visible}
.nino-niche.is-prop{cursor:default}
.nino-niche:focus-visible{outline:3px solid #fff4b1;outline-offset:-10px;border-radius:8px}
.nino-control-light{position:absolute;top:.5%;left:47.7%;width:4.2%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#4c6653,#10261e 65%);border:1px solid #9d834e;box-shadow:0 1px 2px #000;z-index:5}
.is-filled .nino-control-light,.show-finished .nino-control-light,.show-still .nino-control-light{background:radial-gradient(circle at 35% 25%,#e0ffd0,#76e66c 35%,#2c8e39 75%);box-shadow:0 0 8px #8ae986,0 0 14px #65bd6977}
.nino-spot-beam{position:absolute;left:15%;top:19%;width:70%;height:70%;background:radial-gradient(ellipse at 50% 0,#ffe8a655,transparent 70%);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);opacity:0;pointer-events:none;z-index:1;transition:opacity 1.2s}
.is-filled .nino-spot-beam,.show-finished .nino-spot-beam,.show-still .nino-spot-beam{opacity:1}
.nino-display-picture{position:absolute;left:23%;top:29%;width:54%;height:57%;padding:3px;box-sizing:border-box;background:linear-gradient(130deg,#f7d58d,#876031 45%,#e0b968);box-shadow:2px 5px 8px #0009;transform:perspective(500px) rotateX(-5deg);z-index:2}
.nino-display-picture img{width:100%;height:100%;display:block;object-fit:contain;background:#fffdf6}
.nino-stand-feet{position:absolute;left:32%;bottom:13%;width:36%;height:8%;z-index:3;border-bottom:3px solid #b78d4b;border-radius:0 0 45% 45%;pointer-events:none}
.nino-stand-feet:before,.nino-stand-feet:after{content:'';position:absolute;bottom:-3px;width:8%;height:100%;border:2px solid #d8b772;border-top:0;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#765322,#e2c17a)}
.nino-stand-feet:before{left:0}.nino-stand-feet:after{right:0}
.nino-nameplate{position:absolute;left:10%;bottom:0;width:80%;height:15%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.23em;padding:0 4px;border:2px ridge #bb9456;border-radius:5px;background:linear-gradient(#f6e5bd,#dfc598);box-shadow:0 2px 3px #241509aa;color:#3f2b17;font-size:clamp(11px,1.2vw,20px);line-height:1.05;text-align:center;z-index:4}
.nino-nameplate .nino-article{color:#d01919}
.nino-prop-seal{color:#94733f;font-size:12px}
.nino-detective-prop{position:absolute;left:31%;top:29%;width:38%;height:57%;filter:drop-shadow(3px 5px 3px #0008);z-index:2}
.nino-evidence-controls{position:absolute;left:15%;right:15%;bottom:1%;height:9%;display:flex;justify-content:center;align-items:center;gap:14px;font-size:clamp(14px,1.5vw,23px);text-shadow:0 2px 3px #271607}
.nino-evidence-controls>img{height:90%;width:auto;max-width:85px;object-fit:contain;background:#fff;border:3px ridge #ddb36c;border-radius:4px}
.nino-evidence-controls .nino-button{min-height:44px;margin:0}
.nino-niche.is-destination:after{content:'';position:absolute;inset:12% 5% 1%;border:2px solid #ffe19a;border-radius:5px;box-shadow:inset 0 0 15px #ffdc7c55,0 0 12px #ffdc7c88;animation:nino-soft-halo 2.4s ease-in-out infinite;pointer-events:none;z-index:6}
.nino-office-doors .nino-vitrine-active{animation:nino-soft-door 2.4s ease-in-out infinite}
@keyframes nino-soft-halo{0%,100%{opacity:.55}50%{opacity:1;box-shadow:inset 0 0 24px #ffdc7c77,0 0 19px #ffdc7cbb}}
@keyframes nino-soft-door{0%,100%{box-shadow:0 0 6px #ffe4a34d;transform:scale(1)}50%{box-shadow:0 0 22px #ffe4a3aa;transform:scale(1.025)}}
.show-lights .nino-control-light{animation:nino-lamp-wave 2.8s ease-in-out both;animation-delay:calc(var(--order)*.17s)}
.show-lights .nino-spot-beam{animation:nino-beam-wave 2.8s ease-in-out both;animation-delay:calc(var(--order)*.17s)}
@keyframes nino-lamp-wave{0%{filter:brightness(1)}30%,65%,100%{background:radial-gradient(circle at 35% 25%,#efffe1,#7cec6a 40%,#2e983c);box-shadow:0 0 12px #adff8c,0 0 24px #b5f28788}45%{filter:brightness(1.5)}100%{filter:brightness(1)}}
@keyframes nino-beam-wave{0%{opacity:0}40%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.nino-office-doors .nino-vitrine-active,.nino-niche.is-destination:after,.show-lights .nino-control-light,.show-lights .nino-spot-beam{animation:none}.nino-niche.is-destination:after{opacity:1}.nino-spot-beam{transition:none}}
.nino-nameplate.is-long{font-size:clamp(10px,.95vw,16px)}
/* v214: portrait holders share the stand's resting line and front hooks. */
.nino-display-picture{left:50%;top:auto;bottom:14%;width:auto;height:60%;aspect-ratio:4/3;padding:2px;transform:translateX(-50%);border:1px solid #b79459;border-radius:2px;background:linear-gradient(125deg,#f3daa0,#8f683a 48%,#e5c181);box-shadow:1px 3px 3px #0007,0 1px 0 #f4dfa3 inset}
.nino-display-picture img{object-fit:contain;background:#fffdf6}
.nino-stand-feet{left:40%;width:20%;bottom:13.5%;height:5%;border-bottom:2px solid #c29a56;border-radius:0 0 48% 48%}
.nino-stand-feet:before,.nino-stand-feet:after{width:9%;height:100%;bottom:-2px;border-width:1px;border-radius:1px 1px 4px 4px;box-shadow:1px 1px 2px #30200d88}
.nino-nameplate{left:17%;width:66%;bottom:-.1%;height:15.5%;padding:0 12px;border:1px solid #886435;border-radius:9px 3px 9px 3px;background:linear-gradient(105deg,#e0c895,#f6e6bf 35%,#e7d0a0 72%,#c6a76e);box-shadow:0 1px 0 #fff0c8 inset,0 -2px 0 #a88348 inset,0 2px 3px #1e120c99;letter-spacing:.01em;font-weight:600;font-size:clamp(11px,1.1vw,19px);color:#594025;text-shadow:0 1px 0 #fff5d8}
.nino-nameplate:before,.nino-nameplate:after{content:'';position:absolute;top:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:linear-gradient(135deg,#efdaa7,#745426);box-shadow:0 1px 1px #69451d88}
.nino-nameplate:before{left:5px}.nino-nameplate:after{right:5px}
.nino-nameplate.is-long{left:8%;width:84%;font-size:clamp(10px,.95vw,16px)}
.is-prop .nino-nameplate{left:35%;width:30%}
/* v215: text is engraved in the artwork; transparent hit areas follow the cartouches. */
.nino-room.phase-office,.nino-room.phase-intro{background-image:url('assets/nino/office-v215.webp')}
.nino-office-doors .nino-door-hit{padding:0;margin:0;background:transparent;border:0;border-radius:7px;box-shadow:none;color:transparent;min-height:38px;z-index:4}
.nino-office-doors .nino-search-door{left:27%;top:7.7%;width:12.1%;height:5.8%}
.nino-office-doors .nino-evidence-door{left:73.2%;top:7.7%;width:12.5%;height:5.8%}
.nino-sr-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.nino-office-doors .nino-door-hit.nino-vitrine-active{animation:none;outline:2px solid #ffe6a1}
.nino-compare-modal{justify-content:center;gap:8px;padding:20px;box-sizing:border-box;background:#102f35f2}
.nino-compare-modal h2{margin:0;font-size:clamp(22px,3vw,36px)}
.nino-compare-modal p{margin:0 0 16px;font-size:clamp(18px,2vw,26px)}
.nino-compare-pieces{display:flex;gap:clamp(24px,5vw,70px);justify-content:center;width:100%;max-width:1000px}
.nino-compare-choice{display:flex;align-items:center;flex-direction:column;width:40%;max-width:340px;padding:16px 20px;border:3px solid #caa665;border-radius:18px;background:linear-gradient(130deg,#2e5659,#14383e);color:#fff1d0;cursor:pointer;font:700 clamp(17px,2vw,24px) Arial,sans-serif;gap:12px}
.nino-compare-image{width:100%;height:clamp(130px,27vh,230px);display:flex;align-items:center;justify-content:center;padding:14px;box-sizing:border-box}
.nino-compare-image .nino-jigsaw{width:88%;height:88%;filter:drop-shadow(0 4px 4px #0006)}
.nino-compare-choice strong{font-size:30px;color:#ffdf91}
.nino-treasure{position:absolute;left:50%;bottom:13%;height:65%;aspect-ratio:1;transform:translateX(-50%);overflow:hidden;z-index:3;pointer-events:none}
.nino-treasure img{position:absolute;width:400%;height:200%;max-width:none;left:calc(var(--sprite-x)*-100%);top:calc(var(--sprite-y)*-100%);object-fit:fill}
.is-prop .nino-stand-feet{display:none}
/* Mark every actionable control without revealing the concealed picture faces. */
.nino-game button:not(:disabled):not(.nino-hidden-tile):not(.nino-niche){outline:2px solid #f5d18b66;outline-offset:2px;animation:nino-control-pulse 2.8s ease-in-out infinite}
.nino-game .nino-niche:not(:disabled) .nino-nameplate{animation:nino-control-pulse 2.8s ease-in-out infinite;outline:1px solid #f5d18b66;outline-offset:1px}
.nino-hidden-tile{min-width:52px;min-height:52px;touch-action:manipulation}
.nino-hidden-tile:not(:disabled) .nino-hidden-back svg{animation:none}
.nino-hidden-tile:is(:hover,:focus-visible) .nino-hidden-back svg{fill:#77edf0;stroke:#fffbe9;filter:drop-shadow(0 0 3px #fff0bd) drop-shadow(0 2px 2px #102f38)}
.nino-game button:disabled{cursor:default}
@keyframes nino-control-pulse{0%,100%{outline-color:#f5d18b33}50%{outline-color:#ffe6a1dd}}
@keyframes nino-hidden-pulse{0%,100%{filter:drop-shadow(0 1px 2px #29190f70)}50%{filter:drop-shadow(0 0 3px #fff0bdcc)}}
@media(prefers-reduced-motion:reduce){.nino-game button:not(:disabled):not(.nino-hidden-tile):not(.nino-niche),.nino-game .nino-niche:not(:disabled) .nino-nameplate,.nino-hidden-tile:not(:disabled) .nino-hidden-back svg{animation:none;outline-color:#f5d18b99}}

/* Click the whole illustrated door sign, including its recognizable symbol. */
.nino-office-doors .nino-search-door{left:26.7%;top:7.4%;width:12.8%;height:19%}
.nino-office-doors .nino-evidence-door{left:73%;top:7.4%;width:13%;height:25%}
.nino-office-doors .nino-door-hit.nino-vitrine-active{animation:nino-door-guide 2.8s ease-in-out infinite}
@keyframes nino-door-guide{50%{outline-color:#fff1ba;box-shadow:0 0 24px #ffdc78;outline-offset:5px}}
@media(prefers-reduced-motion:reduce){.nino-office-doors .nino-door-hit.nino-vitrine-active{animation:none}}
/* v230: one current action is prominent; optional navigation stays quiet. */
.nino-game button:not(:disabled):not(.nino-hidden-tile):not(.nino-niche),.nino-game .nino-niche:not(:disabled) .nino-nameplate{animation:none;outline:none}
.nino-game [data-soft-cue]{outline:3px solid #fff0b4;outline-offset:3px}
.nino-office-doors [data-guide="next"]{background:#ffe69b12;border:3px solid #ffe4a0;border-radius:15px}
.nino-door-hit:not([data-guide="next"]){border-color:transparent;box-shadow:none}
.nino-niche-light{position:absolute;inset:12% 5% 13%;z-index:1;pointer-events:none;border:2px solid #a5e6bf;opacity:0;border-radius:4px;background:radial-gradient(ellipse at 50% 30%,#d0ffc950,#80eab626 65%,#32b68019);box-shadow:inset 0 0 20px 5px #80efb077,0 0 7px #a1ffd5;transition:opacity 800ms ease}
.is-filled .nino-niche-light,.show-finished .nino-niche-light,.show-still .nino-niche-light{opacity:.85}
.is-destination .nino-niche-light{border-color:#fff0b0;background:radial-gradient(ellipse at center,#ffe8a95c,#ffe9a928);box-shadow:inset 0 0 24px 7px #ffe29b99,0 0 12px #ffe5a7;opacity:1;animation:nino-bay-pulse 2.2s ease-in-out infinite}
.is-destination .nino-spot-beam{opacity:1}
@keyframes nino-bay-pulse{0%,100%{opacity:.5}50%{opacity:1}}
.show-lights .nino-niche-light{animation:nino-bay-show 2.8s ease-in-out both;animation-delay:calc(var(--order)*.17s)}
@keyframes nino-bay-show{0%{opacity:0}35%{opacity:1}60%{opacity:.4}100%{opacity:.85}}
/* A sample of the cabinet's own empty velvet covers the baked-in plate stand. */
.nino-prop-backing{position:absolute;inset:15% 6% 13%;background:#123a3d url('assets/nino/evidence-v213.webp') 24.97% 16.26% / 2388.57% 1176.25%;box-shadow:inset 0 5px 12px #001c2399;border-radius:2px;z-index:0;pointer-events:none}
.nino-prop-plinth{position:absolute;left:27%;width:46%;bottom:14%;height:8%;border-radius:50% / 30%;background:linear-gradient(#3b6663 0 40%,#173e3e 43% 78%,#bea164 82% 88%,#143130 93%);box-shadow:0 5px 6px #001a22aa,inset 0 1px 1px #d8ceaa;z-index:2;pointer-events:none}
.nino-treasure{bottom:17%}
@media(prefers-reduced-motion:reduce){.is-destination .nino-niche-light,.show-lights .nino-niche-light{animation:none;opacity:1}}
.nino-niche[data-soft-cue]{outline:none!important;box-shadow:none!important}
.nino-niche.is-destination:after{display:none}
