.games-page{min-height:calc(100vh - 82px);padding:55px max(6vw,24px) 75px;background:linear-gradient(145deg,#fffdf9 0%,#fff8ee 55%,#eaf4e8 100%)}
.games-intro{max-width:760px;margin:0 auto 30px;text-align:center}.games-intro h1{margin:0;font:800 clamp(36px,5vw,58px)/1 Outfit,sans-serif;letter-spacing:-2px}.games-intro>p:last-child{margin:17px auto 0;color:var(--muted);font-size:16px}.games-back{color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}.games-back:hover{color:var(--orange)}
.memory-game{max-width:1200px;margin:auto;padding:25px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 20px 45px #193b3612}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.game-heading h2{margin:0 0 7px;font-size:27px;letter-spacing:-1px}.game-heading p{margin:0;color:var(--muted);font-size:14px}.restart-game{padding:11px 17px;border:0;border-radius:9px;background:var(--orange);color:#fff;font-weight:700;white-space:nowrap}.restart-game:hover{filter:brightness(.95)}
.difficulty-picker{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0 12px}.difficulty-picker>span{margin-right:3px;color:var(--muted);font-size:13px;font-weight:700}.difficulty-button{padding:8px 13px;border:1px solid #dbe4dd;border-radius:9px;background:#f7f5ef;color:var(--ink);font-weight:700}.difficulty-button small{display:block;margin-top:1px;color:var(--muted);font-size:9px}.difficulty-button:hover,.difficulty-button.is-active{border-color:var(--orange);background:#fff0e9;color:var(--orange)}
.memory-mode-picker{display:flex;justify-content:center;gap:8px;margin:20px auto 4px}.memory-mode-button{padding:9px 15px;border:1px solid #cbdacf;border-radius:999px;background:#f7f5ef;color:var(--ink);font-weight:800}.memory-mode-button:hover,.memory-mode-button.is-active{border-color:#70b77b;background:#e9f5e9;color:#27643d}.coat-name small{display:block;padding:3px 7px;border-radius:8px;background:#e5f1e6;color:#367451;font:700 clamp(7px,.65vw,9px)/1 'DM Sans',sans-serif}.coat-name i{max-width:110px;line-height:1.2}
.game-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 15px}.game-stats span{padding:8px;border-radius:10px;background:#f4f1e9;text-align:center;color:#59716d;font-size:13px}.game-stats b{color:var(--ink)}
.memory-board{display:grid;justify-content:center;gap:9px;perspective:1000px}.memory-board.difficulty-easy{grid-template-columns:repeat(8,minmax(90px,130px))}.memory-board.difficulty-medium{grid-template-columns:repeat(6,minmax(90px,130px))}.memory-board.difficulty-hard{grid-template-columns:repeat(9,minmax(90px,118px))}.memory-card{position:relative;aspect-ratio:1/1.08;min-width:0;padding:0;border:0;border-radius:11px;background:transparent;transform-style:preserve-3d;transition:transform .42s}.memory-card.is-flipped,.memory-card.is-matched{transform:rotateY(180deg)}.memory-card.is-matched{cursor:default}.card-face{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;border-radius:11px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-back{background:var(--ink);color:#fff;border:2px solid #2d514b}.card-back::before{content:'🐾';font-size:30px}.card-front{transform:rotateY(180deg);border:2px solid #dce9df;background:#fffaf1}.memory-card.is-matched .card-front{border-color:#70b77b;box-shadow:0 0 0 3px #dcefdc inset}.card-name{padding:5px;color:var(--ink);font:800 clamp(11px,1.35vw,16px)/1.08 Outfit,sans-serif;text-align:center;overflow-wrap:anywhere}.feline-image{width:100%;height:100%;background-color:#fff8e8;background-repeat:no-repeat}.sheet-1{background-image:url('felinos-memory-optimized.jpg');background-size:400% auto}.sheet-2{background-image:url('felinos-memory-2-optimized.jpg');background-size:500% auto}.sheet-1.sprite-0{background-position:0 0}.sheet-1.sprite-1{background-position:33.333% 0}.sheet-1.sprite-2{background-position:66.667% 0}.sheet-1.sprite-3{background-position:100% 0}.sheet-1.sprite-4{background-position:0 100%}.sheet-1.sprite-5{background-position:33.333% 100%}.sheet-1.sprite-6{background-position:66.667% 100%}.sheet-1.sprite-7{background-position:100% 100%}.sheet-2.sprite-0{background-position:0 0}.sheet-2.sprite-1{background-position:25% 0}.sheet-2.sprite-2{background-position:50% 0}.sheet-2.sprite-3{background-position:75% 0}.sheet-2.sprite-4{background-position:100% 0}.sheet-2.sprite-5{background-position:0 100%}.sheet-2.sprite-6{background-position:25% 100%}.sheet-2.sprite-7{background-position:50% 100%}.sheet-2.sprite-8{background-position:75% 100%}.sheet-2.sprite-9{background-position:100% 100%}.game-message{min-height:27px;margin:14px 0 0;text-align:center;color:#367451;font-weight:700}.game-message.win{padding:12px;border-radius:10px;background:#e4f4e4;font-size:17px}
@media(max-width:650px){.games-page{padding:36px 10px 55px}.memory-game{padding:17px 9px}.game-heading{align-items:flex-start;flex-direction:column}.game-heading h2{font-size:23px}.difficulty-picker{flex-wrap:wrap}.difficulty-picker>span{width:100%;text-align:center}.difficulty-button{flex:1;min-width:85px;padding:7px}.game-stats{grid-template-columns:repeat(2,1fr);margin-top:12px}.memory-board.difficulty-easy,.memory-board.difficulty-medium,.memory-board.difficulty-hard{grid-template-columns:repeat(4,minmax(58px,82px))}.memory-board{gap:6px}.card-back::before{font-size:22px}.card-name{font-size:11px}.restart-game{width:100%}}
@media(max-width:650px){.memory-mode-picker{flex-wrap:wrap}.memory-mode-button{flex:1;min-width:135px;padding:8px 10px;font-size:12px}}
@media(max-width:350px){.memory-board.difficulty-easy,.memory-board.difficulty-medium,.memory-board.difficulty-hard{grid-template-columns:repeat(3,minmax(58px,82px))}}

.sheet-3{background-image:url('felinos-memory-3-optimized.jpg');background-size:600% auto}.sheet-4{background-image:url('felinos-memory-4-optimized.jpg');background-size:500% auto}
.sheet-3.sprite-0{background-position:0 0}.sheet-3.sprite-1{background-position:20% 0}.sheet-3.sprite-2{background-position:40% 0}.sheet-3.sprite-3{background-position:60% 0}.sheet-3.sprite-4{background-position:80% 0}.sheet-3.sprite-5{background-position:100% 0}.sheet-3.sprite-6{background-position:0 100%}.sheet-3.sprite-7{background-position:20% 100%}.sheet-3.sprite-8{background-position:40% 100%}.sheet-3.sprite-9{background-position:60% 100%}.sheet-3.sprite-10{background-position:80% 100%}.sheet-3.sprite-11{background-position:100% 100%}
.sheet-4.sprite-0{background-position:0 0}.sheet-4.sprite-1{background-position:25% 0}.sheet-4.sprite-2{background-position:50% 0}.sheet-4.sprite-3{background-position:75% 0}.sheet-4.sprite-4{background-position:100% 0}.sheet-4.sprite-5{background-position:0 100%}.sheet-4.sprite-6{background-position:25% 100%}.sheet-4.sprite-7{background-position:50% 100%}.sheet-4.sprite-8{background-position:75% 100%}.sheet-4.sprite-9{background-position:100% 100%}
.record-form{max-width:560px;margin:14px auto 0;padding:16px;border:1px solid #b9d9bd;border-radius:12px;background:#f1faf1}.record-form label{display:block;margin-bottom:9px;font-weight:700;text-align:center}.record-form>div{display:flex;gap:8px}.record-form input{min-width:0;flex:1;padding:11px;border:1px solid #cbd8cd;border-radius:8px;outline:none}.record-form input:focus{border-color:#70b77b}.record-form button{padding:10px 15px;border:0;border-radius:8px;background:var(--ink);color:#fff;font-weight:700}.record-form p{min-height:18px;margin:7px 0 0;color:var(--muted);font-size:12px;text-align:center}
.card-name{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}.card-name b{color:var(--ink);font:800 clamp(12px,1.35vw,18px)/1.02 Outfit,sans-serif;letter-spacing:-.25px}.card-name i{font:italic 400 clamp(7px,.75vw,10px)/1.05 'DM Sans',sans-serif;color:#82938f}.card-name .status{display:block;padding:2px 5px;border-radius:8px;font:700 clamp(6px,.6vw,8px)/1 'DM Sans',sans-serif;opacity:.82}.status-lc{background:#dcefdc;color:#326b43}.status-nt{background:#e9efc9;color:#64711c}.status-vu{background:#fff0c8;color:#7e5b00}.status-en{background:#ffe0d7;color:#a13d25}.conservation-legend{display:flex;align-items:center;justify-content:center;gap:6px;margin:-2px 0 12px;flex-wrap:wrap;font-size:9px}.conservation-legend b{color:var(--muted)}.conservation-legend span{padding:3px 6px;border-radius:8px;font-weight:700}.species-source{margin:18px 0 0;color:var(--muted);font-size:10px;text-align:center}.species-source a{color:#367451;font-weight:700}
.ranking{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.ranking-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.ranking-heading .eyebrow{margin-bottom:4px}.ranking-heading h2{margin:0;font-size:25px;letter-spacing:-1px}.ranking-heading>span{padding:6px 11px;border-radius:20px;background:#fff0e9;color:var(--orange);font-size:12px;font-weight:800}.ranking-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:11px}.ranking table{width:100%;border-collapse:collapse}.ranking th,.ranking td{padding:10px 13px;text-align:left;font-size:13px}.ranking th{background:#f4f1e9;color:#59716d}.ranking td{border-top:1px solid #eeeae2}.ranking td:first-child{font-weight:800;color:var(--orange)}.ranking-note{margin:8px 0 0;color:var(--muted);font-size:11px}
@media(max-width:650px){.memory-board.difficulty-easy,.memory-board.difficulty-medium,.memory-board.difficulty-hard{grid-template-columns:repeat(3,minmax(82px,105px))}.record-form>div{flex-direction:column}.record-form button{width:100%}.ranking th,.ranking td{padding:9px 8px;font-size:12px}}
@media(max-width:350px){.memory-board.difficulty-easy,.memory-board.difficulty-medium,.memory-board.difficulty-hard{grid-template-columns:repeat(2,minmax(100px,130px))}}
.card-front img.feline-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff8e8;background-image:none}

.game-picker{display:flex;justify-content:center;gap:9px;max-width:560px;margin:0 auto 20px}.game-picker-button{flex:1;padding:12px 16px;border:1px solid #d7e0d9;border-radius:11px;background:#fff;color:var(--ink);font-weight:800}.game-picker-button:hover,.game-picker-button.is-active{border-color:var(--orange);background:#fff0e9;color:var(--orange)}
.runner-game{max-width:1000px;margin:auto;padding:25px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 20px 45px #193b3612}.runner-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.runner-heading h2{margin:0 0 6px;font-size:28px;letter-spacing:-1px}.runner-heading p:last-child{margin:0;color:var(--muted);font-size:14px}.runner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 12px}.runner-stats span{padding:9px;border-radius:9px;background:#f4f1e9;text-align:center;color:var(--muted);font-size:13px}.runner-stats b{display:block;color:var(--ink);font:800 21px Outfit,sans-serif}.runner-stage{position:relative;overflow:hidden;border:3px solid var(--ink);border-radius:14px;background:#fff3d5}.runner-stage canvas{display:block;width:100%;height:auto;image-rendering:pixelated;touch-action:none}.runner-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:#193b368c;color:#fff;text-align:center}.runner-overlay[hidden]{display:none}.runner-overlay b{font:800 clamp(22px,4vw,34px) Outfit,sans-serif}.runner-overlay span{padding:0 15px;font-size:13px}.runner-controls{display:flex;justify-content:center;gap:12px;margin-top:14px}.runner-controls button{min-width:135px;padding:10px 20px;border:0;border-radius:10px;background:var(--ink);color:#fff;font-weight:800;touch-action:none;user-select:none}.runner-controls button:first-child{background:var(--orange)}.runner-controls span{margin-right:8px;font-size:20px}.runner-controls button:active{transform:translateY(2px)}.runner-help{text-align:center;color:var(--muted);font-size:12px}
@media(max-width:650px){.game-picker{padding:0 3px}.game-picker-button{padding:10px 8px;font-size:12px}.runner-game{padding:17px 9px}.runner-heading{align-items:flex-start;flex-direction:column}.runner-heading .restart-game{width:100%}.runner-stats{margin-top:14px}.runner-stage{border-width:2px}.runner-controls{gap:8px}.runner-controls button{min-width:0;flex:1}.runner-help{line-height:1.5}}
