:root{--bg:#f8faf6;--ink:#163c34;--muted:#617a6a;--mint:#e5f1e8;--accent:#196249;--line:#dce7dd;--light:#ffffff;--gold:#e7b65e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.55}a{color:inherit}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #c99748;outline-offset:3px}
header{background:white;border-bottom:1px solid var(--line)}.head{max-width:1180px;margin:auto;padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.logo{text-decoration:none;font-size:19px;letter-spacing:-.7px;font-weight:850;display:flex;gap:10px;align-items:center}.logo .symbol{background:#145442;color:white;border-radius:12px;padding:7px 10px}.header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.small-link{font-size:13px;font-weight:700;color:var(--muted);text-decoration:none}.language{max-width:185px;background:#eff5ef;color:var(--ink);border:1px solid var(--line);padding:7px 9px;border-radius:12px;font-size:13px}.page{max-width:1180px;margin:auto;padding:27px 24px 80px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#638f70;font-weight:850}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 20px}.title-row h1{font-size:clamp(29px,4vw,46px);line-height:1.12;letter-spacing:-1.4px;margin:6px 0}.title-row p{max-width:730px;color:var(--muted);margin:0;font-size:14px}.chip{padding:8px 12px;border:1px solid var(--line);background:#e8f4e9;border-radius:30px;font-size:12px;font-weight:750;color:#2c674c}
.gamesnav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 28px}.gamesnav a,.language-list a{padding:9px 13px;text-decoration:none;border:1px solid var(--line);border-radius:12px;background:white;color:#315946;font-weight:750;font-size:13px}.gamesnav a[aria-current=page]{color:white;background:var(--accent);border-color:var(--accent)}.gamesnav a:hover,.language-list a:hover{background:#e2f1e4;color:#145c40}
.panel{border:1px solid var(--line);border-radius:21px;background:white;box-shadow:0 18px 60px #143a290b;overflow:hidden}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 17px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.controlset{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid #d4e1d5;color:#25533e;background:white;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:770;min-height:39px}.btn:hover{background:#eaf4e9}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.btn[aria-pressed=true]{background:#d9eee0;border-color:#82b698}.btn:disabled{opacity:.45;cursor:not-allowed}.select{font-size:13px;padding:9px 10px;border:1px solid var(--line);background:white;border-radius:10px;color:var(--ink)}.stats{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;background:#f5f9f4;border-bottom:1px solid var(--line);padding:9px 14px}.stat{text-align:center;min-width:70px}.stat span{font-size:10px;letter-spacing:1px;display:block;text-transform:uppercase;font-weight:850;color:var(--muted)}.stat strong{font-variant-numeric:tabular-nums;font-size:21px}.play-area{min-height:390px;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(circle at 48% -30%,#27745a,#104c3d 70%);padding:24px 14px;overflow-x:auto}.play-area[data-game=freecell]{min-height:520px}.play-area[data-game=sudoku]{background:#f4f8f3;min-height:500px}.play-area[data-game=2048]{background:#f4f8f3;min-height:490px}.note{font-size:13px;color:#607d6e;margin:11px 2px;text-align:center}
.content{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:26px}.content article{border:1px solid var(--line);border-radius:17px;background:white;padding:21px 25px}.content h2{font-size:20px;margin:0 0 12px}.content p,.content li{font-size:14px;color:#526e5d}.content li{margin:9px 0}.content ol{padding-left:20px}.locales{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.locales h2{font-size:17px}.language-list{display:flex;gap:7px;flex-wrap:wrap}.language-list a{font-size:11px;padding:6px 10px}.language-list a[aria-current=page]{background:#e8f5e9}.site-footer{border-top:1px solid var(--line);margin-top:38px;padding-top:16px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
/* Minesweeper */
.mine-wrap{display:grid;gap:3px;background:#0b3a2f;padding:7px;border-radius:14px;box-shadow:0 8px 22px #0018;touch-action:manipulation;max-width:100%}.mine-cell{padding:0;border:0;border-radius:4px;width:var(--cell);height:var(--cell);font-weight:900;font-size:calc(var(--cell)*.57);font-family:inherit;display:grid;place-items:center;background:linear-gradient(145deg,#d8e8dc,#9abca6);color:#193f34;box-shadow:inset -2px -2px 0 #568873,0 2px 1px #042a24}.mine-cell.revealed{background:#e4ede3;box-shadow:inset 0 0 0 1px #b7d0bb}.mine-cell.flagged{color:#af512d}.mine-cell.boom{background:#e38672}.mine-cell[data-adj="1"]{color:#2365ae}.mine-cell[data-adj="2"]{color:#27964c}.mine-cell[data-adj="3"]{color:#c54444}.mine-cell[data-adj="4"]{color:#6745b1}.mine-cell[data-adj="5"]{color:#9b4c32}.mine-cell[data-adj="6"]{color:#0e8d8e}.mine-cell:focus-visible{outline-offset:-3px}
/* Freecell */
.fc-board{width:min(100%,1020px);color:white}.fc-top{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(3px,.8vw,12px);margin-bottom:28px}.fc-tableau{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(3px,.8vw,12px);min-height:420px}.fc-slot{border:2px dashed #ffffff40;border-radius:8px;aspect-ratio: .70;display:flex;align-items:center;justify-content:center;color:#b4ddc9;font-size:clamp(10px,2vw,24px);min-width:0;position:relative}.fc-column{position:relative;min-width:0;min-height:400px;border:1px dashed #ffffff26;border-radius:8px}.fc-card{width:100%;aspect-ratio:.70;background:linear-gradient(145deg,#fff,#f4f5ef);border:1px solid #cfdad0;border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:5px 5px;color:#152c30;box-shadow:0 2px 4px #0014;position:absolute;left:0;top:0;font-size:clamp(10px,1.85vw,20px);font-weight:900;line-height:1.13;user-select:none}.fc-card.red{color:#c44b49}.fc-card.selected{outline:3px solid #fac86d;z-index:99!important}.fc-card.hinted{outline:3px solid #92f1af}.fc-card .pips{font-size:1.12em}.fc-slot .fc-card{top:0}.fc-placeholder{font-size:13px;color:#c3e1ce;text-align:center;margin-bottom:8px}.fc-hint{min-height:27px;color:#e2e6c3;text-align:center;font-size:12px}
/* Sudoku */
.sudoku-wrap{width:min(100%,520px)}.sudoku-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:3px solid #2a5945;background:#2a5945;gap:1px;width:min(100%,460px);aspect-ratio:1;margin:auto;box-shadow:0 10px 35px #17372016}.sudoku-cell{padding:0;border:0;background:white;color:#2a654a;font-weight:600;font-size:clamp(15px,4vw,27px);position:relative;min-width:0}.sudoku-cell.given{background:#eaf0e8;color:#223a33;font-weight:850}.sudoku-cell.selected{background:#a8d5b2!important}.sudoku-cell.peer{background:#e8f6e7}.sudoku-cell.same{background:#d1e8cc}.sudoku-cell.error{color:#c83f3f;background:#fae6df}.sudoku-cell.box-r{border-right:3px solid #2a5945}.sudoku-cell.box-b{border-bottom:3px solid #2a5945}.sudoku-cell .pencils{display:grid;grid-template-columns:repeat(3,1fr);font-size:clamp(6px,1.2vw,10px);font-weight:450;line-height:1.1}.numberpad{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;margin:12px auto 0;width:min(100%,460px)}.numberpad .btn{padding:5px 1px;font-size:clamp(14px,3vw,24px);height:45px}.sudoku-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}
/* 2048 */
.tw-wrap{width:min(100%,420px)}.tw-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;width:100%;aspect-ratio:1;background:#aa9d8c;border-radius:13px}.tw-tile{display:grid;place-items:center;border-radius:7px;background:#c9bcaa;color:#62574c;font-weight:900;font-variant-numeric:tabular-nums;font-size:clamp(17px,5vw,38px);transition:background .1s}.tw-tile[data-value="2"]{background:#eee4da}.tw-tile[data-value="4"]{background:#ede0c8}.tw-tile[data-value="8"]{background:#f2b179;color:white}.tw-tile[data-value="16"]{background:#f59563;color:white}.tw-tile[data-value="32"]{background:#f67c5f;color:white}.tw-tile[data-value="64"]{background:#f65e3b;color:white}.tw-tile[data-value="128"]{background:#edcf72;color:white;font-size:30px}.tw-tile[data-value="256"]{background:#edcc61;color:white;font-size:30px}.tw-tile[data-value="512"]{background:#edc850;color:white;font-size:30px}.tw-tile[data-value="1024"]{background:#edc53f;color:white;font-size:25px}.tw-tile[data-value="2048"]{background:#edc22e;color:white;font-size:25px}.tw-arrows{display:grid;grid-template-columns:repeat(3,56px);justify-content:center;gap:7px;margin-top:16px}.tw-arrows button{height:48px}.tw-arrows .up{grid-column:2}.tw-arrows .left{grid-column:1}.tw-arrows .down{grid-column:2}.tw-arrows .right{grid-column:3}
.arcade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.game-link{border:1px solid var(--line);border-radius:18px;background:white;display:block;text-decoration:none;overflow:hidden;transition:transform .15s,box-shadow .15s}.game-link:hover{transform:translateY(-3px);box-shadow:0 14px 28px #14362014}.game-art{height:150px;display:grid;place-items:center;background:linear-gradient(130deg,#0a4c3c,#367b53);font-size:68px;color:#f8efcf}.game-link .copy{padding:16px 18px 22px}.game-link h2{font-size:18px;margin:0 0 5px}.game-link p{font-size:13px;color:var(--muted);margin:0}
@media(max-width:700px){.content{grid-template-columns:1fr}.page{padding:20px 12px 60px}.head{padding:12px}.play-area{padding:18px 6px;min-height:330px}.play-area[data-game=freecell]{min-height:440px}.fc-tableau,.fc-column{min-height:340px}.fc-card{border-radius:4px;padding:2px}.fc-top{margin-bottom:14px}.stats{gap:13px}.stat strong{font-size:18px}.title-row{margin-bottom:10px}.gamesnav{margin-bottom:16px}.gamesnav a{padding:8px 10px;font-size:12px}.content article{padding:18px}.toolbar{padding:10px}}
