:root{color:#18202f;background:#f5f7fa;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{min-height:44px;border:0;border-radius:8px;padding:0 14px;background:#e6ebf2;color:#18202f;font:inherit;font-weight:700}button:disabled{opacity:.35}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding:env(safe-area-inset-top) 14px calc(78px + env(safe-area-inset-bottom))}.app-shell-home{min-height:100dvh;padding-right:10px;padding-left:10px;background:radial-gradient(circle at 18% 4%,rgba(103,232,249,.22),transparent 28%),radial-gradient(circle at 88% 8%,rgba(255,209,102,.18),transparent 24%),radial-gradient(circle at 55% 54%,rgba(20,184,166,.16),transparent 32%),linear-gradient(180deg,#08111f,#132238 52%,#07101d);color:#f8fafc}.app-shell-home .topbar{display:none}.app-shell-home .content{width:100%;max-width:560px}.app-shell-game{height:100dvh;min-height:100dvh;overflow:hidden;padding:calc(6px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom));background:radial-gradient(circle at 18% 6%,rgba(20,184,166,.22),transparent 30%),radial-gradient(circle at 88% 12%,rgba(124,58,237,.18),transparent 28%),linear-gradient(180deg,#08111f,#101827 55%,#07101d);color:#f8fafc}.app-shell-game .topbar{display:none}.app-shell-game .content{display:flex;width:100%;max-width:540px;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 12px}.topbar h1,.section-head h2,.game-toolbar h2{margin:0;letter-spacing:0}.eyebrow{margin:0 0 2px;color:#667085;font-size:12px;font-weight:700;text-transform:uppercase}.user-pill{max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #d7dde8;border-radius:999px;padding:8px 10px;background:#fff;font-size:13px}.content{max-width:760px;margin:0 auto}.bottom-nav{position:fixed;right:0;bottom:0;left:0;display:grid;grid-auto-flow:column;justify-content:center;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #d7dde8;background:#fffffff5}.app-shell-home .bottom-nav{right:10px;bottom:8px;left:10px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#08111fc7;box-shadow:0 16px 36px #02061757;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell-home .bottom-nav a{color:#f8fafcad}.app-shell-home .bottom-nav a.active{background:#10b9812e;color:#fff}.bottom-nav a{display:grid;min-width:64px;min-height:52px;place-items:center;border-radius:8px;color:#667085;font-size:12px}.bottom-nav a.active{background:#e8f2ee;color:#087443}.bottom-nav svg,.icon-button svg{width:20px;height:20px}.section-head{display:grid;gap:8px;margin:10px 0 16px}.section-head p{margin:0;color:#667085}.game-list{display:grid;gap:12px}.games-home{display:grid;gap:12px;padding:calc(8px + env(safe-area-inset-top)) 0 4px}.games-hero{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;min-height:112px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:18px;background:radial-gradient(circle at 16% 18%,rgba(103,232,249,.34),transparent 24%),radial-gradient(circle at 88% 22%,rgba(255,209,102,.24),transparent 20%),linear-gradient(145deg,#ffffff29,#ffffff0d);box-shadow:0 18px 44px #0206173d;isolation:isolate}.games-hero:before,.games-hero:after{position:absolute;content:"";pointer-events:none}.games-hero:before{inset:auto -24px -58px 28%;height:116px;border-radius:999px;background:radial-gradient(circle at 16% 50%,#67e8f9 0 9px,transparent 10px),radial-gradient(circle at 38% 50%,#fda4af 0 9px,transparent 10px),radial-gradient(circle at 60% 50%,#fde68a 0 9px,transparent 10px),radial-gradient(circle at 82% 50%,#a7f3d0 0 9px,transparent 10px),#0f172a52;filter:blur(.2px);transform:rotate(-8deg);z-index:-1}.games-hero:after{top:14px;right:20px;width:78px;height:78px;border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.42),transparent 42%),linear-gradient(145deg,#14b8a6,#7c3aed);opacity:.58;transform:rotate(12deg);z-index:-1}.games-hero span{display:inline-grid;min-height:26px;place-items:center;border-radius:999px;padding:0 10px;background:#ffffff21;color:#f8fafcb8;font-size:12px;font-weight:950;letter-spacing:0}.games-hero h2{margin:8px 0 0;color:#fff;font-size:clamp(38px,13vw,58px);line-height:.92;letter-spacing:0}.games-hero strong{display:grid;width:58px;aspect-ratio:1;place-items:center;border-radius:18px;background:#ffffff24;color:#fff;font-size:28px;box-shadow:inset 0 0 0 1px #ffffff1a}.games-home .game-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-card{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;border:1px solid #d7dde8;border-radius:8px;padding:14px;background:#fff}.games-home .game-card{--card-a: #172033;--card-b: #273a56;--card-glow: rgba(103, 232, 249, .18);position:relative;display:grid;grid-template-columns:1fr;gap:10px;min-height:246px;overflow:hidden;align-items:stretch;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:8px;background:radial-gradient(circle at 16% 14%,var(--card-glow),transparent 32%),linear-gradient(145deg,var(--card-a),var(--card-b));color:#f8fafc;box-shadow:0 14px 32px #02061742,inset 0 1px #ffffff14;animation:catalog-card-enter .42s ease both;transition:transform .16s ease,box-shadow .16s ease}.games-home .game-card:nth-child(2n){animation-delay:45ms}.games-home .game-card:nth-child(3n){animation-delay:90ms}.games-home .game-card:active{transform:translateY(2px) scale(.985)}.games-home .game-card:after{position:absolute;top:8px;right:10px;left:10px;height:44px;border-radius:999px;background:#ffffff12;content:"";filter:blur(16px);pointer-events:none}.games-home .game-card-tower{--card-a: #dff7f1;--card-b: #fff4d6;--card-glow: rgba(255, 209, 102, .36);color:#172033}.games-home .game-card-rabbit-run{--card-a: #82d2ff;--card-b: #7ecf78;--card-glow: rgba(255, 255, 255, .38);color:#172033}.games-home .game-card-starlight-breaker{--card-a: #070b1d;--card-b: #281f54;--card-glow: rgba(103, 232, 249, .28)}.games-home .game-card-match3{--card-a: #2b1c32;--card-b: #0f4c5c;--card-glow: rgba(249, 115, 107, .3)}.games-home .game-card-mahjong{--card-a: #193429;--card-b: #31523d;--card-glow: rgba(214, 168, 79, .28)}.games-home .game-card-2048{--card-a: #172033;--card-b: #334155;--card-glow: rgba(158, 231, 214, .26)}.games-home .game-card-pipes{--card-a: #071524;--card-b: #12385c;--card-glow: rgba(125, 211, 252, .28)}.games-home .game-card-color_flood{--card-a: #102033;--card-b: #3f246d;--card-glow: rgba(20, 184, 166, .28)}.games-home .game-card-memory{--card-a: #172033;--card-b: #2b3f61;--card-glow: rgba(255, 209, 102, .24)}.games-home .game-card-sudoku{--card-a: #dfeefa;--card-b: #f4fbf8;--card-glow: rgba(8, 116, 67, .2);color:#172033}.games-home .game-card-pirate-solitaire{--card-a: #15334b;--card-b: #0e5c74;--card-glow: rgba(214, 168, 79, .28)}.game-preview{display:block;width:58px;aspect-ratio:1;border-radius:8px;background:#172033;overflow:hidden;box-shadow:0 8px 18px #0f172a1f}.games-home .game-preview{position:relative;order:1;width:100%;border-radius:15px;box-shadow:0 12px 28px #02061733,inset 0 0 0 1px #ffffff1f}.games-home .game-card>:not(.game-preview):not(.card-actions){order:3}.games-home .game-preview:after{position:absolute;inset:-35% auto -35% -40%;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);content:"";animation:preview-shine 3.8s ease-in-out infinite;pointer-events:none}.game-preview-art{display:block;width:100%;height:100%}.game-preview span{display:grid;place-items:center;border-radius:5px;background:#eaf1f8;color:#172033;font-size:13px;font-weight:950;line-height:1}.game-preview-2048 span:nth-child(1){background:#dce9ff}.game-preview-2048 span:nth-child(2),.game-preview-memory span:nth-child(1),.game-preview-memory span:nth-child(3){background:#9ee7d6}.game-preview-2048 span:nth-child(3),.game-preview-sudoku span:nth-child(4){background:#ffd166}.game-preview-pipes span{background:#1b3655;color:#7dd3fc;font-size:18px}.game-preview-color_flood span:nth-child(1){background:#00a7a5}.game-preview-color_flood span:nth-child(2){background:#f9736b}.game-preview-color_flood span:nth-child(3){background:#ffd166}.game-preview-color_flood span:nth-child(4){background:#7c3aed}.game-preview-memory span:nth-child(2),.game-preview-memory span:nth-child(4){background:#dce9ff}.game-preview-tower span{background:#14b8a6}.game-preview-tower span:nth-child(1),.game-preview-tower span:nth-child(4){transform:scaleX(.68)}.game-preview-rabbit-run span{background:#e7f5df;color:#2e7d55}.game-preview-starlight-breaker span{background:#101828;color:#67e8f9}.game-preview-match3 span:nth-child(-n+3){background:#f9736b;color:#fff}.game-preview-mahjong span{background:#fff7d6;color:#7a4b1e}.game-preview-pirate-solitaire{background:#16324a}.game-preview-pirate-solitaire span{background:#fff3cf;color:#53341c;box-shadow:inset 0 -4px #53341c1f}.game-card h3,.game-card p{margin:0 0 6px}.games-home .game-card h3{margin:0 0 2px;font-size:clamp(16px,4.8vw,20px);line-height:1.05}.games-home .game-card p{min-height:28px;margin:0 0 5px;color:currentColor;font-size:12px;font-weight:750;line-height:1.15;opacity:.66}.games-home .game-card-tags{display:flex;flex-wrap:wrap;gap:4px;min-height:22px;margin:0 0 5px}.games-home .game-card .game-card-tags span{display:inline-grid;min-height:20px;place-items:center;border:1px solid currentColor;border-radius:999px;padding:0 7px;font-size:10px;font-weight:950;line-height:1;opacity:.52}.game-card span{color:#667085;font-size:13px}.games-home .game-card span{color:currentColor;font-size:12px;font-weight:850;opacity:.72}.card-actions,.privacy-actions{display:flex;flex-wrap:wrap;gap:8px}.games-home .card-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;order:2;z-index:2;align-self:end;margin:-60px 8px 0}.games-home .primary-button,.games-home .icon-button{border-radius:14px;box-shadow:inset 0 1px #ffffff3d,0 8px 18px #02061729}.games-home .primary-button{background:#10b981;color:#fff}.games-home .icon-button{background:#ffffff24;color:currentColor}.primary-button,.icon-button,.danger-button{display:inline-grid;min-height:44px;place-items:center;border-radius:8px;font-weight:800}.primary-button{background:#087443;color:#fff;padding:0 16px}.danger-button{background:#b42318;color:#fff}.icon-button{width:44px;background:#e6ebf2}.state-view{display:grid;min-height:220px;place-items:center;gap:10px;text-align:center}.loader{width:34px;height:34px;border:4px solid #d7dde8;border-top-color:#087443;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes tile-rise{0%{transform:scale(.92)}to{transform:scale(1)}}@keyframes feedback-pop{0%{opacity:0;transform:translate(-50%,10px) scale(.86)}20%{opacity:1;transform:translate(-50%) scale(1.04)}to{opacity:0;transform:translate(-50%,-38px) scale(.98)}}@keyframes catalog-card-enter{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes preview-shine{0%{transform:translate(-120%) rotate(16deg)}to{transform:translate(160%) rotate(16deg)}}.app-shell-game .state-view{color:#f8fafc}.game-toolbar{display:grid;grid-template-columns:44px 1fr 44px 44px;gap:8px;align-items:center;min-height:44px;margin-bottom:0}.game-toolbar h2{overflow:hidden;color:#f8fafc;font-size:clamp(17px,4.8vw,23px);line-height:1.05;text-align:center;text-overflow:ellipsis;white-space:nowrap}.game-shell{display:flex;flex:1;flex-direction:column;min-height:0;position:relative}.game-container{display:flex;flex:1;min-height:0}.game-container>.modern-game{flex:1;width:100%;min-height:0}.game-page{display:flex;flex:1;flex-direction:column;gap:8px;width:100%;min-height:0;position:relative;isolation:isolate;overflow:hidden}.game-page>*{position:relative;z-index:1}.game-page:before,.game-page:after{position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;z-index:0;content:"";pointer-events:none}.game-page:before{opacity:.88}.game-page:after{mix-blend-mode:screen;opacity:.34}.game-page-tower:before{background:radial-gradient(circle at 76% 16%,rgba(255,209,102,.58),transparent 12%),linear-gradient(180deg,#bfe9ff,#eaf9ff 48%,#fef3c7)}.game-page-tower:after{background:linear-gradient(150deg,transparent 0 54%,rgba(8,116,67,.22) 54% 59%,transparent 59%),linear-gradient(210deg,transparent 0 60%,rgba(20,184,166,.18) 60% 65%,transparent 65%)}.game-page-rabbit-run:before{background:radial-gradient(circle at 84% 10%,rgba(255,209,102,.72),transparent 13%),linear-gradient(180deg,#6ec7ff,#effaff 52%,#8bcf89)}.game-page-starlight-breaker:before{background:radial-gradient(circle at 18% 20%,rgba(103,232,249,.22),transparent 22%),radial-gradient(circle at 82% 18%,rgba(167,139,250,.24),transparent 24%),linear-gradient(180deg,#070b1d,#101828 56%,#030712)}.game-page-starlight-breaker:after{background-image:radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(103,232,249,.7) 0 1px,transparent 1.5px);background-position:0 0,22px 31px;background-size:58px 58px,76px 76px}.game-page-match3:before{background:radial-gradient(circle at 12% 15%,rgba(249,115,107,.36),transparent 20%),radial-gradient(circle at 82% 20%,rgba(20,184,166,.32),transparent 22%),radial-gradient(circle at 45% 84%,rgba(245,158,11,.3),transparent 24%),linear-gradient(180deg,#1f2937,#172033)}.game-page-mahjong:before{background:radial-gradient(circle at 70% 12%,rgba(214,168,79,.38),transparent 16%),linear-gradient(160deg,#193429,#244033 58%,#0f241d)}.game-page-2048:before{background:radial-gradient(circle at 18% 12%,rgba(158,231,214,.28),transparent 20%),radial-gradient(circle at 88% 18%,rgba(255,209,102,.22),transparent 18%),linear-gradient(180deg,#172033,#24344d)}.game-page-pipes:before{background:radial-gradient(circle at 22% 18%,rgba(125,211,252,.34),transparent 21%),linear-gradient(180deg,#071524,#102033)}.game-page-color_flood:before{background:radial-gradient(circle at 16% 18%,rgba(0,167,165,.3),transparent 20%),radial-gradient(circle at 83% 12%,rgba(249,115,107,.32),transparent 20%),radial-gradient(circle at 54% 82%,rgba(124,58,237,.28),transparent 24%),linear-gradient(180deg,#111827,#172033)}.game-page-memory:before{background:radial-gradient(circle at 18% 12%,rgba(255,209,102,.24),transparent 18%),radial-gradient(circle at 80% 22%,rgba(158,231,214,.3),transparent 20%),linear-gradient(180deg,#172033,#24344d)}.game-page-sudoku:before{background:radial-gradient(circle at 82% 12%,rgba(8,116,67,.24),transparent 18%),linear-gradient(180deg,#edf7f4,#dfeefa)}.game-page-sudoku .game-toolbar h2,.game-page-sudoku .game-hud strong{color:#0f172a}.game-page-pirate-solitaire:before{background:radial-gradient(circle at 78% 14%,rgba(214,168,79,.42),transparent 14%),linear-gradient(180deg,#15334b,#0e5c74 54%,#092238)}.game-page-pirate-solitaire:after{background:radial-gradient(ellipse at 20% 74%,rgba(255,243,207,.18),transparent 18%),linear-gradient(100deg,transparent 0 56%,rgba(255,243,207,.12) 56% 58%,transparent 58%)}.app-shell-game .icon-button{background:#e2e8f021;color:#f8fafc;box-shadow:inset 0 0 0 1px #ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-session-strip{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;margin-bottom:10px;border:1px solid #d7dde8;border-radius:8px;padding:8px;background:#fff;color:#667085;font-size:13px;font-weight:700}.game-session-strip button{min-height:44px;padding:0 10px}.toast,.my-rank,.status-message{margin-top:12px;border-radius:8px;padding:12px;background:#e8f2ee;color:#087443;font-weight:700}.leaderboard-list{display:grid;gap:8px;padding:0;list-style:none}.leaderboard-list li{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;border:1px solid #d7dde8;border-radius:8px;padding:12px;background:#fff}.rank{color:#667085;font-weight:800}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.segmented.two{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented button.active{background:#087443;color:#fff}.game-select{min-height:44px;border:1px solid #d7dde8;border-radius:8px;padding:0 12px;background:#fff;color:#18202f;font:inherit;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-grid div,.moderation-list article{display:grid;gap:4px;border:1px solid #d7dde8;border-radius:8px;padding:12px;background:#fff}.moderation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.moderation-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.moderation-details{display:grid;gap:6px;margin:6px 0}.moderation-details div{display:grid;grid-template-columns:96px 1fr;gap:8px}.moderation-details dt,.moderation-details dd{margin:0}.moderation-details dt{color:#667085}.stats-grid strong{font-size:26px}.stats-grid span,.text-page p{color:#667085}.profile-links{display:grid;gap:8px;margin-top:14px}.profile-links a{border:1px solid #d7dde8;border-radius:8px;padding:14px;background:#fff;font-weight:800}.export-preview{max-height:260px;overflow:auto;border:1px solid #d7dde8;border-radius:8px;padding:12px;background:#fff;color:#18202f;font-size:12px;white-space:pre-wrap;word-break:break-word}@media(min-width:720px){.game-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{padding-inline:24px}}@media(max-width:420px){.game-card{grid-template-columns:54px 1fr}.game-card .card-actions{grid-column:1 / -1}}.modern-game{display:grid;gap:8px;height:100%;min-height:0;position:relative;align-content:start;touch-action:manipulation}.game-pulse{position:absolute;top:78px;left:50%;z-index:6;min-width:86px;max-width:min(260px,78vw);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 14px;background:#10b981eb;color:#fff;font-size:14px;font-weight:950;line-height:1;text-align:center;box-shadow:0 14px 28px #02061747,0 0 0 7px #10b9811f;animation:feedback-pop .78s ease both;pointer-events:none}.game-pulse-warn{background:#f9736bf2;box-shadow:0 14px 28px #02061747,0 0 0 7px #f9736b24}.game-pulse-neutral{background:#334155f2;box-shadow:0 14px 28px #02061747,0 0 0 7px #94a3b81f}.game-hud{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 10px;align-items:center;min-height:54px;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:7px 8px;background:#0f172ab8;box-shadow:0 10px 30px #02061738;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-hud div{display:grid;gap:2px;min-width:72px}.game-hud span,.game-hud p{margin:0;color:#f8fafcad;font-size:11px;font-weight:800}.game-hud strong{color:#f8fafc;font-size:clamp(22px,7vw,31px);line-height:1}.game-hud p{text-align:right}.game-hud button{min-height:44px;border-radius:999px;padding:0 12px;background:#10b981;font-size:12px;line-height:1.05;white-space:nowrap}.game-hud button:disabled{opacity:1;background:#e2e8f029;color:#f8fafcad}.game-hud-with-chips{min-height:82px}.game-hud-chips{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:0}.game-hud-chip{display:grid;gap:1px;min-width:0;min-height:28px;align-content:center;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:4px 8px;background:#ffffff14;color:#f8fafcd1;font-size:11px;font-weight:900;line-height:1;text-align:center}.game-hud-chip small,.game-hud-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-hud-chip small{color:#f8fafc8c;font-size:9px;font-weight:850;text-transform:uppercase}.game-hud-chip b{color:#fff;font-size:12px}.game-hud-chip.good{border-color:#10b9813d;background:#10b98129}.game-hud-chip.warn{border-color:#f9736b42;background:#f9736b26}.merge-board,.pipes-grid,.flood-board,.memory-grid,.modern-sudoku-grid,.pirate-tableau,.tower-stage,.runner-canvas,.breaker-canvas,.match3-board,.mahjong-board{width:min(100%,430px);margin:0 auto}.merge-board,.pipes-grid,.flood-board,.memory-grid,.modern-sudoku-grid,.match3-board{width:min(100%,430px,calc(100dvh - 144px))}.breaker-game,.runner-game,.tower-game,.merge-game,.pipes-game,.match3-game,.memory-game,.mahjong-game{grid-template-rows:auto minmax(0,1fr)}.merge-game .merge-board,.pipes-game .pipes-grid,.match3-game .match3-board,.memory-game .memory-grid,.mahjong-game .mahjong-board{align-self:center}.breaker-game .game-hud,.runner-game .game-hud,.tower-game .game-hud{position:relative;z-index:2}.merge-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;aspect-ratio:1;border:1px solid rgba(148,163,184,.25);border-radius:18px;padding:8px;background:radial-gradient(circle at 20% 12%,rgba(125,211,252,.18),transparent 24%),linear-gradient(145deg,#172033,#273a56);box-shadow:0 18px 44px #02061740;touch-action:none}.merge-tile{display:grid;place-items:center;border-radius:12px;background:#edf2f7;color:#1f2937;font-size:clamp(22px,8vw,38px);font-weight:950;box-shadow:inset 0 -5px #0f172a14,0 8px 18px #0f172a1f;transition:transform .14s ease,box-shadow .14s ease}.merge-tile:not(.merge-tile-0){animation:tile-rise .18s ease both}.merge-tile-2,.merge-tile-4{background:#dce9ff}.merge-tile-8,.merge-tile-16{background:#9ee7d6}.merge-tile-32,.merge-tile-64{background:#ffd166}.merge-tile-128,.merge-tile-256{background:#f9736b;color:#fff}.merge-tile-512,.merge-tile-1024,.merge-tile-2048{background:#7c3aed;color:#fff}.number-pad,.tool-row,.color-picker{display:grid;gap:8px}.pipes-grid{--grid-size: 5;display:grid;grid-template-columns:repeat(var(--grid-size),minmax(0,1fr));gap:6px;aspect-ratio:1;border:1px solid rgba(125,211,252,.14);border-radius:18px;padding:8px;background:radial-gradient(circle at 30% 18%,rgba(125,211,252,.18),transparent 24%),linear-gradient(145deg,#071524,#102033);box-shadow:0 18px 44px #02061742}.pipe-cell{position:relative;min-height:0;min-width:0;aspect-ratio:1;padding:0;border-radius:12px;background:radial-gradient(circle at 50% 45%,rgba(125,211,252,.12),transparent 38%),#1b3655;transition:transform .12s ease}.pipe-cell:active{transform:scale(.96)}.pipe-shape,.pipe-core,.pipe-arm{position:absolute;display:block}.pipe-shape{top:0;right:0;bottom:0;left:0}.pipe-core{top:50%;left:50%;width:30%;aspect-ratio:1;border-radius:999px;background:#7dd3fc;box-shadow:0 0 16px #7dd3fcb3;transform:translate(-50%,-50%)}.pipe-arm{background:#7dd3fc;box-shadow:0 0 14px #7dd3fc8c}.pipe-arm.top,.pipe-arm.bottom{left:44%;width:12%;height:50%}.pipe-arm.left,.pipe-arm.right{top:44%;width:50%;height:12%}.pipe-arm.top{top:0}.pipe-arm.right{right:0}.pipe-arm.bottom{bottom:0}.pipe-arm.left{left:0}.flood-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;aspect-ratio:1;border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:7px;background:radial-gradient(circle at 16% 10%,rgba(255,255,255,.2),transparent 20%),#111827;box-shadow:0 18px 44px #0206173d}.flood-cell{display:grid;place-items:center;border-radius:8px;color:transparent;font-size:12px;font-weight:900;line-height:1;box-shadow:inset 0 -4px #0f172a24;transition:transform .14s ease}.color-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.flood-swatch{border:3px solid rgba(255,255,255,.72);color:transparent;font-weight:900;box-shadow:0 6px 18px #0f172a1f}.flood-0{background:#00a7a5}.flood-1{background:#f9736b}.flood-2{background:#ffd166}.flood-3{background:#7c3aed}.flood-4{background:#2563eb}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.memory-card{display:grid;min-height:0;min-width:0;aspect-ratio:1;place-items:center;padding:0;border:1px solid rgba(148,163,184,.24);background:radial-gradient(circle at 50% 45%,rgba(158,231,214,.16),transparent 34%),linear-gradient(145deg,#172033,#273a56);color:#fff;font-size:clamp(24px,9vw,42px);box-shadow:0 8px 24px #0f172a29;transition:transform .16s ease,background .16s ease}.memory-card.visible{background:linear-gradient(145deg,#fff,#eef6ff);color:#172033;transform:translateY(-1px)}.memory-card span{display:grid;width:72%;aspect-ratio:1;place-items:center;border-radius:999px;background:#eef6ff}.memory-card span>i{display:block}.memory-mark{width:72%;height:72%;fill:currentColor;color:#14b8a6;filter:drop-shadow(0 4px 8px rgba(15,23,42,.15))}.memory-mark-shine{fill:none;stroke:#ffffffa3;stroke-linecap:round;stroke-width:6}.memory-mark-1,.memory-mark-5{color:#f9736b}.memory-mark-2,.memory-mark-6{color:#7c3aed}.memory-mark-3,.memory-mark-7{color:#f59e0b}.modern-sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:2px;aspect-ratio:1;border:2px solid #172033;background:#172033}.modern-sudoku-grid>button{display:grid;min-height:0;min-width:0;aspect-ratio:1;place-items:center;padding:0;border-radius:0;background:#fff;color:#18202f;font-size:clamp(14px,5.2vw,24px);font-weight:800}.modern-sudoku-grid>button:nth-child(3n){border-right:2px solid #172033}.modern-sudoku-grid>button:nth-child(n+19):nth-child(-n+27),.modern-sudoku-grid>button:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #172033}.modern-sudoku-grid>button.given{background:#eaf1f8;font-weight:900}.modern-sudoku-grid>button.peer{background:#f1faf7}.modern-sudoku-grid>button.selected{background:#c7f0e6;box-shadow:inset 0 0 0 2px #087443}.modern-sudoku-grid>button.wrong{color:#b42318}.modern-sudoku-grid small{display:block;color:#667085;font-size:9px;line-height:1;word-break:break-all}.sudoku-dock{display:grid;gap:8px;position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:2;width:min(100%,360px);margin:0 auto;border:1px solid #d8dee8;border-radius:8px;padding:8px;background:#fffffff5;box-shadow:0 -8px 24px #0f172a14}.sudoku-selected{color:#667085;font-size:12px;font-weight:800;text-align:center}.sudoku-difficulty{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.sudoku-difficulty button{min-height:40px;border-radius:12px;padding:0 6px;background:#ffffffe0;color:#172033;font-size:11px;font-weight:900}.sudoku-difficulty button.active{background:#172033;color:#fff}.sudoku-difficulty button:disabled:not(.active){opacity:.46}.number-pad{grid-template-columns:repeat(3,minmax(44px,1fr));width:min(100%,220px);margin:0 auto}.sudoku-number-pad{width:100%}.number-pad button,.tool-row button{padding:0 6px}.tool-row{grid-template-columns:repeat(3,minmax(0,1fr))}.sudoku-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.sudoku-tools button{font-size:13px}.tool-row button.active{background:#087443;color:#fff}.tower-stage{position:relative;display:block;height:100%;min-height:360px;overflow:hidden;border:1px solid #cbd5e1;border-radius:18px;padding:0;background:radial-gradient(circle at 76% 12%,rgba(255,209,102,.92),transparent 12%),linear-gradient(180deg,#ffffffd1,#fff0),linear-gradient(145deg,#dff7f1,#edf2ff 52%,#fff4d6);box-shadow:0 18px 42px #02061733;touch-action:manipulation}.tower-stage:active{transform:translateY(1px)}.tower-block,.tower-moving-block{position:absolute;height:20px;border-radius:6px;background:linear-gradient(90deg,#087443,#14b8a6);box-shadow:0 8px 18px #08744333;transform:translate(-50%)}.tower-moving-block{top:22px;background:linear-gradient(90deg,#f9736b,#ffd166)}.tower-result{position:absolute;right:16px;bottom:16px;left:16px;border-radius:8px;padding:10px;background:#ffffffe6}.runner-canvas,.breaker-canvas{display:block;width:100%;max-width:100%;height:100%;min-height:0;border:1px solid rgba(148,163,184,.24);border-radius:18px;box-shadow:0 18px 44px #02061747;touch-action:none}.runner-canvas{background:#9bd7ff}.breaker-canvas{background:#101828}.match3-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;aspect-ratio:1;border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:8px;background:radial-gradient(circle at 20% 12%,rgba(255,255,255,.22),transparent 18%),linear-gradient(145deg,#1f2937,#334155);box-shadow:0 18px 44px #0206173d}.match3-cell{display:grid;min-width:0;min-height:0;aspect-ratio:1;place-items:center;padding:0;color:#fff;line-height:1;box-shadow:inset 0 -5px #0f172a1f,0 8px 16px #0f172a24;transition:transform .15s ease,box-shadow .15s ease}.match3-cell:active{transform:scale(.94)}.gem-icon{width:min(68%,42px);height:min(68%,42px);color:#fff;filter:drop-shadow(0 4px 6px rgba(15,23,42,.2))}.gem-icon .gem-top{fill:currentColor}.gem-icon .gem-cut{fill:none;stroke:#ffffff9e;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5}.match3-cell.selected,.mahjong-tile.selected{box-shadow:0 0 0 3px #172033,inset 0 -5px #0f172a1f}.gem-0{background:#f9736b}.gem-1{background:#14b8a6}.gem-2{background:#f59e0b}.gem-3{background:#7c3aed}.gem-4{background:#2563eb}.gem-5{background:#db2777}.mahjong-board{position:relative;display:block;aspect-ratio:16 / 21.5;overflow:visible;border:1px solid rgba(255,248,223,.1);border-radius:18px;padding:0;background:radial-gradient(circle at 70% 18%,rgba(214,168,79,.2),transparent 22%),linear-gradient(145deg,#193429,#244033);box-shadow:0 18px 44px #0206173d}.mahjong-tile{position:absolute;display:grid;min-width:0;min-height:0;place-items:center;border:1px solid rgba(122,75,30,.2);border-radius:10px;padding:0;background:linear-gradient(180deg,#fff8df,#f5dfaa);color:#25352b;font-size:clamp(18px,7vw,30px);box-shadow:inset 0 -6px #7a4b1e26,0 8px 18px #0f172a29;transform:translate(calc(var(--tile-depth, 0) * -3px),calc(var(--tile-depth, 0) * -5px));transition:transform .15s ease,opacity .15s ease,filter .15s ease,box-shadow .15s ease;touch-action:manipulation}.mahjong-tile:active{transform:translateY(1px) scale(.98)}.mahjong-tile.match-candidate{box-shadow:0 0 0 3px #d6a84f73,0 0 20px #d6a84f47,inset 0 -6px #7a4b1e1f}.mahjong-tile.locked{opacity:.48;filter:saturate(.55) brightness(.78);box-shadow:inset 0 -5px #7a4b1e1f,0 4px 10px #0f172a1f}.mahjong-tile.removed{visibility:hidden}.pirate-game{--pirate-ink: #27364a;--pirate-sea: #16324a;--pirate-gold: #d6a84f;--pirate-paper: #fff3cf;--pirate-red: #9f3f2f;--pirate-teal: #0f6770}.pirate-status{display:grid;grid-template-columns:1fr minmax(136px,auto);gap:8px;align-items:stretch;width:min(100%,430px);margin:0 auto}.pirate-status>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;min-height:58px;border:1px solid #d8dee8;border-radius:8px;padding:7px 9px;background:linear-gradient(135deg,#fff,#f6fbff)}.pirate-captain-card{display:grid;width:54px;height:62px;place-items:center;border:1px solid rgba(83,52,28,.16);border-radius:8px;background:var(--pirate-paper);box-shadow:inset 0 -5px #53341c1f,0 8px 16px #0f172a1f}.pirate-status span,.pirate-rule,.pirate-result span{color:#667085;font-size:12px;font-weight:800}.pirate-status button{min-height:58px;padding:0 10px}.pirate-rule{width:min(100%,430px);margin:0 auto;text-align:center;line-height:1.25}.pirate-tableau{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;border:1px solid rgba(22,50,74,.2);border-radius:8px;padding:7px;background:radial-gradient(circle at 18% 12%,rgba(214,168,79,.28),transparent 18%),radial-gradient(circle at 84% 20%,rgba(15,103,112,.45),transparent 20%),linear-gradient(180deg,#ffffff14,#fff0),var(--pirate-sea)}.pirate-tableau:before{position:absolute;right:12px;bottom:8px;left:12px;height:34px;border-radius:999px;background:#08182633;content:"";pointer-events:none}.pirate-card-button{position:relative;display:grid;min-width:0;min-height:66px;place-items:center;padding:0;border:1px solid rgba(83,52,28,.18);background:var(--pirate-paper);color:var(--pirate-ink);box-shadow:inset 0 -5px #53341c1f,0 6px 16px #0f172a2e}.pirate-card-button:disabled{opacity:1}.pirate-card-button:not(.playable):not(.removed){background:#e5edf0;color:#2c455a;box-shadow:inset 0 -4px #16324a1a,0 4px 12px #0f172a1f}.pirate-card-button.playable{outline:3px solid var(--pirate-gold);box-shadow:inset 0 -5px #53341c1f,0 0 0 5px #d6a84f2e,0 8px 18px #0f172a38;transform:translateY(-1px)}.pirate-card-button.removed{visibility:hidden}.pirate-card-face{position:relative;display:grid;width:100%;height:100%;place-items:center;line-height:1}.pirate-card-corner{position:absolute;top:5px;left:6px;display:grid;gap:1px;place-items:center}.pirate-card-corner strong{color:var(--pirate-ink);font-size:clamp(13px,4.2vw,18px);font-weight:950}.pirate-suit{display:block;width:14px;height:14px;color:var(--pirate-teal)}.suit-sail .pirate-suit,.suit-doubloon .pirate-suit{color:var(--pirate-red)}.pirate-card-mark{width:min(42%,34px);height:min(42%,34px);opacity:.95}.pirate-card-face small{position:absolute;right:5px;bottom:5px;left:5px;border-radius:999px;padding:3px 4px;background:#16324a17;color:#53341c;font-size:9px;font-weight:950;text-align:center}.pirate-card-face.compact .pirate-card-corner{top:4px;left:5px}.pirate-card-face.compact .pirate-card-corner strong{font-size:16px}.pirate-card-face.compact .pirate-card-mark{width:24px;height:24px}.pirate-card-face.compact small{font-size:8px}.pirate-result{display:grid;gap:4px;width:min(100%,430px);margin:0 auto;border:1px solid #d8dee8;border-radius:8px;padding:12px;background:#fff}.pirate-result strong{color:#087443}@media(max-width:380px){.pirate-status button{min-height:48px}.pirate-tableau{gap:4px;padding:6px}.pirate-card-button{min-height:60px}.pirate-card-face small{display:none}}@media(max-height:700px){.pirate-status>div{min-height:52px}.pirate-captain-card{width:46px;height:52px}.pirate-rule{font-size:10px}.pirate-card-button{min-height:44px}.pirate-tableau{gap:3px;padding:5px}}@keyframes soft-pulse{0%,to{filter:saturate(1);transform:translateY(0) scale(1)}50%{filter:saturate(1.22);transform:translateY(-1px) scale(1.015)}}@keyframes playable-card-glow{0%,to{filter:saturate(1);box-shadow:inset 0 -5px #53341c1f,0 0 0 5px #d6a84f2e,0 8px 18px #0f172a38}50%{filter:saturate(1.18);box-shadow:inset 0 -5px #53341c1f,0 0 0 8px #d6a84f3d,0 11px 22px #0f172a40}}@keyframes tower-block-pulse{0%,to{filter:saturate(1);transform:translate(-50%) translateY(0) scale(1)}50%{filter:saturate(1.2);transform:translate(-50%) translateY(-1px) scale(1.015)}}@keyframes energy-flow{0%{background-position:0 0}to{background-position:48px 48px}}@keyframes card-reveal{0%{transform:rotateY(22deg) scale(.94)}to{transform:rotateY(0) scale(1)}}.game-page-sudoku .icon-button{background:#ffffffc7;color:#0f172a;box-shadow:inset 0 0 0 1px #0f172a14}.game-page-sudoku .game-hud{border-color:#0f172a1f;background:#ffffffc7;color:#0f172a}.game-page-sudoku .game-hud span,.game-page-sudoku .game-hud p{color:#0f172a9e}.game-page-sudoku .game-hud button:disabled{background:#0f172a14;color:#0f172a85}.game-page-sudoku .game-hud-chip{border-color:#0f172a1a;background:#0f172a0f;color:#172033}.game-page-sudoku .game-hud-chip small{color:#0f172a8a}.game-page-sudoku .game-hud-chip b{color:#172033}.game-page-sudoku .game-hud-chip.good{background:#10b98129}.game-page-sudoku .game-hud-chip.warn{background:#f9736b24}.tower-stage{border-color:#ffffff80;background:radial-gradient(circle at 78% 12%,rgba(255,209,102,.94),transparent 11%),radial-gradient(ellipse at 18% 82%,rgba(20,184,166,.22),transparent 26%),linear-gradient(180deg,#ffffffb8,#fff0),linear-gradient(145deg,#bdefff,#e4f7ff 46%,#fff2c4)}.tower-stage:before,.tower-stage:after{position:absolute;right:0;left:0;content:"";pointer-events:none}.tower-stage:before{bottom:0;height:26%;background:linear-gradient(90deg,transparent 0 7%,rgba(15,23,42,.16) 7% 11%,transparent 11% 18%,rgba(15,23,42,.13) 18% 23%,transparent 23%),linear-gradient(180deg,#0f172a00,#0f172a29)}.tower-stage:after{top:18%;height:9px;background:linear-gradient(90deg,transparent 0 14%,rgba(255,255,255,.72) 14% 28%,transparent 28% 52%,rgba(255,255,255,.62) 52% 70%,transparent 70%);filter:blur(5px)}.tower-block,.tower-moving-block{overflow:hidden;border:1px solid rgba(255,255,255,.5);background:linear-gradient(90deg,rgba(255,255,255,.28),transparent 18% 82%,rgba(0,0,0,.08)),linear-gradient(90deg,#087443,#14b8a6);box-shadow:0 10px 22px #08744347,inset 0 -6px #0f172a21}.tower-block:after,.tower-moving-block:after{position:absolute;top:4px;right:8px;bottom:4px;left:8px;border-radius:4px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.42) 0 8px,transparent 8px 18px);content:"";opacity:.58}.tower-moving-block{background:linear-gradient(90deg,rgba(255,255,255,.32),transparent 20% 80%,rgba(0,0,0,.08)),linear-gradient(90deg,#f9736b,#ffd166);animation:tower-block-pulse 1.2s ease-in-out infinite;box-shadow:0 0 0 5px #ffd1662e,0 12px 24px #f9736b47}.runner-canvas,.breaker-canvas{border-radius:22px;box-shadow:0 20px 52px #02061757,inset 0 0 0 1px #ffffff1a}.merge-board,.pipes-grid,.flood-board,.memory-grid,.modern-sudoku-grid,.match3-board,.mahjong-board,.pirate-tableau{position:relative;isolation:isolate;overflow:hidden}.merge-board{gap:9px;padding:10px;border-color:#ffffff24;background:radial-gradient(circle at 14% 10%,rgba(158,231,214,.22),transparent 23%),radial-gradient(circle at 88% 18%,rgba(255,209,102,.18),transparent 22%),linear-gradient(145deg,#121b2c,#2b3e5c)}.merge-board:before{position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:-1;border-radius:14px;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:25% 25%;content:""}.merge-tile{border:1px solid rgba(255,255,255,.22);text-shadow:0 1px 0 rgba(255,255,255,.24);box-shadow:inset 0 1px #ffffff6b,inset 0 -7px #0f172a1f,0 10px 22px #0206172e}.merge-tile-0{border-color:#ffffff14;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0a}.pipes-grid{border-color:#7dd3fc38;background:radial-gradient(circle at 30% 18%,rgba(125,211,252,.24),transparent 25%),linear-gradient(145deg,#06111f,#102033)}.pipes-grid:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(135deg,rgba(125,211,252,.08) 25%,transparent 25% 50%,rgba(125,211,252,.08) 50% 75%,transparent 75%);background-size:48px 48px;content:"";animation:energy-flow 7s linear infinite}.pipe-cell{border:1px solid rgba(125,211,252,.14);background:radial-gradient(circle at 50% 45%,rgba(125,211,252,.16),transparent 38%),linear-gradient(145deg,#183456,#0d2138);box-shadow:inset 0 1px #ffffff14,inset 0 -5px #0206172e,0 6px 16px #0206172e}.pipe-cell.connected{border-color:#10b98157;background:radial-gradient(circle at 50% 45%,rgba(16,185,129,.2),transparent 38%),linear-gradient(145deg,#123f37,#0d2738)}.pipe-cell.leaking:not(.connected){border-color:#f9736b3d}.pipe-arm,.pipe-core{background:linear-gradient(90deg,rgba(255,255,255,.42),transparent 24% 76%,rgba(255,255,255,.2)),#7dd3fc}.flood-game{grid-template-rows:auto minmax(0,1fr) auto;align-content:start}.flood-game .flood-board{align-self:center}.flood-board{border-color:#ffffff29;background:radial-gradient(circle at 16% 10%,rgba(255,255,255,.18),transparent 20%),linear-gradient(145deg,#07111f,#172033)}.flood-cell{position:relative;border-radius:10px;overflow:hidden;box-shadow:inset 0 1px #ffffff52,inset 0 -5px #0f172a29}.flood-cell:after{position:absolute;top:12%;left:12%;width:54%;height:18%;border-radius:999px;background:#ffffff2e;content:"";transform:rotate(-12deg)}.flood-cell.captured{box-shadow:inset 0 1px #ffffff6b,inset 0 -5px #0f172a1f,0 0 0 2px #ffffff3d,0 0 18px #9ee7d624}.flood-cell.captured:before{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border-radius:999px;background:#fff3;content:""}.flood-cell:nth-child(3n){border-top-left-radius:18px}.flood-cell:nth-child(4n){border-bottom-right-radius:18px}.color-picker{width:min(100%,430px);margin:0 auto}.flood-swatch{min-height:48px;border:2px solid rgba(255,255,255,.78);border-radius:16px;box-shadow:inset 0 1px #ffffff5c,inset 0 -6px #0f172a29,0 10px 22px #0206172e}.memory-grid{padding:8px;border-radius:22px;background:radial-gradient(circle at 20% 18%,rgba(255,209,102,.18),transparent 24%),linear-gradient(145deg,#111827,#273a56);box-shadow:0 18px 44px #0206173d;perspective:800px}.memory-card{position:relative;overflow:hidden;border-color:#ffffff24;border-radius:18px;background:radial-gradient(circle at 50% 42%,rgba(158,231,214,.16),transparent 34%),linear-gradient(145deg,#172033,#314869);box-shadow:inset 0 1px #ffffff1f,inset 0 -7px #02061733,0 10px 22px #02061738}.memory-card:before{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:linear-gradient(45deg,transparent 0 42%,rgba(255,255,255,.08) 42% 58%,transparent 58%),radial-gradient(circle at 50% 50%,rgba(158,231,214,.14),transparent 38%);content:""}.memory-card span>i{width:70%;height:70%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16) 0 12%,transparent 13%),conic-gradient(from 20deg,#9ee7d6b3,#ffd166a6,#a78bfab3,#9ee7d6b3);opacity:.76}.memory-card.visible{animation:card-reveal .18s ease both;background:linear-gradient(145deg,#fff,#eef6ff)}.memory-card.previewing{box-shadow:inset 0 1px #ffffff61,0 0 0 3px #ffd1662e,0 14px 26px #02061733}.memory-card.under-pressure:not(.visible):after{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:13px;background:radial-gradient(circle,rgba(249,115,107,.18),transparent 64%);content:"";pointer-events:none}.memory-card.visible:before{opacity:0}.match3-board{gap:7px;padding:9px;border-color:#ffffff24;background:radial-gradient(circle at 20% 12%,rgba(255,255,255,.22),transparent 18%),radial-gradient(circle at 78% 80%,rgba(20,184,166,.18),transparent 24%),linear-gradient(145deg,#111827,#334155)}.match3-cell{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:15px;box-shadow:inset 0 1px #ffffff52,inset 0 -7px #0f172a29,0 10px 20px #02061733}.match3-cell:after{position:absolute;top:10%;left:14%;width:44%;height:12%;border-radius:999px;background:#ffffff52;content:"";transform:rotate(-12deg)}.match3-cell.selected{animation:soft-pulse .7s ease-in-out infinite}.gem-icon{width:min(74%,46px);height:min(74%,46px);filter:drop-shadow(0 6px 8px rgba(15,23,42,.28)) drop-shadow(0 0 8px rgba(255,255,255,.12))}.mahjong-board{padding:0;border-color:#fff8df29;background:radial-gradient(circle at 70% 18%,rgba(214,168,79,.22),transparent 22%),radial-gradient(circle at 18% 78%,rgba(255,248,223,.1),transparent 22%),linear-gradient(145deg,#11281f,#244033)}.mahjong-tile{border-radius:13px;background:linear-gradient(180deg,#fffdf0,#f3dfaa);box-shadow:inset 0 1px #ffffffe6,inset -4px 0 #7a4b1e14,inset 0 -7px #7a4b1e29,0 10px 20px #02061733}.mahjong-mark{width:86%;height:86%;filter:drop-shadow(0 3px 5px rgba(15,23,42,.12))}.mahjong-mark-paper{fill:#fff7df}.mahjong-mark-inner{fill:#ffffff57;stroke:#7a4b1e2e;stroke-width:2}.mahjong-mark-ink{fill:none;stroke:#0f6770;stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.mahjong-mark-1 .mahjong-mark-ink,.mahjong-mark-5 .mahjong-mark-ink,.mahjong-mark-10 .mahjong-mark-ink{stroke:#9f3f2f}.mahjong-mark-2 .mahjong-mark-ink,.mahjong-mark-8 .mahjong-mark-ink,.mahjong-mark-11 .mahjong-mark-ink{stroke:#d6a84f}.mahjong-mark-12 .mahjong-mark-ink,.mahjong-mark-16 .mahjong-mark-ink{stroke:#2563eb}.mahjong-mark-13 .mahjong-mark-ink,.mahjong-mark-17 .mahjong-mark-ink{stroke:#7c3aed}.mahjong-mark-14 .mahjong-mark-ink{stroke:#0f766e}.mahjong-mark-15 .mahjong-mark-ink{stroke:#b45309}.sudoku-game{grid-template-rows:auto minmax(0,auto) auto;align-content:start}.modern-sudoku-grid{width:min(100vw,430px,calc(100dvh - 144px));margin-inline:calc((100% - min(100vw,430px,calc(100dvh - 144px)))/2);gap:1px;border:3px solid rgba(15,23,42,.82);border-radius:16px;padding:2px;background:#0f172ad1;box-shadow:0 18px 44px #0f172a2e,inset 0 1px #ffffff29}.modern-sudoku-grid>button{border-radius:5px;background:#fffffff0;box-shadow:inset 0 -2px #0f172a0a}.modern-sudoku-grid>button.given{background:#dce9ff;color:#172033}.modern-sudoku-grid>button.peer{background:#e8f7f1}.modern-sudoku-grid>button.selected{background:#9ee7d6;box-shadow:inset 0 0 0 2px #087443,0 0 0 3px #08744326}.sudoku-dock{border-color:#ffffff80;border-radius:16px;background:#ffffffc7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sudoku-selected{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:8px;align-items:center;min-height:52px;color:#172033}.sudoku-selected strong{display:grid;width:52px;height:52px;place-items:center;border-radius:16px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.82),transparent 28%),linear-gradient(145deg,#9ee7d6,#67e8f9);color:#0f172a;font-size:26px;font-weight:950;line-height:1;box-shadow:inset 0 -4px #0f172a14,0 8px 18px #0f172a1f}.sudoku-selected span:first-child{text-align:right}.sudoku-selected span:last-child{text-align:left}.sudoku-tools button,.sudoku-number-pad button{border-radius:12px;background:#fff;box-shadow:inset 0 -3px #0f172a0d,0 5px 12px #0f172a14}.pirate-game{grid-template-rows:auto auto auto minmax(0,auto);align-content:start}.pirate-status>div,.pirate-result{border-color:#fff3cf38;background:radial-gradient(circle at 85% 20%,rgba(214,168,79,.16),transparent 30%),linear-gradient(135deg,#fff9e7,#edf7f5)}.pirate-tableau{border-radius:18px;box-shadow:0 18px 44px #02061747}.pirate-card-button{border-radius:13px}.pirate-card-button.playable{animation:playable-card-glow 1.05s ease-in-out infinite}@media(max-height:700px){.sudoku-dock{gap:5px;padding:6px}.sudoku-selected{display:none}.sudoku-tools button{font-size:11px}.sudoku-number-pad{grid-template-columns:repeat(5,minmax(0,1fr))}.modern-sudoku-grid{width:min(100%,344px,calc(100dvh - 308px));margin-inline:auto}.memory-grid,.match3-board,.mahjong-board,.merge-board,.pipes-grid,.flood-board{width:min(100%,390px,calc(100dvh - 144px))}.mahjong-board{width:min(100%,390px,calc((100dvh - 160px)*.744))}}@media(prefers-reduced-motion:reduce){.games-home .game-card,.games-home .game-preview:after,.game-pulse,.match3-cell.selected,.pirate-card-button.playable,.tower-moving-block,.rabbit-sprite,.starlight-canvas{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
