@charset "UTF-8";
:root{color-scheme:light;--bg:#f7f8f2;--paper:#fff;--ink:#203b34;--muted:#69776d;--green:#2d6551;--line:#e0e5da;--mint:#e9efe3;--orange:#af6139;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;touch-action:manipulation;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #c08024;outline-offset:5px}h1:focus{outline:none}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}p{line-height:1.75}h2{font-size:25px;letter-spacing:-.6px}h3{font-size:22px}button{border:0}.site-header,main,.site-footer{width:min(1120px,calc(100% - 80px));margin:auto}.site-header{min-height:112px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:26px;letter-spacing:2px;font-weight:700}.brand-icon{display:grid;place-items:center;font-size:40px;width:54px;height:54px;border-radius:18px;background:var(--green);color:#e6edcf}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:400;color:var(--muted);margin-top:5px}.header-actions{display:flex;align-items:center;gap:20px}.connection{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:7px}.connection:before{content:"";width:7px;height:7px;border-radius:50%;background:#c9a462}.connection.ready:before{background:#689d66}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 22px;border-radius:14px;font-size:18px;font-weight:550;line-height:1.4}.quiet{background:transparent}.quiet:hover{background:#e9ede4}.primary{background:var(--green);color:white;box-shadow:0 3px 0 #1f4d3c}.primary:hover{background:#245642}.secondary{background:#fff;border:1px solid var(--line)}.secondary:hover{background:#eff2e9}.large{min-height:62px;padding:17px 35px;font-size:22px}.welcome{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:330px;padding:46px 20px 40px 0;overflow:hidden}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:16px;letter-spacing:1.2px;margin-bottom:17px}.little-dot{width:7px;height:7px;border-radius:50%;background:#8da377}h1{font-size:54px;font-weight:650;letter-spacing:-2px;line-height:1.22}.welcome p{color:var(--muted);margin-top:17px;font-size:20px}.welcome-note{display:flex;align-items:center;gap:9px;margin-top:24px;font-size:15px;color:#65765d}.welcome-note span{font-size:24px}.mobile-break{display:none}.hero-art{position:relative;flex:0 0 330px;height:230px;background:radial-gradient(ellipse,#e9eedc 0%,#f7f8f2 70%)}.art-card{position:absolute;display:grid;place-items:center;width:115px;height:145px;border:5px solid white;border-radius:21px;box-shadow:0 12px 35px #3c563516}.art-back{left:16px;top:50px;transform:rotate(-19deg);font-size:58px;background:#bbcca6;color:#fff7dd}.art-fruit{left:108px;top:25px;transform:rotate(4deg);font-size:65px;background:#fff8e9}.art-leaf{left:197px;top:76px;transform:rotate(20deg);font-size:55px;background:#edf1e2}.art-spark{position:absolute;right:18px;top:0;font-size:48px;color:#bba56e}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 24px}.today-count{font-size:16px;color:var(--muted)}.today-count b{color:var(--green);padding:0 3px;font-size:20px}.featured-games{display:grid;grid-template-columns:1fr 1fr;gap:24px}.game-card{position:relative;display:block;text-align:left;min-height:345px;border-radius:27px;padding:27px 30px 24px;border:1px solid #dce4d4;transition:transform .2s,box-shadow .2s;overflow:hidden}.game-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #344c3010}.pairs-card{background:#eaf0e2}.missing-card{background:#f5ece1;border-color:#e9dfd0}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.category{font-size:15px;letter-spacing:2px;color:#5a7052}.missing-card .category{color:#8c6e4b}.available{font-size:13px;border:1px solid #cbd8bd;border-radius:30px;padding:5px 11px;background:#f7faf2b3;color:#516b45}.missing-card .available{border-color:#e1cfb5;background:#fffbf2b3;color:#8a6841}.card-picture{height:115px;display:flex;align-items:center;justify-content:center;gap:13px;margin-top:5px}.pair-picture span{display:grid;place-items:center;width:70px;height:82px;border-radius:14px;background:#fffcf5;border:2px solid #fff;font-size:40px;box-shadow:0 4px 8px #53604712;transform:rotate(-8deg)}.pair-picture span:nth-child(2){background:#79936d;color:#e5edcf;font-size:43px;transform:rotate(6deg)}.pair-picture span:nth-child(3){transform:rotate(14deg)}.missing-picture span{font-size:49px;transform:rotate(-9deg)}.missing-picture .mystery{display:grid;place-items:center;border:2px dashed #baa789;background:#fff8ec77;width:74px;height:80px;border-radius:16px;font-size:42px;color:#a88f6a;transform:rotate(6deg)}.game-card h3{font-size:29px;margin-top:10px;letter-spacing:-.5px}.game-card p{font-size:17px;color:#63755b;margin-top:9px}.missing-card p{color:#85745e}.card-link{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:19px;font-weight:600}.card-link>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#ffffff99;font-size:25px}.coming-section{margin-top:42px}.muted{font-size:15px;color:var(--muted)}.placeholder-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.placeholder-card{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:18px;padding:20px;background:#fdfdf9}.placeholder-icon{width:48px;height:48px;flex-shrink:0;background:#eef0e8;border-radius:14px;display:grid;place-items:center;color:#76836f;font-size:29px}.placeholder-card h3{font-size:18px;font-weight:550}.placeholder-card p{font-size:14px;color:var(--muted);margin-top:4px}.soon{font-size:12px;color:#747e6f;white-space:nowrap;margin-left:auto;background:#eef0e9;border-radius:20px;padding:5px 9px}.site-footer{display:flex;justify-content:space-between;gap:16px;padding:30px 0;margin-top:35px;border-top:1px solid var(--line);font-size:13px;color:#6e7b69}.play-screen{padding-top:28px}.game-toolbar{display:flex;justify-content:space-between}.play-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:32px 0 26px}.play-heading h1{font-size:40px}.play-heading .eyebrow{font-size:15px;margin-bottom:10px}.level-picker{display:flex;border:1px solid var(--line);background:#eeefe6;border-radius:15px;padding:5px;margin:0;min-width:260px}.level-picker legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.level-picker button{background:transparent;padding:11px 18px;border-radius:11px;min-height:48px;flex:1;color:#6b7863;font-size:18px}.level-picker .selected{background:#fff;color:var(--green);box-shadow:0 2px 5px #253a2910;font-weight:650}.round-status{display:flex;justify-content:space-between;gap:14px;padding:18px 22px;background:#eaf0e3;border-radius:15px;font-size:18px;margin-bottom:24px;color:#53684b}.round-status b{font-weight:650;color:var(--ink)}.pair-board{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:860px;margin:0 auto}.pair-board.five-columns{grid-template-columns:repeat(5,1fr)}.pair-tile{height:134px;position:relative;border-radius:19px;background:#7a9570;border:2px solid #6c8862;box-shadow:0 4px 0 #637b58;transition:background .2s,transform .2s;overflow:hidden}.pair-tile:active{transform:translateY(2px);box-shadow:0 2px 0 #637b58}.tile-back{position:absolute;inset:10px;border:1px solid #d4dec144;border-radius:10px;display:grid;place-items:center;font-size:48px;color:#e9efd2;transition:opacity .15s}.tile-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;visibility:hidden}.object-emoji{display:block;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:49px;line-height:1.3;font-weight:400}.object-name{display:block;font-size:17px;font-weight:500;margin-top:5px}.flipped,.matched{background:#fffdf7;border-color:#d9dfce;box-shadow:0 4px 0 #d9dfce}.flipped .tile-back,.matched .tile-back{opacity:0}.flipped .tile-face,.matched .tile-face{opacity:1;visibility:visible}.matched{background:#edf3e7;border-color:#bbcfab;box-shadow:0 4px 0 #c5d4b9}.matched .object-emoji{opacity:.8}.match-check{display:none;position:absolute;top:9px;right:12px;font-size:18px;color:var(--green)}.matched .match-check{display:block}.play-note{font-size:16px;color:var(--muted);text-align:center;margin:25px 0}.objects-board{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-width:860px;margin:auto}.object-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:170px;border-radius:20px;border:1px solid #e3dfd2;background:#fffcf5;padding:17px;position:relative}.object-tile .object-emoji{font-size:63px}.object-tile .object-name{font-size:19px}.empty-object{border:2px dashed #bfbda9;background:#eeefe5;color:#848a70}.empty-object>span:first-child{font-size:60px}.ready-area{text-align:center;padding:30px 0 10px}.ready-area p{color:var(--muted);margin-bottom:20px}.choices-area{margin:30px auto 0;max-width:860px;text-align:center}.choices-area h2{font-size:23px;margin-bottom:20px}.choices{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.choice-tile{min-height:133px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:white;border:2px solid #dfe4d6;border-radius:18px;padding:12px}.choice-tile:hover{border-color:#829b70;background:#fcfff7}.choice-tile.wrong{background:#efefe8;border-color:#e3e3d8;color:#747b69}.choice-tile.wrong .object-emoji{opacity:.4}.choice-hint{font-size:13px;margin-top:6px}.answer-status{min-height:36px;color:var(--muted);font-size:17px;margin-top:18px}.found-object{background:#edf3e7;border:2px solid #8aa279}.object-tag{font-size:13px;color:var(--green);margin-top:7px}.result-panel{display:flex;gap:18px;align-items:center;background:#e9efdf;border:1px solid #d6e1c8;border-radius:22px;padding:27px;margin-top:25px}.result-symbol{font-size:44px;color:#65814c}.result-panel h2{font-size:25px}.result-panel p{font-size:16px;color:#5e7152;margin-top:7px}.result-actions{display:flex;gap:10px;margin-left:auto;flex-shrink:0}.result-actions .button{font-size:17px}dialog{border:1px solid var(--line);border-radius:25px;color:var(--ink);background:var(--bg);padding:30px;width:min(620px,calc(100% - 32px));max-height:85dvh;box-shadow:0 24px 100px #18362626}dialog::backdrop{background:#1e31285c;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}dialog section{border-top:1px solid var(--line);padding-top:23px;margin-top:23px}dialog h3{font-size:21px;margin-bottom:12px}dialog p{font-size:17px;color:#5e6f60;margin-bottom:13px}.backup-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.record-total{font-size:46px!important;color:var(--green)!important;line-height:1.4}.record-total span{display:inline-block;font-size:16px;margin-left:12px;color:var(--muted)}.fineprint p{font-size:14px;margin:0}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#263e33;color:white;border-radius:16px;padding:17px 25px;max-width:calc(100% - 32px);width:max-content;font-size:17px;box-shadow:0 6px 25px #10281833;z-index:10}.toast[hidden],[hidden]{display:none!important}#confirm>p{margin-top:18px}#backup-status{margin-top:16px}#update-button{margin-top:5px}
@media(min-width:1200px){.welcome{min-height:355px}.hero-art{margin-right:50px}.game-card{min-height:355px}.card-picture{height:123px}.pair-tile{height:143px}}
@media(max-width:900px){.site-header,main,.site-footer{width:calc(100% - 48px)}.connection{font-size:12px}.header-actions{gap:6px}.header-actions .button{font-size:16px;padding:10px 12px}.welcome{min-height:305px}.welcome h1{font-size:47px}.welcome p{font-size:18px}.hero-art{flex-basis:270px;transform:scale(.86);transform-origin:right center;margin-left:-30px}.game-card{padding:22px;min-height:330px}.featured-games{gap:18px}.game-card p{font-size:16px}.game-card h3{font-size:27px}.placeholder-card{padding:16px;gap:12px}.placeholder-card h3{font-size:17px}.pair-tile{height:125px}.result-panel{flex-wrap:wrap}.result-actions{margin-left:0;width:100%;justify-content:center}}
@media(max-width:600px){:root{font-size:17px}.site-header,main,.site-footer{width:calc(100% - 32px)}.site-header{min-height:90px}.brand{font-size:22px;gap:8px}.brand-icon{width:44px;height:44px;font-size:31px;border-radius:14px}.brand small{font-size:10px;letter-spacing:1px}.header-actions{flex-direction:column-reverse;gap:0;align-items:flex-end}.header-actions .button{font-size:14px;min-height:40px;padding:8px}.connection{font-size:10px}.welcome{min-height:290px;padding:30px 0}.welcome h1{font-size:42px;line-height:1.2}.mobile-break{display:block}.welcome .eyebrow{font-size:13px;letter-spacing:0}.welcome p{font-size:16px;max-width:225px;margin-top:14px}.welcome-note{font-size:12px;gap:5px;margin-top:17px}.hero-art{position:absolute;right:-23px;top:30px;width:230px;transform:scale(.57);transform-origin:right center;z-index:-1;opacity:.85}.welcome>div:first-child{max-width:72%}.section-heading h2{font-size:21px}.section-heading{gap:8px;margin-bottom:17px}.today-count{font-size:12px}.today-count b{font-size:17px}.featured-games{grid-template-columns:1fr}.game-card{min-height:290px;padding:24px}.card-picture{position:absolute;right:20px;top:65px;gap:4px;width:150px;opacity:.9}.pair-picture span{width:44px;height:58px;font-size:27px}.pair-picture span:nth-child(2){font-size:31px}.missing-picture span{font-size:33px}.missing-picture .mystery{width:45px;height:58px;font-size:31px}.game-card h3{margin-top:34px;max-width:55%;font-size:27px}.game-card p{margin-top:15px;max-width:55%;font-size:16px;min-height:55px}.card-link{margin-top:24px}.placeholder-grid{grid-template-columns:1fr}.coming-section{margin-top:32px}.site-footer{font-size:11px;margin-top:25px;flex-direction:column;gap:8px;padding:22px 0}.play-heading{flex-direction:column;align-items:flex-start;margin-top:27px;gap:20px}.play-heading h1{font-size:34px}.play-heading .eyebrow{font-size:13px}.level-picker{width:100%}.round-status{font-size:15px;padding:16px 12px}.round-status>span:last-child{font-size:13px}.pair-board,.pair-board.five-columns{grid-template-columns:repeat(4,1fr);gap:10px}.pair-tile{height:102px;border-radius:13px}.tile-back{font-size:33px;inset:6px}.object-emoji{font-size:37px}.object-name{font-size:13px}.match-check{top:3px;right:6px;font-size:14px}.objects-board{grid-template-columns:repeat(2,1fr);gap:12px}.object-tile{min-height:135px}.object-tile .object-emoji{font-size:49px}.object-tile .object-name{font-size:17px}.choices{grid-template-columns:repeat(2,1fr);gap:12px}.choice-tile{min-height:125px}.choice-tile .object-name{font-size:16px}.ready-area p{font-size:16px}.large{font-size:20px;width:100%;padding:16px}.play-note{font-size:14px}.result-panel{padding:20px;gap:12px}.result-panel h2{font-size:22px}.result-panel p{font-size:15px}.result-symbol{font-size:33px}.result-actions{flex-wrap:wrap}.result-actions .button{flex:1}.button{font-size:16px;padding:12px 16px}.game-toolbar .button{min-height:48px}dialog{padding:22px}.dialog-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
