@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--ink:#243d35;--muted:#768078;--cream:#f7f5ee;--gold:#e7b958}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #b8862d;outline-offset:4px}button{transition:background .2s,transform .2s}button:hover{filter:brightness(.97)}header{height:94px;border-bottom:1px solid #e5e7dc;display:flex;align-items:center;justify-content:space-between;padding:0 6vw}.brand{color:var(--ink);text-decoration:none;font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:28px;position:relative;display:flex;align-items:center;gap:10px}.paw{color:var(--gold);font-size:42px}.by{font:9px 'DM Sans',sans-serif;letter-spacing:2px;position:absolute;left:53px;bottom:-10px}.header-right{display:flex;gap:12px;align-items:center}.calm{font-size:12px;color:var(--muted);margin-right:16px}.icon{border:1px solid #dce0d4;border-radius:50%;width:36px;height:36px;background:transparent;font-weight:bold}main{max-width:1280px;margin:auto;padding:44px 46px 20px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#7d8778;font-weight:700}h1{font:600 clamp(32px,4vw,49px) 'Fraunces',Georgia,serif;margin:12px 0 10px;letter-spacing:-1.8px}h1 em{font-weight:500;color:#73826b}.intro>p{font-size:14px;color:#7a8277;margin:0 0 30px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px}.game{border:1px solid #dfe3d5;border-radius:20px;background:#fffef9;overflow:hidden;box-shadow:0 6px 25px #29493205;align-self:start}.game-top{display:flex;align-items:center;gap:16px;padding:20px 25px}.level-pill{border:0;background:#edf0e5;padding:9px 14px;border-radius:9px;font-weight:700;font-size:13px}.level-pill>span:last-child{padding-left:15px}.difficulty{font-size:11px;color:#909782}.moves{margin-left:auto;font-size:11px;color:#8a9184}.moves strong{font-size:16px;color:var(--ink);margin-right:4px}.progress{height:3px;background:#eff1e9}.progress>span{display:block;height:100%;background:var(--gold);transition:width .4s}.room{background:radial-gradient(ellipse at 50% 30%,#f1f2e5,#e7ecdd);padding:21px 25px 19px;min-height:400px;position:relative}.room-label{text-align:center;font-size:12px;color:#7f8a74;margin-bottom:22px}.room-label span{color:#b49450;margin-right:8px}.board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 24px;max-width:680px;margin:0 auto}.shelf{padding:0 5px 13px;border:0;background:transparent;position:relative;min-width:0}.shelf:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:12px;border-radius:4px;background:linear-gradient(#c39c6a,#a98054);box-shadow:0 7px 0 -3px #d4bc92,0 14px 13px -9px #675e35}.cats{height:90px;display:flex;align-items:end;justify-content:flex-start;position:relative}.cat{width:25%;flex:0 0 25%;height:auto;filter:drop-shadow(0 4px 2px #59462920);transition:transform .2s}.cat svg{display:block;width:100%;height:auto}.selected .cat:last-child{transform:translateY(-15px) rotate(-5deg);filter:drop-shadow(0 0 5px #ebbc52)}.selected:after{outline:3px solid #e4b95d}.shelf.hinted:after{outline:3px dashed #517e70}.shelf.done:before{content:'✓';position:absolute;right:0;top:-4px;color:#4e8067;font-size:18px}.empty-label{position:absolute;inset:30px 0 0;text-align:center;letter-spacing:5px;font-size:25px;color:#b8c1a9}.shelf-number{position:absolute;bottom:-14px;left:50%;font-size:9px;color:#929d83}#message{margin:28px auto 0;min-height:30px;text-align:center;font-size:12px;color:#67775e;max-width:500px;line-height:1.6}.tools{display:flex;justify-content:center;gap:12px;padding:20px 12px 14px}.tools button{border:1px solid #dfe3d6;background:#fffef9;border-radius:10px;padding:10px 17px;font-size:12px}.tools span{font-size:20px;margin-right:8px;vertical-align:middle}.tools #hint{background:#faedce;border-color:#efdeb6}button:disabled{opacity:.4;cursor:default}.game-bottom{display:flex;justify-content:space-between;padding:0 25px 18px;color:#92998b;font-size:10px}.host-photo{height:182px;overflow:hidden;border-radius:16px 16px 0 0;position:relative;background:#c9b08c}.host-photo img{width:100%;height:100%;object-fit:cover;object-position:65% 45%;transform:scale(1.17)}.photo-tag{position:absolute;bottom:12px;left:15px;background:#fff8dc;padding:6px 8px;font-size:8px;font-weight:700;letter-spacing:1.4px;border-radius:3px}.host-copy{background:#f0e9d9;padding:23px 23px 20px;border-radius:0 0 16px 16px}.tiny{font-size:8px;letter-spacing:1.7px;color:#8f8977;font-weight:bold}h2{font:500 25px 'Fraunces',Georgia,serif;margin:9px 0 11px;letter-spacing:-.5px}.host-copy>p{font-size:12px;line-height:1.85;color:#7c7c6a;margin:0}.quote{font:italic 16px/1.6 'Fraunces',Georgia,serif;padding-top:17px;margin-top:17px;border-top:1px solid #ddd6c5}.quote span{display:block;font:9px 'DM Sans',sans-serif;color:#9a927c;margin-top:6px}.how{margin:22px 9px}.how strong{font-size:12px}.how p{font-size:11px;color:#828b79;line-height:1.6;display:flex;gap:10px}.how b{background:#e7ebdf;border-radius:50%;width:19px;height:19px;flex:none;text-align:center;line-height:19px;font-size:9px;color:#6e7a60}footer{margin-top:30px;padding:20px 0;border-top:1px solid #e1e5d8;display:flex;justify-content:space-between;color:#929a8b;font-size:10px}footer>span:first-child{letter-spacing:1px;font-weight:bold}footer i{padding:0 10px}dialog{border:1px solid #d7decd;border-radius:22px;padding:36px;color:var(--ink);max-width:480px;width:calc(100% - 30px);background:#fffdf5;box-shadow:0 20px 100px #11291e40}dialog::backdrop{background:#1d352e70;backdrop-filter:blur(4px)}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:25px}dialog h2{font-size:30px}dialog p{font-size:14px;line-height:1.8;color:#78816f}.primary{border:0;border-radius:12px;background:var(--ink);color:white;padding:13px 23px;margin-top:15px}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:20px}.level-grid button{border:1px solid #d8dfcc;border-radius:10px;background:#edf1e6;padding:13px 5px}.stars{font-size:48px;color:#deb34f;letter-spacing:8px;margin:15px 0}.toastpop{animation:pop .3s}@keyframes pop{50%{transform:scale(1.08)}}@media(min-width:1200px){.cats{height:105px}}@media(max-width:900px){main{padding:30px 24px}.layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.room{padding:20px 15px}.board{gap:24px 14px}.cats{height:78px}.difficulty{display:none}.game-top{padding:18px}.tools button{padding:8px 12px}}@media(max-width:700px){header{height:78px;padding:0 20px}.brand{font-size:24px}.calm{display:none}main{padding:27px 14px}.intro{padding:0 8px}h1{letter-spacing:-1px}.intro>p{font-size:12px;line-height:1.7}.layout{display:block}aside{display:grid;grid-template-columns:110px 1fr;margin-top:25px;gap:0}.host-photo{height:100%;border-radius:14px 0 0 14px;min-height:200px}.host-photo img{transform:scale(1.8);object-position:65% 45%}.photo-tag{display:none}.host-copy{border-radius:0 14px 14px 0;padding:20px}.host-copy h2{font-size:23px}.quote{font-size:14px}.how{display:none}.cats{height:85px}.room{min-height:360px}.game-bottom{padding:0 15px 17px;font-size:9px}.tools{gap:8px}.tools button{font-size:11px;padding:9px 12px}.tools span{margin-right:5px}footer{gap:15px;font-size:9px;line-height:1.7}footer>span:last-child{text-align:right}.game-top{gap:8px}.board{gap:28px 18px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
