@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{font-family:Nunito,system-ui,sans-serif;color:#233f37;background:#fafbf6}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:4px solid #e8a422;outline-offset:4px}button:disabled{cursor:default}header{max-width:1200px;margin:auto;padding:27px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4e9df}.brand{font-size:24px;font-weight:900;text-decoration:none;color:#245d47}.brand b{color:#c08024}.quiet{background:white;border:1px solid #dbe3d7;border-radius:30px;padding:11px 18px;font-weight:800}main{max-width:1100px;margin:auto;padding:42px 32px;min-height:calc(100vh - 180px)}.eyebrow{font-size:14px;font-weight:900;letter-spacing:2px;color:#71806d}h1{font-size:clamp(32px,4.5vw,48px);line-height:1.2;letter-spacing:-1.5px;margin:12px 0;color:#204e3c;font-weight:900}.intro{font-size:18px;color:#6b776d;margin:0 0 30px}.games{display:grid;grid-template-columns:1fr 1fr;gap:26px}.game-card{border:1px solid #dde5d9;background:#fff;border-radius:28px;overflow:hidden;padding:0;text-align:left;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px #2345320e}.cover{height:252px;display:flex;justify-content:center;align-items:center;position:relative;background:#e3eed8}.cover.pink{background:#f5e3d9}.mini-grid{display:grid;grid-template-columns:repeat(3,58px);gap:7px;transform:rotate(-7deg)}.mini-grid span{background:#fffdf5;border-radius:12px;display:grid;place-items:center;height:58px;font-size:32px;box-shadow:0 4px 0 #293f3710}.mini-grid .empty{border:2px dashed #8ba77d;background:#f5f9ec;color:#668d50}.pairs{display:grid;grid-template-columns:repeat(2,87px);gap:13px;transform:rotate(7deg)}.pairs span{height:81px;border-radius:14px;background:#fff9ef;display:grid;place-items:center;font-size:44px;box-shadow:0 5px 0 #66453512}.pairs .back{background:#ce826f;color:white;font-size:36px}.badge{position:absolute;top:18px;left:20px;background:#ffffffc9;border-radius:30px;padding:7px 12px;font-size:14px;font-weight:900}.card-copy{padding:24px 27px}.card-copy h2{font-size:27px;letter-spacing:-.7px;margin:0 0 6px}.card-copy p{color:#748074;margin:0 0 24px;font-size:16px}.card-bottom{display:flex;justify-content:space-between;align-items:center}.pill{font-weight:800;color:#70816b;font-size:14px}.play-btn,.primary{display:inline-block;background:#286b50;color:white;border:0;border-radius:16px;padding:13px 23px;font-weight:900}.pink+.card-copy .play-btn{background:#ad614f}.small-note{margin-top:25px;text-align:center;font-size:15px;color:#7c8878}footer{max-width:1136px;padding:22px 32px;margin:auto;border-top:1px solid #e2e7dc;display:flex;justify-content:space-between;gap:16px;color:#7b877a;font-size:14px}.topline{display:flex;justify-content:space-between;align-items:center}.back-link{border:0;background:none;padding:10px 0;font-weight:800;color:#65806d}.game-head{text-align:center;margin:12px 0 23px}.game-head h1{font-size:36px}.game-head p{color:#697a6b;margin:10px 0;font-size:17px}.levels{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:20px 0}.level{border:1px solid #d9e1d4;border-radius:30px;background:white;padding:10px 19px;font-weight:800}.level.active{color:#fff;background:#286b50;border-color:#286b50}.play-layout{display:grid;grid-template-columns:minmax(280px,470px) 240px;gap:32px;justify-content:center;align-items:center}.board{display:grid;gap:8px;padding:14px;background:#dbe6d4;border-radius:24px;width:100%;aspect-ratio:1}.cell{border:0;background:#fffef8;border-radius:12px;font-size:clamp(30px,5vw,53px);min-width:0;display:grid;place-items:center;box-shadow:0 3px 0 #8a9f7a20}.cell.given{background:#edf2e7}.cell.related{background:#f6f7d9}.cell.selected{outline:4px solid #e9b747;outline-offset:-4px;background:#fff9d8}.cell.wrong{animation:shake .3s;background:#ffe8d8}.dot{font-size:28px;color:#98ac8d}.board.regions{gap:6px}.regions .cell:nth-child(4n+2){margin-right:7px}.regions .cell:nth-child(n+5):nth-child(-n+8){margin-bottom:7px}.palette{display:grid;grid-template-columns:1fr 1fr;gap:10px}.animal{font-size:42px;background:white;border:2px solid #dce5d5;border-radius:18px;padding:10px}.panel-title{font-size:17px;font-weight:900;margin:0 0 12px}.hint{width:100%;margin-top:15px}.status{min-height:54px;font-size:16px;line-height:1.5;margin:16px 0;color:#597044}.memory-board{max-width:650px;margin:auto;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.memory-card{aspect-ratio:1;border:0;border-radius:20px;background:#cc806c;color:white;font-size:44px;box-shadow:0 5px 0 #ab6254;transition:transform .2s,background .2s}.memory-card.revealed{background:#fff1da;color:#284f3d;box-shadow:0 5px 0 #e8d9ba}.memory-card.matched{background:#e0edce;box-shadow:0 5px 0 #c4d8ae}.memory-stats{display:flex;gap:24px;justify-content:center;margin:20px 0;color:#607256;font-weight:800}.memory-actions{text-align:center;margin-top:25px}.win{margin:22px auto 0;max-width:650px;background:#e7efdb;border:1px solid #cddbba;border-radius:22px;text-align:center;padding:22px}.win h2{margin:0 0 8px;font-size:26px}.win p{margin:0 0 18px}.win .quiet{margin-left:10px}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media(max-width:650px){header{padding:17px 18px}.brand{font-size:19px}#sound span{display:none}main{padding:28px 18px}.games{grid-template-columns:1fr;gap:20px}.cover{height:210px}.card-copy{padding:20px}.play-layout{grid-template-columns:minmax(0,430px);gap:20px}.palette{grid-template-columns:repeat(4,1fr)}.animal{font-size:36px;padding:8px}.panel-title{text-align:center}.status{text-align:center;min-height:24px;margin:10px 0}.hint{margin-top:10px}.game-head h1{font-size:30px}.game-head p{font-size:16px}.memory-board{gap:10px}.memory-card{font-size:34px;border-radius:15px}footer{padding:20px;display:block;text-align:center}footer span{display:block;margin-top:5px}.level{padding:9px 14px}.win .quiet{margin:10px 0 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
header{flex-wrap:wrap;gap:12px}.brand{margin-right:auto}.profile-button{max-width:100%;overflow-wrap:anywhere}.profile-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 24px;background:#eaf1df;border:1px solid #d9e6cb;border-radius:22px;margin-bottom:28px}.profile-summary strong{font-size:21px;overflow-wrap:anywhere}.profile-summary p{margin:5px 0 0;line-height:1.5}.streak-badge{white-space:nowrap;font-size:16px}.streak-badge b{font-size:30px}.profile-page{max-width:740px;margin:auto}.profile-dashboard{background:#fff;border:1px solid #dce5d4;border-radius:24px;padding:26px;margin:25px 0}.profile-dashboard h2{margin:0 0 20px;overflow-wrap:anywhere}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.profile-stats div{background:#eef4e6;text-align:center;padding:16px 8px;border-radius:18px}.profile-stats b{display:block;font-size:28px}.profile-stats span{font-size:14px}.day-track{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:24px 0}.day{text-align:center;font-size:14px}.day b{display:grid;place-items:center;background:#f2f3ed;border-radius:14px;aspect-ratio:1;margin-top:8px;font-size:27px;color:#8c9e82}.day.done b{background:#e5f0d5}#profile-form label{display:block;font-size:18px;font-weight:800;margin:23px 0 10px}.name-entry{display:flex;gap:10px}.name-entry input{min-width:0;flex:1;padding:15px 18px;border:2px solid #d4dfca;border-radius:15px;background:white;font:inherit;font-size:18px;color:#244b39}.name-entry input:focus{outline:3px solid #e4b756}.saved-title{font-size:18px}.saved-profiles{display:flex;flex-wrap:wrap;gap:10px}.saved-profiles button{overflow-wrap:anywhere;max-width:100%}.saved-profiles span{margin-left:8px}.saved-profiles .chosen{background:#e5efd9;border-color:#8cab6e}.profile-explain,.local-note{line-height:1.7;font-size:14px;color:#65745f}.profile-explain{margin-top:27px}.local-note{color:#78816e}.win-streak{font-weight:900;color:#35632c}@media(max-width:650px){header .brand{flex:1}header .profile-button{width:100%;padding:8px 14px}.profile-summary{align-items:flex-start;flex-direction:column;gap:9px;padding:18px}.profile-dashboard{padding:17px}.profile-stats{gap:6px}.profile-stats b{font-size:24px}.profile-stats span{font-size:14px}.day-track{gap:4px}.day{font-size:12px}.day b{font-size:22px}.name-entry{flex-direction:column}}
