:root{--bg:#f7f4e9;--ink:#223950;--navy:#223c58;--cream:#fffdf7;--line:#dbe0dd;--muted:#697e83;--sage:#dce7db;--accent:#d9946a;--teal:#427c70;--gold:#f5df9a;--red:#b95a55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 system-ui,-apple-system,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d9946a;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}.skip{position:absolute;left:10px;top:-100px;padding:10px;background:white}.skip:focus{top:10px;z-index:50}.wrap{max-width:1170px;margin:auto;padding-inline:30px}.top{border-bottom:1px solid #dfdfd3}.top-row{display:flex;justify-content:space-between;align-items:center;padding-block:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:normal 17px/1.02 Georgia,serif}.brand strong{font-size:29px;letter-spacing:-.04em}.brand-mark{background:#dce5d6;color:#587b69;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:27px}.top nav{display:flex;gap:27px;font-size:13px;font-weight:700;color:#6a7b77}.top nav a{text-decoration:none}
.hero{background:#d9e6dc}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-block:80px 100px;min-height:640px}.eyebrow{color:#966b52;font-size:11px;letter-spacing:.15em;font-weight:850;margin:0 0 21px}.hero h1{font:normal clamp(53px,6.5vw,88px)/1.08 Georgia,serif;letter-spacing:-.058em;margin:0}.hero h1 em{color:#c67e60;font-weight:400}.hero-grid>div>p:not(.eyebrow):not(.hero-note){color:#657c76;font-size:18px;line-height:1.85;max-width:510px;margin:28px 0}.hero-cta{background:#2b544e;padding:14px 23px;border-radius:10px;text-decoration:none;color:white;display:inline-block;font-weight:800}.hero-note{font-size:12px;color:#71847b;margin-top:23px}.hero-art{position:relative;min-height:430px}.art-board{height:360px;width:370px;border-radius:23px;background:#284d5a;transform:rotate(-9deg);position:absolute;top:35px;left:55px;box-shadow:16px 16px 0 #b6d0c0}.art-board:before{content:"";position:absolute;inset:20px;border:3px solid #b3bd9f;border-radius:16px}.tile{width:124px;height:124px;background:#fff5d9;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:63px;position:absolute;box-shadow:6px 8px 0 #123e45}.tile-one{top:57px;left:57px;color:#9d6953}.tile-two{top:58px;right:47px;color:#2f5d67}.tile-three{bottom:55px;left:61px;font-size:69px}.tile-four{bottom:50px;right:50px;color:#d69460}.art-decor{position:absolute;right:12px;bottom:0;font:italic 25px/1.1 Georgia,serif;color:#bd8065;transform:rotate(7deg)}
.games-section{padding-top:90px;padding-bottom:105px}.section-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-header h2,.about-section h2{font:normal clamp(39px,4.5vw,59px)/1.15 Georgia,serif;letter-spacing:-.05em;margin:0 0 16px}.section-header p:not(.eyebrow){color:#76877e}.game-count{background:#fae7c3;border-radius:50%;width:101px;height:101px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:normal 45px/1 Georgia,serif;color:#bd8062}.game-count small{font:normal 11px/1.15 system-ui;text-align:center}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:39px 0 27px}.filters button{border:1px solid #d8ddcf;border-radius:30px;background:#fff;color:#577367;font-size:13px;font-weight:780;padding:10px 16px}.filters button.active{background:#2a5b55;border-color:#2a5b55;color:#fff}.game-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.game-card{background:#fffdf9;border:1px solid #e4e4d8;border-radius:15px;padding:25px;min-height:257px;display:flex;flex-direction:column;box-shadow:0 12px 26px #6c795c10}.game-card:nth-child(4n+2){background:#edf2e7}.game-card:nth-child(4n+3){background:#f8eddf}.game-card:nth-child(4n+4){background:#f0edf9}.game-card-icon{font-size:56px;line-height:1.5}.game-card-tag{color:#7d8d86;font-size:11px;letter-spacing:.1em;font-weight:850;text-transform:uppercase}.game-card h3{font:normal 27px Georgia,serif;margin:11px 0 8px}.game-card p{color:#7a8985;font-size:13px;line-height:1.6;margin:0 0 22px}.game-card button{border:0;background:transparent;color:#2e7264;font-weight:850;font-size:13px;text-align:left;padding:0;margin-top:auto;text-decoration:underline}.catalog-status{color:#69827a;font-size:13px;margin:20px 0}
.play-section{background:#e5ece5;padding:75px 0 95px}.play-section[hidden]{display:none}.play-header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}.play-header h2{font:normal 44px Georgia,serif;margin:0}.play-header p:not(.eyebrow){color:#657e73}.back-games,.restart{border:1px solid #9cae9f;border-radius:10px;background:white;padding:11px 17px;color:#3e715f;font-size:13px;font-weight:800}.play-frame{background:#fffef9;border:1px solid #d7e3d7;border-radius:17px;padding:26px;box-shadow:0 15px 36px #3e58420b}.game-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:17px;border-bottom:1px solid #e2e9df}.game-score{font-size:14px;color:#4f7163;font-weight:750}.game-message{min-height:25px;color:#527866;font-size:14px;margin:18px 0}.rules{border-top:1px dashed #d7e2d8;padding-top:18px;color:#667e72;font-size:13px}.rules summary{cursor:pointer;font-weight:800;color:#4d7363}.rules ol{line-height:1.95}.game-root{text-align:center;min-height:260px}.game-root .game-actions{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:9px;margin:16px auto}.game-root .action-btn{background:#315d58;color:white;border:0;border-radius:9px;padding:10px 16px;font-size:14px;font-weight:750}.game-root .action-btn.secondary{background:white;color:#315d58;border:1px solid #94b6a5}.game-root .game-label{font-size:13px;color:#697d73}.game-root .game-heading{font-size:19px;font-weight:800;color:#345d50;margin:13px 0}.game-root button:focus-visible{outline-offset:2px}
.about-section{background:#e3e8da;padding:85px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.about-grid p{color:#687e71;font-size:16px}.footer{text-align:center;padding-block:50px;color:#819386;font-size:12px}.footer-brand{font:normal 25px Georgia,serif;text-decoration:none;color:#526f65}.footer p{margin:8px 0}
.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);width:min(100%,495px);margin:0 auto;border:3px solid #304e58;background:#e1e8dd;aspect-ratio:1}.sudoku-board input{min-width:0;width:100%;height:100%;text-align:center;border:1px solid #b5c4b8;border-radius:0;background:#fff;font-size:clamp(17px,3vw,28px);color:#2d615c;font-weight:700;padding:0}.sudoku-board input:disabled{background:#e9eee7;color:#344b52;opacity:1}.sudoku-board input.error{background:#fce1d8}.sudoku-board input.selected{background:#f2eecb}.sudoku-board input.box-right{border-right:3px solid #425a60}.sudoku-board input.box-bottom{border-bottom:3px solid #425a60}
.memory-grid,.fruit-grid,.merge-grid,.slide-grid,.word-grid{display:grid;gap:7px;max-width:490px;margin:12px auto}.memory-grid{grid-template-columns:repeat(5,1fr)}.memory-card{aspect-ratio:1;border:1px solid #c5d6cc;border-radius:11px;background:#477b70;color:white;font-size:31px;font-weight:800}.memory-card.flipped,.memory-card.matched{background:#f8e8bf;color:#344a4c}.memory-card.matched{border-color:#6ca68b}.fruit-grid{grid-template-columns:repeat(8,1fr);gap:4px}.fruit-grid button{aspect-ratio:1;border:1px solid #cbd7cb;background:#fff1df;font-size:clamp(17px,2.6vw,31px);border-radius:8px;padding:0}.fruit-grid button.selected{outline:3px solid #e7a162;outline-offset:-3px}.slide-grid,.merge-grid{grid-template-columns:repeat(4,1fr);max-width:420px}.slide-grid button,.merge-grid>div{border:0;border-radius:9px;aspect-ratio:1;background:#f0e0bd;color:#344b50;font-size:clamp(22px,4vw,33px);font-weight:850}.slide-grid button.blank{background:#e1e7e0}.merge-grid>div{display:grid;place-items:center}.merge-grid .empty{background:#e6e8dd}.merge-grid .big{background:#e5ba83}
.snake-canvas,.brick-canvas{display:block;margin:10px auto;max-width:100%;background:#244e54;border-radius:10px;touch-action:none}.touch-controls{display:grid;grid-template-columns:repeat(3,55px);gap:7px;justify-content:center;margin:18px auto}.touch-controls button{border:0;background:#e1e8dc;color:#355e56;min-height:48px;border-radius:9px}.touch-controls button:nth-child(1){grid-column:2}.touch-controls button:nth-child(2){grid-column:1;grid-row:2}.touch-controls button:nth-child(3){grid-column:2;grid-row:2}.touch-controls button:nth-child(4){grid-column:3;grid-row:2}
.word-grid{grid-template-columns:repeat(12,1fr);gap:2px;max-width:490px}.word-grid button{aspect-ratio:1;padding:0;min-width:0;border:1px solid #cbd7ce;background:#f8f9f1;color:#35584d;font-size:clamp(10px,2vw,18px);font-weight:800}.word-grid button.found{background:#c3e4cb}.word-grid button.pick{background:#efd69b}.word-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px auto}.word-list span{font-size:12px;padding:5px 10px;border-radius:20px;background:#ebf0e7}.word-list span.found{text-decoration:line-through;color:#8e9b92}
.solitaire-layout{display:flex;gap:9px;overflow-x:auto;justify-content:center;align-items:flex-start;padding:14px 5px 45px}.solitaire-pile{width:76px;min-width:63px;position:relative;min-height:130px;padding-top:5px;border:1px dashed #bdd0c1;border-radius:7px}.solitaire-card{display:block;width:67px;min-width:0;border:1px solid #b8c2b9;background:#fff9eb;border-radius:6px;min-height:91px;text-align:center;padding:5px;font-size:19px;font-weight:850;box-shadow:0 2px 5px #42554221}.solitaire-card.red{color:#b14a42}.solitaire-card.black{color:#274b4b}.solitaire-card.hidden-card{background:#466e75;color:#e8eddf}.solitaire-card.selected{outline:3px solid #e5a16b}.solitaire-card button{font:inherit}
.mahjong-board{position:relative;width:min(100%,620px);height:415px;margin:10px auto;overflow:auto}.mahjong-tile{position:absolute;border:1px solid #7d9c8b;background:#fff7dc;width:45px;height:53px;box-shadow:4px 4px 0 #7b9f90;border-radius:6px;font-size:24px}.mahjong-tile.free{background:#fffdfa}.mahjong-tile.selected{outline:3px solid #e39a69}.mahjong-tile:disabled{background:#ccd9cf;color:#82978c}
.word-input{min-width:0;border:2px solid #b3cabb;border-radius:10px;padding:13px 18px;font-size:20px;max-width:100%}.scramble-letters{letter-spacing:.22em;font-size:36px;font-weight:800;color:#a16a4f}.primary-game{background:#3d7666;color:white;border:0;border-radius:10px;padding:12px 22px;font-weight:800}.game-root .hidden{display:none}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:0}.hero-art{height:380px;min-height:0}.art-board{left:15%}.game-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.wrap{padding-inline:18px}.top-row{padding-block:13px}.brand{font-size:14px}.brand strong{font-size:20px}.brand-mark{width:36px;height:36px}.top nav{gap:13px;font-size:11px}.hero-grid{padding-block:50px 0}.hero h1{font-size:clamp(46px,11vw,65px)}.hero-grid>div>p:not(.eyebrow):not(.hero-note){font-size:16px}.hero-art{height:270px;transform:scale(.65);transform-origin:top left}.games-section{padding-block:65px}.section-header h2{font-size:39px}.game-count{display:none}.game-cards{grid-template-columns:1fr}.game-card{min-height:205px}.play-section{padding-block:54px}.play-header{flex-direction:column}.play-header h2{font-size:36px}.play-frame{padding:14px}.solitaire-layout{justify-content:flex-start}.solitaire-pile{min-width:43px;width:43px}.solitaire-card{width:40px;min-height:58px;font-size:13px;padding:2px}.mahjong-board{zoom:.73}.fruit-grid{gap:2px}.fruit-grid button{border-radius:4px}.about-grid{grid-template-columns:1fr;gap:12px}.about-section{padding-block:60px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}