.collection-hero{padding:94px 0 103px}.collection-hero h1,.game-page-hero h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,88px);line-height:1.02;letter-spacing:-3.5px;font-weight:500;margin:20px 0}.collection-hero h1 em{color:#a76f4e;font-weight:400}.collection-hero p{font-size:18px;line-height:1.7;color:#657168;max-width:630px;margin:0 0 28px}.catalog-section,.play-section{background:#e8ece3;border-block:1px solid #dce3d8;padding:70px 0 85px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalog-card{min-height:255px;background:#fffefa;border:1px solid #d9ded3;border-radius:10px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 8px 20px #29473509;transition:transform .16s,box-shadow .16s}.catalog-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 15px 25px #29473518}.catalog-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:9px;background:#e7ecdf;color:#2d5b42;font-size:26px;line-height:1;margin-bottom:20px}.catalog-category{font-size:10px;color:#aa7150;letter-spacing:1.7px;text-transform:uppercase;font-weight:800}.catalog-card strong{font-family:Georgia,serif;font-weight:500;letter-spacing:-.5px;font-size:27px;margin:5px 0 9px}.catalog-card>span:nth-last-child(2){font-size:12px;line-height:1.6;color:#6e796e}.catalog-card b{margin-top:auto;padding-top:20px;color:#2b6047;font-size:12px}.game-page-hero{padding:45px 0 40px}.game-page-hero .breadcrumb{display:block;font-size:12px;color:#718073;margin-bottom:35px}.game-page-hero h1{font-size:clamp(49px,6vw,76px);margin:10px 0 12px}.game-page-hero p{max-width:700px;font-size:16px;color:#657168;line-height:1.7;margin:0}.play-section{padding:35px 0 70px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.play-surface{min-height:450px;background:#fffefa;border:1px solid #d8e0d3;border-radius:12px;padding:24px;box-shadow:0 12px 38px #2947350b}.play-aside{background:#254936;color:white;padding:26px;border-radius:11px}.play-aside h2{font-family:Georgia,serif;font-weight:500;font-size:27px;margin:18px 0 12px}.play-aside>p{font-size:13px;line-height:1.7;color:#d3dfd3}.play-aside .aside-tip{margin-top:25px;min-height:130px;padding:20px}.play-aside .aside-tip p{font-size:18px;margin:12px 0 0}.related-section{padding:75px 0 90px}.catalog-grid.compact .catalog-card{min-height:235px}.game-root{min-height:360px}.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.game-toolbar h2{font-family:Georgia,serif;font-size:24px;letter-spacing:-.5px;margin:0;font-weight:500}.game-stats{display:flex;gap:10px;flex-wrap:wrap}.stat{background:#edf1e9;border-radius:5px;padding:8px 12px;font-size:11px;color:#647467;font-weight:700}.stat strong{display:block;font-size:18px;color:#274d39;font-variant-numeric:tabular-nums}.game-button,.game-root button:not(.tile):not(.cell){border:1px solid #d6ded2;background:#fffefa;color:#2d543f;border-radius:5px;padding:10px 14px;font-size:13px;font-weight:750}.game-button:hover,.game-root button:hover{background:#edf3e9}.game-button.primary{background:#2d5b42;color:white;border-color:#2d5b42}.game-button.primary:hover{background:#3c7053;color:white}.game-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.game-message{font-size:13px;color:#5f7261;min-height:20px;margin:12px 0}.game-canvas{display:block;width:min(100%,430px);height:auto;aspect-ratio:4/5;background:#f1f4e9;border:2px solid #738a74;border-radius:8px;margin-inline:auto;touch-action:none}.game-canvas.wide{width:100%;aspect-ratio:16/9}.direction-pad{display:grid;grid-template-columns:repeat(3,46px);gap:5px;justify-content:center;margin:14px 0}.direction-pad button{height:43px}.direction-pad button:nth-child(1){grid-column:2}.direction-pad button:nth-child(2){grid-column:1}.direction-pad button:nth-child(3){grid-column:2}.direction-pad button:nth-child(4){grid-column:3}.game-status-panel{background:#f2f4ed;border:1px solid #dbe4d7;border-radius:7px;padding:14px 16px;margin-top:14px}.game-status-panel strong{font-family:Georgia,serif;font-size:20px;font-weight:500}.game-status-panel p{font-size:13px;color:#627262;margin:4px 0 0}.game-grid{display:grid;gap:5px;margin-inline:auto}.grid-2048{width:min(100%,400px);grid-template-columns:repeat(4,1fr);background:#abc0ac;padding:8px;border-radius:8px;touch-action:none}.tile-2048{aspect-ratio:1;border-radius:5px;display:grid;place-items:center;background:#dbe5d7;color:#315441;font-weight:900;font-size:clamp(18px,4vw,32px)}.tile-2048[data-value="0"]{color:transparent;background:#cddbc9}.tile-2048[data-value="2"],.tile-2048[data-value="4"]{background:#f5e4c9}.tile-2048[data-value="8"],.tile-2048[data-value="16"]{background:#edbd83}.tile-2048[data-value="32"],.tile-2048[data-value="64"]{background:#df966a;color:white}.tile-2048[data-value="128"],.tile-2048[data-value="256"],.tile-2048[data-value="512"]{background:#bd754e;color:white}.tile-2048[data-value="1024"],.tile-2048[data-value="2048"]{background:#2d6248;color:white;font-size:24px}.craft-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:16px}.craft-workspace{min-height:330px;background:#eff2e9;border:1px dashed #a8bca7;border-radius:8px;padding:18px}.craft-selected{display:flex;gap:10px;align-items:center;min-height:56px}.craft-slot{border:1px solid #cdd9ca;border-radius:5px;background:white;padding:9px 12px;min-width:90px;text-align:center;font-size:13px}.craft-library{max-height:340px;overflow:auto;display:flex;align-content:start;align-items:start;flex-wrap:wrap;gap:7px}.craft-library button{padding:7px 9px!important}.craft-result{font-family:Georgia,serif;font-size:26px;margin:24px 0;color:#285139}.craft-count{font-size:12px;color:#677968}.mahjong-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;max-width:610px;margin-inline:auto}.mahjong-board .tile{height:57px;border:2px solid #bdc9b6;border-bottom-width:5px;background:#fffdf1;border-radius:6px;font-size:24px;color:#315542}.mahjong-board .tile:disabled{opacity:.25;cursor:default}.mahjong-board .tile.selected{background:#f4d2a9;border-color:#b7794d}.mahjong-board .tile.removed{visibility:hidden}.card-top{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:23px}.card-tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;min-height:320px}.card-pile{min-height:90px;border:1px dashed #abc1ad;border-radius:6px;position:relative;text-align:center;color:#899d8b;font-size:11px;padding:3px;cursor:pointer}.card-pile.selected{outline:3px solid #d69b61}.playing-card{height:65px;border:1px solid #bdcbbd;border-radius:5px;background:#fffef8;display:flex;align-items:flex-start;justify-content:flex-start;padding:5px;font-size:15px;font-weight:800;box-shadow:0 2px 4px #244b321a;cursor:pointer}.playing-card.red{color:#bd6753}.playing-card.black{color:#244333}.playing-card.back{background:repeating-linear-gradient(45deg,#315e45 0 5px,#4f765b 5px 10px);border:3px solid #fff;color:transparent}.tableau-card{position:absolute;left:2px;right:2px}.card-label{display:block;font-size:10px;color:#839583;margin-top:4px}.sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,500px);margin-inline:auto;border:2px solid #3d6149}.sudoku-grid button{aspect-ratio:1;padding:0!important;border:1px solid #b7c9b9!important;border-radius:0!important;font-size:clamp(14px,3vw,23px)!important}.sudoku-grid button.given{background:#e2eadf!important;color:#264632!important}.sudoku-grid button.active{background:#f4d6b5!important}.sudoku-grid button.conflict{color:#b94848!important}.sudoku-grid button.box-right{border-right:2px solid #3d6149!important}.sudoku-grid button.box-bottom{border-bottom:2px solid #3d6149!important}.sudoku-keypad{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin:14px auto;max-width:500px}.sudoku-keypad button{padding:9px 0!important}.country-shape{height:270px;display:grid;place-items:center;background:#edf1e9;border-radius:8px;margin-bottom:20px}.country-shape svg{width:95%;height:95%;fill:#315e46;stroke:#214d37;stroke-width:1}.guess-form{display:flex;gap:8px}.guess-form input{min-width:0;flex:1;border:1px solid #c2d0c0;padding:11px;border-radius:5px;font:inherit}.guess-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.guess-list span{padding:6px 9px;border-radius:4px;background:#e5ece3;color:#415846;font-size:12px}
@media(max-width:900px){.play-layout{grid-template-columns:1fr}.play-aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.play-aside .aside-tip{margin:0}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.collection-hero{padding:58px 0 70px}.collection-hero h1,.game-page-hero h1{font-size:clamp(49px,11vw,68px);letter-spacing:-2.5px}.catalog-section{padding:55px 0}.catalog-grid{grid-template-columns:1fr}.catalog-card{min-height:220px}.game-page-hero{padding:30px 0}.play-section{padding:14px 0 50px}.play-surface{padding:14px;min-height:340px}.play-aside{display:block}.play-aside .aside-tip{margin-top:20px}.craft-layout{grid-template-columns:1fr}.craft-library{max-height:220px}.mahjong-board{gap:3px}.mahjong-board .tile{height:42px;font-size:18px}.playing-card{height:58px;font-size:12px;padding:3px}.card-pile{min-height:70px}.card-top,.card-tableau{gap:3px}.sudoku-keypad{grid-template-columns:repeat(5,1fr)}}
.play-aside .aside-tip{color:#3a513d}.play-aside .aside-tip p{color:#3a513d}.craft-search{width:100%;border:1px solid #c9d8c9;border-radius:5px;padding:10px;margin:11px 0}.sudoku-grid button.notes{font-size:10px!important;line-height:1.2;overflow-wrap:anywhere;color:#64806a}.data-credit{font-size:11px;line-height:1.5;color:#7b8c7b;margin-top:18px}.data-credit a{text-decoration:underline}.game-root button:disabled{opacity:.5;cursor:not-allowed}
.game-details{padding-block:74px 10px}.game-details h2{font-family:Georgia,serif;font-size:38px;font-weight:500;letter-spacing:-1.3px;margin:10px 0 26px}.game-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.game-details h3{font-family:Georgia,serif;font-size:23px;font-weight:500;margin:0 0 10px}.game-details p{color:#657168;font-size:14px;line-height:1.8;margin:0}@media(max-width:650px){.game-details{padding-block:55px 0}.game-details h2{font-size:32px}.game-details-grid{grid-template-columns:1fr;gap:27px}}

.home-hero{padding:25px 0 29px}
.home-hero h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);line-height:1.05;letter-spacing:-2px;font-weight:500;margin:8px 0 11px}
.home-hero h1 em{color:#a76f4e;font-weight:400}
.home-hero p{font-size:15px;line-height:1.55;color:#657168;max-width:720px;margin:0 0 14px}
.home-hero .primary-link{padding:10px 14px}
.home-hero+.game-section{padding-top:30px}
.home-hero+.game-section .section-intro{display:none}
#hop-hold{min-width:150px;min-height:48px;touch-action:none}
body[data-game="block-hop"] .game-root,
body[data-game="block-hop"] .game-root *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#hop-canvas{border-color:#b5c6b9;aspect-ratio:auto}
#hop-canvas:focus-visible{outline:3px solid #c8794f;outline-offset:3px}
@media(max-width:650px){
  .home-hero{padding:15px 0 18px}
  .home-hero h1{font-size:clamp(36px,9vw,48px);letter-spacing:-1.5px}
  .home-hero p{font-size:13px;line-height:1.45;margin-bottom:10px}
  .home-hero .primary-link{padding:8px 12px;font-size:12px}
  .home-hero+.game-section{padding-top:15px}
  .home-hero+.game-section .section-intro{margin-bottom:10px}
  .home-hero+.game-section .section-intro h2{font-size:26px;margin-top:3px}
  .home-hero+.game-section .section-intro p{display:none}
  body[data-game="block-hop"] .game-page-hero{padding:20px 0 19px}
  body[data-game="block-hop"] .game-page-hero .breadcrumb{margin-bottom:17px}
  body[data-game="block-hop"] .game-toolbar{margin-bottom:12px}
}
