*{box-sizing:border-box}body{margin:0;background:#c6da91;color:#42562f;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;min-height:100vh;background-image:radial-gradient(#a8c37060 1px,transparent 1px);background-size:22px 22px}button{font:inherit;color:inherit;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #e5a452;outline-offset:3px}main{max-width:1060px;margin:32px auto 24px;padding:0 30px;display:grid;grid-template-columns:340px minmax(0,460px);gap:115px;align-items:start;position:relative}.scene-cloud{position:absolute;background:#e4edbd;border-radius:70px;width:170px;height:40px;z-index:-1;opacity:.8}.scene-cloud:before,.scene-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit;width:70px;height:65px;left:22px;top:-25px}.scene-cloud:after{left:75px;top:-35px;width:75px;height:75px}.cloud-a{top:90px;left:2vw}.cloud-b{top:180px;right:2vw;width:120px;opacity:.6}.intro{padding-top:50px}.stamp{border:1px solid #819f55;border-radius:6px;padding:6px 10px;font-size:10px;letter-spacing:2px;color:#718c4b}h1{font-size:67px;font-weight:900;letter-spacing:-4px;line-height:1.2;margin:26px 0 18px;color:#fffdeb;text-shadow:3px 3px 0 #56723c,-2px -2px 0 #56723c,2px -2px 0 #56723c,-2px 2px 0 #56723c}h1 span{display:block;color:#f9d86f;margin-left:62px}.subtitle{font-size:14px;line-height:1.9;color:#6c854a}.sheep-scene{position:relative;margin:15px 0 24px}.sheep-scene svg{width:290px}.bubble{position:absolute;top:0;right:0;transform:rotate(7deg);background:#fff9dc;border:2px solid #829858;padding:8px 12px;border-radius:16px;font-size:12px;font-weight:600}.rules-card{border-top:1px solid #a6bd74;padding-top:20px}.rules-card b{font-size:13px}.rules-card p{font-size:12px;color:#6f874f}.rules-card p span{font-size:10px;color:#9bae72;margin-right:10px}.personal{margin-top:25px;background:#bad282;border:1px solid #abc475;border-radius:13px;padding:16px;font-size:12px}.personal strong{float:right}.personal small{display:block;color:#839b5a;font-size:9px;margin-top:8px}.disclaimer{font-size:9px;color:#8aa062;line-height:1.8}.game{position:relative;background:#d1e49e;border:2px solid #acbf79;border-radius:24px;padding:18px 20px 15px;box-shadow:0 10px 0 #acc374,0 18px 45px #66832e23;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between}.topbar>span{font-size:12px;font-weight:700;letter-spacing:3px;color:#6d844b}.topbar button{width:30px;height:30px;border:1.5px solid #9cb469;border-radius:50%;background:#dcecb0;font-size:19px}.topbar>div{display:flex;gap:6px}.stage-title{display:flex;justify-content:center;align-items:center;gap:15px;text-align:center;margin-top:12px}.stage-title small{font-size:9px;color:#8a9f60;letter-spacing:2px}.stage-title h2{font-size:21px;letter-spacing:4px;margin:4px 0 13px;font-weight:750}.dash{width:28px;height:2px;background:#a7bd79}.metrics{display:flex;justify-content:space-between;font-size:10px;color:#859c57;margin:0 5px 7px}.progress{height:4px;background:#b6ce80;border-radius:5px;margin:0 5px}.progress i{display:block;height:100%;width:0;background:#688f3f;border-radius:5px;transition:width .25s}.board-shell{position:relative;width:100%;aspect-ratio:1/.99;margin-top:6px}#board{position:absolute;inset:0}.tile{position:absolute;width:12.4%;height:12.1%;border:2px solid #64733c;border-radius:8px;background:#fffde7;box-shadow:0 5px 0 #b7bf81,0 7px 0 #67763f;display:flex;align-items:center;justify-content:center;padding:3px;transition:filter .13s,transform .13s;touch-action:manipulation}.tile svg{width:100%;height:100%;pointer-events:none}.tile.covered{filter:brightness(.69) saturate(.58);cursor:default}.tile:not(.covered):hover{transform:translateY(-2px);background:#fffff2}.tile:active:not(.covered){transform:translateY(2px);box-shadow:0 2px 0 #b7bf81,0 4px 0 #67763f}.tile.pop{animation:pop .2s}.reserve-line{display:flex;align-items:center;gap:8px;height:44px;margin:1px 2px 12px}.reserve-line>span{font-size:9px;color:#849956}.reserve-line>small{font-size:9px;color:#9aaf6d}#reserve{display:flex;gap:5px}#reserve .tile{position:relative;width:35px;height:35px;border-radius:5px;padding:2px;border-width:1.5px;box-shadow:0 3px 0 #a5b06e,0 4px 0 #687c40}.tray-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin:0 3px 9px;color:#708748}.tray-head b{font-size:11px}.tray{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;border:2px solid #859755;background:#a8ba72;border-radius:12px;padding:8px 6px 11px;box-shadow:inset 0 3px 0 #95a860,0 3px 0 #afc67b}.slot{aspect-ratio:1;border-radius:5px;background:#93a66488;box-shadow:inset 0 2px 3px #70824550;min-width:0}.slot .tile{position:relative;width:100%;height:100%;padding:2px;border-width:1.5px;border-radius:5px;box-shadow:0 3px 0 #adb572,0 4px 0 #63733e;cursor:default}.tray.danger{border-color:#b57453;background:#cfaa73}.tray.danger+.tools{}.tray.match{animation:flash .4s}.tools{display:flex;justify-content:center;gap:22px;margin-top:21px}.tools>button{position:relative;display:flex;align-items:center;flex-direction:column;width:82px;padding:9px 8px 7px;border:2px solid #638176;background:#b9daca;border-radius:12px;box-shadow:0 4px 0 #82a696;transition:transform .15s}.tools>button:hover{transform:translateY(-2px)}.tool-icon{font-size:30px;height:33px;line-height:30px;color:#496f66}.tools b{font-size:12px;font-weight:650;letter-spacing:3px}.tools small{margin-top:6px;font-size:8px;color:#658e78}.tools>button:disabled{opacity:.4;cursor:default;transform:none}.bottom-links{display:flex;justify-content:space-between;margin-top:22px}.bottom-links button{font-size:10px;background:none;color:#7f9753;padding:5px}#ad-note{font-size:8px;text-align:center;color:#95a86c;margin:9px 0 0}footer{position:relative;max-width:940px;margin:28px auto;padding:15px 0;border-top:1px solid #aec67c;font-size:10px;color:#859e5a;display:flex;justify-content:space-between}footer button{background:none;font-size:10px;color:inherit}#float-text{position:absolute;top:37%;left:0;right:0;pointer-events:none;text-align:center;font-size:26px;font-weight:800;color:#fff9ce;text-shadow:0 2px #608c37,2px 0 #608c37,-2px 0 #608c37;z-index:100;opacity:0}#float-text.show{animation:float .8s ease-out}dialog{width:min(360px,90%);padding:25px 27px;border:3px solid #718847;border-radius:22px;background:#f3f4d9;color:#4c6437;text-align:center;box-shadow:0 8px 0 #758c47,0 30px 70px #33472266}dialog::backdrop{background:#34472988;backdrop-filter:blur(4px)}dialog .modal-sheep{width:120px;height:87px;margin:auto;display:block}dialog h2{font-size:24px;letter-spacing:2px;margin:9px 0}dialog p{font-size:12px;line-height:1.9;color:#85905f}dialog button{display:block;width:100%;padding:13px 10px;border-radius:10px;background:#dfe6ba;margin-top:10px;font-size:13px;border:1.5px solid #a8b87d}dialog .primary{background:#f1d372;border-color:#a89750;color:#6d612e;box-shadow:0 3px 0 #cfba69}dialog button:disabled{opacity:.5}.fly-tile{position:fixed;pointer-events:none;z-index:1000;transition:transform .23s ease-in,opacity .23s}.particles{position:absolute;inset:0;pointer-events:none}@keyframes pop{from{transform:scale(.7)}to{transform:scale(1)}}@keyframes flash{50%{filter:brightness(1.3)}}@keyframes float{0%{opacity:0;transform:translateY(16px) scale(.8)}20%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1}100%{opacity:0;transform:translateY(-30px)}}@media(max-width:950px){main{gap:45px;grid-template-columns:270px minmax(0,440px)}h1{font-size:59px}}@media(max-width:740px){main{display:block;max-width:460px;margin:0 auto;padding:0 10px 10px}.intro{display:none}.game{border:0;border-radius:0 0 22px 22px;padding:13px 14px 14px;box-shadow:none}.scene-cloud{display:none}body{background:#d1e49e}.board-shell{margin-top:4px}.stage-title{margin-top:8px}.stage-title h2{font-size:20px;margin-bottom:10px}.tools{margin-top:18px;gap:23px}.tools>button{width:77px}footer{margin:4px 20px;padding:13px 0;font-size:8px}.reserve-line{margin-bottom:9px}#status{font-size:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Readability pass: quiet backdrop, larger icons and a clear raised tile edge. */
body{background-color:#d6dfb5;background-image:none}.game{background:#e0e8c3;border-color:#b7c397}.tile{padding:1px;background:linear-gradient(145deg,#ffffff 0%,#fffef4 55%,#f0ecd7 100%);border:1.5px solid #697951;box-shadow:inset 0 2px 0 #fff,inset 2px 0 0 #ffffffb3,0 4px 0 #c4c5a2,0 6px 0 #728157,0 8px 3px #586b3530;border-radius:9px}.tile svg{filter:drop-shadow(0 1px .35px #34442138)}.tile:not(.covered):hover{background:linear-gradient(145deg,#fff,#fffbe8)}.tile.covered{filter:brightness(.83) saturate(.65);border-color:#89917a;box-shadow:0 4px 0 #a5b18e,0 6px 0 #7c8c63}.tile.covered svg{filter:none}.slot .tile{padding:0;background:linear-gradient(145deg,#fff,#fffdf0 55%,#eee8ce);box-shadow:inset 0 1px #fff,0 3px 0 #babd95,0 4px 0 #708050}.tray{background:#b7c695;border-color:#8b9c70}.slot{background:#a6b684}.metrics,.tray-head{color:#5a7044}.reserve-line>span{color:#637a49}.reserve-line>small{color:#778961}.progress{background:#c2d09e}#ad-note{color:#7c8c67}.tools>button{background:linear-gradient(145deg,#d8ede5,#b1d2c6);border-color:#73958a}.tools small{color:#54766b}@media(max-width:740px){body{background:#e0e8c3}}
/* Larger cards, stronger face colors, and a third-stage entry. */
main{max-width:1140px;grid-template-columns:320px minmax(0,540px);gap:90px}.tile{width:13.1%;height:13.1%;padding:0}.tile svg{width:100%;height:100%}.extreme{display:block;width:100%;margin-top:9px;padding:11px 10px;border:1.5px solid #b2604b;border-radius:10px;background:linear-gradient(130deg,#ffe6c5,#f6c197);color:#963e2b;font-size:12px;font-weight:700;letter-spacing:1px}.extreme:disabled{opacity:.5}.game{padding-left:15px;padding-right:15px}.board-shell{margin-bottom:8px}@media(max-width:950px){main{grid-template-columns:250px minmax(0,540px);gap:30px}}@media(max-width:740px){main{display:block;padding:0;max-width:500px}.game{padding-left:8px;padding-right:8px}.metrics,.progress,.topbar,.tray-head,.tools,.bottom-links,#ad-note,.extreme{margin-left:8px;margin-right:8px}.extreme{width:calc(100% - 16px)}.stage-title{margin-top:6px}.tools{margin-top:15px}.reserve-line{margin-top:0}.bottom-links{margin-top:16px}}
.catalog-button{font-size:10px;background:#f9fbea;color:#3e6138;padding:5px 8px;border:1px solid #a5b78b;border-radius:7px}.metrics{align-items:center;gap:5px}.icon-catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.icon-catalog>div{background:#fffef6;border:1px solid #bdc7a1;border-radius:9px;padding:5px;display:flex;flex-direction:column;align-items:center;gap:3px}.icon-catalog svg{width:46px;height:46px}.icon-catalog span{font-size:11px;color:#304b2c}.tile svg{filter:none}dialog:has(.icon-catalog){max-height:90vh;overflow:auto;width:min(400px,94%)}dialog:has(.icon-catalog) .modal-sheep{display:none}.tile.covered{filter:brightness(.83) saturate(.45)}

/* Photographic sprite atlas: 4 columns × 5 rows, one real-world object per tile. */
:root{--real-atlas:url("realistic-atlas.png")}.real-icon{display:block;width:100%;height:100%;background-image:var(--real-atlas);background-size:400% 500%;background-repeat:no-repeat;background-color:white;pointer-events:none;border-radius:5px}.tile{padding:1px;background:#fff}.tile:not(.covered):hover{background:#fff}.slot .tile{padding:0;background:#fff}.icon-catalog .real-icon{width:52px;height:52px}.icon-catalog>div{background:#fff}.tile.covered{filter:brightness(.82) saturate(.7)}

.real-icon[data-type="8"]{background-image:url("three-chilies.png");background-size:contain;background-position:center!important}

/* 两根写实棒棒糖 */
.real-icon[data-type="14"]{background-image:url("two-lollipops.png");background-size:contain;background-position:center!important}

/* Refined surfaces: soft bevels, quiet backgrounds, readable controls. */
body{background:#dce3c5;color:#405437;-webkit-font-smoothing:antialiased}
.game{background:linear-gradient(165deg,#edf1db,#e0e8c9 62%,#dbe5bf);border-color:#bbc8a0;box-shadow:inset 0 1px 0 #ffffffbf,0 7px 0 #b7c59c,0 18px 38px #455b2620}
.tile{border-color:#82916b;border-radius:10px;box-shadow:inset 0 1px 0 #fff,0 3px 0 #d5d8c1,0 5px 0 #899672,0 7px 5px #34492724;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.tile:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 1px #ffffffd9,inset 0 -1px 1px #75806120}
.real-icon{border-radius:8px;image-rendering:auto}
.tile.covered{filter:brightness(.84) saturate(.65);border-color:#929b80;box-shadow:0 3px 0 #b6bfa1,0 5px 0 #879474}
.tile:active:not(.covered){box-shadow:0 1px 0 #d5d8c1,0 2px 0 #899672}
.tray{border-color:#9aaa7f;background:linear-gradient(#b5c398,#c4d0aa);box-shadow:inset 0 2px 5px #526b3230,0 1px 0 #faffec;border-radius:14px;padding-top:9px;padding-bottom:12px}
.slot{background:#a6b78b;box-shadow:inset 0 2px 4px #53683a33,inset 0 -1px 0 #dde6ca;border-radius:7px}
.slot .tile{border-radius:7px;border-color:#82916b;box-shadow:0 2px 0 #d2d6bd,0 4px 0 #899672}
.tray.danger{border-color:#b67856;background:linear-gradient(#dbb389,#edd0a6)}
.topbar button{background:linear-gradient(#f8fbe9,#e5edcc);border-color:#b0bf95;box-shadow:0 2px 2px #5b703318;color:#536943}
.topbar>span,.stage-title small{color:#64784d}.stage-title h2{color:#3f5636;letter-spacing:2px}
.metrics,.tray-head{color:#506640;font-size:11px}.reserve-line>small{color:#697c53}.catalog-button{background:#f9fbf1;border-color:#b5c39c;box-shadow:0 1px 2px #52663312;padding:6px 9px}
.progress{height:5px;background:#c4d1aa;box-shadow:inset 0 1px 2px #6580441a}.progress i{background:linear-gradient(90deg,#8ba466,#66894b)}
.tools>button{background:linear-gradient(155deg,#eef8f1,#ccdfd4);border:1.5px solid #91ada0;border-radius:14px;box-shadow:inset 0 1px 0 #fff,0 3px 0 #a1bbae,0 5px 6px #44645415}.tools>button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #a1bbae}.tools small{font-size:10px;color:#4f7060}.tools>button:disabled{opacity:.55}.tools b{letter-spacing:2px}
.bottom-links button{color:#566e40;font-size:11px;padding:8px 5px}.extreme{background:linear-gradient(145deg,#fff0d9,#f1d1ae);border-color:#c99870;box-shadow:inset 0 1px #fff7e9,0 2px 0 #d7b592;color:#875030}
dialog{background:linear-gradient(#fcfdf6,#eef2df);border:1.5px solid #9aaa82;box-shadow:0 5px 0 #b7c49c,0 24px 65px #263c2940}dialog p{color:#62724e}dialog::backdrop{background:#28392469;backdrop-filter:blur(5px)}.icon-catalog>div{border-color:#d0d8bf;box-shadow:0 2px 4px #5266380c;border-radius:12px}.icon-catalog span{color:#435338}
@media(max-width:740px){body{background:#e7edd5}.game{box-shadow:none}.topbar button{width:34px;height:34px}.bottom-links button{min-height:40px}}
@media(hover:hover){.tile:not(.covered):hover{box-shadow:inset 0 1px #fff,0 4px 0 #d5d8c1,0 6px 0 #899672,0 9px 8px #34492728}.catalog-button:hover,.topbar button:hover{background:#fffef5}}

/* Flat card faces without the raised double-layer edge. */
.tile,.tile.covered,.slot .tile,#reserve .tile,
.tile:not(.covered):hover,.tile:active:not(.covered){box-shadow:none}
.tile:after{display:none}
.tile:not(.covered):hover,.tile:active:not(.covered){transform:none}

.real-icon[data-type="12"]{background-image:url("burger-clean.png");background-size:contain;background-position:center!important}

.real-icon[data-type="18"]{background-image:url("two-pizza-touching.png");background-size:contain;background-position:center!important}

.real-icon[data-type="15"]{background-image:url("bell-clean.png");background-size:contain;background-position:center!important}

.challenge-copy{text-align:center;font-size:12px;line-height:1.6;color:#536a40;margin:0 8px 12px;letter-spacing:.3px}

.social-actions{display:flex;gap:10px;margin:14px 8px 0}.social-actions button{flex:1;padding:11px 6px;background:#f4f7e9;border:1px solid #b5c39c;border-radius:10px;font-size:12px;color:#48643b}
#completion-note{font-size:12px;text-align:left;padding:9px 10px;margin:8px 5px;background:#f7fae9;border-radius:9px;color:#4f6539}.ranking-list{max-height:40vh;overflow:auto;text-align:left}.ranking-row{padding:12px 8px;border-bottom:1px solid #d8dfc8;font-size:14px}.ranking-list p{font-size:13px}
/* Bilingual copy wraps on two lines without reducing legibility. */
button,p,.subtitle,.stamp,.bubble,.topbar>span,.metrics>span,.reserve-line>span,.reserve-line>small,.tray-head>span,.tools b,.tools small,.personal span,.personal small,.personal strong,.rules-card b,.stage-title h2,.icon-catalog span,footer span,.ranking-row{white-space:pre-line;overflow-wrap:break-word}
.brand-en{font-size:22px;letter-spacing:5px;font-weight:800;margin:0 0 18px;color:#4f673b}
.stage-title h2{font-size:19px;line-height:1.5;letter-spacing:1px}.topbar>span{font-size:12px;text-align:center;letter-spacing:1px}.metrics{align-items:center}.metrics>span{font-size:11px}.catalog-button{font-size:11px}.tools{gap:14px}.tools>button{width:95px;min-height:112px}.tools b{letter-spacing:0;line-height:1.5}.tools small{line-height:1.5}.reserve-line{height:auto;min-height:52px}.tray-head{align-items:center}.tray-head>span{max-width:85%;line-height:1.6}.bubble{max-width:175px;font-size:11px;line-height:1.5}.personal strong{float:none;display:block;margin-top:8px}.personal small{font-size:11px}.rules-card p{line-height:1.7}.disclaimer{font-size:11px}dialog{max-height:90dvh;overflow-y:auto}dialog p{font-size:13px;line-height:1.7}dialog button{white-space:pre-line;line-height:1.5}.icon-catalog{gap:6px}.icon-catalog span{font-size:11px;line-height:1.4}.icon-catalog>div{min-width:0}.bottom-links{gap:10px}.bottom-links button{line-height:1.5}footer{gap:12px;align-items:center}#ad-note{font-size:10px;line-height:1.6}#completion-note{line-height:1.6}.ranking-row{line-height:1.6}.social-actions button{line-height:1.5}

.real-icon[data-type="13"]{background-image:url("fries-clean.png");background-size:contain;background-position:center!important}
