@font-face{font-family:Mitr;src:url('./games/farm/fonts/mitr-thai-400-normal.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0E00-0E7F}
@font-face{font-family:Mitr;src:url('./games/farm/fonts/mitr-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Mitr;src:url('./games/farm/fonts/mitr-thai-500-normal.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0E00-0E7F}
@font-face{font-family:Mitr;src:url('./games/farm/fonts/mitr-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Nunito;src:url('./games/farm/fonts/nunito-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
:root{font-family:Mitr,sans-serif;color:#40564a;background:#f8f5e9;font-synthesis:none;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}body{margin:0;min-height:100svh;padding:0 max(24px,env(safe-area-inset-left)) 0 max(24px,env(safe-area-inset-right));background:radial-gradient(ellipse at 100% 0%,#e7eddb88,transparent 42%),radial-gradient(ellipse at 0% 90%,#f1dfd044,transparent 45%)}
a{color:inherit;text-decoration:none;touch-action:manipulation}button{font:inherit}svg{display:block;width:24px;height:24px}.symbols{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}
.skip-link{position:fixed;top:-100px;left:20px;padding:14px;background:#fff;z-index:10;border:3px solid #327eb4;border-radius:12px}.skip-link:focus{top:12px}
a:focus-visible{outline:4px solid #245e9a;outline-offset:5px}main:focus{outline:none}.site-header,main,footer{max-width:1080px;margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:17px 0 10px;gap:16px}.brand{display:flex;align-items:center;gap:13px}.brand-bunny{display:grid;place-items:center;width:53px;height:58px;background:#e9efdb;border:1px solid #dfe4cc;border-radius:24px 24px 21px 21px;box-shadow:0 4px 0 #e1e5cc}.brand-bunny svg{width:40px;height:45px}.brand small{display:block;font:700 9px Nunito,sans-serif;letter-spacing:2.6px;color:#81927a;margin-bottom:4px}.brand-title{font-size:18px;font-weight:500}.total-stars{display:flex;align-items:center;gap:10px;min-width:110px;padding:9px 17px;border:2px solid #e6d4a3;background:#fff3cc;border-radius:21px;box-shadow:0 3px 0 #ebdebb}.total-stars svg{width:30px;height:30px;fill:#e4ad39;stroke:#be8b25;stroke-width:1.2}.total-stars small{display:block;font-size:10px;color:#897244}.total-stars output{display:block;font:700 23px/1.1 Nunito,sans-serif;color:#805b26}
.intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:19px 4px 22px}.eyebrow{font-size:12px;color:#839078;margin:0 0 3px}h1{font-size:34px;line-height:1.45;font-weight:500;margin:0;letter-spacing:-.7px}h1>span{color:#d29c56}.instruction{display:flex;align-items:center;gap:8px;margin:5px 0 0;color:#75846c;font-size:14px}.instruction svg{width:21px;height:21px;color:#a8906c}.number-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:133px;height:81px;background:#eeeedb;border:1px dashed #c9d1ad;border-radius:20px;transform:rotate(4deg);margin-right:5px}.number-badge b{font:700 31px Nunito,sans-serif;letter-spacing:1px;color:#68826a}.number-badge>span{font-size:10px;color:#75846c;margin-top:2px}
.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.game-card{position:relative;display:block;min-width:0;border:2px solid var(--edge);border-radius:28px;background:var(--pale);box-shadow:0 7px 0 var(--edge),0 12px 20px -14px #78634877;transition:transform .15s ease,box-shadow .15s ease;isolation:isolate;overflow:hidden;--accent:#b55762;--edge:#e8b5ad;--pale:#fce4df;--paper:#fff9f5}
.garden{--accent:#34784a;--edge:#a9c995;--pale:#e6f0d1;--paper:#f8fbef}.train{--accent:#2e7da9;--edge:#96bfd6;--pale:#dff0f7;--paper:#f4fafc}.farm{--accent:#a06a25;--edge:#dfc274;--pale:#f9eac1;--paper:#fffbeb}
.card-art{height:182px;position:relative;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 90%,#ffffff77,transparent 72%)}.card-art canvas{width:100%;height:100%;display:block;object-fit:contain}.art-fallback{position:absolute;width:142px;height:142px;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 9px 4px #80664c20)}.card-art[data-ready] .art-fallback{display:none}.skill-sticker{position:absolute;top:18px;left:20px;border:1px solid #ffffffdd;background:#ffffff9c;box-shadow:0 2px 3px #66533408;border-radius:12px;padding:5px 9px;color:var(--accent);font:700 17px Nunito,sans-serif;letter-spacing:2px;transform:rotate(-6deg);pointer-events:none}.skill-sticker>span{opacity:.7}.recent{position:absolute;right:14px;top:17px;padding:5px 9px;border-radius:20px;background:#ffffffb8;color:var(--accent);font-size:10px}
.card-info{display:flex;align-items:center;gap:12px;padding:14px 19px 15px 22px;background:var(--paper);border-top:1px solid #ffffffa0;min-height:83px}.card-info>div{flex:1;min-width:0}.card-info h2{margin:0;color:var(--accent);font-weight:500;font-size:23px;line-height:1.35}.card-info p{font-size:12px;color:#7c8575;margin:4px 0 0}.play-button{display:grid;place-items:center;flex:0 0 auto;width:53px;height:53px;background:var(--accent);color:#fffdf7;border:3px solid #fff;outline:1px solid var(--edge);border-radius:20px;box-shadow:0 4px 0 color-mix(in srgb,var(--accent) 72%,#312c25);transition:transform .15s ease}.play-button svg{width:26px;height:26px;margin-left:2px}.card-stars{display:flex;align-items:center;gap:4px;color:#927a43;font:700 15px Nunito,sans-serif}.card-stars svg{fill:#e3bd65;stroke:#bd9743;stroke-width:1;width:17px;height:17px}
@media(hover:hover){.game-card:hover{transform:translateY(-4px);box-shadow:0 11px 0 var(--edge),0 18px 26px -13px #78634866}.game-card:hover .play-button{transform:scale(1.06)}}.game-card:active{transform:translateY(5px);box-shadow:0 2px 0 var(--edge)}
footer{display:flex;justify-content:center;align-items:center;gap:8px;padding:22px 0 14px;color:#9a9e86;font-size:11px}.footer-dot{width:6px;height:6px;border-radius:50%;background:#b4caa0}.footer-heart{font-size:20px;line-height:1;color:#c99584}
@media(min-width:700px) and (min-height:950px){.site-header{padding-top:24px}.intro{margin-block:35px}.card-art{height:235px}.card-info{min-height:95px}.game-grid{gap:25px}footer{padding-top:30px}}
@media(min-width:700px) and (max-height:760px){.site-header{padding-top:12px}.intro{margin-block:10px 15px}h1{font-size:29px}.card-art{height:145px}.card-info{padding-block:11px;min-height:76px}.game-grid{gap:16px}footer{padding-top:17px}}
@media(max-width:699px){body{padding-inline:max(16px,env(safe-area-inset-left))}.site-header{gap:10px}.brand{gap:8px}.brand-title{font-size:14px}.brand small{font-size:7px;letter-spacing:1.8px}.brand-bunny{width:43px;height:48px}.brand-bunny svg{width:34px;height:38px}.total-stars{min-width:0;gap:5px;padding:8px 10px;border-radius:16px}.total-stars small{display:none}.total-stars svg{width:21px;height:21px}.total-stars output{font-size:21px}.intro{margin:21px 2px 22px}h1{font-size:29px}.number-badge{width:88px;height:70px}.number-badge b{font-size:26px}.number-badge>span{font-size:8px}.instruction{font-size:12px}.game-grid{gap:19px;grid-template-columns:1fr}.card-art{height:186px}.card-info h2{font-size:24px}.card-info p{font-size:13px}.play-button{width:56px;height:56px}.card-info{min-height:87px}}
@media(prefers-reduced-motion:reduce){.game-card,.play-button{transition:none}.game-card:hover,.game-card:active,.game-card:hover .play-button{transform:none}}
@media(forced-colors:active){.game-card,.play-button,.total-stars{border:2px solid ButtonText}.skill-sticker,.recent{background:Canvas}.play-button{color:LinkText}}
