:root{color-scheme:light;--ink:#172c40;--green:#b8ee65;--teal:#19716c}*{box-sizing:border-box}body{margin:0;background:#fcf9f0;color:var(--ink);font-family:ui-rounded,"Trebuchet MS",Arial,sans-serif}header{max-width:1160px;margin:auto;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e4d8;gap:15px}a{color:inherit}.brand{font-family:Arial,sans-serif;font-size:20px;font-weight:800;text-decoration:none;letter-spacing:-.5px}.brand>span:first-child{color:#568427}.tag{display:inline-block;margin-left:12px;font-size:11px;letter-spacing:1.4px;background:#e2eccf;border-radius:6px;padding:7px 9px;vertical-align:middle}.home{font-size:14px;font-weight:bold;text-decoration:none}main{max-width:790px;padding:30px 24px 10px;margin:auto}.intro{text-align:center}.eyebrow{color:#557166;font-size:11px;font-weight:800;letter-spacing:2px}h1{font-size:clamp(32px,5vw,48px);letter-spacing:-1.8px;line-height:1.12;margin:12px 0}h1 span{color:var(--teal)}.intro>p{font-size:18px;margin:0 0 24px;color:#536775}.playground{position:relative;border:1px solid #e2e5d9;border-radius:28px;padding:22px 30px;background:#fff;box-shadow:0 10px 0 #e9eddf}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress{font-size:16px;font-weight:bold}.progress>span:first-child{color:#a26b00;font-size:24px;vertical-align:middle;margin-right:5px}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:4px solid #c35623;outline-offset:4px}.restart{border:1px solid #dce2de;background:white;color:#405a5c;border-radius:12px;padding:11px 15px;font-size:14px;font-weight:bold;min-height:44px}.restart:hover{background:#f0f5e9}.dots{display:flex;gap:7px;margin-top:12px}.dot{height:7px;flex:1;border-radius:10px;background:#edf0e7;transition:background .2s}.dot.done{background:#87c944}.message{text-align:center;font-weight:bold;color:#426969;min-height:23px;margin:16px 0}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.card{position:relative;aspect-ratio:1.13;border:0;background:transparent;padding:0;border-radius:17px;perspective:700px}.card-inner{display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .32s}.card.open .card-inner,.card.matched .card-inner{transform:rotateY(180deg)}.side{position:absolute;inset:0;backface-visibility:hidden;border-radius:17px;display:flex;align-items:center;justify-content:center;flex-direction:column}.back{color:white;background:#267c76;border:3px solid #ffffff;outline:1px solid #1e6963;box-shadow:0 4px 0 #145a55;background-image:radial-gradient(#ffffff13 2px,transparent 2px);background-size:17px 17px}.back svg{width:45%;height:45%;transform:rotate(-12deg);filter:drop-shadow(0 3px 0 #125f59)}.back .spark{position:absolute;right:15%;top:11%;font-size:17px;color:#d9edae}.card:not(.open):not(.matched):hover .back{background-color:#328d84}.front{transform:rotateY(180deg);background:var(--tint,#f3eadc);border:2px solid #e6dfcf;box-shadow:0 3px 0 #e2ddce}.front svg{width:68%;height:72%}.animal-name{font-size:13px;font-weight:bold;line-height:1.1;margin-top:-2px}.check{display:none;position:absolute;top:5px;right:6px;border-radius:50%;background:#286b3d;color:white;width:20px;height:20px;line-height:20px;font-size:13px}.matched .front{border-color:#91c56b;box-shadow:0 3px 0 #a8cc82}.matched .check{display:block}.matched{cursor:default}.gentle{text-align:center;color:#738078;font-size:13px;margin:22px 0 0}.how{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:#65736d;margin:28px 0 20px}.how span{background:#e5edd7;color:#4b6745;border-radius:50%;width:21px;height:21px;text-align:center;line-height:21px;font-weight:bold}.how b{margin:0 6px;color:#9ca598}footer{max-width:1100px;margin:10px auto 0;padding:20px 25px;display:flex;justify-content:space-between;gap:15px;color:#748079;font-size:12px}.victory{text-align:center;margin-top:24px;padding:21px 10px;background:#f0f8df;border-radius:18px}.victory[hidden]{display:none}.stars{display:block;color:#b27600;font-size:25px;letter-spacing:8px;animation:pop .6s ease-out}.victory h2{font-size:25px;margin:8px 0}.victory p{margin:8px 0 18px;color:#536650}.primary{background:var(--ink);color:white;border:0;border-radius:13px;padding:14px 25px;font-weight:bold;min-height:48px}.primary:hover{background:#2d4a60}dialog{border:0;border-radius:24px;padding:28px;max-width:calc(100vw - 32px);color:var(--ink);box-shadow:0 18px 80px #0003}dialog::backdrop{background:#152e426b}dialog h2{margin:0;font-size:24px}dialog p{color:#586974}.dialog-buttons{display:flex;gap:12px;margin-top:25px}@keyframes pop{from{transform:scale(.5)}to{transform:scale(1)}}@media(max-width:540px){header{padding:20px}.brand{font-size:16px}.tag{margin-left:6px;font-size:9px;padding:6px}.home{font-size:12px}main{padding:25px 14px 5px}.intro>p{font-size:16px}.playground{padding:17px 16px;border-radius:22px}.board{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card{aspect-ratio:1.05}.animal-name{font-size:12px}.message{font-size:14px}.how{gap:6px}.how b{display:none}footer{font-size:11px;justify-content:center;flex-wrap:wrap}.victory h2{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

.game-links{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin:28px auto 10px;font-size:14px}.game-links a,.game-links span{padding:10px 15px;border-radius:20px}.game-links span{background:#e5edda;font-weight:bold}
