@font-face{font-family:Itim;font-style:normal;font-weight:400;font-display:swap;src:url(../media/091552c0eecc09ea-s.p.0g2rz06vn056..woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Itim;font-style:normal;font-weight:400;font-display:swap;src:url(../media/68d61e11f3b1b5b8-s.16mr.joosot4h.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Itim;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1cbe60d695c74734-s.0u5lloi6h8lu9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Itim;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f12b0978eb9c0bb3-s.p.0fm8wh9st-6s4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Itim Fallback;src:local(Arial);ascent-override:98.03%;descent-override:25.8%;line-gap-override:0.0%;size-adjust:96.9%}.itim_28b9d26f-module__VjhL5W__className{font-family:Itim,Itim Fallback;font-style:normal;font-weight:400}.itim_28b9d26f-module__VjhL5W__variable{--font-itim:"Itim", "Itim Fallback"}
:root{--bg-page:#fff7e8;--bg-page-soft:#f8e6c8;--bg-stage:#fdeccb;--bg-stage-dark:#5a3a22;--surface:#fff;--surface-warm:#fffdf7;--surface-cream:#fff4d6;--surface-muted:#f7e7c6;--primary:#f59e0b;--primary-light:#fcd34d;--primary-dark:#b45309;--primary-deep:#92400e;--wood:#7c4a1d;--wood-light:#9a5a20;--wood-soft:#c8792b;--wood-border:#d6a15d;--text-main:#2b2118;--text-muted:#5c4632;--text-soft:#8a6a4a;--text-inverse:#fff;--accent-blue:#60a5fa;--accent-blue-dark:#2563eb;--accent-green:#22c55e;--accent-green-soft:#bbf7d0;--accent-red:#ef4444;--accent-red-dark:#b91c1c;--border-soft:#f2d7a6;--border-warm:#e7b96e;--border-strong:#c8792b;--overlay-dark:#2b21189e;--overlay-soft:#fff7e8b8;--shadow-soft:0 8px 24px #5c46321f;--shadow-card:0 14px 34px #5c463229;--shadow-board:0 18px 44px #2b211838;--shadow-button:0 6px 0 #b45309;--shadow-button-active:0 3px 0 #b45309;--font-game:var(--font-itim), "Noto Sans Thai", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;min-height:100%;margin:0;overflow-x:hidden}body{background:radial-gradient(circle at 12% 8%, #fcd34d47, transparent 24rem), radial-gradient(circle at 88% 14%, #60a5fa1f, transparent 20rem), linear-gradient(180deg, var(--bg-page), var(--bg-page-soft));color:var(--text-main);font-family:var(--font-game)}button{cursor:pointer;font:inherit;border:0}button:disabled{cursor:default}img{max-width:100%}.app-shell{min-height:100dvh;overflow-x:hidden}.app-shell:has(.game-layout--lobby){min-height:100dvh;overflow-y:auto}:is(.app-shell:has(.spot-game),.app-shell:has(.memory-game),.app-shell:has(.catch-game)){min-height:100dvh;overflow-y:auto}.game-layout{min-height:100dvh;padding:clamp(14px,2.2dvh,24px) clamp(16px,3vw,40px);position:relative}.game-layout--lobby{min-height:100dvh}.game-layout:before,.game-layout:after{content:"";pointer-events:none;z-index:-1;border-radius:999px;position:fixed}.game-layout:before{background:#7c4a1d14;width:22rem;height:22rem;top:18%;left:-8rem}.game-layout:after{background:#22c55e14;width:26rem;height:26rem;bottom:-9rem;right:-8rem}.game-layout__inner{width:100%;margin:0 auto}.game-layout--lobby .game-layout__inner{grid-template-rows:auto auto minmax(0,1fr);max-width:1180px;height:100%;display:grid}.game-layout--game .game-layout__inner{max-width:900px}.game-layout--wide .game-layout__inner{max-width:1180px}.spot-game .game-layout__inner,.memory-game .game-layout__inner,.catch-game .game-layout__inner{grid-template-rows:auto minmax(0,1fr);min-height:calc(100dvh - clamp(28px,4.4dvh,48px));display:grid}.top-bar{justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:0;display:flex}.top-bar div{gap:2px;display:grid}.top-bar span{color:var(--wood);text-transform:uppercase;font-size:14px;font-weight:800;line-height:1.3}.top-bar strong{color:var(--text-muted);font-size:16px;line-height:1.35}.lobby-hero{max-width:760px;padding:clamp(8px,1.6dvh,14px) 0 clamp(10px,1.8dvh,18px);display:block}.lobby-hero__badge,.game-lobby-card__badge,.instruction-modal__label{background:var(--surface-cream);border:1px solid var(--border-warm);color:var(--primary-deep);border-radius:999px;align-items:center;padding:7px 12px;font-size:13px;font-weight:800;line-height:1.3;display:inline-flex}.lobby-hero h1{color:var(--text-main);letter-spacing:0;max-width:920px;margin:0 0 6px;font-size:clamp(24px,3.4vw,40px);font-weight:800;line-height:1.1}.lobby-hero p{color:var(--text-muted);max-width:660px;margin:0;font-size:clamp(14px,1.4vw,16px);font-weight:500;line-height:1.55}.lobby-grid{grid-template-columns:repeat(auto-fit,minmax(260px,360px));place-content:start;justify-items:stretch;gap:clamp(14px,1.6vw,22px);min-height:0;display:grid}.game-lobby-card{background:var(--surface-warm);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);border-radius:24px;grid-template-rows:clamp(185px,28dvh,248px) minmax(0,1fr);height:clamp(410px,100dvh - 165px,520px);min-height:0;transition:box-shadow .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden}.game-lobby-card:hover{box-shadow:var(--shadow-board);transform:translateY(-3px)}.game-lobby-card__preview{text-align:left;background:0 0;width:100%;min-height:0;padding:0;display:block;overflow:hidden}.game-lobby-card__body{flex-direction:column;gap:10px;height:100%;min-height:0;padding:clamp(14px,2dvh,20px) clamp(14px,2dvh,20px) clamp(20px,2.8dvh,28px);display:flex}.game-lobby-card__body>.game-button{flex-shrink:0;min-height:48px;margin-top:auto}.game-lobby-card h2{color:var(--text-main);margin:0;font-size:clamp(20px,2.2vw,26px);font-weight:800;line-height:1.18}.game-lobby-card p{color:var(--text-muted);margin:0;font-size:15px;font-weight:500;line-height:1.55}.game-lobby-card__meta{flex-wrap:wrap;gap:8px;display:flex}.game-lobby-card__meta span{border:1px solid var(--border-soft);color:var(--text-muted);background:#ffffffb8;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700;line-height:1.4}.lobby-preview{grid-template-rows:minmax(0,1fr) auto;align-items:end;height:100%;min-height:0;padding:clamp(12px,2dvh,20px);display:grid}.lobby-preview--spot{background:linear-gradient(180deg, #fffdf7cc, #fdeccbf0), var(--bg-stage)}.lobby-preview--memory{background:radial-gradient(circle at 50% 0%, #fcd34d3d, transparent 12rem), linear-gradient(180deg, var(--surface-cream), var(--bg-stage))}.lobby-preview--catch{background:radial-gradient(circle at 50% 12%, #60a5fa2e, transparent 12rem), linear-gradient(180deg, var(--surface-cream), var(--bg-stage))}.lobby-preview>img{background:var(--bg-stage-dark);border:5px solid var(--wood-border);box-shadow:inset 0 2px 0 #ffffff8c, var(--shadow-soft);object-fit:cover;object-position:center;border-radius:16px;align-self:stretch;width:100%;height:100%;min-height:0;display:block}.lobby-preview>span{border:1px solid var(--border-soft);color:var(--wood);background:#ffffffd1;border-radius:999px;place-self:end start;padding:7px 11px;font-size:13px;font-weight:800;line-height:1.3}.lobby-preview__memory-grid{background:linear-gradient(90deg, #7c4a1d1f, transparent 26%, #7c4a1d1f 66%, transparent), var(--surface-muted);border:4px solid var(--border-strong);box-shadow:inset 0 2px 0 #ffffff8c, var(--shadow-soft);border-radius:24px;grid-template-columns:repeat(4,1fr);place-content:center;gap:clamp(6px,1vw,10px);height:100%;min-height:0;padding:clamp(10px,1.6dvh,16px);display:grid}.lobby-preview__memory-grid span{aspect-ratio:3/4;color:#0000;background:linear-gradient(135deg,#ffffff47,#0000 36%),linear-gradient(#fff8e8,#f6dba9);border:2px solid #fffc;border-radius:12px;place-items:center;width:100%;min-height:0;max-height:100%;font-size:clamp(18px,2.4vw,26px);font-weight:800;line-height:1;display:grid;box-shadow:0 3px #7c4a1d2e}.lobby-preview__memory-grid span.is-open{background:var(--surface-warm);color:var(--wood)}.lobby-preview__catch-stage{background:linear-gradient(180deg, #ffffff5c, transparent 34%), linear-gradient(90deg, #7c4a1d1f, transparent 26%, #7c4a1d1f 66%, transparent), var(--surface-muted);border:4px solid var(--border-strong);box-shadow:inset 0 2px 0 #ffffff8c, var(--shadow-soft);border-radius:24px;height:100%;min-height:0;position:relative;overflow:hidden}.lobby-preview__catch-stage .catch-token:first-child{top:18%;left:19%}.lobby-preview__catch-stage .catch-token:nth-child(2){top:28%;left:67%}.lobby-preview__catch-stage .catch-token:nth-child(3){top:52%;left:48%}.game-button{white-space:nowrap;border-radius:24px;justify-content:center;align-items:center;min-height:44px;font-size:16px;font-weight:800;line-height:1.2;text-decoration:none;transition:background-color .18s cubic-bezier(.16,1,.3,1),box-shadow .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1);display:inline-flex}.game-button--sm{border-radius:18px;min-height:44px;padding:10px 14px;font-size:14px}.game-button--md{padding:13px 20px}.game-button--lg{min-height:52px;padding:16px 28px;font-size:18px}.game-button--full{width:100%}.game-button--primary{background:linear-gradient(180deg, var(--primary-light), var(--primary));box-shadow:var(--shadow-button);color:var(--text-inverse)}.game-button--primary:hover{transform:translateY(-1px)}.game-button--primary:active{box-shadow:var(--shadow-button-active);transform:translateY(3px)}.game-button--secondary{background:var(--surface-cream);border:1px solid var(--border-warm);color:var(--wood)}.game-button--secondary:hover{background:#ffedbd}.game-button--ghost{border:1px solid var(--border-soft);color:var(--text-main);background:#ffffffb3}.game-button--danger{color:var(--accent-red-dark);background:#ffffffdb;border:1px solid #ef444440}.game-panel{background:linear-gradient(180deg, #ffffff47, transparent 12rem), var(--surface-cream);border:4px solid var(--border-strong);box-shadow:var(--shadow-board);border-radius:32px;min-height:0;padding:16px}.game-hud{border:1px solid var(--border-warm);box-shadow:var(--shadow-card);background:#fffdf7eb;border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;margin-bottom:clamp(10px,1.6dvh,16px);padding:clamp(9px,1.4dvh,13px);display:grid}.game-hud__title{gap:4px;min-width:0;display:grid}.game-hud__title span{color:var(--text-soft);font-size:13px;font-weight:700;line-height:1.2;display:none}.game-hud__title h1{color:var(--text-main);margin:0;font-size:clamp(20px,3vw,28px);font-weight:800;line-height:1.18}.game-hud__right{align-items:center;gap:12px;display:flex}.game-hud__metrics{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.game-hud__metric{background:var(--surface);border:1px solid var(--border-soft);border-radius:18px;gap:2px;min-width:82px;padding:6px 10px;display:grid}.game-hud__metric span{color:var(--text-soft);font-size:13px;font-weight:700;line-height:1.2}.game-hud__metric strong{color:var(--text-main);font-size:clamp(20px,3vw,26px);font-weight:800;line-height:1.1}.game-hud__metric--time strong{color:var(--primary-deep)}.game-hud__metric--success strong{color:#15803d}.game-hud__metric--danger strong{color:var(--accent-red-dark)}.spot-hearts{align-items:center;gap:3px;font-size:18px;line-height:1;display:inline-flex}.spot-hearts span{font-size:inherit;transform-origin:50%;line-height:1;transition:color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1);display:inline-block}.spot-hearts .is-filled{color:var(--accent-red)}.spot-hearts .is-empty{color:#ef444438;transform:scale(.86)}.game-hud__progress{background:var(--surface-muted);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.game-hud__progress i{background:linear-gradient(90deg, var(--primary-light), var(--primary));border-radius:inherit;height:100%;transition:width .18s linear;display:block}.instruction-backdrop{background:radial-gradient(circle at 50% 20%,#fcd34d38,#0000 18rem),#fff7e8b8;place-items:center;height:100%;min-height:0;padding:0;display:grid;inset:0}.instruction-modal{background:var(--surface-warm);border:1px solid var(--border-warm);box-shadow:var(--shadow-board);border-radius:32px;gap:14px;width:min(90vw,520px);max-width:520px;padding:clamp(20px,3vw,28px);display:grid}.instruction-modal h2{color:var(--text-main);margin:0;font-size:clamp(26px,4.5vw,38px);font-weight:800;line-height:1.12}.instruction-modal__result{background:var(--surface-cream);border:1px solid var(--border-soft);color:var(--wood);border-radius:18px;margin:0;padding:12px 14px;font-size:18px;font-weight:800;line-height:1.35}.instruction-modal ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.instruction-modal li{color:var(--text-muted);grid-template-columns:18px 1fr;align-items:flex-start;gap:10px;font-size:16px;font-weight:600;line-height:1.6;display:grid}.instruction-modal li:before{background:var(--primary-light);border:3px solid var(--surface);content:"";border-radius:999px;width:14px;height:14px;margin-top:6px;box-shadow:0 2px #b453092e}.instruction-modal__actions{gap:12px;margin-top:2px;display:grid}.spot-board{justify-self:center;width:100%;max-width:1040px;padding:clamp(12px,2vw,20px)}.spot-board__grid{gap:clamp(16px,2vw,24px);min-height:0;display:grid}.image-frame{flex-direction:column;gap:6px;min-height:0;margin:0;display:flex}.image-frame figcaption{color:var(--wood);padding-left:6px;font-size:13px;font-weight:800;line-height:1.3}.image-frame__viewport{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.image-frame__media{aspect-ratio:1448/1086;background:var(--bg-stage-dark);border:4px solid var(--wood-border);box-shadow:inset 0 2px 0 #ffffff8c, var(--shadow-soft);border-radius:20px;width:100%;max-width:100%;min-height:0;max-height:100%;position:relative;overflow:hidden}.image-frame__media img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.image-frame--interactive .image-frame__media{cursor:crosshair}.spot-clicks{pointer-events:none;position:absolute;inset:0}.spot-clicks span{aspect-ratio:1;border:4px solid var(--accent-red);background:#ef444424;border-radius:999px;animation:.26s cubic-bezier(.34,1.56,.64,1) mark-pop;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #ffffffd9,0 6px 14px #2b211838}.spot-wrong-flash{border-radius:inherit;pointer-events:none;background:#ef44442e;animation:.36s ease-out forwards wrong-flash;position:absolute;inset:0}@keyframes wrong-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}.memory-board-shell{background:linear-gradient(90deg, #7c4a1d24, transparent 24%, #7c4a1d21 64%, transparent), var(--surface-muted);border:4px solid var(--border-strong);box-shadow:inset 0 2px 0 #ffffff8c, var(--shadow-board);border-radius:32px;grid-template-rows:repeat(5,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));align-self:start;gap:clamp(7px,1.2vw,12px);width:min(100%,660px,56dvh - 77.28px);max-width:660px;margin:0 auto;padding:clamp(10px,2vw,20px);display:grid}.memory-card{aspect-ratio:3/4;perspective:900px;background:0 0;border-radius:18px;min-width:0;height:auto;min-height:0;padding:0}.memory-card__inner{height:100%;transform-style:preserve-3d;width:100%;transition:transform .26s cubic-bezier(.16,1,.3,1);display:block;position:relative}.memory-card:hover:not(:disabled) .memory-card__inner{transform:translateY(-2px)}.memory-card--flipped .memory-card__inner,.memory-card--flipped:hover:not(:disabled) .memory-card__inner{transform:rotateY(180deg)}.memory-card__face{backface-visibility:hidden;text-align:center;border:2px solid #fffc;border-radius:18px;place-items:center;padding:8px;font-weight:800;line-height:1.1;display:grid;position:absolute;inset:0;box-shadow:0 5px #7c4a1d2e}.memory-card__face--back{color:var(--wood);background:linear-gradient(135deg,#ffffff57,#0000 36%),linear-gradient(#fff8e8,#f4d6a1);font-size:clamp(22px,5vw,34px)}.memory-card__face--front{background:radial-gradient(circle at 50% 18%, #ffffffd1, transparent 30%), linear-gradient(180deg, var(--surface-warm), var(--tile-color));color:var(--text-main);font-size:clamp(28px,5vw,44px);line-height:1;transform:rotateY(180deg)}.memory-card--matched .memory-card__face--front{border-color:#22c55e80;box-shadow:0 5px #15803d33}.catch-board{align-self:start;width:min(100%,520px);max-width:520px;margin:0 auto;padding:clamp(10px,1.6vw,16px)}.catch-board__stage{aspect-ratio:9/13;background:radial-gradient(circle at 50% 8%, #fcd34d61, transparent 9rem), linear-gradient(90deg, transparent 0 31%, #60a5fa24 31% 33%, transparent 33% 67%, #60a5fa24 67% 69%, transparent 69% 100%), linear-gradient(180deg, #60a5fa33, transparent 30%), linear-gradient(90deg, #7c4a1d29, transparent 24%, #7c4a1d1f 64%, transparent), var(--surface-muted);border:4px solid var(--wood-border);contain:layout paint;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:24px;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffff8c}.catch-board__stage:before{content:"";opacity:.55;pointer-events:none;background:repeating-linear-gradient(90deg,#7c4a1d21 0 1px,#0000 1px 40px),repeating-linear-gradient(0deg,#7c4a1d14 0 1px,#0000 1px 38px);position:absolute;inset:0}.catch-board__skyline{opacity:.68;background:linear-gradient(#0000 0 36%,#7c4a1d24 36% 100%),linear-gradient(90deg,#0000 0 6%,#7c4a1d1f 6% 14%,#0000 14% 24%,#7c4a1d1a 24% 31%,#0000 31% 68%,#7c4a1d1f 68% 76%,#0000 76% 100%);height:34%;position:absolute;bottom:0;left:0;right:0}.catch-board__bonus{background:linear-gradient(180deg, var(--primary-light), var(--primary));box-shadow:0 5px 0 var(--primary-dark), 0 10px 16px #2b211829;color:var(--text-inverse);text-shadow:0 2px #92400e6b;white-space:nowrap;z-index:1;border:3px solid #fff;border-radius:999px;padding:8px 16px;font-size:clamp(14px,2.4vw,20px);font-weight:900;line-height:1.2;position:absolute;top:14px;left:50%;transform:translate(-50%)}.catch-token{aspect-ratio:1;text-align:center;backface-visibility:hidden;will-change:transform;z-index:2;border-radius:999px;place-items:center;font-size:clamp(13px,2vw,22px);font-weight:900;line-height:1;display:inline-grid;position:absolute;transform:translate(-50%,-50%)}.catch-token--falling{animation:catch-fall var(--catch-fall-duration,5s) linear forwards;pointer-events:none;top:-12%}.catch-token--logo{border:4px solid var(--primary-light);background:linear-gradient(#fffffffa,#fffdf7eb);border-radius:18px;min-width:86px;padding:4px 5px;box-shadow:0 5px #b4530938,0 10px 18px #2b211829}.catch-token--logo img{width:100%;height:auto;display:block}.catch-token--bomb{color:#fbbf24;background:radial-gradient(circle at 35% 26%,#ffffff73,#0000 24%),linear-gradient(#66584d,#2b2118);border:4px solid #ffffff6b;min-width:42px;box-shadow:0 5px #2b21183d,0 10px 18px #2b21182e}.catch-token--preview{width:clamp(62px,30%,92px);font-size:clamp(12px,1.8vw,18px)}.catch-token--preview.catch-token--logo{min-width:0}.catch-basket{background:linear-gradient(180deg, #ffffffe0, transparent 38%), linear-gradient(180deg, var(--primary-light), var(--primary));box-shadow:0 6px 0 var(--primary-dark), 0 12px 20px #2b21182e;cursor:grab;touch-action:none;will-change:left;z-index:3;border:4px solid #fff;border-radius:999px;height:4.5%;position:absolute;bottom:4%;transform:translate(-50%)}.catch-basket:after{content:"";position:absolute;inset:-18px -8px}.catch-basket:active{cursor:grabbing}.catch-basket:focus-visible{outline-offset:8px;outline:3px solid #2563ebb8}.catch-basket--preview{width:48%;left:50%}@keyframes mark-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.72)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes catch-fall{0%{top:-12%;transform:translate(-50%,-50%)}to{top:108%;transform:translate(-50%,-50%)}}@media (min-width:760px){.game-layout{padding:clamp(10px,2.4dvh,24px) clamp(12px,2.8vw,40px)}.app-shell:has(.catch-game){height:100dvh;overflow:hidden}.catch-game.game-layout{height:100dvh;min-height:0;overflow:hidden}.catch-game .game-layout__inner{height:100%;min-height:0}.catch-game .game-hud{margin-bottom:clamp(6px,1dvh,10px);padding:clamp(7px,1.1dvh,10px)}.catch-game .game-hud__title h1{font-size:clamp(19px,2.1dvh,24px);line-height:1.08}.catch-game .game-hud__metric{border-radius:14px;min-width:clamp(64px,8dvh,76px);padding:clamp(4px,.8dvh,7px) clamp(7px,1dvh,10px)}.catch-game .game-hud__metric span{font-size:clamp(10px,1.45dvh,12px)}.catch-game .game-hud__metric strong{font-size:clamp(17px,2.5dvh,22px)}.catch-game .game-hud__progress{height:clamp(5px,.9dvh,7px)}.catch-board{border-width:clamp(3px,.65dvh,4px);border-radius:clamp(22px,4dvh,32px);align-self:start;width:min(100%,520px,60dvh - 55.2px);padding:clamp(6px,1dvh,10px)}.catch-board__stage{border-width:clamp(3px,.65dvh,4px);border-radius:clamp(18px,3dvh,24px)}@media (min-width:900px) and (max-height:780px){.catch-board{width:min(100%,520px,69.23dvh - 60.4606px);max-width:none;padding:clamp(6px,1dvh,9px)}}.lobby-grid{grid-template-columns:repeat(2,minmax(0,360px));justify-content:start}.spot-board__grid{gap:20px}}@media (min-width:1024px){.lobby-grid{grid-template-columns:repeat(3,minmax(0,360px))}.app-shell:has(.spot-game){height:100dvh;overflow:hidden}.spot-game.game-layout{height:100dvh;min-height:0;padding:clamp(8px,1.6dvh,18px) clamp(12px,2.8vw,40px);overflow:hidden}.spot-game .game-layout__inner{grid-template-rows:auto minmax(0,1fr);max-width:1400px;height:100%;min-height:0}.spot-game .spot-board{flex-direction:column;flex:0 auto;place-self:center stretch;width:100%;max-width:none;height:auto;min-height:0;max-height:100%;padding:clamp(8px,1.2dvh,14px);display:flex}.spot-game .spot-board__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(12px,1.4vw,20px);min-height:0}.spot-game .image-frame__viewport{flex:0 auto}}@media (max-width:759px){.catch-game.game-layout{min-height:100svh;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.catch-game .game-layout__inner{min-height:calc(100svh - 18px - env(safe-area-inset-bottom))}.catch-game .game-hud{border-radius:22px;gap:6px 10px;margin-bottom:8px;padding:10px}.catch-game .game-hud__title{gap:0}.catch-game .game-hud__title h1{font-size:24px;line-height:1.08}.catch-game .game-hud__metrics{gap:6px}.catch-game .game-hud__metric{border-radius:16px;min-width:70px;padding:6px 8px}.catch-game .game-hud__metric span{font-size:12px}.catch-game .game-hud__metric strong{font-size:20px}.catch-game .game-hud__progress{height:7px}.catch-board{width:min(100%,520px,69.23svh - 140.767px);padding:8px}:is(.app-shell:has(.game-layout--lobby),.game-layout--lobby){height:auto;min-height:100dvh;overflow:visible}.game-layout--lobby .game-layout__inner{height:auto}.top-bar{align-items:flex-start}.lobby-hero{padding:18px 0}.lobby-hero h1{font-size:clamp(28px,8vw,38px)}.lobby-hero p{font-size:15px;line-height:1.55}.lobby-grid{grid-template-rows:none;grid-template-columns:1fr}.game-lobby-card{grid-template-rows:204px auto;height:auto}.game-lobby-card__preview,.lobby-preview{min-height:0}.game-hud{grid-template-columns:1fr;align-items:stretch;padding:14px}.game-hud__right{grid-template-columns:1fr auto;align-items:stretch;display:grid}.game-hud__metrics{justify-content:flex-start}.game-hud__metric{min-width:74px;padding:8px 10px}.game-hud__metric strong{font-size:23px}.image-frame__media{border-width:4px;border-radius:18px}.spot-board{height:auto}.spot-board__grid{grid-template-rows:none}.memory-board-shell{width:min(100%,620px)}}@media (max-width:420px){.game-layout{padding:10px}.top-bar{gap:10px}.top-bar strong{font-size:14px}.game-button{white-space:normal}.game-lobby-card__body,.instruction-modal{padding:12px}.game-lobby-card__body{gap:8px}.game-lobby-card h2{font-size:18px}.game-lobby-card .game-button{min-height:44px;padding:10px 14px}.lobby-preview__memory-grid,.memory-board-shell{gap:7px;padding:12px}.memory-card,.memory-card__face{border-radius:14px}.game-hud{gap:8px}.game-hud__metric span{font-size:12px}.game-hud__metric strong{font-size:19px}.memory-board-shell{width:min(100%,520px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
