/* Cavern art direction: original stonework, cyan crystal light and minimal UI. */
@import url('https://fonts.googleapis.com/css2?family=Russo+One&display=swap');
body{min-height:0;background:#07131e}.world{inset:-2.5%;background:#07131e url('assets/cavern.webp') center/cover no-repeat;animation:cavern-breathe 22s ease-in-out infinite alternate;transform-origin:50% 58%}.mountain,.moon,.ground{display:none!important}.shade{background:radial-gradient(ellipse at 50% 47%,#02142106 20%,#020d182b 80%),linear-gradient(#020d1810,transparent 70%,#020d1830)}@keyframes cavern-breathe{from{transform:scale(1) translateX(-.35%)}to{transform:scale(1.035) translateX(.35%)}}.cave-atmosphere{position:fixed;inset:0;pointer-events:none;overflow:hidden}.mist{position:absolute;left:-30%;bottom:2%;width:150%;height:38%;opacity:.24;background:radial-gradient(ellipse at 30% 60%,#93e6f22e,transparent 50%),radial-gradient(ellipse at 75% 80%,#39c9de39,transparent 50%);filter:blur(22px);animation:mist-drift 17s ease-in-out infinite alternate}@keyframes mist-drift{to{transform:translateX(18%) translateY(-15px)}}.lantern-glow{position:absolute;width:26vw;height:42vh;border-radius:50%;background:radial-gradient(ellipse,#ffb74529,transparent 65%);filter:blur(10px);animation:flame 3s infinite alternate}.glow-left{left:-7%;top:14%}.glow-right{right:-7%;top:28%;animation-delay:-1.3s}@keyframes flame{0%,100%{opacity:.5;transform:scale(.95)}30%{opacity:.9}65%{opacity:.65;transform:scale(1.05)}}#stars i{width:4px;height:4px;background:#b9ecba;box-shadow:0 0 8px #67ffff9c;animation:firefly 10s ease-in-out infinite alternate}@keyframes firefly{0%{opacity:0;transform:translate(0,20px)}40%{opacity:.7}100%{opacity:0;transform:translate(30px,-60px)}}header{position:absolute;inset:0 0 auto;height:66px;padding:0 25px;border:0;z-index:4;pointer-events:none}header>*{pointer-events:auto}.brand{visibility:hidden}.playing .brand{visibility:visible;padding:8px;background:#091921a6;border-radius:4px}.brand-icon{display:none}.brand{font-size:10px;letter-spacing:1px}.edition{display:none}.top-actions{margin-left:auto;gap:6px}.icon{background:#0b172bbb;border:1px solid #c7ccdc44;color:#e2e6e9;box-shadow:inset 0 2px #ffffff12,0 3px 0 #06101a;border-radius:2px;width:34px;min-width:34px;height:34px;font-size:17px}main{height:100dvh;min-height:0;padding:58px 18px 22px}footer,.lobby>.eyebrow,.lead,.lobby-details,.how,.game-bottom,.game-top .game-caption,.game-top .tag,.game-heading .eyebrow,.progress{display:none!important}.lobby{height:100%;justify-content:center;gap:0}.lobby-logo{position:relative;flex-shrink:0;width:clamp(100px,17vh,164px);height:clamp(100px,17vh,164px);padding:18px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#15334b,#071521 75%);border:7px solid #7e8e97;box-shadow:0 0 0 3px #243545,inset 0 0 0 4px #09111c,inset 0 0 0 8px var(--accent),0 6px 0 #142230,0 0 35px #59ffff39;margin-bottom:14px}.lobby-logo:before{content:'';position:absolute;inset:10px;border-radius:50%;box-shadow:inset 0 0 22px #32d8ed22;pointer-events:none}.lobby-logo span{font-family:'Russo One',Impact,sans-serif;font-size:clamp(17px,3vh,26px);line-height:1.12;text-align:center;overflow-wrap:anywhere;max-width:100%;color:#e0fcff;text-shadow:0 3px #143447}.lobby-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%;position:relative}h1{font-family:'Russo One',Impact,sans-serif;font-size:clamp(35px,6.3vh,66px);line-height:1.1;margin:5px 0 0;padding:9px 28px 12px;position:relative;letter-spacing:1px;color:#e5fff9;-webkit-text-stroke:1px #173439;text-shadow:0 3px #126c7b,0 6px #071525,3px 7px #071525;max-width:min(90vw,720px);overflow-wrap:anywhere}h1:before{content:'';position:absolute;z-index:-1;inset:-1px -10px;background:linear-gradient(90deg,#15212bdc,#27373bdd,#15212bdc);border:5px solid #687370;border-top-color:#94a399;border-bottom-color:#323d40;box-shadow:0 6px 0 #111d25,0 12px 26px #0006;clip-path:polygon(0 10%,3% 10%,3% 0,97% 0,97% 10%,100% 10%,100% 90%,97% 90%,97% 100%,3% 100%,3% 90%,0 90%)}h1 em{color:#ffdd8d;text-shadow:0 3px #96612d,0 6px #23191c,3px 7px #141a21;-webkit-text-stroke:1px #5c3b28}.hero-art{height:clamp(95px,21vh,200px);width:270px;flex-shrink:1;margin-top:2px}.hero-pick{width:clamp(125px,23vh,205px);height:clamp(125px,23vh,205px);left:50%;top:-5px;translate:-50% 0;filter:drop-shadow(0 0 20px #52fff378) drop-shadow(0 8px 3px #0005)}.pedestal{width:138px;left:66px;height:36px;bottom:0;background:linear-gradient(90deg,#484958,#2c3744);border-top-color:#88987a}.pedestal b{display:none}.diamond{font-size:26px}.d1{left:25px}.d2{right:21px}.mission{font-size:12px;color:#f6e4bb;background:#11212cc7;border:1px solid #96877766;box-shadow:0 3px #06131c;padding:9px 21px;margin:13px 0 15px;text-shadow:0 2px #05131c}.primary{background:linear-gradient(#8efae7,var(--accent) 35%,#39c6b9);border:3px solid #b4fff2;border-bottom:6px solid #087579;color:#073039;font-family:'Russo One',Impact,sans-serif;box-shadow:0 4px #092a35,0 0 25px #41f4ef22;letter-spacing:1px;border-radius:2px}.primary:hover{filter:brightness(1.13)}#play{min-width:280px;padding:14px 28px;font-size:25px}#play span{font-size:15px;margin-left:40px}.game{width:100%;height:100%;padding:0;align-items:center;justify-content:center;gap:16px}.game-top{position:absolute;left:25px;top:71px;margin:0;z-index:3}.quiet{background:#091721b8;border:1px solid #c8d3d333;padding:7px 10px;border-radius:3px;font-size:10px;color:#e5eeec}.game-heading{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0;text-align:center}.game-heading h2{font-family:'Russo One',Impact,sans-serif;text-transform:uppercase;color:#ffe4a5;line-height:1.15;font-size:clamp(22px,3.4vh,38px);letter-spacing:1px;max-width:85vw;margin:0;padding:12px 27px;background:linear-gradient(#493e38ed,#292d2fed);border:5px ridge #b4ab92;box-shadow:0 5px #101a21,0 12px 20px #0004;text-shadow:0 3px #482e20}.counters{gap:12px}.counter{min-width:106px;display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 13px;background:#111c2de8;border:2px solid #837d75;box-shadow:inset 0 0 0 2px #273644,0 3px #07131e}.counter small{font-size:8px;letter-spacing:1px;color:#e8d9ac}.counter strong{font-family:'Russo One',Impact,sans-serif;font-size:22px;margin:0}.counter span{font-size:13px;color:#e2dac0}.timer strong{color:#b3f9ff}.board{--rows:4;gap:clamp(8px,1.4vh,15px);width:min(690px,calc((100dvh - 255px) * 3 / var(--rows)));max-width:90vw;margin:0;flex:0 0 auto;padding:4px}.tile{aspect-ratio:1;border-radius:5px;filter:drop-shadow(0 6px 1px #061019c9)}.tile-inner{transition:transform .32s cubic-bezier(.2,.7,.2,1)}.back{background:#575769 url('assets/moss-stone.webp') center/100% 100% no-repeat;border:0;border-radius:7%;box-shadow:inset 0 0 0 1px #d8ddd82b}.back:before,.back:after{display:none}.tile:hover:not(:disabled) .back{filter:brightness(1.2);box-shadow:inset 0 0 0 3px #acffe397,0 0 18px #87ffdd4d}.front{font-size:clamp(32px,6vh,66px);background:linear-gradient(#122e35ed,#101c2eee),url('assets/moss-stone.webp') center/cover;border:4px solid #bbbfad;border-bottom:7px solid #535b60;border-top-color:#e1e3bf;border-radius:6%;box-shadow:inset 0 0 0 3px #31414c,inset 0 0 25px #8aafbb25}.front img{width:76%;height:76%;filter:drop-shadow(0 4px 3px #0005)}.tile.matched .front{border-color:#b2ff88;border-bottom-color:#508247;background:linear-gradient(#3c743bcc,#1f4d32e8),url('assets/moss-stone.webp') center/cover;box-shadow:inset 0 0 20px #baff8638,0 0 18px #80f56e40}.tile.matched .front:after{right:8px;top:6px;font-size:14px;color:#d9ffc2}#pickCursor{width:150px;height:150px}.result-inner h2{font-family:'Russo One',Impact,sans-serif;font-size:29px;color:#ffe2a5;text-shadow:0 3px #422f1e}.result-inner .eyebrow{display:none}#result{background:linear-gradient(#17232ae8,#101d29f5),url('assets/moss-stone.webp') center/cover;border:6px ridge #8b9190;box-shadow:0 14px 70px #000a;border-radius:3px}.prize-card{background:#ae85452b;border:3px ridge #ac9875}.chest{font-size:82px}.result-inner .primary{font-family:var(--font);font-size:11px;letter-spacing:0}#admin .primary{font-family:var(--font);letter-spacing:0}.playing #heroPick{animation:none}
@media(max-width:600px){header{height:56px;padding:0 13px}.top-actions{gap:5px}.icon{width:31px;min-width:31px;height:31px;font-size:15px}.brand{max-width:40vw;font-size:8px;overflow:hidden}main{padding:62px 10px 18px}.world{background-position:50% center}.lobby-logo{width:132px;height:132px;margin-bottom:16px}.lobby-logo span{font-size:23px}h1{font-size:clamp(32px,8.4vw,47px);padding:10px 14px;max-width:86vw}.hero-art{height:clamp(110px,22vh,180px);width:250px}.hero-pick{width:175px;height:175px}.pedestal{left:55px}.mission{font-size:11px;margin:13px 0}#play{min-width:250px;padding:13px 25px;font-size:24px}.game{gap:17px}.game-top{left:13px;top:60px}.game-heading{gap:14px}.game-heading h2{font-size:clamp(19px,5.2vw,28px);padding:11px 16px;max-width:94vw;border-width:4px}.counters{gap:10px}.counter{min-width:97px;padding:6px 10px;gap:10px}.counter small{font-size:7px}.counter strong{font-size:20px}.board{width:min(94vw,calc((100dvh - 260px) * 3 / var(--rows)));max-width:94vw;gap:8px;padding:0}.tile{aspect-ratio:1}.front{font-size:clamp(28px,9vw,43px);border-width:3px;border-bottom-width:5px}.game-heading h2{max-width:92vw}#pickCursor{width:110px;height:110px}}
@media(max-height:660px){.lobby-logo{width:85px;height:85px;padding:15px;margin-bottom:7px;border-width:5px}.lobby-logo span{font-size:15px}h1{font-size:32px;padding:7px 20px}.hero-art{height:105px}.hero-pick{width:125px;height:125px;top:-12px}.mission{margin:5px 0 10px;font-size:10px;padding:7px 15px}#play{font-size:21px;padding:10px 24px;min-width:230px}.game{gap:10px}.game-heading{gap:9px}.game-heading h2{font-size:21px;padding:8px 18px}.counter{padding:4px 9px}.board{width:min(85vw,calc((100dvh - 205px) * 3 / var(--rows)))}.front{font-size:clamp(23px,7vh,45px)}}
@media(prefers-reduced-motion:reduce){.world,.mist,.lantern-glow,#stars i{animation:none!important}}
/* Three-column board, opaque artwork and brighter playful accents. */
.board{grid-template-columns:repeat(3,minmax(0,1fr));width:min(550px,calc((100dvh - 255px) * 3 / var(--rows,4)));gap:clamp(8px,1.4vh,14px)}
.tile,.tile:disabled,.tile.open,.tile.matched{opacity:1!important;color:#132c3b;-webkit-text-fill-color:currentColor}
.tile{appearance:none;-webkit-appearance:none}
.front,.tile.open .front{opacity:1;background:radial-gradient(circle at 50% 40%,#fff 0,#fff6cf 75%);border-color:#ffe287;border-bottom-color:#d99736;border-top-color:#fff5c4;box-shadow:inset 0 0 0 3px #f5b957,0 0 18px #ffdc6324;color:#17293b}
.front img,.tile:disabled .front img{opacity:1!important;filter:none!important;mix-blend-mode:normal;object-fit:contain;width:80%;height:80%}
.tile.matched .front{opacity:1;background:radial-gradient(circle,#fff 10%,#edffd4 80%);border-color:#a5ff71;border-bottom-color:#4fad48;box-shadow:inset 0 0 0 3px #b0ea82,0 0 24px #a4ff6c66}
.tile.matched .front:after{background:#379148;color:#fff;border:2px solid #dcffc6;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;right:5px;top:5px;font-size:12px}
.tile.matched{animation:pair-celebrate .45s ease-out}
@keyframes pair-celebrate{0%,100%{transform:scale(1)}45%{transform:scale(1.055) rotate(-2deg)}75%{transform:scale(1.025) rotate(1deg)}}
.back{box-shadow:inset 0 0 0 2px #c9efc555,0 2px 0 #4fb3b357}
.tile:hover:not(:disabled) .back{box-shadow:inset 0 0 0 3px var(--accent),0 0 22px #63f4e470}
.game-heading h2{color:#fff0b9;border-color:#91e5d1;background:linear-gradient(#245e67f5,#193c50f5);text-shadow:0 3px #173442;box-shadow:0 5px #0a2538,0 0 26px #5de3d32e}
.counter{border-color:var(--secondary);background:linear-gradient(#40366bee,#252440f5);box-shadow:inset 0 0 0 2px #a896e42b,0 3px #162133}
.counter small{color:#ede1ff}.counter strong{color:#ffe27d}.counter span{color:#e7d8ff}.counter.timer{border-color:#70e8db;background:linear-gradient(#185664ee,#173043f5)}.counter.timer small{color:#b4ffe8}
.lobby-logo{box-shadow:0 0 0 3px #314767,inset 0 0 0 4px #142238,inset 0 0 0 8px var(--accent),0 6px 0 #142230,0 0 42px #59ffff60}
h1:before{background:linear-gradient(110deg,#303761f5,#284854f5,#3a3262f5);border-color:#acb5cd;border-top-color:#d0d7df;border-bottom-color:#626782}
h1 em{color:#ffe07a}.mission{background:#3b2b60df;border-color:#c4a4ed;color:#fff3d3}
#play{background:linear-gradient(#a6ffee,var(--accent) 45%,#36cfc7);box-shadow:0 5px #114250,0 0 35px #42eace4a;transition:transform .18s,filter .18s,box-shadow .18s}#play:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 7px #114250,0 0 42px #42eace6a}
.diamond{color:#77faff}.spark{color:#ffd967}.prize-card{background:#76532460;border-color:#ffda7e}
@media(max-width:600px){.board{width:min(94vw,calc((100dvh - 260px) * 3 / var(--rows,4)));gap:8px}.front{font-size:clamp(28px,9vw,46px)}}
@media(max-height:660px){.board{width:min(85vw,calc((100dvh - 205px) * 3 / var(--rows,4)))}}
@media(prefers-reduced-motion:reduce){.tile.matched{animation:none!important}}
/* Animated game rhythm: anticipation, urgency and celebration. */
.lobby-logo{animation:logo-drift 5s ease-in-out infinite;transform-origin:50% 60%}
@keyframes logo-drift{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg)}}
.lobby-logo:after{content:'';position:absolute;inset:-12px;border:2px dashed #8cffe765;border-radius:50%;border-left-color:#ffe28d;border-right-color:var(--secondary);animation:logo-orbit 18s linear infinite;pointer-events:none}
@keyframes logo-orbit{to{transform:rotate(360deg)}}
.lobby #play{animation:play-invite 2.8s ease-in-out infinite}
@keyframes play-invite{0%,100%{box-shadow:0 5px #114250,0 0 22px #42eace40}50%{box-shadow:0 5px #114250,0 0 45px #42eace85;filter:brightness(1.08)}}
.lobby .spark{animation:spark-dance 2.5s ease-in-out infinite alternate}.lobby .sp2{animation-delay:-1.2s}
@keyframes spark-dance{to{transform:rotate(70deg) scale(1.5);filter:drop-shadow(0 0 5px #ffe28d)}}
.memorizing .tile{animation:memory-float 1.8s ease-in-out infinite;animation-delay:calc(var(--tile-index) * -100ms)}
@keyframes memory-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.memorizing.peek-ending .tile{animation:memory-wiggle .65s ease-in-out infinite;animation-delay:calc(var(--tile-index) * -55ms)}
@keyframes memory-wiggle{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-1.4deg) translateY(-2px)}75%{transform:rotate(1.4deg) translateY(-1px)}}
.memorize-warning{border-color:#ffe279!important;box-shadow:0 0 18px #ffd76b66!important}.memorize-warning strong{color:#ffe279!important}
.digit-pop{animation:digit-bounce .35s ease-out}
@keyframes digit-bounce{0%{transform:scale(.82)}45%{transform:scale(1.23)}100%{transform:scale(1)}}
.board-ready{animation:board-settle .45s ease-out}
@keyframes board-settle{0%{transform:scale(.98)}55%{transform:scale(1.015)}100%{transform:scale(1)}}
.heading-bounce{animation:heading-pop .45s ease-out}
@keyframes heading-pop{0%{transform:translateY(-6px) scale(.95)}65%{transform:translateY(1px) scale(1.02)}100%{transform:none}}
.counter.timer.urgent{border-color:#ff977d;background:linear-gradient(#7e343a,#4d2845);animation:clock-alarm 1s ease-in-out infinite}
.counter.timer.urgent strong{color:#fff0b9}
@keyframes clock-alarm{0%,100%{transform:scale(1);box-shadow:0 0 5px #ff806233}50%{transform:scale(1.085);box-shadow:0 0 24px #ff806299}}
.time-ending .tile:not(.matched) .back{animation:stone-alert 1.1s ease-in-out infinite}
@keyframes stone-alert{50%{box-shadow:inset 0 0 0 3px #ffd786,0 0 17px #ffac4666}}
#result[open]{animation:prize-enter .55s cubic-bezier(.18,.8,.3,1.2);overflow-x:hidden;overflow-y:auto}
@keyframes prize-enter{0%{opacity:0;transform:translateY(32px) scale(.72) rotate(-3deg)}65%{opacity:1;transform:translateY(-3px) scale(1.035) rotate(1deg)}100%{transform:translateY(0) scale(1) rotate(0)}}
#result .result-inner{position:relative;z-index:1}
#result.victory .chest{animation:gift-dance 2.5s ease-in-out infinite}
@keyframes gift-dance{0%,100%{transform:translateY(0) rotate(-5deg) scale(1)}50%{transform:translateY(-10px) rotate(5deg) scale(1.08)}}
#result.victory .prize-card{animation:prize-glow 2s ease-in-out infinite}
@keyframes prize-glow{50%{box-shadow:0 0 25px #ffd57055;border-color:#fff0a5}}
#resultConfetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;display:none}
#result.victory #resultConfetti{display:block}
#resultConfetti i{position:absolute;top:-20px;left:var(--x);width:7px;height:12px;animation:prize-confetti 3.6s linear infinite;animation-delay:var(--delay)}
@keyframes prize-confetti{0%{transform:translateY(-20px) rotate(0);opacity:0}10%,80%{opacity:.8}100%{transform:translateY(700px) rotate(var(--turn));opacity:0}}
#sound.needs-unlock{border-color:#87e9db;animation:sound-invite 3s ease-in-out infinite}
@keyframes sound-invite{50%{box-shadow:0 0 17px #79fce773}}
@media(prefers-reduced-motion:reduce){.lobby-logo,.lobby-logo:after,.lobby #play,.lobby .spark,.memorizing .tile,.memorizing.peek-ending .tile,.digit-pop,.board-ready,.heading-bounce,.counter.timer.urgent,.time-ending .tile:not(.matched) .back,#result[open],#result.victory .chest,#result.victory .prize-card,#resultConfetti i,#sound.needs-unlock{animation:none!important}#resultConfetti{display:none!important}}
/* Larger type and a touch-friendly difficulty selector. */
.mission{font-size:15px;line-height:1.4;margin:8px 0 12px}.quiet{font-size:14px;padding:9px 13px}.counter small{font-size:11px}.counter strong{font-size:25px}.counter span{font-size:16px}.brand{font-size:13px}.icon{width:42px;min-width:42px;height:42px;font-size:21px}
.difficulty-picker{width:min(365px,89vw);margin:0 0 14px;text-align:center;flex-shrink:0}
.difficulty-label{font-size:12px;font-weight:800;letter-spacing:1.4px;color:#e0f2f7;margin-bottom:8px;text-shadow:0 2px 3px #00111e}
.difficulty-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.difficulty-options button{font-size:16px;font-weight:800;min-height:44px;padding:9px 8px;color:#e9ebff;background:#172a41e8;border:2px solid #7d87a6;border-bottom-width:4px;border-radius:5px;box-shadow:0 3px #05121f;transition:background .18s,color .18s,border-color .18s}
.difficulty-options button:hover{border-color:#c3faeb}.difficulty-options [data-difficulty=easy].selected{background:#89efb9;border-color:#c8ffe5;border-bottom-color:#38a979;color:#103e32}.difficulty-options [data-difficulty=normal].selected{background:#c4b3ff;border-color:#eadfff;border-bottom-color:#8a6ec5;color:#35245a}.difficulty-options [data-difficulty=hard].selected{background:#ffc186;border-color:#ffe5b9;border-bottom-color:#c77949;color:#5a2c1b}.difficulty-options button.selected:before{content:'✓ ';font-weight:900}
#difficultyDetails{font-size:13px;color:#d0e4e6;margin:9px 0 0;text-shadow:0 2px 3px #051522}
.difficulty-pop{animation:difficulty-bounce .3s ease-out}@keyframes difficulty-bounce{50%{transform:translateY(-3px) scale(1.04)}}
.lobby-logo{width:clamp(92px,14vh,148px);height:clamp(92px,14vh,148px);margin-bottom:12px}.lobby h1{font-size:clamp(32px,5.7vh,60px)}.lobby .hero-art{height:clamp(70px,14vh,150px);flex-shrink:0}.lobby .hero-pick{width:clamp(95px,17vh,160px);height:clamp(95px,17vh,160px);top:-12px}.lobby .pedestal{height:29px}
.result-inner p{font-size:16px;line-height:1.55}.prize-card small{font-size:12px}.prize-card strong{font-size:23px}.result-inner .primary,.result-inner .secondary{font-size:14px;min-height:46px}.result-inner h2{font-size:31px}#toast{font-size:15px;max-width:92vw;line-height:1.5;width:max-content}
#admin{font-size:16px;line-height:1.5;width:min(980px,96vw);padding:30px}#admin .eyebrow{font-size:12px;letter-spacing:1.5px}#admin .admin-head h2{font-size:34px;line-height:1.15}#admin label{font-size:16px;line-height:1.4;gap:9px}#admin input,#admin select{font-size:16px;min-height:48px;padding:11px}#admin input[type=color]{padding:4px}#admin input[type=range]{padding:0}#admin input[type=file]{font-size:14px;padding:10px 6px;max-width:100%}#admin input[type=file]::file-selector-button{font:inherit;padding:7px;border:0;border-radius:3px;margin-right:5px;cursor:pointer}#admin .fields{gap:22px}#admin .tabs{gap:8px}#admin .tabs button{font-size:15px;min-height:48px;padding:12px 14px}#admin .note,#admin #pinForm p{font-size:14px;line-height:1.7}#admin h3{font-size:21px}#admin .text-button{font-size:14px;min-height:34px;padding:6px 0}#admin .primary,#admin .secondary{font-size:15px;min-height:46px;line-height:1.4}#admin .asset-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#admin .asset-box{padding:13px}#admin .asset-preview{height:60px;font-size:43px}#admin .stats strong{font-size:32px}#admin .stats small{font-size:14px}#admin table{font-size:14px}#admin td,#admin th{padding:13px 10px}#admin .save-row{gap:12px}#admin #pinForm{max-width:420px}
@media(max-width:600px){main{padding-top:62px;padding-bottom:12px}.mission{font-size:13px;padding:7px 12px;margin:7px 0 10px}.lobby-logo{width:clamp(87px,14vh,122px);height:clamp(87px,14vh,122px);padding:17px}.lobby-logo span{font-size:20px}.lobby h1{font-size:clamp(30px,5.2vh,43px);padding:7px 15px}.lobby .hero-art{height:clamp(65px,13vh,120px)}.lobby .hero-pick{width:clamp(98px,17vh,147px);height:clamp(98px,17vh,147px)}.difficulty-picker{margin-bottom:11px}.difficulty-options button{font-size:15px;min-height:44px}.difficulty-label{font-size:11px}.counter small{font-size:10px}.counter strong{font-size:23px}.counter{gap:9px}.icon{width:38px;min-width:38px;height:38px;font-size:19px}.brand{font-size:11px}#admin{padding:20px 16px;max-height:94dvh}#admin .admin-head h2{font-size:29px}#admin .eyebrow{font-size:10px}#admin .tabs{gap:0}#admin .tabs button{font-size:14px;padding:10px 8px;flex:1}#admin .stats{flex-wrap:wrap}#admin .stats small{font-size:12px}#admin .asset-inputs{grid-template-columns:1fr}#admin .fields{grid-template-columns:1fr}.result-inner h2{font-size:27px}}
@media(max-height:680px){.lobby-logo{width:75px;height:75px;margin-bottom:8px;padding:12px;border-width:5px}.lobby-logo span{font-size:14px}.lobby h1{font-size:29px;padding:6px 16px}.lobby .hero-art{height:62px}.lobby .hero-pick{width:90px;height:90px;top:-10px}.lobby .pedestal{height:20px}.mission{font-size:12px;padding:6px 12px;margin:6px 0 9px}.difficulty-label{font-size:10px;margin-bottom:6px}.difficulty-options button{min-height:40px;padding:7px;font-size:14px}#difficultyDetails{font-size:12px;margin-top:7px}.difficulty-picker{margin-bottom:10px}#play{font-size:22px;padding:10px 24px}.counter strong{font-size:22px}}
@media(max-height:510px) and (min-width:650px){.lobby{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;column-gap:38px;align-content:center;justify-items:center;max-width:750px;margin:auto}.lobby-logo{grid-column:1;grid-row:1}.lobby h1{grid-column:1;grid-row:2}.lobby .hero-art{display:none}.mission{grid-column:1;grid-row:3}.difficulty-picker{grid-column:2;grid-row:1 / 3;margin:0;max-width:330px}#play{grid-column:2;grid-row:3;min-width:230px}.lobby-logo{width:88px;height:88px}}
@media(prefers-reduced-motion:reduce){.difficulty-pop{animation:none!important}}
