:root{
  --game-ink:#f5f5f7;
  --game-muted:#a1a1aa;
  --game-panel:#17171b;
  --game-line:#303038;
  --game-accent:#76e6a3;
  --game-accent-2:#8ba7ff;
}
.games-main{background:#09090b;color:var(--game-ink)}
.games-main .site-container{max-width:1180px!important}
.games-hero{padding:34px 0 54px;border-bottom:1px solid var(--game-line)}
.games-account-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-bottom:74px}
.games-live{display:inline-flex;align-items:center;gap:8px;color:var(--game-muted);font-size:.76rem;font-weight:800}
.games-live i{width:8px;height:8px;border-radius:50%;background:var(--game-accent);box-shadow:0 0 0 5px rgba(118,230,163,.1)}
.cloud-login,.cloud-logout{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid var(--game-line);border-radius:6px;background:#fff;color:#111;font:800 .78rem 'Noto Sans KR',sans-serif;cursor:pointer}
.cloud-login span{display:grid;width:20px;height:20px;margin-right:7px;place-items:center;border-radius:50%;background:#4285f4;color:#fff;font-size:.7rem}
.cloud-logout{min-height:36px;background:transparent;color:#fff}
.cloud-user{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:.78rem}
.cloud-user img{width:28px;height:28px;border-radius:50%;object-fit:cover}
[data-cloud-account]{display:flex;align-items:center;gap:10px}
.games-kicker{margin:0 0 14px;color:var(--game-accent);font-size:.75rem;font-weight:900;text-transform:uppercase}
.games-hero h1{max-width:760px;margin:0;color:#fff;font-size:4.5rem;line-height:1.02;word-break:keep-all}
.games-hero>p:not(.games-kicker){max-width:650px;margin:22px 0 0;color:var(--game-muted);font-size:1.08rem;line-height:1.75;word-break:keep-all}
.games-cloud-copy{display:flex;align-items:center;gap:10px;max-width:660px;margin-top:26px;padding-top:22px;border-top:1px solid var(--game-line);color:var(--game-muted)}
.games-cloud-copy>span{color:var(--game-accent);font-size:.65rem}.games-cloud-copy p{margin:0!important;font-size:.8rem!important;line-height:1.55!important}
.rank-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 72px;padding:24px 28px;border:1px solid #4b4330;border-radius:8px;background:#201d16;color:#fff;text-decoration:none}
.rank-banner span{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:16px}.rank-banner small{display:block;grid-column:1 / -1;margin-bottom:7px;color:#f3c856;font-size:.65rem;font-weight:900}.rank-banner strong{font-size:1.18rem}.rank-banner p{margin:0;color:#a9a293;font-size:.8rem}.rank-banner b{color:#f3c856;font-size:.8rem;white-space:nowrap}
.games-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.games-section-title span{color:var(--game-accent);font-size:.68rem;font-weight:900}.games-section-title h2{margin:0;color:#fff;font-size:1.8rem}
.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 0 80px}
.game-card{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr);min-height:180px;overflow:hidden;border:1px solid var(--game-line);border-radius:8px;background:var(--game-panel);color:#fff;text-decoration:none;transition:transform .2s,border-color .2s}
.game-card:hover{transform:translateY(-2px);border-color:#555561}
.game-card-media{position:relative;display:block;min-width:0;overflow:hidden;background:#101013}
.game-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.game-card:hover img{transform:scale(1.035)}
.game-card-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:23px 22px}
.game-card-copy span{color:var(--game-accent);font-size:.72rem;font-weight:900}
.game-card-copy h2{margin:8px 0;color:#fff;font-size:1.25rem;line-height:1.2}
.game-card-copy p{margin:0;color:rgba(255,255,255,.75);font-size:.9rem;line-height:1.6}
.game-card-copy b{display:inline-flex;margin-top:auto;padding-top:12px;color:#fff;font-size:.8rem}
.game-card-new::before{position:absolute;z-index:2;top:10px;left:10px;padding:5px 8px;border-radius:4px;background:#ffd45c;color:#28200d;content:'NEW';font-size:.6rem;font-weight:900}
.game-page .site-main{background:#09090b;color:var(--game-ink)}
.game-page .site-main>.site-container{max-width:980px!important;padding-top:36px;padding-bottom:80px}
.game-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.game-title-block a{display:inline-flex;margin-bottom:18px;color:var(--game-muted);font-size:.78rem;text-decoration:none}
.game-title-block h1{margin:0;color:#fff;font-size:2.5rem;line-height:1.12}
.game-title-block p{margin:10px 0 0;color:var(--game-muted)}
.game-metrics{display:flex;gap:8px}
.game-metric{min-width:94px;padding:12px 14px;border:1px solid var(--game-line);border-radius:6px;background:var(--game-panel)}
.game-metric span,.game-metric strong{display:block}
.game-metric span{color:var(--game-muted);font-size:.68rem;font-weight:800}
.game-metric strong{margin-top:4px;color:#fff;font-size:1.25rem}
.game-surface{position:relative;overflow:hidden;border:1px solid var(--game-line);border-radius:8px;background:var(--game-panel)}
.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--game-line)}
.game-status{margin:0;color:var(--game-muted);font-size:.82rem;font-weight:700}
.game-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;border:0;border-radius:5px;background:var(--game-accent);color:#08150d;font:900 .82rem 'Noto Sans KR',sans-serif;cursor:pointer}
.game-button:hover{filter:brightness(.94)}
.game-button.secondary{border:1px solid var(--game-line);background:transparent;color:#fff}
.game-canvas-wrap{display:grid;place-items:center;min-height:520px;padding:26px;background:radial-gradient(circle at 50% 30%,#202027 0,#101013 60%)}
#snakeMount canvas{display:block;max-width:100%;height:auto!important;border:1px solid #33333c}
.dpad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);justify-content:center;gap:6px;padding:16px;border-top:1px solid var(--game-line)}
.dpad button{display:grid;place-items:center;border:1px solid var(--game-line);border-radius:5px;background:#202027;color:#fff;font-size:1.1rem;cursor:pointer;touch-action:manipulation}
.dpad .up{grid-column:2}.dpad .left{grid-column:1}.dpad .down{grid-column:2}.dpad .right{grid-column:3}
.merge-wrap{display:grid;place-items:center;min-height:560px;padding:32px;background:#101013}
.merge-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(100%,520px);aspect-ratio:1;padding:12px;border-radius:8px;background:#25252c;touch-action:none}
.merge-cell{display:grid;place-items:center;min-width:0;border-radius:6px;background:#34343d;color:#f5f5f7;font-size:2rem;font-weight:900}
.merge-cell[data-value="2"]{background:#e8e4dc;color:#26211c}.merge-cell[data-value="4"]{background:#ddd0b7;color:#26211c}
.merge-cell[data-value="8"]{background:#f0a45d}.merge-cell[data-value="16"]{background:#ef8150}.merge-cell[data-value="32"]{background:#ea5f4d}
.merge-cell[data-value="64"]{background:#d94143}.merge-cell[data-value="128"]{background:#ddb94f;color:#201d13;font-size:1.7rem}
.merge-cell[data-value="256"]{background:#d4a832;color:#201d13;font-size:1.7rem}.merge-cell[data-value="512"]{background:#c9911f;font-size:1.7rem}
.merge-cell[data-value="1024"],.merge-cell[data-value="2048"]{background:#7d6af0;font-size:1.35rem}
.memory-wrap{display:grid;place-items:center;min-height:560px;padding:32px;background:#101013}
.memory-board{display:grid;grid-template-columns:repeat(4,minmax(72px,118px));gap:12px}
.memory-card{position:relative;aspect-ratio:4/5;border:0;border-radius:8px;background:#25252c;color:transparent;font-size:2.4rem;cursor:pointer;transform-style:preserve-3d;transition:transform .25s,background .25s}
.memory-card::after{display:grid;position:absolute;inset:0;place-items:center;content:'?';color:#777784;font-size:1.4rem;font-weight:900}
.memory-card.open,.memory-card.matched{background:#f5f5f7;color:#17171b;transform:rotateY(180deg)}
.memory-card.open::after,.memory-card.matched::after{display:none}
.memory-card.matched{background:var(--game-accent)}
.reaction-wrap{display:grid;place-items:center;min-height:560px;padding:32px;background:#101013}
.reaction-zone{display:grid;width:min(100%,680px);min-height:390px;place-items:center;padding:30px;border:0;border-radius:8px;background:#24242a;color:#fff;text-align:center;cursor:pointer;transition:background .16s;touch-action:manipulation}
.reaction-zone strong{display:block;font-size:3.2rem;line-height:1.05}
.reaction-zone span{display:block;margin-top:14px;color:#b5b5bf;font-size:.9rem}
.reaction-zone.waiting{background:#3b2730}.reaction-zone.ready{background:#1fa36b}.reaction-zone.result{background:#273b59}
.reaction-history{display:flex;flex-wrap:wrap;gap:8px;padding:16px;border-top:1px solid var(--game-line)}
.reaction-history span{padding:7px 10px;border-radius:5px;background:#24242a;color:var(--game-muted);font-size:.76rem}
.cloud-game-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;padding:18px 20px;border:1px solid var(--game-line);border-radius:8px;background:var(--game-panel)}
.cloud-game-note strong{display:block;color:#fff;font-size:.9rem}.cloud-game-note p{margin:5px 0 0;color:var(--game-muted);font-size:.76rem;line-height:1.5}
.cloud-actions{display:flex;align-items:center;gap:15px}.cloud-actions>a{color:var(--game-accent);font-size:.75rem;font-weight:900;text-decoration:none;white-space:nowrap}
.mole-wrap{min-height:560px;padding:26px;background:#101013}
.mole-timer{display:flex;align-items:baseline;justify-content:space-between;width:min(100%,560px);margin:0 auto 18px;color:var(--game-muted);font-size:.76rem}.mole-timer strong{color:#fff;font-size:1.5rem}
.mole-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(100%,560px);aspect-ratio:1;margin:auto;touch-action:manipulation}
.mole-hole{display:grid;place-items:center;border:1px solid #35353d;border-radius:8px;background:#1d1d22;cursor:pointer;touch-action:manipulation}
.mole-hole span{display:grid;width:62%;aspect-ratio:1;place-items:center;border-radius:50%;background:#111115;color:transparent;font-size:2.3rem;transition:transform .14s,background .14s}
.mole-hole.is-mole span{background:#76e6a3;color:#143321;transform:translateY(-5px)}.mole-hole.is-bomb span{background:#ff7e88;color:#42151a;transform:translateY(-5px)}.mole-hole.is-hit span{background:#303038;color:#fff;transform:scale(.82)}
.rank-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:45px 0 50px}.rank-hero a{display:inline-block;margin-bottom:42px;color:var(--game-muted);font-size:.78rem;text-decoration:none}.rank-hero h1{margin:0;color:#fff;font-size:3.6rem;line-height:1}.rank-hero>div>p:last-child{max-width:600px;margin:18px 0 0;color:var(--game-muted);line-height:1.7}.rank-account{max-width:320px;padding:18px;border:1px solid var(--game-line);border-radius:8px;background:var(--game-panel)}.rank-account p{margin:12px 0 0;color:var(--game-muted);font-size:.73rem;line-height:1.5}
.rank-period,.rank-games{display:flex;overflow-x:auto;scrollbar-width:none}.rank-period{border:1px solid var(--game-line);border-radius:7px}.rank-period button{flex:1;min-height:46px;border:0;border-right:1px solid var(--game-line);background:transparent;color:var(--game-muted);font:800 .8rem 'Noto Sans KR',sans-serif;cursor:pointer}.rank-period button:last-child{border-right:0}.rank-period button.is-active{background:#fff;color:#111}.rank-games{gap:8px;padding:22px 0}.rank-games button{min-height:40px;padding:8px 15px;border:1px solid var(--game-line);border-radius:6px;background:transparent;color:var(--game-muted);font:800 .76rem 'Noto Sans KR',sans-serif;white-space:nowrap;cursor:pointer}.rank-games button.is-active{border-color:var(--game-accent);color:var(--game-accent)}
.rank-board{overflow:hidden;border:1px solid var(--game-line);border-radius:8px;background:var(--game-panel)}.rank-board-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border-bottom:1px solid var(--game-line)}.rank-board-head span,.rank-board-head strong{display:block}.rank-board-head span{color:var(--game-muted);font-size:.7rem;font-weight:900}.rank-board-head strong{margin-top:4px;color:#fff;font-size:1.15rem}.rank-board-head a{color:var(--game-accent);font-size:.78rem;font-weight:900;text-decoration:none}
.rank-list{margin:0;padding:0;list-style:none}.rank-list li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:10px 20px;border-bottom:1px solid var(--game-line)}.rank-list li:last-child{border-bottom:0}.rank-number{color:var(--game-muted);font-size:.8rem;font-weight:900}.rank-player{display:flex;min-width:0;align-items:center;gap:10px}.rank-player img,.rank-player i{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;background:#303038;object-fit:cover;color:#fff;font-style:normal}.rank-player b{overflow:hidden;color:#fff;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.rank-list li>strong{color:#fff;font-size:1rem}.rank-list small{margin-left:3px;color:var(--game-muted);font-size:.65rem}.rank-empty{padding:70px 24px;text-align:center}.rank-empty strong{color:#fff}.rank-empty p{max-width:520px;margin:10px auto 0;color:var(--game-muted);font-size:.8rem;line-height:1.65}
.rank-guide{padding:60px 0 30px}.rank-guide h2{margin:0 0 22px;color:#fff;font-size:1.5rem}.rank-guide>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.rank-guide p{margin:0;color:var(--game-muted);font-size:.8rem;line-height:1.75}
.game-more{padding:36px 0 0}
.game-more h2{margin:0 0 18px;color:#fff;font-size:1.15rem}
.game-more-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.game-more-links a{padding:16px;border:1px solid var(--game-line);border-radius:6px;color:#fff;text-decoration:none}
.game-more-links a:hover{border-color:#61616d}
.game-about{margin-top:26px;border-top:1px solid var(--game-line);border-bottom:1px solid var(--game-line)}
.game-about summary{padding:18px 0;color:#fff;font-size:.88rem;font-weight:900;cursor:pointer}
.game-about>div{max-width:760px;padding:0 0 24px}
.game-about h2{margin:22px 0 10px;color:#fff;font-size:1.05rem}
.game-about p{margin:0 0 12px;color:var(--game-muted);font-size:.86rem;line-height:1.8;word-break:keep-all}
.games-notes{padding:70px 0 90px;border-top:1px solid var(--game-line)}
.games-notes h2{max-width:680px;margin:0;color:#fff;font-size:2rem;line-height:1.25}
.games-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:34px}
.games-notes-grid h3{margin:0 0 10px;color:#fff;font-size:1rem}
.games-notes-grid p{margin:0;color:var(--game-muted);font-size:.86rem;line-height:1.8;word-break:keep-all}
@media(max-width:720px){
  .games-hero{padding:20px 0 42px}.games-account-row{margin-bottom:52px}.games-hero h1{font-size:3.1rem}
  .rank-banner{margin:24px 0 58px;padding:20px}.rank-banner span{display:block}.rank-banner p{margin-top:4px}.rank-banner b{font-size:0;color:transparent}.rank-banner b::after{color:#f3c856;content:'→';font-size:1.1rem}
  .games-section-title{display:block}.games-section-title h2{margin-top:6px;font-size:1.55rem}
  .games-grid{grid-template-columns:1fr}.game-card{grid-template-columns:128px minmax(0,1fr);min-height:154px}.game-card-copy{padding:18px 16px}.game-card-copy h2{font-size:1.12rem}.game-card-copy p{font-size:.78rem}.game-card-copy b{font-size:.72rem}
  .game-topline{display:block}.game-metrics{margin-top:20px}.game-metric{flex:1}
  .game-title-block h1{font-size:2rem}.game-canvas-wrap,.merge-wrap,.memory-wrap,.reaction-wrap{min-height:470px;padding:16px}
  .memory-board{grid-template-columns:repeat(3,minmax(72px,100px));gap:8px}
  .merge-board{gap:7px;padding:8px}.merge-cell{font-size:1.45rem}
  .cloud-game-note{display:block}.cloud-actions{justify-content:space-between;margin-top:15px}
  .mole-wrap{min-height:0;padding:16px}.mole-board{gap:8px}.mole-hole span{font-size:1.8rem}
  .game-more-links{grid-template-columns:1fr}
  .games-notes-grid{grid-template-columns:1fr;gap:26px}
  .rank-hero{display:block;padding:30px 0}.rank-hero a{margin-bottom:32px}.rank-hero h1{font-size:2.8rem}.rank-account{max-width:none;margin-top:25px}.rank-games{margin-right:-15px}.rank-board-head{padding:18px}.rank-list li{padding:9px 15px}.rank-guide>div{grid-template-columns:1fr}
}
@media(max-width:390px){
  .games-hero h1{font-size:2.6rem}.games-account-row{gap:8px}.games-live{font-size:.67rem}.cloud-login{padding:8px 11px;font-size:.7rem}.game-card{grid-template-columns:112px minmax(0,1fr)}
  .game-canvas-wrap,.merge-wrap,.memory-wrap,.reaction-wrap{min-height:430px;padding:10px}
  .memory-card{font-size:1.9rem}.reaction-zone strong{font-size:2.5rem}
}
