/* Exact selected concept shell. Interactive hit areas align with the original pixel artwork. */
body{background:#26282a}.console{position:relative;display:block;width:min(100vw,45.945946dvh);height:auto;aspect-ratio:850/1850;max-height:none;border:0;border-radius:0;padding:0;gap:0;background:url('assets/cream-pixel-shell.webp') center/100% 100% no-repeat;box-shadow:0 0 60px #0006;image-rendering:pixelated;overflow:hidden;container-type:inline-size}
.console>header{position:absolute;inset:0;height:8%;min-height:0;padding:0;display:block;pointer-events:none}.console>header>*{visibility:hidden}.console>header #settings{visibility:visible;position:absolute;left:77%;top:30%;width:9%;height:45%;opacity:0;pointer-events:auto}
.bezel{position:absolute;left:7.18%;top:10.05%;width:85.9%;height:47.15%;padding:0;border:0;border-radius:0;box-shadow:none;background:#13231f;display:flex;flex-direction:column;gap:0}.screen-title{flex:0 0 7.8%;margin:0;padding:0 2.5%;font-size:3.6cqw;letter-spacing:.1cqw;gap:1%;color:#b7c98e;background:#13231f;line-height:1.2}.screen-title #gameTitle{max-width:73%;overflow:hidden;white-space:nowrap;font-weight:900}.screen-title #number{font-size:2.3cqw}.display{border:0;min-height:0;flex:1;border-radius:0;background:#acbb8b}.display iframe{min-height:0;flex:1;width:100%;height:100%;border-radius:0;background:#acbb8b;image-rendering:auto}.lcd-footer{flex:0 0 10.8%;margin:0;align-items:center;padding:0 3%;color:#acc38e;font-size:2.3cqw;background:#13231f}.indicator{font-size:2cqw;padding-right:3%;border-right:2px solid #a9bd8b}.instruction{position:absolute;top:59.8%;left:15%;width:70%;font-size:1.9cqw;color:#746043;min-height:0;line-height:1.3}
.controller{position:absolute;inset:0;height:100%;padding:0;display:block;pointer-events:none}.dpad{position:absolute;left:5.4%;top:62.5%;width:37.5%;height:17.1%;filter:none;pointer-events:auto}.dpad button,.dpad span{opacity:0;border:0;box-shadow:none;background:transparent;touch-action:none}.dpad button:active,.dpad button.pressed{opacity:.2;background:#fff;transform:none;border-radius:0}.action-buttons{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.action{pointer-events:auto;border:0;border-radius:0;box-shadow:none;background:none;color:transparent;text-shadow:none;touch-action:none;clip-path:polygon(25% 0,75% 0,75% 8%,90% 8%,90% 20%,100% 20%,100% 80%,90% 80%,90% 92%,75% 92%,75% 100%,25% 100%,25% 92%,10% 92%,10% 80%,0 80%,0 20%,10% 20%,10% 8%,25% 8%)}.primary{left:74%;top:70%;bottom:auto;right:auto;width:20%;height:8.7%;font-size:0}.secondary{left:58.7%;top:65.2%;width:13%;height:5.5%;font-size:0}.action:active,.action.pressed{background:#35111755;transform:translateY(1px);filter:none}
.system-buttons{position:absolute;left:0;top:83.25%;width:100%;height:6.3%;display:block;pointer-events:none}.system-buttons .speaker{display:none}.system-buttons button{position:absolute;top:0;width:14%;height:60%;opacity:0;pointer-events:auto}.system-buttons #select{left:33%}.system-buttons #start{left:53%}.system-buttons button:active{opacity:.15;background:#000}.system-buttons i{display:none}
.console>footer{position:absolute;left:0;top:93.5%;height:4%;width:100%;border:0;padding:0;display:block}.console>footer button{position:absolute;top:0;height:100%;font-size:0;border:0}.console>footer #library{left:6.5%;width:10%;background:transparent}.console>footer #sound{right:6.5%;width:10%;background:transparent}.console>footer #sound.muted{background:#edddbb;opacity:.8;font-size:3cqw}.console>footer #rules{left:35%;width:30%;font-size:2cqw;color:#775a32;background:#eedcb8}
#paused b{font-size:6cqw}#paused span{font-size:2.5cqw}dialog{border-radius:0;border:4px solid #9d8460;box-shadow:4px 0 #ead7ae,-4px 0 #ead7ae,0 4px #ead7ae,0 -4px #ead7ae,9px 9px #0005}dialog input,.tabs button,.cartridge{border-radius:0}#gamePreferences{padding:10px;background:#34483e;color:#f5e9d0;border:2px solid #14271e}
.console>footer #sound.muted{background:transparent;font-size:0;opacity:1}.console>footer #sound.muted:after{content:'╱';font-size:8cqw;position:absolute;inset:-15% 0;color:#a82c26;text-shadow:1px 0 #edddbb}

#catalog #search{margin:12px 0}#catalog #cards{max-height:62dvh}.cartridge b{margin-top:8px}
/* Relocated utilities: library top-left, sound beside settings, help below LCD. */
.console>footer{inset:0;height:100%;pointer-events:none}.console>footer button{pointer-events:auto;touch-action:manipulation}.console>footer #library{left:17%;top:2.6%;width:9%;height:3.6%;font-size:0;background:#ecdbb8}.console>footer #library:after{content:'';position:absolute;inset:15%;background:repeating-linear-gradient(90deg,#283331 0 18%,transparent 18% 30%);border-top:3px solid #283331;border-bottom:3px solid #283331;box-shadow:0 1px #fff0ca}.console>footer #sound{left:70%;right:auto;top:2.5%;width:7%;height:3.5%;font-size:0;background:#edddbb}.console>footer #sound:after{content:'';position:absolute;inset:20% 13%;background:#283331;clip-path:polygon(0 33%,27% 33%,63% 0,63% 100%,27% 67%,0 67%)}.console>footer #sound:before{content:'))';position:absolute;left:60%;top:12%;font-size:3cqw;color:#283331;letter-spacing:-1px}.console>footer #sound.muted:before{content:'×';font-size:4cqw;left:55%;top:0;color:#a82c26}.console>footer #sound.muted:after{content:'';font-size:0;inset:20% 13%;background:#283331;transform:none}.console>footer #rules{left:36%;top:59.5%;width:28%;height:2.3%;font-size:2.2cqw;color:#6d563a;background:#edddbb}.console:before,.console:after{content:'';position:absolute;top:93.6%;width:10%;height:4%;background-color:#edddbb;background-image:radial-gradient(#b69a7020 .7px,transparent .7px);background-size:4px 4px;pointer-events:none;z-index:1}.console:before{left:6%}.console:after{right:6%}.instruction[hidden]{display:none}#previewSticker{padding:10px;border:2px solid #8b7957;background:#e4d0a6;color:#3a493e;margin-bottom:10px}
#stickers{position:absolute;inset:0;pointer-events:none;z-index:4}#stickers img{position:absolute;width:35px;height:35px;image-rendering:pixelated;filter:drop-shadow(1px 2px 0 #503e3840)}#sticker-ceremony{position:fixed;inset:0;background:#14211e35;z-index:100;touch-action:none;cursor:wait}.sticker-caption{position:absolute;top:17%;left:50%;transform:translateX(-50%);padding:12px 16px;background:#fff2d1;color:#283b35;border:3px solid #4b5c48;box-shadow:4px 4px #1c292d;font:700 13px monospace;white-space:nowrap;animation:sticker-caption 3s both}.flying-sticker{position:absolute;left:0;top:0;width:35px;height:35px;z-index:110;image-rendering:pixelated;filter:drop-shadow(4px 8px 2px #14211e66);pointer-events:none}.sticker-spark{position:absolute;width:4px;height:4px;z-index:111;pointer-events:none}.sticker-ring{position:absolute;width:38px;height:38px;border:3px solid #fff3bb;box-shadow:0 0 0 2px #e1ad45;z-index:111;pointer-events:none}@keyframes sticker-caption{0%{opacity:0;translate:0 8px}12%,60%{opacity:1;translate:0 0}85%,100%{opacity:0;translate:0 -8px}}
.sticker-pages{padding:8px 0 16px}.sticker-pages button{padding:8px;margin:4px;border:2px solid #8b7957;background:#e4d0a6;color:#3a493e}.sticker-pages button:disabled{opacity:.4}#stickerAlbum{width:min(740px,94vw)}#stickerAlbumGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;max-height:65dvh;overflow:auto;padding:4px}.sticker-card{display:flex;align-items:center;flex-direction:column;gap:7px;padding:10px 6px;border:2px solid #b09c78;background:#eee0bf;color:#314b47;min-height:140px}.sticker-card img{width:35px;height:35px;image-rendering:pixelated}.sticker-card b{font:700 12px monospace}.sticker-card span{font-size:11px;line-height:1.4}.sticker-card small{font-size:10px;color:#796c54}.sticker-card[data-earned=true]{border-color:#4b8066;background:#e1e7c7}.sticker-caption{max-width:90vw;white-space:normal;text-align:center}

/* The LCD is display-only; all game input comes from console controls. */
.display iframe{pointer-events:none}.display::after{content:'';position:absolute;inset:0;z-index:5;touch-action:none;user-select:none}
.console>footer #rules{left:38%;top:61%;width:24%;height:2%;padding:0;border:1px solid #b9a17a;background:#efdfbb;box-shadow:1px 1px 0 #b9a17a,inset 1px 1px #fff0cf;line-height:1}
/* One-shot holographic sheen, clipped to each sticker's actual silhouette. */
.sticker-shine{position:absolute;width:35px;height:35px;pointer-events:none;background:linear-gradient(110deg,transparent 34%,#60efff88 42%,#d994ffcc 46%,#ffffff 50%,#ffdc71cc 54%,#87ffd088 58%,transparent 66%);background-size:300% 100%;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mix-blend-mode:screen;image-rendering:pixelated}
.console>footer #rules[hidden]{display:none}#collectionReward{position:absolute;left:50%;top:58.5%;width:min(70px,17.5cqw);aspect-ratio:1;transform:translate(-50%,-50%);z-index:6;pointer-events:none}#collectionReward img{display:block;width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(1px 2px #503e3840)}.reward-designs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reward-designs button{display:flex;align-items:center;flex-direction:column;gap:10px;padding:16px 10px;border:3px solid #ad9167;background:#ead8ad;color:#314846}.reward-designs img{width:140px;height:140px;max-width:100%;object-fit:contain;image-rendering:pixelated}.reward-designs span,.reward-designs small{font-size:11px;line-height:1.5}.reward-designs small{padding:5px 8px;background:#344f44;color:#fff0cc}#rewards{width:min(700px,94vw)}@media(max-width:580px){.reward-designs{grid-template-columns:1fr}.reward-designs button{display:grid;grid-template-columns:80px 1fr;gap:7px 14px;text-align:left}.reward-designs img{width:70px;height:70px;grid-row:span 3}.reward-designs b{font-size:14px}.reward-designs small{width:max-content}}
/* The LCD stays non-interactive; editable stickers sit above its protective glass. */
.bezel{isolation:isolate;z-index:0}.sticker-editing #stickers img,.sticker-editing #collectionReward{pointer-events:auto;touch-action:none;cursor:grab;user-select:none;-webkit-user-drag:none}.sticker-editing #stickers img:hover,.sticker-editing #collectionReward:hover{filter:drop-shadow(0 0 2px #ffda63)}#stickers .dragging,#collectionReward.dragging{z-index:10;cursor:grabbing;filter:drop-shadow(2px 3px 2px #15232788)}#stickers .drop-invalid,#collectionReward.drop-invalid{filter:drop-shadow(0 0 3px #ff405d) drop-shadow(0 0 3px #ff405d)}
