:root{font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#4b5148;background:#f8f5ec;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 8% 30%,#e9efdf 0,transparent 42%),radial-gradient(ellipse at 98% 80%,#f7e8dc 0,transparent 42%);min-height:100svh}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none;color:inherit}button:focus-visible{outline:3px solid #659581;outline-offset:4px}.app{max-width:1060px;margin:auto;padding:30px 32px 18px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.brand{display:flex;align-items:center;gap:14px}.brand-icon{font-size:40px;background:#e0e9d5;color:#6c8162;border-radius:18px;width:62px;height:62px;text-align:center;line-height:54px;transform:rotate(-7deg)}h1{font-size:28px;letter-spacing:3px;margin:0;font-weight:900}h1 span{font-size:10px;letter-spacing:1.3px;vertical-align:middle;margin-left:12px;padding:4px 6px;border:1px solid #c3cbb9;border-radius:5px;color:#7e8d72}.brand p{font-size:13px;color:#909387;margin:5px 0 0;letter-spacing:1px}.icon-btn{border:1px solid #dfe2d6;background:#ffffff80;width:42px;height:42px;border-radius:50%;font-weight:900}.game-layout{display:grid;grid-template-columns:220px minmax(240px,340px) 210px;justify-content:center;gap:30px;align-items:start}.side{padding-top:30px}.score-card,.next-card{background:#fffdf6;border:1px solid #e7e5d9;border-radius:20px;padding:22px}.eyebrow{font-size:12px;letter-spacing:1.4px;color:#8a9180}.score-card #score{font-size:48px;font-weight:800;line-height:1.5;font-variant-numeric:tabular-nums;color:#687f5b;letter-spacing:1px}.stats{display:flex;justify-content:space-between;border-top:1px dashed #dfdfd1;padding-top:12px;font-size:12px;color:#8d9285}.stats strong{font-size:17px;color:#59684e;margin:0 3px}.next-card{margin-top:16px}.next-card .eyebrow{display:flex;justify-content:space-between}.next-card canvas{width:100%;height:96px;object-fit:contain;display:block}#next-name{text-align:center;font-size:12px;color:#848b79}.desktop-note{padding:28px 8px 0}.tiny-paw{font-size:30px;color:#adb7a0}.desktop-note h2{font-size:14px;font-weight:600;margin:12px 0}.desktop-note p{font-size:12px;color:#929786}.key-help{font-size:12px;line-height:2.4;color:#858d7c;margin-top:20px}.key-help span{display:inline-block;min-width:84px;color:#596451}.board-label{font-size:11px;letter-spacing:1px;color:#919981;display:flex;justify-content:space-between;margin:0 8px 10px}.board-label i{display:inline-block;width:6px;height:6px;background:#8da776;border-radius:50%;margin-right:5px}.board-shell{position:relative;padding:10px;border:1px solid #d4dcc7;background:#e4eadb;border-radius:19px;box-shadow:0 6px #d0d8c4,0 18px 38px #78896512}.board-shell>canvas{display:block;width:100%;aspect-ratio:1/2;border-radius:10px;background:#f8faf1;touch-action:none}.overlay{position:absolute;inset:10px;border-radius:10px;background:#f8faf1cf;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2}.overlay.hidden{display:none}.modal{text-align:center;padding:16px;width:100%}.modal-cat{font-size:39px;color:#8e9c78;margin-bottom:22px}.modal h2{font-size:20px;letter-spacing:1px;margin:14px 0}.modal p{font-size:13px;color:#8a917f;line-height:2}.primary{background:#7e9667;color:#fff;border:0;border-radius:13px;padding:15px 20px;font-size:15px;font-weight:700;width:88%;margin:14px 0;box-shadow:0 4px #657d50}.primary:hover{background:#70885b}.primary span{float:right}.modal small{display:block;font-size:11px;color:#a2a594}#toast{pointer-events:none;position:absolute;top:40%;left:0;right:0;text-align:center;font-size:23px;font-weight:900;color:#647b4e;text-shadow:0 2px white,2px 0 white,-2px 0 white;opacity:0;transition:opacity .2s;z-index:3}#toast.show{opacity:1}.cats-panel{padding-top:32px}.cats-panel h2{font-size:17px;letter-spacing:1px;margin:10px 0 20px}.cat-row{display:flex;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid #e5e4d64d}.cat-row canvas{width:72px;height:47px}.cat-row strong{display:block;font-size:12px;font-weight:600}.cat-row small{display:block;font-size:10px;color:#999e8e;margin-top:5px;letter-spacing:1px}.cozy-note{border-top:1px solid #dddfd1;margin-top:22px;padding-top:20px;font-size:13px;line-height:2;color:#959c88;position:relative}.cozy-note span{position:absolute;right:10px;top:28px;font-size:34px;color:#c7d3b9}footer{display:flex;justify-content:space-between;margin-top:25px;color:#a5aa9b;font-size:10px;letter-spacing:1px}@media(min-width:800px)and (max-height:870px){.app{padding-top:18px}.game-layout{grid-template-columns:210px minmax(220px,calc(50svh - 115px)) 200px}header{margin-bottom:17px}}@media(max-width:799px){.app{max-width:460px;padding:14px 18px 10px}header{margin-bottom:14px}.brand-icon{width:45px;height:45px;font-size:30px;line-height:40px;border-radius:14px}h1{font-size:23px}.brand p{font-size:11px}.game-layout{display:flex;flex-direction:column;gap:12px;align-items:center}.side{padding:0;display:flex;width:100%;gap:10px}.score-card{flex:1;padding:10px 14px;border-radius:14px}.score-card #score{font-size:30px;line-height:1.3}.stats{padding-top:5px;font-size:11px}.stats strong{font-size:14px}.eyebrow{font-size:10px}.next-card{width:132px;padding:9px 12px;margin:0;border-radius:14px}.next-card canvas{height:55px}#next-name{font-size:10px}.desktop-note,.cats-panel{display:none}.board-wrap{width:min(100%,calc(50svh - 165px));min-width:160px}.board-shell{padding:7px;border-radius:14px}.board-label{font-size:9px;margin-bottom:5px}.overlay{inset:7px}.modal-cat{font-size:30px;margin-bottom:15px}.modal h2{font-size:16px}.modal .eyebrow{font-size:9px;letter-spacing:0}.modal p{font-size:11px}.modal small{font-size:9px}.primary{font-size:13px;padding:12px 10px;width:95%}footer{justify-content:center;margin-top:13px}footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(min-width:800px)and (max-height:870px){.desktop-note{padding-top:12px}.desktop-note .tiny-paw,.desktop-note h2,.desktop-note p{display:none}.key-help{margin-top:5px;line-height:1.9}.cat-row{padding:4px 0}.cat-row canvas{width:60px;height:38px}.cats-panel{padding-top:22px}.cats-panel h2{margin:8px 0 12px}.cozy-note{margin-top:10px;padding-top:10px}.score-card,.next-card{padding:16px}.next-card canvas{height:80px}footer{margin-top:18px}}.controls{--key:48px;display:flex;align-items:center;justify-content:space-between;gap:28px;width:350px;margin:20px auto 0;padding:0 10px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;isolation:isolate}.controls *{touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.controls button{appearance:none;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;padding:0;border:1px solid #ccd7bc;background:linear-gradient(#fffef8,#f2f2e7);border-radius:15px;box-shadow:0 4px #c7d0b9,0 6px 10px #71815812;transition:transform 70ms ease-out,box-shadow 70ms ease-out,background-color 70ms ease-out;color:#60734f;min-width:44px;min-height:44px;cursor:pointer}.controls b{font-size:27px;font-weight:600;line-height:1;pointer-events:none}.controls span{font-size:10px;line-height:1.2;color:#71815f;pointer-events:none}.controls button.is-pressed,.controls button:active{transform:translateY(3px) scale(.96);box-shadow:0 1px #bac8aa,inset 0 2px 5px #6f855325;background:#dfe8d1}.controls .rotate-key{width:92px;height:92px;flex:none;border-radius:50%;background:linear-gradient(150deg,#f2f7e8,#dce8cb);border-color:#bdcfa8;box-shadow:0 5px #b8cba1,0 8px 15px #8a9b6e18;gap:1px}.controls .rotate-key b{font-size:43px}.controls .rotate-key span{font-size:13px;letter-spacing:2px;margin-left:2px}.controls .rotate-key.is-pressed{box-shadow:0 1px #b8cba1,inset 0 2px 5px #6f855325;background:#d5e2c3}.dpad{display:grid;grid-template-columns:var(--key) calc(var(--key) + 8px) var(--key);grid-template-rows:calc(var(--key) + 8px);gap:10px;align-items:center;position:relative;flex:none}.dpad button{width:var(--key);height:var(--key);z-index:1;border-radius:15px}.dpad [data-action=left]{grid-area:1/1}.dpad [data-action=right]{grid-area:1/3}.dpad [data-action=down]{grid-area:1/2;width:calc(var(--key) + 8px);height:calc(var(--key) + 8px);background:linear-gradient(#edf3e2,#dde8cd)}.controls .rotate-ok{animation:rotate-key-feedback .18s ease-out}.controls .rotate-ok b{animation:rotate-feedback .18s ease-out}.controls .rotate-no{animation:rotate-blocked .17s ease-in-out}.controls .drop-ok{animation:drop-feedback .17s ease-out}@keyframes rotate-feedback{0%{transform:rotate(-25deg) scale(.86)}65%{transform:rotate(7deg) scale(1.07)}to{transform:none}}@keyframes rotate-blocked{0%,to{translate:0}25%{translate:-3px}75%{translate:3px}}@keyframes drop-feedback{0%,to{filter:brightness(1)}40%{filter:brightness(1.2);scale:.94}}@media(min-width:800px)and (max-height:870px){.game-layout{grid-template-columns:210px minmax(170px,calc(50svh - 165px)) 200px}.controls{margin-top:16px;--key:44px}.cats-panel{padding-top:12px}.cat-row{padding:2px 0}.cat-row canvas{height:32px;width:56px}.cozy-note{display:none}.score-card,.next-card{padding:12px}.score-card #score{font-size:38px}.next-card canvas{height:64px}.key-help{line-height:1.65;font-size:11px}}@media(max-width:799px){.app{height:100svh;min-height:540px;max-width:460px;display:grid;grid-template-rows:auto minmax(0,1fr) 148px;gap:10px;padding:12px max(20px,env(safe-area-inset-right)) max(17px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}header{margin:0;min-height:45px}.brand{gap:10px}.brand p{font-size:10px;line-height:1.2}.brand h1{line-height:1.3}.game-layout{display:grid;grid-template-rows:80px minmax(0,1fr);gap:8px;width:100%;min-height:0;justify-items:center;align-items:stretch}.side{height:80px;gap:10px}.score-card{padding:6px 12px}.score-card #score{font-size:27px;line-height:1.1}.stats{padding-top:3px;line-height:1.2;margin-top:2px}.next-card{padding:5px 10px;width:120px}.next-card canvas{height:42px}.next-card .eyebrow{line-height:1.2}#next-name{line-height:1.1}.score-card>.eyebrow{line-height:1.4;display:block}.board-wrap{container-type:size;width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;flex-direction:column}.board-label{height:12px;line-height:12px;margin:0 0 6px;width:calc(50cqh - 1px);flex:none}.board-shell{width:calc(50cqh - 1px);height:calc(100cqh - 18px);padding:7px;flex:none}.board-shell>canvas{width:100%;height:100%}.controls{--key:46px;width:100%;height:148px;margin:0;padding:0 5px;gap:24px}.controls .rotate-key{width:92px;height:92px}footer{display:none}.modal{padding:10px}.modal-cat{font-size:25px;margin-bottom:12px}.modal h2{font-size:15px;margin:10px 0}.modal p{font-size:11px;line-height:1.65}.primary{margin:10px 0}}@media(max-width:359px){.controls{--key:44px;padding:0;gap:18px}.controls .rotate-key{width:84px;height:84px}.brand h1{font-size:21px}.brand-icon{width:38px;height:38px;line-height:34px}.app{padding-left:18px;padding-right:18px}}@media(max-width:799px)and (max-height:700px){.app{grid-template-rows:auto minmax(0,1fr) 140px;gap:7px;padding-top:8px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.brand p{display:none}.game-layout{grid-template-rows:72px minmax(0,1fr);gap:6px}.side{height:72px}.score-card #score{font-size:24px}.next-card canvas{height:35px}.controls{height:140px;--key:44px}.modal-cat{font-size:22px;margin-bottom:8px}.modal .eyebrow,.modal small{display:none}}@media(prefers-reduced-motion:reduce){.controls *{animation:none!important}.controls .rotate-no{outline:2px solid #c89281;background:#f1ddd3}.controls .rotate-ok,.controls .drop-ok{outline:2px solid #99b47c}}@media(max-width:799px){.app{min-width:0;grid-template-columns:minmax(0,1fr)}.game-layout{grid-template-columns:minmax(0,1fr)}.side{min-width:0}}@keyframes rotate-key-feedback{0%{scale:.98}65%{scale:1.025}to{scale:1}}@media(max-width:799px){.board-label{max-width:100%}.board-shell{width:min(100cqw,calc(50cqh - 1px));height:min(calc(100cqh - 18px),calc(200cqw - 16px))}}[hidden]{display:none!important}.screen{max-width:440px;margin:40px auto;padding:24px;color:#4b5148}.screen h1{font-size:26px;letter-spacing:2px;margin:24px 0}.screen-top{display:flex;align-items:center;justify-content:space-between}.quiet-button{border:0;background:transparent;color:#708360;padding:10px 4px;font:inherit;font-size:13px;cursor:pointer;touch-action:manipulation}.screen-caption{color:#89917e;font-size:13px;line-height:1.7}.home-menu,.level-list{display:grid;gap:12px}.screen .primary{width:100%;margin:0;min-height:54px}.menu-button{display:block;text-align:left;background:#fffdf6;border:1px solid #dce2d1;border-radius:15px;padding:17px 18px;color:#56664b;font:inherit;min-height:54px;touch-action:manipulation}.menu-button>span{float:right}.menu-button:active{background:#e5eddb;transform:translateY(1px)}.level-choice strong,.level-choice>span,.level-choice small{display:block;float:none}.level-choice strong{font-size:16px;margin-bottom:8px}.level-choice>span{font-size:13px;color:#8a927f}.level-choice small{color:#b59d69;font-size:19px;letter-spacing:3px;margin-top:10px}.back-button{margin-bottom:8px}.empty-room{padding:55px 0;color:#8b967e}.collection-list article{display:flex;align-items:center;gap:18px;padding:12px 0;border-bottom:1px solid #e2e5da}.collection-list canvas{width:90px;height:59px}.collection-list strong{font-size:15px}.collection-list p{font-size:12px;color:#8b9580;margin:6px 0}.collection-list small{font-size:11px;color:#8b9580}.settings-list{display:grid;gap:12px}.settings-list label{display:flex;justify-content:space-between;align-items:center;padding:18px 14px;background:#fffdf6;border:1px solid #e1e5d6;border-radius:14px}.settings-list small{display:block;font-size:11px;color:#939b86;margin-top:7px}.settings-list input{width:23px;height:23px;accent-color:#7e9667}.progress-summary{margin-top:24px;font-size:13px;color:#7b886b}.game-header-actions{display:flex;gap:7px;align-items:center}.modal #result-next{display:block;margin:2px auto 10px}#score-label{letter-spacing:.4px}@media(max-width:799px){.screen{margin:18px auto;padding:22px;max-width:440px}.game-header-actions .icon-btn{width:31px;height:33px}.game-header-actions{gap:4px}.brand h1 span{margin-left:6px}#score-label{font-size:10px;white-space:nowrap}.modal #result-next{padding:4px}}.level-mode #score{font-size:22px;line-height:1.05}.level-mode #score:before{content:"\5206\6570  ";font-size:10px;color:#8b9580}#goal-progress{font-size:12px;color:#637653;line-height:1.4;font-weight:600}.level-choice:disabled{opacity:.55;cursor:default}.modal #result-levels{display:block;margin:auto;padding:5px}.stars{display:inline-flex;gap:4px;font-size:24px;color:#b5b6a1}.stars .earned{color:#c7a25c;animation:star-light .28s both;animation-delay:0s}@keyframes star-light{0%{opacity:.3;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media(max-width:799px){.level-mode #score{font-size:18px}.level-mode .stats{font-size:9px;margin-top:0;padding-top:0}#goal-progress{font-size:10px;line-height:1.2}.level-mode .score-card{padding-top:3px;padding-bottom:3px}.level-mode .modal p{font-size:10px}.level-mode .modal h2{margin:5px 0}.level-mode .modal-cat{margin-bottom:4px}.level-mode .modal .eyebrow,.level-mode .modal small{display:none}.level-mode .primary{margin:6px 0;padding:10px}.level-mode .modal #result-next,.level-mode .modal #result-levels{padding:3px;font-size:11px}}@media(prefers-reduced-motion:reduce){.stars .earned{animation:none}}.board-wrap{position:relative}.cheerleaders{position:absolute;inset:14px 0 0;pointer-events:none;user-select:none;z-index:0}.cheer-cat{position:absolute;top:65%;width:26px;height:32px;pointer-events:none}.cheer-left{left:-29px}.cheer-right{right:-29px}.cheer-puppet{position:relative;width:100%;height:100%;transform-origin:50% 95%}.cheer-body{position:absolute;left:23%;bottom:4%;width:58%;height:56%;background:var(--fur);border:1px solid var(--fur-edge);border-radius:48% 48% 35% 35%}.cheer-face{position:absolute;left:7%;top:0;width:86%;height:72%;object-fit:contain}.cheer-face.blink{opacity:0}.cheer-tail{position:absolute;left:2%;bottom:12%;width:37%;height:34%;border:3px solid var(--fur);border-top-color:transparent;border-radius:50%;transform-origin:90% 80%}.cheer-paw{position:absolute;top:61%;width:20%;height:18%;background:var(--fur);border:1px solid var(--fur-edge);border-radius:50%;transform-origin:50% 85%}.paw-left{left:13%;rotate:15deg}.paw-right{right:11%;rotate:-15deg}.cheerleaders[data-mode=playing]:not(.is-reacting) .cheer-puppet{animation:cheer-idle 7s ease-in-out infinite;animation-delay:var(--phase)}.cheerleaders[data-mode=playing] .cheer-tail{animation:cheer-tail 6s ease-in-out infinite;animation-delay:var(--phase)}.cheerleaders[data-mode=playing] .cheer-face.blink{animation:cheer-blink 8.3s step-end infinite;animation-delay:var(--phase)}.cheerleaders.is-reacting .cheer-puppet{animation-duration:var(--cheer-duration);animation-timing-function:ease-in-out;animation-fill-mode:both}.cheerleaders[data-reaction=hop].is-reacting .cheer-puppet{animation-name:cheer-hop}.cheerleaders[data-reaction=joy].is-reacting .cheer-puppet{animation-name:cheer-joy}.cheerleaders[data-reaction=dance].is-reacting .cheer-puppet{animation-name:cheer-dance}.cheerleaders[data-reaction=tilt].is-reacting .cheer-puppet{animation-name:cheer-tilt}.cheerleaders:is([data-reaction=wave],[data-reaction=joy],[data-reaction=dance]).is-reacting .paw-right{animation:cheer-wave var(--cheer-duration) ease-in-out both}.cheerleaders[data-reaction=dance].is-reacting .paw-left{animation:cheer-wave var(--cheer-duration) ease-in-out both}.cheerleaders[data-mode=paused] *{animation-play-state:paused!important}@keyframes cheer-idle{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg) translateY(-.5px)}}@keyframes cheer-tail{0%,80%,to{transform:rotate(0)}90%{transform:rotate(9deg)}}@keyframes cheer-blink{0%,96%,to{opacity:0}97%,99%{opacity:1}}@keyframes cheer-hop{0%,to{transform:none}40%{transform:translateY(-3px)}70%{transform:scaleY(.97)}}@keyframes cheer-joy{0%,to{transform:none}25%,65%{transform:translateY(-4px) rotate(3deg)}45%,85%{transform:rotate(-3deg)}}@keyframes cheer-dance{0%,to{transform:none}15%,55%{transform:translateY(-6px) rotate(-5deg)}35%,75%{transform:translateY(-4px) rotate(5deg)}90%{transform:scaleY(.97)}}@keyframes cheer-wave{0%,to{transform:none}20%,60%{transform:translateY(-45%) rotate(-55deg)}40%,80%{transform:translateY(-35%) rotate(-25deg)}}@keyframes cheer-tilt{0%,to{transform:none}45%{transform:rotate(-5deg) scaleY(.96)}}@media(max-width:799px){.app{grid-template-rows:24px minmax(0,1fr) 142px;gap:2px;padding-top:4px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.app header{min-height:24px}.app .brand{gap:6px}.app .brand-icon{width:24px;height:24px;font-size:20px;line-height:22px;border-radius:8px}.app .brand h1{font-size:19px;letter-spacing:1px}.app .brand h1 span{font-size:9px;padding:2px 4px;letter-spacing:.5px}.app .brand p{display:none}.app .game-header-actions .icon-btn{height:24px;width:28px;font-size:12px}.app .game-layout{grid-template-rows:38px minmax(0,1fr);gap:2px}.app .side{height:38px;gap:6px}.app .score-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:17px 14px;column-gap:6px;align-content:center;padding:2px 7px;border-radius:10px;min-width:0}.app #score-label{grid-column:1;grid-row:2;line-height:14px;letter-spacing:0;font-size:9px}.app:not(.level-mode) #score-label{grid-column:1/-1}.app .score-card #score{grid-column:1;grid-row:1;font-size:18px;line-height:17px;letter-spacing:0}.app #goal-progress{grid-column:2;grid-row:2;align-self:center;text-align:right;white-space:nowrap;font-size:9px;line-height:12px}.app.level-mode .score-card #score{font-size:16px}.app .stats{grid-column:2;grid-row:1;gap:7px;justify-content:flex-end;align-items:center;border:0;line-height:13px;margin:0;padding:0;font-size:9px;white-space:nowrap}.app .stats strong{font-size:11px;margin:0 1px}.app .next-card{display:grid;grid-template-columns:minmax(0,1fr) 36px;grid-template-rows:14px 16px;align-content:center;width:96px;flex:none;padding:2px 5px;border-radius:10px}.app .next-card .eyebrow{grid-column:1;grid-row:1;font-size:9px;letter-spacing:0;line-height:14px}.app .next-card .eyebrow span{display:none}.app .next-card canvas{grid-column:2;grid-row:1/3;width:36px;height:30px}.app #next-name{grid-column:1;grid-row:2;font-size:9px;line-height:16px;white-space:nowrap;text-align:left}.app .board-wrap{--board-size:min(100cqw, calc(50cqh - 3px) );--edge-room:14cqw}.app .board-label{width:var(--board-size);height:12px;line-height:12px;margin:0 0 2px;letter-spacing:0}.app .board-shell{width:var(--board-size);height:min(calc(100cqh - 14px),calc(200cqw - 8px));padding:3px;border-radius:13px;box-shadow:0 4px #d0d8c4,0 10px 24px #78896512}.app .board-shell>canvas{border-radius:8px}.app .overlay{inset:3px;border-radius:8px}.app .controls{height:142px;padding:0 5px;gap:20px}.app .cheer-cat{--cheer-size:min(32px,calc(var(--edge-room) - 8px));width:var(--cheer-size);height:var(--cheer-size)}.app .cheer-left{left:0}.app .cheer-right{right:0}}@media(max-width:799px)and (max-height:700px){.app{grid-template-rows:24px minmax(0,1fr) 136px}.app .controls{height:136px}}@media(min-width:400px)and (max-width:799px){.app .cheer-cat{--cheer-size:min(42px,calc(var(--edge-room) - 8px))}}@media(max-width:359px){.app .controls{padding:0;gap:18px}.app .next-card{width:82px;grid-template-columns:minmax(0,1fr) 29px;padding-inline:4px}.app .next-card canvas{width:29px}.app .score-card{padding-inline:5px;column-gap:3px}.app #goal-progress,.app #score-label{font-size:8px}.app .brand h1{font-size:18px}.app .cheerleaders{display:none}}@container (max-aspect-ratio:53/100){.app .cheerleaders{display:none}}@media(prefers-reduced-motion:reduce){.cheerleaders *{animation:none!important}}.collection-list .locked-cat{display:grid;place-items:center;width:90px;height:59px;flex:none;font-size:22px;opacity:.55}.screen #home-progress{margin:0 0 20px;line-height:1.9}#reset-confirm{border-top:1px solid #dce2d1;margin-top:10px;padding-top:4px}#reset-confirm button{margin-right:18px}.spectators{position:absolute;inset:14px 0 0;pointer-events:none;user-select:none;z-index:0}.spectators[hidden],.level-mode .spectators{display:none}.spectator-cat{position:absolute;top:20%;width:24px;height:29px;pointer-events:none}.spectator-left{left:-28px}.spectator-right{right:-28px}.spectators[data-mode=playing] .cheer-tail{animation:cheer-tail 9s ease-in-out infinite;animation-delay:var(--phase)}.spectators[data-mode=playing] .cheer-face.blink{animation:cheer-blink 11s step-end infinite;animation-delay:var(--phase)}.spectators[data-mode=quiet] *{animation-play-state:paused!important}@media(max-width:799px){.app .spectator-cat{--spectator-size:min(28px,calc(var(--edge-room) - 8px));width:var(--spectator-size);height:var(--spectator-size)}.app .spectator-left{left:0}.app .spectator-right{right:0}}@media(max-width:399px){.spectator-cat:nth-child(n+3){display:none}}@media(max-width:359px){.spectators{display:none}}@container (max-aspect-ratio:53/100){.app .spectators{display:none}}@media(prefers-reduced-motion:reduce){.spectators *{animation:none!important}}.home-parade{position:fixed;inset:0;z-index:4;pointer-events:none;overflow:hidden;contain:strict}.home-parade *{pointer-events:none}.home-runner{position:absolute;left:0;top:0;transform-origin:50% 85%;will-change:transform}.home-runner canvas{display:block;width:100%;height:calc(100% - 6px)}.running-paw{position:absolute;bottom:1px;left:22%;width:9px;height:5px;border-radius:50%;background:#b5a184;transform:translateY(var(--step))}.running-paw:last-child{left:68%;transform:translateY(-2px)}.cheerleaders[data-swag=yes] .cheer-left{--out:-1;clip-path:inset(-14px 0 -14px -24px)}.cheerleaders[data-swag=yes] .cheer-right{--out:1;clip-path:inset(-14px -24px -14px 0)}.cheerleaders[data-swag=yes] .cheer-puppet{animation:none}.cheerleaders[data-swag=yes] .is-dancing{--beat:var(--swag-duration,1.3s)}.cheerleaders[data-swag=yes].is-mischief .is-dancing{--beat:1.3s}.cheerleaders[data-swag=yes] .is-dancing .cheer-puppet{animation:swag-step var(--beat) cubic-bezier(.1,.85,.2,1) both}.cheerleaders[data-swag=yes] .is-dancing .cheer-body{animation:swag-hip var(--beat) linear both}.cheerleaders[data-swag=yes] .is-dancing .cheer-face{animation:swag-head var(--beat) linear both}.cheerleaders[data-swag=yes] .is-dancing .cheer-face.blink{opacity:0}.cheerleaders[data-swag=yes] .is-dancing .cheer-paw{animation:swag-paw var(--beat) linear both}.cheerleaders[data-swag=yes] .is-dancing .paw-right{animation-name:swag-paw-right}.cheerleaders[data-swag=yes][data-energy=bold]{--lean:34deg;--lift:-5px}.cheerleaders[data-swag=yes][data-energy=big]{--lean:40deg;--lift:-7px}.cheerleaders[data-swag=yes][data-mode=paused] *{animation-play-state:paused!important}.cheerleaders[data-swag=yes] .is-dancing .cheer-puppet{transform-origin:50% 65%}.cheerleaders[data-swag=yes] .is-dancing .cheer-body:before,.cheerleaders[data-swag=yes] .is-dancing .cheer-body:after{content:"";position:absolute;bottom:-10%;width:38%;height:25%;border:1px solid var(--fur-edge);border-radius:50%;background:var(--fur);animation:swag-feet var(--beat) steps(1,end) both}.cheerleaders[data-swag=yes] .is-dancing .cheer-body:before{left:0}.cheerleaders[data-swag=yes] .is-dancing .cheer-body:after{right:0;animation-direction:reverse}@keyframes swag-step{0%{transform:none}6%,18%,30%,42%{transform:translate(-2px,-3px) rotate(-28deg)}12%,24%,36%,48%{transform:translate(2px,var(--lift,-4px)) rotate(var(--lean,28deg))}55%,65%{transform:translate(0) rotate(-18deg)}60%,70%{transform:translate(0) rotate(18deg)}76%,84%{transform:translate(0) rotate(-8deg)}80%,88%{transform:translate(0) rotate(8deg)}91%,to{transform:translate(0) rotate(-22deg)}}@keyframes swag-hip{0%{transform:none}6%,18%,30%,42%{transform:translate(5px) rotate(18deg)}12%,24%,36%,48%{transform:translate(-5px) rotate(-18deg)}55%,70%{transform:none}76%,84%{transform:translate(-7px) rotate(-28deg)}80%,88%{transform:translate(7px) rotate(28deg)}91%,to{transform:translate(3px) rotate(15deg)}}@keyframes swag-head{0%{transform:none}6%,18%,30%,42%,55%,65%{transform:translate(-3px,1px) rotate(-12deg)}12%,24%,36%,48%,60%,70%{transform:translate(3px,-1px) rotate(12deg)}91%,to{transform:translate(-2px) rotate(15deg)}}@keyframes swag-paw{0%{transform:none}6%,18%,30%,42%{transform:translate(-3px,3px) rotate(-35deg)}12%,24%,36%,48%{transform:translate(1px,-9px) rotate(115deg)}55%,65%{transform:translate(-6px,-3px) rotate(-100deg)}60%,70%{transform:translate(6px,-8px) rotate(100deg)}91%,to{transform:translate(-4px,-7px) rotate(-85deg)}}@keyframes swag-paw-right{0%{transform:none}6%,18%,30%,42%{transform:translate(-1px,-9px) rotate(-115deg)}12%,24%,36%,48%{transform:translate(3px,3px) rotate(35deg)}55%,65%{transform:translate(-6px,-8px) rotate(-100deg)}60%,70%{transform:translate(6px,-3px) rotate(100deg)}91%,to{transform:translate(4px,1px) rotate(45deg)}}@keyframes swag-feet{0%,12%,24%,36%,48%,60%,72%,to{transform:none}6%,18%,30%,42%,54%,66%{transform:translate(2px,-3px)}}.cheerleaders[data-swag=yes] .cheer-cat{overflow:clip;overflow-clip-margin:12px}.tutorial-mode .score-card{outline:2px solid #91a579;outline-offset:1px}.tutorial-mode .next-card,.tutorial-mode .stats{opacity:.55}.tutorial-mode #score-label{font-size:11px;letter-spacing:0}@media(max-width:799px){.app.tutorial-mode #score-label{grid-column:1/-1;grid-row:2;font-size:10px}.app.tutorial-mode #goal-progress{grid-row:1;grid-column:2}.app.tutorial-mode .stats{display:none}}.challenge-guide{position:fixed;inset:0;z-index:20;pointer-events:none}.challenge-guide[hidden]{display:none}.guide-shield{position:absolute;inset:0;pointer-events:auto}.challenge-guide.practice .guide-shield{pointer-events:none}.guide-focus{position:fixed;border:3px solid #91a579;border-radius:8px;box-shadow:0 0 0 200vmax #27332270;pointer-events:none}.guide-card{position:fixed;left:50%;transform:translate(-50%);width:min(310px,calc(100vw - 32px));padding:14px 18px;border-radius:16px;background:#fffdf5;color:#4b5148;box-shadow:0 4px 18px #27332225;pointer-events:auto}.guide-card small{color:#7b886c}.guide-card p{font-size:15px;line-height:1.6;margin:8px 0 12px}.guide-card button{display:block;margin-left:auto;border:0;border-radius:12px;background:#dfe9d1;padding:10px 16px}.guide-card button[hidden]{display:none}.guide-practice-map,.guide-drop-focus{display:none;pointer-events:none}.challenge-guide.practice .guide-practice-map{display:block;position:fixed;inset:0;width:100%;height:100%;overflow:visible}.guide-two-holes{fill:#27332270}.guide-drop-arrow{fill:none;stroke:#f8e6a5;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.challenge-guide.practice .guide-focus{box-shadow:none}.challenge-guide.practice .guide-drop-focus{display:block;position:fixed;border:3px solid #f8e6a5;border-radius:18px;box-shadow:0 0 0 3px #fff7d980,0 0 18px #f8e6a5;animation:guide-drop-glow 1s ease-in-out infinite alternate}@keyframes guide-drop-glow{0%{box-shadow:0 0 0 2px #fff7d970,0 0 10px #f8e6a5}to{box-shadow:0 0 0 6px #fff7d940,0 0 25px #f8e6a5}}@media(prefers-reduced-motion:reduce){.guide-drop-focus{animation:none!important}}.classic-pop{display:none;position:absolute;inset:0;align-items:center;justify-content:center;gap:7px;background:#f8f5ec;color:#647b4e;letter-spacing:0;white-space:nowrap;pointer-events:none;font-size:11px;line-height:1;font-weight:900}.classic-celebrating>span:not(.classic-pop){visibility:hidden}.classic-celebrating .classic-pop{display:flex}.classic-pop strong{color:#b27846;font-size:16px}.classic-pop em{font-style:normal;font-size:10px;transform:scale(var(--combo-scale));transform-origin:right center}.classic-pop[data-rows="4"]{color:#966642}.classic-pop.pop{animation:classic-score-rise .95s ease-out both}.classic-bounce{animation:classic-board-pop .3s ease-out}.score-card{position:relative}.classic-record{position:absolute;top:2px;right:8px;pointer-events:none;opacity:0;font-size:12px;font-weight:900;color:#a16c39;background:#fff4d8;border-radius:8px;padding:3px 6px}.classic-record.show{opacity:1;animation:classic-crown .4s ease-out}.classic-record-hop .cheerleaders,.classic-record-hop .spectators{animation:classic-crown .45s ease-out 2}.classic-doze .spectator-cat{transform:translateY(3px) rotate(-8deg);transition:transform .3s}.classic-results{display:grid;gap:3px;text-align:left;font-variant-numeric:tabular-nums}.classic-results>span{display:flex;justify-content:space-between;gap:10px}.classic-results b{color:#647b4e}.result-record{display:block;color:#a16c39;font-size:17px}.classic-results~*{margin:0}@keyframes classic-score-rise{0%{opacity:0;transform:translateY(5px) scale(.9)}18%{opacity:1;transform:translateY(0) scale(1.03)}70%{opacity:1}to{opacity:0;transform:translateY(-5px)}}@keyframes classic-board-pop{0%,to{transform:translateY(0)}35%{transform:translateY(var(--bounce)) scaleY(.99)}65%{transform:translateY(-1px)}}@keyframes classic-crown{0%,to{transform:translateY(0)}40%{transform:translateY(-5px) rotate(-3deg)}70%{transform:translateY(1px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.classic-pop.pop,.classic-bounce,.classic-record.show,.classic-record-hop .cheerleaders,.classic-record-hop .spectators{animation:none}}.classic-record{inset:auto auto 2px 7px;padding:1px 5px;font-size:11px;visibility:hidden}.classic-record.show{visibility:visible}.score-card:has(.classic-record.show) #score-label{visibility:hidden}.room-heading{display:flex;align-items:center;justify-content:space-between;margin:16px 0 4px;gap:10px}.room-heading h1{font-size:24px;letter-spacing:1px;margin-top:5px}.room-coins{background:#fff2d8;border:1px solid #e6d5b8;border-radius:20px;padding:8px 12px;white-space:nowrap;font-size:14px}.room-caption{font-size:12px;color:#8b8977;text-align:center;margin:12px 0}.cat-room{position:relative;height:440px;max-width:650px;margin:auto;border:5px solid #e1d4bd;border-radius:28px;overflow:hidden;background:linear-gradient(#f7edda 0 39%,#ddc3a0 39% 40%,transparent 40%),repeating-linear-gradient(0deg,#ead3b1 0 49px,#ddc09a 50px 51px);box-shadow:0 7px #d4c6ad}.room-window{position:absolute;top:20px;left:9%;width:100px;height:112px;border:7px solid #fff8e9;border-radius:45px 45px 5px 5px;background:linear-gradient(#c6ded9,#ebf0d7);box-shadow:0 4px #d6c6a9}.room-window:before,.room-window:after{content:"";position:absolute;background:#fff8e9}.room-window:before{width:5px;height:100%;left:48%}.room-window:after{height:5px;width:100%;top:48%}.room-window i{font-size:36px;color:#fff;font-style:normal}.room-picture{position:absolute;right:15%;top:30px;background:#f6d9bc;border:5px solid #fff9eb;border-radius:5px;width:48px;height:55px;text-align:center;line-height:42px;font-size:28px;color:#b78e72;transform:rotate(5deg)}.room-cabinet{position:absolute;right:7%;top:115px;width:80px;height:65px;background:#d0ad81;border:3px solid #bc976d;border-radius:8px;font-size:35px;line-height:0;text-align:center;box-shadow:inset 0 -25px #dabc96}.room-rug{position:absolute;left:18%;bottom:35px;width:65%;height:130px;background:#d5dfc1;border:7px solid #edf0db;border-radius:50%;transform:rotate(-7deg)}.room-cat{position:absolute;width:88px;height:110px;padding:0;border:0;background:none;z-index:1;touch-action:manipulation}.room-cat canvas{width:84px;height:98px;display:block;filter:drop-shadow(0 5px 2px #86694e25);transform-origin:center 85%;animation:room-breathe 6s ease-in-out infinite;animation-delay:var(--idle-delay)}.room-cat.locked canvas{filter:brightness(.35);opacity:.2;animation:none}.room-cat-name{display:block;font-size:10px;white-space:nowrap;color:#776e5c;margin-top:-7px}.room-love{position:absolute;top:0;right:3px;color:#c98680;font-size:20px;z-index:2}.room-love[hidden]{display:none}.slot-0{left:8%;top:145px}.slot-1{left:39%;top:155px}.slot-2{right:3%;top:190px}.slot-3{left:0;top:255px}.slot-4{left:31%;top:265px}.slot-5{right:3%;bottom:15px}.slot-6{left:19%;bottom:0}.room-card{position:fixed;z-index:20;left:50%;bottom:22px;transform:translate(-50%);width:min(320px,90vw);border:2px solid #ded4be;border-radius:23px;padding:20px;background:#fffaf0;box-shadow:0 8px 40px #76634740;text-align:center}.room-card[hidden]{display:none}.room-card strong{display:block;font-size:21px}.room-card small{display:block;color:#959078;margin-top:5px}.room-card p{font-size:13px}.room-card .primary{margin:4px 0;width:90%}.room-close{position:absolute;right:12px;top:8px;background:none;border:0;font-size:24px}.room-select:disabled{opacity:.7;cursor:default}@keyframes room-breathe{0%,70%,to{transform:rotate(0) scaleY(1)}76%{transform:rotate(-4deg) scaleY(.97)}83%{transform:rotate(3deg) scaleY(1.025)}90%{transform:rotate(-2deg)}}@media(max-width:380px){.room-heading h1{font-size:20px}.room-cat{width:76px}.room-cat canvas{width:76px;height:89px}}@media(prefers-reduced-motion:reduce){.room-cat canvas{animation:none}}.cat-room{height:490px}.slot-0,.slot-1,.slot-2{top:145px}.slot-3,.slot-4,.slot-5{top:255px;bottom:auto}.slot-6{top:365px;bottom:auto;left:40%}.room-help{flex-shrink:0;background:#fffaf0}.room-heading{gap:6px}.room-speech{position:absolute;top:15px;right:10px;max-width:210px;padding:13px 16px;background:#fffdf3;border:2px solid #dacda9;border-radius:22px 22px 22px 3px;box-shadow:0 4px #d6bd9633;color:#76664e;font-size:14px;line-height:1.6;z-index:4;pointer-events:none}.room-speech[hidden],.room-skip[hidden]{display:none}.room-skip{position:absolute;top:98px;right:15px;border:0;background:#fffaf0d9;border-radius:15px;padding:7px 12px;font-size:12px;color:#93816b;z-index:5}.intro-locks .room-cat.locked{border-radius:24px;animation:room-intro-glow 1.2s ease-in-out infinite}.intro-cat [data-room-cat=orange]{border-radius:24px;animation:room-intro-glow 1s ease-in-out infinite}.intro-favorite .room-select{outline:3px solid #e9bb6c;outline-offset:4px;animation:room-intro-glow 1s ease-in-out infinite}.room-favorite-hint{color:#a47e46!important;font-weight:700}.intro-arrive{animation:room-arrive 1.2s ease-out both}.intro-happy{animation:room-happy .5s ease-out 2!important}@keyframes room-intro-glow{50%{box-shadow:0 0 0 5px #edc87766,0 0 22px #efce8970}}@keyframes room-arrive{0%{opacity:0;transform:translate(40px,55px) scale(.8)}25%{opacity:1;transform:translate(40px,40px) scale(.9)}45%{transform:translate(25px,20px) rotate(-5deg)}65%{transform:translate(12px,16px) rotate(4deg)}82%{transform:translate(4px,-4px)}to{transform:none}}@keyframes room-happy{0%,to{transform:translateY(0)}45%{transform:translateY(-10px) rotate(-4deg)}}@media(prefers-reduced-motion:reduce){.intro-arrive,.intro-happy,.intro-cat [data-room-cat=orange],.intro-locks .room-cat.locked,.intro-favorite .room-select{animation:none!important;outline:2px solid #e9bb6c}}.room-progress{text-align:center;color:#71805d;font-weight:800;padding:8px;border-radius:16px}.room-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px}.room-occupancy{font-size:12px;color:#8b8977;white-space:nowrap}.room-book{width:auto!important;margin:0!important;padding:12px 18px!important}.room-book-panel{margin-top:18px}.room-book-panel[hidden]{display:none}.room-catalog{display:grid;grid-template-columns:1fr 1fr;gap:12px}.catalog-cat{display:flex;flex-direction:column;align-items:center;border:1px solid #e1d7bf;border-radius:20px;background:#fffaf0;padding:12px;text-align:center;min-width:0;color:#645d4f}.catalog-cat canvas{width:88px;height:103px}.catalog-cat.locked-cat canvas{filter:brightness(.35);opacity:.25}.catalog-cat p{font-size:12px;line-height:1.65}.catalog-cat small{font-size:10px;color:#8b8977}.room-card .menu-button{display:block;width:100%;margin:8px 0;padding:10px}.room-arrival{display:block;width:96px;height:112px;margin:12px auto;animation:room-arrive 1.5s ease-out}.room-guide-focus{animation:room-intro-glow 1s ease-in-out infinite}.room-residents{position:absolute;inset:0;pointer-events:none}.room-residents button{pointer-events:auto}.room-card{max-height:85svh;overflow:auto}.room-catalog .locked-cat{opacity:1}.room-catalog button:focus-visible{outline:3px solid #869e70}@media(prefers-reduced-motion:reduce){.room-arrival,.room-guide-focus{animation:none;outline:2px solid #e9bb6c}}.starter-room{height:340px}.starter-room .room-rug{height:110px;bottom:15px}.starter-orange{left:23%;top:190px}.starter-british{right:16%;top:190px}.arrival-wait{visibility:hidden}.next-cat{max-width:650px;margin:18px auto 0;padding:17px;background:#fff9ec;border:1px solid #e2d5b8;border-radius:20px;text-align:center}.next-cat p{font-size:13px;color:#88806d;margin:8px 0}.next-cat progress{width:85%;height:12px;accent-color:#8caa79}.next-cat .primary{margin:7px 0;width:95%}.starter-room .room-cat{pointer-events:none}.screen:has(.starter-room){margin:10px auto;padding:14px 20px}.screen:has(.starter-room) .room-heading{margin:4px 0}.screen:has(.starter-room) h1{margin:7px 0;font-size:24px}.screen:has(.starter-room) .room-progress{margin:6px 0;padding:6px}.starter-room{height:clamp(260px,calc(100svh - 330px),340px)}.starter-orange,.starter-british{top:auto;bottom:30px}.screen:has(.starter-room) .next-cat{margin-top:12px;padding:12px}.collection-ways{max-width:650px;margin:10px auto}.collection-ways[hidden]{display:none}.collection-ways article{background:#fffaf0;border:1px solid #e3d9c3;padding:14px;border-radius:16px;margin-bottom:8px}.collection-ways p{font-size:13px;margin:8px 0;color:#847a67}.collection-ways small{display:block;color:#778864}.collection-ways .primary{min-height:40px;margin-top:10px}.collection-help{display:block;margin:5px auto 0}.starter-room{margin-top:12px}.screen:has(.starter-room) .next-cat{margin-top:0}.companion-skill{position:relative;max-width:165px;display:flex;flex-wrap:wrap;gap:3px}.companion-button{font-size:10px!important;line-height:1.3;width:auto!important;max-width:165px;padding:5px!important;border-radius:12px!important;white-space:normal}.skill-choice{font:inherit;font-size:10px;border:1px solid #c8d3b4;background:#fff8e8;border-radius:8px;padding:5px;cursor:pointer}.skill-pop{animation:skill-pop .45s ease}@keyframes skill-pop{40%{transform:translateY(-6px) rotate(-4deg)}75%{transform:translateY(2px)}}.room-combat{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.room-combat article{flex:1;min-width:100px;border-radius:18px;padding:12px;background:#fff8e8;border:1px solid #e4ddc9}.room-combat p{font-size:12px;line-height:1.5}.room-combat button{font-size:12px;padding:8px;border-radius:12px}.room-combat .active-cat{outline:2px solid #8b9e70}.starter-tuxedo{left:44%;top:34%;width:90px;height:110px}.companion-skill{max-width:98px}.companion-button{max-width:98px;font-size:9px!important;height:auto!important;min-height:27px}.skill-choice{background:#fff8e8}.game-header-actions{flex-shrink:0}.companion-skill:has(.skill-choice){z-index:25}.skill-choice{position:absolute;top:100%;right:0;min-width:100px;min-height:32px}.skill-choice:nth-of-type(3){top:calc(100% + 34px)}.skill-choice:nth-of-type(4){top:calc(100% + 68px)}.passive-skill:disabled{opacity:1!important;color:#62764e}@media(max-width:360px){.app .brand h1{font-size:14px;white-space:nowrap}.app .brand h1 span{font-size:7px;margin-left:3px}.app .brand-icon{width:18px;height:18px;font-size:16px}.companion-skill,.companion-button{max-width:76px}.app .game-header-actions .icon-btn:not(.companion-button){width:24px}}.companion-button{border:1px solid #b5c89b!important;background:#f3f8e8!important;color:#4e673e!important;font-weight:700;cursor:pointer}.companion-button:disabled{opacity:.5}.passive-skill{cursor:default;box-sizing:border-box}.new-companion{border:2px solid #91ac70!important;background:#f2f7e7!important}.new-companion:before{content:"\65b0\4f19\4f34  \b7  \80fd\529b\5df2\83b7\5f97";display:block;font-size:11px;color:#718c50;margin-bottom:8px}.board-label.has-rescue-target{min-height:34px;align-items:center}.rescue-target{display:inline-flex;align-items:center;gap:4px;background:#fff6dc;border:1px solid #cbb58b;border-radius:9px;padding:2px 5px;color:#755d3b;font-size:10px;line-height:1.25;letter-spacing:0}.rescue-target canvas{width:26px;height:26px}.rescue-target small{display:block;font-size:9px}.rescue-target:not(.rescued){animation:rescue-breathe 2.6s ease-in-out infinite}.rescue-target.rescued{background:#eef4df;color:#647c47}@keyframes rescue-breathe{50%{box-shadow:0 0 0 3px #e8d6a54d}}@media(prefers-reduced-motion:reduce){.rescue-target{animation:none!important}}.companion-skill{max-width:126px}.app .game-header-actions .skill-card{display:flex;align-items:center;flex-wrap:wrap;gap:3px;width:126px!important;max-width:126px;min-height:44px;padding:4px 13px 4px 4px!important;text-align:left;border-radius:11px!important;line-height:1.25}.skill-card canvas{width:27px;height:20px}.skill-card strong,.skill-card small{display:block;font-size:9px}.skill-card small{font-size:8px}.skill-card progress{height:5px;width:100%;accent-color:#89a563}.skill-help{position:absolute;right:1px;top:3px;border:0;background:transparent;color:#627b46;padding:1px 3px;cursor:pointer}.skill-note{position:absolute;right:0;top:100%;width:205px;padding:9px;border-radius:12px;background:#fff7dc;border:1px solid #cfbd91;font-size:12px;line-height:1.5;z-index:35;pointer-events:none;box-shadow:0 3px 10px #76623c22}.skill-picker{position:absolute;right:0;top:100%;width:230px;padding:10px;border:1px solid #b7c99d;background:#fffcef;border-radius:14px;z-index:40;display:flex;flex-wrap:wrap;gap:5px}.skill-picker>strong,.skill-picker>small{width:100%;font-size:12px}.skill-picker>small{font-size:10px}.skill-picker .skill-choice{position:static!important;min-width:65px;min-height:52px;flex:1;padding:4px}.skill-choice canvas{display:block;width:55px;height:36px;margin:auto}.skill-available{animation:skill-ready 2s ease-in-out infinite}@keyframes skill-ready{50%{box-shadow:0 0 0 3px #99b77155}}@media(max-width:360px){.companion-skill,.app .game-header-actions .skill-card{max-width:104px;width:104px!important}.skill-card canvas{width:20px;height:15px}.skill-card small{font-size:7px}}@media(prefers-reduced-motion:reduce){.skill-available{animation:none}}.board-help{position:absolute;right:0;top:100%;z-index:4;border:1px solid #d5dec8;background:#f8faef;color:#74875d;border-radius:7px;font-size:9px;padding:3px;cursor:pointer}.board-label{position:relative}#toast{max-width:92%;line-height:1.5}@media(max-width:799px){.app{grid-template-rows:48px minmax(0,1fr) 142px}.app header{min-height:48px}.app .brand h1{font-size:16px;white-space:nowrap}.app .brand h1 span{display:block;font-size:8px;width:max-content;margin:1px 0;padding:1px 3px}.app .board-wrap:has(.has-rescue-target){--board-size:min(100cqw, calc(50cqh - 15px) )}.app .board-wrap:has(.has-rescue-target) .board-shell{height:min(calc(100cqh - 38px),calc(200cqw - 8px))}}@media(max-width:799px)and (max-height:700px){.app{grid-template-rows:48px minmax(0,1fr) 136px}}.companion-actor{position:absolute;z-index:1;pointer-events:none;user-select:none;overflow:hidden;contain:layout paint}.buddy-pose{position:relative;width:80%;height:68%;margin:10% auto 0;transform-origin:50% 85%;animation:buddy-idle 5s ease-in-out infinite}.buddy-body{position:absolute;background:var(--buddy-fur);border:1px solid var(--buddy-edge);border-radius:48%;width:62%;height:51%;left:19%;top:44%}.buddy-head{position:absolute;left:7%;top:0;width:86%;height:auto;transform-origin:50% 70%}.buddy-paw,.buddy-foot{position:absolute;background:var(--buddy-fur);border:1px solid var(--buddy-edge);border-radius:50%;width:22%;height:18%;top:56%;transform-origin:50% 15%}.paw-a{left:12%}.paw-b{right:12%}.buddy-foot{top:83%;height:14%;width:25%}.foot-a{left:20%}.foot-b{right:20%}.buddy-tail{position:absolute;right:0;top:49%;width:22%;height:39%;border:3px solid var(--buddy-edge);border-left:0;border-top:0;border-radius:50%;transform-origin:0 90%;animation:buddy-tail 3.8s ease-in-out infinite}.companion-actor small{display:block;font-size:8px;text-align:center;color:#70845c;line-height:1.2}.companion-actor[data-tiny=true] small{display:none}.buddy-blink .buddy-head{transform:scaleY(.95) rotate(-3deg)}.companion-actor[data-ready=true] .buddy-tail{animation-duration:.45s}.companion-actor[data-ready=true] .buddy-pose{animation:buddy-ready .7s ease-in-out infinite}.companion-actor[data-rest=true] .buddy-body{transform:scaleY(.9)}.companion-actor[data-action=swipe] .paw-b,.companion-actor[data-action=offer] .paw-b{animation:buddy-swipe .7s ease-in-out}.companion-actor[data-action=swipe] .buddy-head{animation:buddy-nod .85s ease-in-out}.companion-actor[data-action=pounce] .buddy-pose{animation:buddy-pounce .85s ease-in-out}.companion-actor[data-action=nod] .buddy-head{animation:buddy-nod .7s ease-in-out}.companion-actor[data-action=rest] .buddy-pose{animation:buddy-rest 1.3s ease-in-out}.companion-actor[data-action=joy] .buddy-pose{animation:buddy-joy 1.1s ease-in-out}.companion-actor[data-paused=true] *{animation-play-state:paused!important}.companion-actor[data-motion=false] *{animation:none!important}@keyframes buddy-idle{0%,70%,to{transform:rotate(0)}80%{transform:rotate(-4deg)}90%{transform:rotate(3deg)}}@keyframes buddy-tail{0%,75%,to{transform:rotate(-5deg)}85%{transform:rotate(14deg)}}@keyframes buddy-ready{50%{transform:rotate(5deg) translateY(-2%)}}@keyframes buddy-swipe{20%{transform:rotate(-100deg)}48%{transform:rotate(-135deg) translateY(-20%)}75%{transform:rotate(-30deg)}}@keyframes buddy-pounce{20%{transform:scaleY(1.08) translateY(-7%)}48%{transform:translate(8%) rotate(15deg) scaleY(.88)}75%{transform:translate(2%) rotate(-4deg)}}@keyframes buddy-nod{30%,65%{transform:rotate(8deg) translateY(6%)}48%{transform:rotate(-5deg)}}@keyframes buddy-rest{40%,85%{transform:scaleY(.84) translateY(9%) rotate(-6deg)}}@keyframes buddy-joy{30%,65%{transform:translateY(-10%) rotate(-5deg)}45%{transform:rotate(5deg)}}.skill-picker{animation:buddy-offer .22s ease-out;transform-origin:left center}@keyframes buddy-offer{0%{opacity:0;transform:translate(-16px) scale(.92)}to{opacity:1;transform:none}}.buddy-eyes-shut{opacity:0}.buddy-blink .buddy-head:not(.buddy-eyes-shut){opacity:0}.buddy-blink .buddy-eyes-shut{opacity:1}.companion-hit{position:absolute;z-index:2;pointer-events:auto;touch-action:none;user-select:none;-webkit-touch-callout:none;border:0;border-radius:45%;padding:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.companion-hit:disabled{pointer-events:none}.companion-hit[data-available=true]{animation:companion-tap-cue 2.2s ease-in-out infinite}.companion-hit[data-guide=true]{outline:2px solid #b3c681;outline-offset:-2px;animation:companion-tap-cue 1.3s ease-in-out infinite}.companion-hit[data-pressed=true]{background:#c6d9ab55}.companion-hit:focus-visible{outline:2px solid #7d9d56;outline-offset:-2px}@keyframes companion-tap-cue{50%{box-shadow:inset 0 0 0 3px #a9c28466;background:#d7e5be22}}@media(prefers-reduced-motion:reduce){.companion-hit{animation:none!important}}.companion-hit:disabled{animation:none!important;outline:none;box-shadow:none}.run-growth{text-align:left;font-size:11px;line-height:1.45;border-top:1px solid #dce2d1;margin-top:8px;padding-top:6px}.run-growth-item+.run-growth-item{margin-top:6px}.run-growth-item strong{display:block;color:#657b4e}.run-growth .quiet-button{display:block;margin:2px auto;padding:6px;font-size:12px}.has-growth .modal-cat,.has-growth .modal>.eyebrow,.has-growth .modal>small{display:none}.has-growth .modal{max-height:100%;overflow:auto;overscroll-behavior:contain}.has-growth .modal h2{margin:4px 0}.has-growth .modal p{margin:5px 0}.has-growth #start{margin:6px 0}.guide-card .guide-skip{display:inline-block;padding:5px 9px;margin-top:6px;font-size:11px;background:transparent;color:#748465}.tutorial-inline-skip{pointer-events:auto;border:0;border-radius:8px;background:#eee4c9;color:#74654e;padding:4px 8px;margin-left:6px;font-size:10px}.starter-siamese{left:72%;top:45%;width:76px;height:96px}.level-recommendation{margin-top:10px;padding:8px;border-radius:14px;background:#f6f2e8;font-size:13px;line-height:1.5}.level-recommendation .quiet-button{margin:5px 0;padding:6px 12px}.challenge-loadout{max-width:540px;margin:auto;padding:12px 4px}.challenge-loadout h1{font-size:22px}.challenge-loadout article{padding:12px 16px;margin:12px 0;background:#fffaf1;border-radius:18px}.challenge-loadout p{line-height:1.5}.challenge-loadout h3{margin:8px 0}.loadout-cats{display:grid;gap:8px;margin-top:12px}.loadout-cats button{text-align:left;display:grid;gap:5px;padding:12px}.loadout-cats [aria-pressed=true]{outline:2px solid #b59a77}.challenge-loadout summary{cursor:pointer;padding:8px}.challenge-loadout [data-loadout-tip]{padding:10px;background:#fff1cc;border-radius:14px}.challenge-loadout h1{font-size:20px;line-height:1.4;letter-spacing:.5px;margin:12px 0 16px}.challenge-loadout article{padding:14px;margin:10px 0}.loadout-mission>small,.loadout-companion-head small{font-size:12px;color:#8a8170}.loadout-goals{list-style:none;padding:0;margin:8px 0;display:grid;gap:5px;font-size:15px;line-height:1.45;font-weight:700;color:#5b6650}.challenge-loadout .loadout-budget{font-size:12px;color:#8a8170;margin:8px 0}.challenge-loadout .level-hint{font-size:13px;line-height:1.6;margin:8px 0 0}.loadout-companion-head{display:flex;gap:12px;align-items:center}.loadout-companion-head>[data-loadout-visual]{flex:none;width:48px}.loadout-companion-head .cat-visual{width:48px;height:56px;padding:0}.loadout-companion-head>div{min-width:0;flex:1}.loadout-companion-head h2{font-size:16px;line-height:1.4;margin:3px 0}.loadout-companion-head p{font-size:12px;line-height:1.5;margin:3px 0}.challenge-loadout details{border-top:1px solid #e8e1d3;margin-top:10px;font-size:12px}.challenge-loadout summary{min-height:40px;padding:10px 0;touch-action:manipulation}.challenge-loadout .loadout-ability p{font-size:12px;margin:5px 0 0}.loadout-cats button{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:3px 8px;padding:10px}.loadout-cats .cat-visual{grid-column:1;grid-row:1 / span 2;width:40px;height:44px;padding:0}.loadout-cats button>strong,.loadout-cats button>small{grid-column:2;min-width:0}.loadout-cats button>small{font-size:11px;line-height:1.4}.loadout-trial-skills{padding-left:18px;font-size:12px;line-height:1.7;margin:10px 0}.loadout-mission>small:last-child{display:block;line-height:1.5}.challenge-loadout .loadout-start{width:100%;min-height:48px;margin-top:14px;text-align:center;font-weight:700;background:#e9efdf;position:sticky;bottom:max(10px,env(safe-area-inset-bottom));z-index:1;box-shadow:0 3px 12px #f8f5ec}.cat-visual{display:inline-block;vertical-align:middle;width:var(--cat-visual-width);height:var(--cat-visual-height);max-width:100%;box-sizing:border-box;padding:2px;background:transparent;overflow:visible;line-height:1}.cat-visual>img,.cat-visual>canvas{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none}.cat-visual[data-visual-source=locked]{display:inline-flex;align-items:center;justify-content:center;opacity:.5;font-size:24px}.companion-actor>.cat-visual{width:100%;height:78%;padding:5%}.companion-actor>.cat-visual[data-visual-source=legacy]{display:contents}.skill-card>.cat-visual{width:27px;height:20px;padding:0;flex:none}.room-cat>.cat-visual{display:block;max-width:100%;padding:0}.room-cat .cat-visual>canvas{width:100%;height:100%}.room-cat .cat-visual>img{animation:room-breathe 6s ease-in-out infinite}.cat-visual-debug-preview{min-height:130px;padding:20px;background:#f7f0e2;border-radius:12px}.cat-visual-debug-preview .cat-visual[data-visual-source=legacy][data-visual-context=game_side]{position:relative;display:inline-block}.cat-visual-debug-preview .buddy-pose{height:75%}@media(max-width:360px){.skill-card>.cat-visual{width:20px;height:15px}}@media(prefers-reduced-motion:reduce){.room-cat .cat-visual>img{animation:none}}.cat-visual[data-visual-locked=true]{position:relative;opacity:1}.cat-visual[data-visual-locked=true]>img{filter:grayscale(100%);opacity:.6}.cat-visual[data-visual-locked=true]:after{content:"\1f512";position:absolute;right:0;bottom:0;font-size:14px;line-height:1.2;filter:none;opacity:1;text-shadow:0 1px 2px #fff;pointer-events:none}:root{background:#faf6ed;color:#575348}body{background:radial-gradient(ellipse at 4% 15%,#eef0e5 0,transparent 45%),#faf6ed}.score-card,.next-card,.menu-button,.catalog-cat,.room-combat article,.next-cat,.skill-card{background:#fffaf1;border-color:#e2d9c7;border-radius:17px 20px 16px 19px;box-shadow:none}.primary{background:#859675;box-shadow:0 3px #6f805f;border-radius:13px 16px 12px 15px}.primary:hover{background:#778969}.controls button{background:#faf6e9;border-color:#d8d4be}.controls .rotate-key,.dpad [data-action=down]{background:#e8eddc}.board-shell{background:#e7ebdf;border-color:#d5dccb;box-shadow:0 4px #d4dcca,0 10px 24px #8a886810}.cat-room{border:2px solid #dfd1bb;background:linear-gradient(#fcf6e9 0 40%,#d9c8ae 40% 40.6%,#eddec7 40.6%);box-shadow:0 4px #ded2c0;border-radius:26px 30px 25px 28px}.room-window{background:#e0e9e4;border-width:4px;box-shadow:0 2px #dfd4c3}.room-cabinet{background:#dec6a4;border-color:#c8af8e;border-width:2px;box-shadow:inset 0 -25px #e6d3b6}.room-rug{background:#e2e8d7;border:3px solid #eef0e3;border-radius:48% 53% 46% 52%}.room-picture{background:#eddcc8;border-width:3px;opacity:.7}.companion-hit[data-available=true],.companion-hit[data-guide=true]{animation:none;box-shadow:none;background:transparent}.companion-hit[data-guide=true]{outline:none}.companion-hit[data-pressed=true]{background:#eddcc422}.companion-actor{filter:drop-shadow(0 2px 1px #9b896616)}.companion-actor>.cat-visual[data-visual-source=static]{animation:portrait-breathe 5s ease-in-out infinite}.companion-hit[data-guide=true]+.companion-actor{animation:portrait-invite 1.3s ease-in-out infinite}.app .cheerleaders.portrait-cheers{display:block;inset:0;pointer-events:none;z-index:0}.portrait-cheer{position:absolute;opacity:.9;pointer-events:none}.cheer-art{position:relative;width:100%;height:100%;transform-origin:50% 85%}.cheer-art>.cat-visual{width:100%;height:100%;padding:0;transform:scaleX(var(--cheer-facing,1))}.cheer-accessory{position:absolute;height:auto;aspect-ratio:1;pointer-events:none;overflow:visible}.portrait-cheers[data-mode=playing] .cheer-art{animation:portrait-breathe 6s ease-in-out infinite;animation-delay:var(--phase)}.portrait-cheers[data-mode=playing] [data-variant="1"] .cheer-art{animation-name:portrait-tilt}.portrait-cheers[data-mode=playing] [data-variant="2"] .cheer-art{animation-duration:7.5s}.portrait-cheers.portrait-celebrate .cheer-art{animation:portrait-hop var(--celebration,.6s) ease-out both;animation-delay:0s}.portrait-cheers[data-mode=paused] *{animation-play-state:paused!important}.portrait-cheers[data-mode=ended]:not(.portrait-celebrate) .cheer-art{animation:none}@keyframes portrait-breathe{0%,65%,to{transform:none}80%{transform:translateY(-1px) scale(1.025)}}@keyframes portrait-tilt{0%,65%,to{transform:none}78%{transform:rotate(-3deg)}88%{transform:rotate(2deg)}}@keyframes portrait-hop{0%,to{transform:none}25%{transform:translateY(var(--hop,-4px)) rotate(-3deg)}50%{transform:translateY(0) scaleY(.97)}72%{transform:translateY(-2px) rotate(2deg)}}@keyframes portrait-invite{50%{filter:drop-shadow(0 0 3px #dcc18c);translate:0 -2px}}@media(prefers-reduced-motion:reduce){.portrait-cheers *,.companion-actor,.companion-actor>.cat-visual{animation:none!important}}body:has(#game-page:not([hidden])){--cream-bg:#faf6ec;--cream-card:#fffbed;--sage:#dfe7d2;--sage-dark:#63765b;--warm-line:#d9ccb3;--wood:#b99570;--soft-orange:#e6bc92;--text-main:#595749;--text-muted:#969280;--soft-shadow:#8e846014;--paper-highlight:#fffef7;--note-bg:#fff4d5;--pressed-bg:#e0e7d2;background-color:var(--cream-bg);background-image:linear-gradient(#faf6ec24,#faf6ec24),url(/assets/optimized/v1/ui/main/main-bg-5fab61a3c9f0.webp);background-size:cover;background-position:center;background-repeat:no-repeat;color:var(--text-main)}#game-page .brand h1{color:var(--sage-dark);text-shadow:1px 1px var(--paper-highlight)}#game-page .brand h1 span{color:var(--text-muted);border-color:var(--warm-line);background:var(--cream-card);border-radius:4px 6px 3px 5px}#game-page .brand-icon{background:var(--sage);color:var(--sage-dark);border-radius:38% 44% 36% 43%}#game-page .brand p,#game-page .eyebrow,#game-page .board-label,#game-page #next-name{color:var(--text-muted)}#game-page :is(.score-card,.next-card,.skill-card){position:relative;background:var(--cream-card);border-color:var(--warm-line);border-radius:15px 19px 13px 17px/13px 15px 17px 14px;box-shadow:0 2px 0 var(--soft-shadow);color:var(--text-main)}#game-page :is(.score-card,.next-card):after{content:"";position:absolute;inset:2px 3px 3px 2px;border:1px solid var(--warm-line);opacity:.27;border-radius:14px 17px 12px 18px;pointer-events:none}#game-page .next-card:before{content:"";position:absolute;right:14px;top:-3px;width:23px;height:5px;background:var(--soft-orange);opacity:.45;transform:rotate(3deg);border-radius:1px 3px 1px 2px;pointer-events:none}#game-page .score-card #score{color:var(--sage-dark);text-shadow:0 1px var(--paper-highlight)}#game-page .stats{position:relative;border-top-color:transparent;color:var(--text-muted)}#game-page .stats:before{content:"";position:absolute;left:5%;right:5%;top:0;height:1px;background:var(--warm-line);opacity:.65;clip-path:polygon(0 40%,20% 0,48% 50%,80% 15%,100% 55%,90% 100%,42% 85%,15% 100%);pointer-events:none}#game-page .stats strong,#game-page #goal-progress{color:var(--sage-dark)}#game-page .game-header-actions :is(.icon-btn,.skill-help),#game-page .board-help{background:var(--cream-card);color:var(--sage-dark);border-color:var(--warm-line);border-radius:10px 13px 9px 12px;box-shadow:0 1px 0 var(--soft-shadow)}#game-page .game-header-actions .skill-card{border-radius:10px 13px 9px 12px!important;background:var(--cream-card)}#game-page .skill-card small{color:var(--text-muted)}#game-page .skill-card progress{accent-color:var(--sage-dark)}#game-page .controls button{background:var(--cream-card);color:var(--sage-dark);border-color:var(--warm-line);border-radius:15px 19px 14px 18px;box-shadow:0 3px 0 var(--warm-line),0 5px 8px var(--soft-shadow)}#game-page .controls button:after{content:"";position:absolute;inset:4px;border:1px dashed var(--warm-line);opacity:.5;border-radius:12px 16px 11px 15px;pointer-events:none}#game-page .controls .rotate-key{background:var(--sage);border-color:var(--warm-line);border-radius:47% 51% 46% 52%;box-shadow:0 3px 0 var(--warm-line),0 5px 8px var(--soft-shadow)}#game-page .controls .rotate-key:after{border-radius:46% 50% 47% 51%;border-color:var(--sage-dark);opacity:.25}#game-page .dpad [data-action=down]{background:var(--sage)}#game-page .controls span{color:var(--sage-dark)}#game-page .controls button:is(.is-pressed,:active){background:var(--pressed-bg);box-shadow:0 1px 0 var(--warm-line),inset 0 2px 3px var(--soft-shadow)}#game-page .board-shell{background:var(--sage);border-color:var(--warm-line);border-radius:15px 18px 16px 19px;box-shadow:0 3px 0 var(--warm-line),0 8px 18px var(--soft-shadow)}#game-page .companion-actor small{color:var(--text-muted);background:var(--cream-card);border-radius:5px 7px 4px 6px;text-shadow:0 1px var(--paper-highlight)}#game-page .portrait-cheer:after{content:"";position:absolute;left:20%;right:20%;bottom:3%;height:4%;background:var(--sage-dark);opacity:.09;border-radius:48% 53% 46% 51%;z-index:-1;pointer-events:none}#game-page .overlay{background:#faf7edeb;backdrop-filter:none}#game-page .modal h2{color:var(--sage-dark)}#game-page .modal :is(p,small){color:var(--text-muted)}#game-page .modal .primary{background:var(--sage-dark);box-shadow:0 3px 0 var(--warm-line);border-radius:12px 16px 11px 15px}body:has(#game-page:not([hidden])) .guide-card{background:var(--note-bg);color:var(--text-main);border-radius:13px 18px 12px 17px;box-shadow:inset 0 0 0 1px var(--warm-line),0 3px 0 var(--soft-shadow)}body:has(#game-page:not([hidden])) .guide-card:before{content:"";position:absolute;left:24px;top:-4px;width:35px;height:8px;background:var(--soft-orange);opacity:.6;transform:rotate(-4deg);border-radius:2px;pointer-events:none}body:has(#game-page:not([hidden])) .guide-card small{color:var(--text-muted)}body:has(#game-page:not([hidden])) .guide-card button{background:var(--sage);color:var(--sage-dark);border-radius:10px 13px 9px 12px}body:has(#game-page:not([hidden])) .guide-card .guide-skip{background:transparent}@media(min-width:800px){.app .game-layout{grid-template-columns:minmax(140px,210px) minmax(170px,340px) minmax(140px,200px);column-gap:100px}.app .board-wrap{--cheer-width:80px;--cheer-board-width:100%;--cheer-board-height: calc(100% - 24px) ;--cheer-label-height:24px}}@media(min-width:800px)and (max-height:870px){.app .game-layout{grid-template-columns:minmax(140px,210px) minmax(170px,calc(50svh - 165px)) minmax(140px,200px)}}@media(max-width:799px){.app .board-wrap{--cheer-width:56px;--cheer-label-height:14px;--cheer-board-width:min( calc(100cqw - 132px) , calc(50cqh - 3px) );--cheer-board-height:calc(var(--cheer-board-width) + var(--cheer-board-width) - 8px);--board-size:var(--cheer-board-width)}.app .board-wrap:has(.has-rescue-target){--cheer-label-height:38px;--cheer-board-width:min( calc(100cqw - 132px) , calc(50cqh - 15px) );--board-size:var(--cheer-board-width)}.app .board-wrap .board-shell,.app .board-wrap:has(.has-rescue-target) .board-shell{width:var(--cheer-board-width);height:var(--cheer-board-height)}}@media(min-width:400px)and (max-width:799px){.app .board-wrap{--cheer-width:64px;--cheer-board-width:min( calc(100cqw - 148px) , calc(50cqh - 3px) )}.app .board-wrap:has(.has-rescue-target){--cheer-board-width:min( calc(100cqw - 148px) , calc(50cqh - 15px) )}}.app .board-wrap .cheerleaders{display:block;inset:var(--cheer-label-height) 0 auto;height:var(--cheer-board-height);pointer-events:none;z-index:0}.app .cheerleaders :is(.portrait-cheer,.cheer-cat){width:var(--cheer-width)!important;height:var(--cheer-width)!important;top:auto!important;bottom:12px;opacity:1;pointer-events:none;clip-path:none;overflow:visible}.app .cheerleaders :is([data-side=left],.cheer-left){left:0!important;right:auto!important}.app .cheerleaders :is([data-side=right],.cheer-right){left:calc(100% - var(--cheer-width))!important;right:auto!important}.app .cheerleaders .portrait-cheer{top:var(--cheer-y,65%)!important;bottom:auto}.app .cheerleaders .portrait-cheer[data-side=right][data-upper=true]{left:calc(100% - var(--cheer-width))!important}.app .board-wrap :is(.companion-actor,.companion-hit){top:calc(var(--cheer-label-height) + 12px)!important}.app .cheerleaders .cheer-art>.cat-visual{width:100%;height:100%;max-width:none;padding:0}.app .cheerleaders .cheer-art>.cat-visual>img{width:100%;height:100%;object-fit:contain}@media(max-width:799px){body:has(#game-page:not([hidden])){height:100svh;min-height:0;overflow:hidden;background-image:linear-gradient(#faf6ec24,#faf6ec24),url(/assets/optimized/v1/ui/main/main-bg-5fab61a3c9f0.webp);background-size:cover;background-position:center}#game-page.app{width:100%;max-width:560px;height:100svh;min-height:0;min-width:0;margin:0 auto;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 92px;gap:8px}#game-page header{min-height:43px;margin:0;gap:5px;flex-wrap:nowrap}#game-page .brand{gap:4px;min-width:0}#game-page .brand-icon{width:22px;height:24px;font-size:19px;line-height:22px;flex:none}#game-page .brand h1{font-size:15px;line-height:1.2;letter-spacing:0;white-space:nowrap}#game-page .brand h1 span{display:block;width:max-content;font-size:8px;line-height:1.2;margin:2px 0 0;padding:1px 3px;letter-spacing:.5px}#game-page .game-header-actions{gap:4px;min-width:0;margin-left:auto}#game-page .game-header-actions .icon-btn{width:36px;height:36px;flex:none;touch-action:manipulation}#game-page .companion-skill{position:relative;width:110px;max-width:110px}#game-page .game-header-actions .skill-card{width:110px!important;max-width:110px;min-height:36px;height:36px!important;padding:1px 19px 1px 4px!important;gap:2px;flex-wrap:nowrap}#game-page .skill-card>.cat-visual{width:20px;height:18px}#game-page .skill-card>span:not(.cat-visual){min-width:0}#game-page .skill-card progress{position:absolute;left:5px;bottom:1px;width:calc(100% - 24px)}#game-page .skill-card strong{font-size:10px;line-height:11px}#game-page .skill-card small{font-size:8px;line-height:10px}#game-page .skill-card progress{height:4px}#game-page .skill-help{min-width:22px;min-height:30px}#game-page :is(.skill-note,.skill-picker){max-width:calc(100vw - 24px)}#game-page :is(.brand p,.cats-panel,.desktop-note,.key-help,.cozy-note,footer){display:none}#game-page .game-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:58px minmax(0,1fr);gap:6px;width:100%;min-width:0;min-height:0;align-items:stretch;justify-items:center}#game-page .side{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px;width:100%;height:58px;min-width:0;padding:0}#game-page .score-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:28px 18px;gap:2px 4px;align-content:center;min-width:0;width:auto;margin:0;padding:4px 9px}#game-page .score-card #score{grid-area:1/1;font-size:26px;line-height:28px;letter-spacing:0}#game-page #score-label{grid-area:2/1;font-size:10px;line-height:18px;letter-spacing:0;white-space:nowrap}#game-page .stats{grid-area:1/2;display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:0;margin:0;border:0;font-size:10px;line-height:14px;white-space:nowrap}#game-page .stats:before{display:none}#game-page .stats strong{font-size:12px;margin:0 1px}#game-page #goal-progress{grid-area:2/2;font-size:10px;line-height:18px;white-space:normal;text-align:right}#game-page.level-mode .score-card #score{font-size:20px}#game-page.tutorial-mode .stats{display:none}#game-page.tutorial-mode #score-label{grid-column:1/-1}#game-page.tutorial-mode #goal-progress{grid-area:1/2}#game-page .next-card{display:grid;grid-template-columns:minmax(0,1fr) 56px;grid-template-rows:20px 22px;gap:0 4px;align-content:center;width:auto;min-width:0;height:58px;margin:0;padding:4px 9px}#game-page .next-card .eyebrow{grid-area:1/1;font-size:10px;line-height:20px;letter-spacing:0}#game-page .next-card canvas{grid-column:2;grid-row:1/3;align-self:center;width:56px;height:42px;object-fit:contain}#game-page #next-name{grid-area:2/1;font-size:11px;line-height:22px;text-align:left;white-space:nowrap}#game-page .board-wrap,#game-page .board-wrap:has(.has-rescue-target){--cheer-width:clamp(26px,7vw,30px);--cheer-label-height:18px;--cheer-board-width:min(calc(100cqw - var(--cheer-width) - var(--cheer-width) - 10px), calc(50cqh - 9px) );--cheer-board-height:calc(var(--cheer-board-width) + var(--cheer-board-width) - 6px);--board-size:var(--cheer-board-width);--edge-room:12cqw;position:relative;container-type:size;width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center}#game-page .board-wrap:has(.has-rescue-target){--cheer-label-height:38px}#game-page .board-label{width:var(--board-size);height:14px;min-height:0;line-height:14px;margin:0 0 4px;flex:none;font-size:10px;letter-spacing:0}#game-page .board-label.has-rescue-target{height:34px;min-height:34px}#game-page .board-wrap .board-shell,#game-page .board-wrap:has(.has-rescue-target) .board-shell{width:var(--cheer-board-width);height:var(--cheer-board-height);min-width:0;min-height:0;max-width:none;max-height:none;padding:2px;border-width:1px;flex:none}#game-page .board-shell>canvas{display:block;width:100%;height:100%;aspect-ratio:1/2}#game-page .board-wrap .cheerleaders{display:block;inset:var(--cheer-label-height) 0 auto;height:var(--cheer-board-height)}#game-page .cheerleaders :is([data-side=left],.cheer-left){left:0!important;right:auto!important}#game-page .cheerleaders :is([data-side=right],.cheer-right),#game-page .cheerleaders .portrait-cheer[data-side=right][data-upper=true]{left:calc(100% - var(--cheer-width))!important;right:auto!important}#game-page .cheerleaders .portrait-cheer[data-side=left][data-slot="0"]{top:calc(var(--cheer-y,65%) + 16px)!important}#game-page .board-wrap :is(.companion-actor,.companion-hit){top:calc(var(--cheer-label-height) + 28px)!important}#game-page .modal .mobile-omit{display:none}#game-page .spectators,#game-page .cheerleaders .portrait-cheer:not([data-slot="0"]){display:none!important}#game-page .spectator-left{left:0}#game-page .spectator-right{right:0}#game-page .controls{--key:48px;width:100%;max-width:420px;height:92px;margin:0 auto;padding:0 4px 4px;gap:8px;display:grid;grid-template-columns:84px 44px auto;align-items:center;justify-content:space-between}#game-page .controls .rotate-key{width:84px;height:84px}#game-page .controls .rotate-key b{font-size:38px}#game-page .controls .rotate-key span{font-size:12px}#game-page .dpad{gap:8px}#game-page .controls button{min-width:44px;min-height:44px}#game-page .overlay{inset:2px;padding:10px;background:#faf7ed3d;backdrop-filter:none}#game-page .overlay.hidden{display:none}#game-page .overlay .modal{width:100%;max-width:216px;max-height:72%;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:6px 8px;background:#fffbedf5;border:1px solid var(--warm-line);border-radius:16px;box-shadow:0 4px 16px #59574920}#game-page .modal-cat{font-size:20px;margin:0 0 3px}#game-page .modal h2{font-size:14px;line-height:1.4;margin:3px 0;letter-spacing:0}#game-page .modal p{font-size:11px;line-height:1.5;margin:4px 0}#game-page .modal .eyebrow{font-size:9px;letter-spacing:0}#game-page .modal>small,#game-page .modal>.eyebrow{display:none}#game-page .modal small{font-size:9px;line-height:1.4}#game-page .modal .primary{width:100%;min-height:44px;padding:8px;margin:6px 0;font-size:13px;touch-action:manipulation}#game-page .modal :is(#result-next,#result-levels){min-height:44px;padding:8px;margin:2px auto;font-size:12px;touch-action:manipulation}}@media(max-width:359px){#game-page header{gap:4px}#game-page .brand-icon{width:22px;height:24px;font-size:19px;line-height:22px}#game-page .brand h1{font-size:15px}#game-page .companion-skill{width:100px;max-width:100px}#game-page .game-header-actions .skill-card{width:100px!important;max-width:100px}#game-page .controls{--key:46px;padding-inline:0;gap:8px}#game-page .controls .rotate-key{width:76px;height:76px}#game-page .side{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6px}#game-page .next-card{grid-template-columns:minmax(0,1fr) 40px;padding-inline:6px}#game-page .next-card canvas{width:40px}#game-page .score-card{padding-inline:6px}}@media(max-width:799px)and (max-height:700px){#game-page.app{grid-template-rows:auto minmax(0,1fr) 80px;gap:5px}#game-page .game-layout{grid-template-rows:58px minmax(0,1fr);gap:4px}#game-page .side,#game-page .next-card{height:58px}#game-page .controls{height:80px;--key:46px}#game-page .controls .rotate-key{width:72px;height:72px}#game-page .modal-cat{font-size:20px;margin-bottom:3px}#game-page .modal h2{font-size:14px;margin:4px 0}#game-page .overlay .modal{padding:8px;max-height:90%}}#partners-open,#partners-dialog{display:none}@media(max-width:799px){#game-page .controls #partners-open{display:flex;position:relative;left:auto;top:auto;transform:none;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:#768069;font-size:11px;font-weight:600;box-shadow:none;touch-action:manipulation}#game-page .controls #partners-open:before{content:"";position:absolute;inset:6px;border:1px solid #d6d5bd;border-radius:10px;background:#fffbedb3;z-index:-1}#partners-dialog[open]{display:block;position:fixed;inset:0;margin:auto;width:min(340px,calc(100vw - 32px));max-height:calc(100svh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:18px;border:1px solid #d6d5bd;border-radius:22px;background:#fffbed;color:#4b5148;box-shadow:0 12px 48px #39452d40;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}#partners-dialog::backdrop{background:#353c3566}#game-page #partners-dialog .cats-panel{display:block;padding:0}#partners-dialog #partners-title{display:block;padding-right:64px;line-height:24px}#game-page #partners-dialog h2{font-size:17px;margin:6px 0 12px}#partners-close{position:absolute;right:10px;top:8px;min-width:56px;min-height:44px;border:0;border-radius:12px;background:transparent;font-size:12px;touch-action:manipulation}#partners-dialog .cat-row{gap:12px;padding:6px 0}#partners-dialog .cat-row canvas{width:72px;height:47px;flex:none}#partners-dialog .cat-row strong{font-size:12px}#partners-dialog .cat-row small{font-size:10px}}body:has(#screen:not([hidden]) .starter-room){background:#e7d1b3;overflow:hidden}#screen:has(.starter-room){position:relative;isolation:isolate;box-sizing:border-box;width:100%;max-width:560px;height:100svh;min-height:0;margin:0 auto;padding:0;overflow:hidden;background:#e7d1b3 url(/assets/optimized/v1/ui/main/main-bg-5fab61a3c9f0.webp) center top / 100% auto no-repeat}#screen:has(.starter-room) .back-button{position:absolute;z-index:3;left:max(8px,env(safe-area-inset-left));top:max(8px,env(safe-area-inset-top));margin:0;padding:10px 8px;min-height:44px;background:#fffaf1dc;border-radius:16px;font-size:12px}#screen:has(.starter-room) .room-heading{position:absolute;z-index:2;top:max(8px,env(safe-area-inset-top));left:104px;right:8px;margin:0;padding:4px 6px 4px 12px;gap:4px;border-radius:18px;background:#fffaf1dc}#screen:has(.starter-room) .room-heading h1{font-size:15px;letter-spacing:0;margin:0}#screen:has(.starter-room) .room-progress{margin:2px 0 0;padding:0;font-size:11px;text-align:left;font-weight:400}#screen:has(.starter-room) .room-help{width:40px;height:40px;flex-shrink:0}#screen .cat-room.starter-room{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none}#screen .starter-room>:is(.room-window,.room-picture,.room-cabinet,.room-rug){display:none}#screen .starter-room .room-cat{pointer-events:auto;left:var(--resident-left);right:auto;top:var(--resident-top);bottom:auto;width:80px;height:104px;cursor:pointer}#screen .starter-room .room-cat-name{font-size:10px;background:#fffaf1d9;border-radius:10px;padding:3px 7px;width:max-content;max-width:100%;margin:-4px auto 0;color:#625b4e}#screen:has(.starter-room) .next-cat{position:absolute;z-index:3;bottom:max(10px,env(safe-area-inset-bottom));left:10px;right:10px;max-width:none;margin:0;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;text-align:left;background:#fffaf1e8;border:1px solid #dfd3bd;border-radius:18px}#screen:has(.starter-room) .next-cat strong{font-size:12px}#screen:has(.starter-room) .next-cat p{font-size:10px;margin:0;color:#746b5b}#screen:has(.starter-room) .next-cat .next-condition{grid-column:1}#screen:has(.starter-room) .next-cat progress{grid-column:1;width:100%;height:6px}#screen:has(.starter-room) .next-cat .primary{grid-column:2;grid-row:1 / 3;width:auto;min-height:36px;padding:6px 9px;margin:0;font-size:10px}#screen:has(.starter-room) .collection-help{grid-column:2;grid-row:3 / 5;margin:0;padding:5px;font-size:11px}#screen:has(.starter-room) .room-sheet-backdrop{position:absolute;inset:0;z-index:9;width:100%;height:100%;border:0;background:#55463530}#screen:has(.starter-room) .room-sheet{position:absolute;z-index:10;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-height:70svh;overflow:auto;overscroll-behavior:contain;margin:0;padding:12px;background:#fffaf1;border:1px solid #dfd3bd;border-radius:22px;box-shadow:0 -5px 25px #79654820;display:block}#screen:has(.starter-room) .room-sheet-close{display:block;margin:0 0 6px auto;min-height:40px}#screen:has(.starter-room) .room-combat article{margin:0;padding:12px}#screen:has(.starter-room) .room-combat button[data-combat]{min-height:44px}#screen .starter-room .room-speech{top:calc(max(8px,env(safe-area-inset-top)) + 64px);right:14px;font-size:12px;padding:10px 12px}#screen .starter-room .room-skip{top:calc(max(8px,env(safe-area-inset-top)) + 145px);pointer-events:auto;min-height:36px}#screen:has(.starter-room) button:focus-visible{outline:3px solid #869e70;outline-offset:2px}@media(max-height:600px){#screen .starter-room .room-cat{transform:scale(.75);transform-origin:top left}#screen:has(.starter-room) .next-cat{padding:6px 10px}}#screen:has(.starter-room){container-type:inline-size}#screen .starter-room .room-residents{isolation:isolate;z-index:1}#screen .starter-room .room-cat-name{display:none}#screen .starter-room .room-cat{left:var(--room-x);top:var(--room-y);width:var(--room-width);height:var(--room-height);aspect-ratio:auto;min-width:0;min-height:0;transform:none;background:transparent;box-shadow:none;border:0;z-index:var(--room-depth)}#screen .starter-room .starter-siamese{--room-x:1.8%;--room-y:71.2cqw;--room-width:14%;--room-height:16.2cqw;--room-depth:1}#screen .starter-room .starter-british{--room-x:51%;--room-y:82.24cqw;--room-width:18.6%;--room-height:17.76cqw;--room-depth:2}#screen .starter-room .starter-tuxedo{--room-x:74%;--room-y:105.5cqw;--room-width:21%;--room-height:22cqw;--room-depth:3}#screen .starter-room .starter-orange{--room-x:7%;--room-y:97cqw;--room-width:25%;--room-height:25cqw;--room-depth:4}#screen .starter-room .starter-silver{--room-x:30.5%;--room-y:113.5cqw;--room-width:25%;--room-height:28cqw;--room-depth:5}#screen .starter-room .starter-calico{--room-x:67.5%;--room-y:130cqw;--room-width:29%;--room-height:27cqw;--room-depth:6;transform:rotate(3deg);transform-origin:50% 85%}#screen .starter-room .starter-cream{--room-x:22%;--room-y:142cqw;--room-width:32.8%;--room-height:23.78cqw;--room-depth:7}#screen .starter-room .room-cat>.cat-visual{position:relative;display:block;width:100%;height:100%;aspect-ratio:auto;padding:0;background:transparent}#screen .starter-room .cat-visual[data-resolved-state=room]>img{position:absolute;left:0;bottom:0;width:100%;height:auto;max-height:none;animation:none;object-fit:contain;transform:none;filter:drop-shadow(0 2px 1px #71563c20)}@media(max-width:799px){#game-page{--cat-sticker-paper:#fffaf0;--cat-sticker-line:#cbb99e;--cat-sticker-ink:#695b49;--cat-sticker-muted:#92816b;--cat-frame:#b5c4c6;--cat-frame-line:#819598}#game-page .brand{position:relative;padding:5px 6px;background:#fff8e6;border:1px solid #cbb99e;border-radius:17px 12px 16px 10px/12px 16px 11px 15px;box-shadow:0 2px #d8c9ad,0 0 0 3px #fffaf0c9;transform:rotate(-2deg)}#game-page .brand:after{content:"";position:absolute;inset:3px;border:1px solid #e4d4b7;border-radius:14px 9px 13px 8px;pointer-events:none}#game-page .brand-icon{background:#f1d4b6;color:#927557;border-radius:44% 38% 46% 37%;transform:rotate(-9deg)}#game-page .brand h1{color:#65755e;text-shadow:1px 1px #fffdf5,-1px 0 #fffdf5;letter-spacing:.2px}#game-page .brand h1 span{display:inline-block;margin:3px 0 0 3px;padding:1px 4px;background:#f3dfba;border:1px solid #d5bd94;transform:rotate(5deg);font-size:7px}#game-page .score-card,#game-page .game-header-actions .skill-card,#game-page .next-card,#game-page .companion-actor{box-sizing:border-box;background:var(--cat-sticker-paper)!important;border:1px solid var(--cat-sticker-line)!important;border-radius:12px 15px 11px 14px/13px 12px 15px 11px!important;color:var(--cat-sticker-ink)!important;box-shadow:0 2px #d8c9b2,inset 0 0 0 3px #fffdf7,inset 0 0 0 4px #e8dcc9}#game-page .score-card #score{color:#6e7e62}#game-page .score-card .stats{color:#91816d}#game-page .score-card .stats strong{color:#74674f}#game-page .score-card:before{content:"\e05";position:absolute;right:10px;bottom:4px;font-size:16px;line-height:16px;color:#d7b391;opacity:.55;pointer-events:none}#game-page .score-card:has(#goal-progress:not([hidden])):before{display:none}#game-page .game-header-actions .skill-card{padding:2px 14px 2px 5px!important;gap:4px;align-items:center;font-weight:400;animation:none}#game-page .skill-card>.cat-visual{width:24px;height:26px;padding:0}#game-page .skill-card>span:not(.cat-visual){flex:1;min-width:0;overflow:hidden}#game-page .skill-card strong{font-size:10px;line-height:11px;font-weight:700;color:var(--cat-sticker-ink)}#game-page .skill-card small{font-size:7.5px;line-height:9px;font-weight:400;color:#806e57;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#game-page .skill-card small:last-child{font-size:7px;line-height:8px;color:var(--cat-sticker-muted)}#game-page .skill-card:has(progress){padding-bottom:5px!important}#game-page .skill-card progress{height:2px;bottom:1px;left:7px;width:calc(100% - 23px);accent-color:#b59c73}#game-page .game-header-actions .skill-help{top:7px;right:0;width:16px;height:22px;min-width:16px;min-height:22px;padding:0;border:0;border-radius:8px;background:transparent;color:#a18d70;font-size:10px;font-weight:400;box-shadow:none}#game-page .next-card{grid-template-columns:minmax(0,1fr) 60px;column-gap:4px;padding:4px 10px}#game-page .next-card .eyebrow{font-size:9px;font-weight:400;color:var(--cat-sticker-muted)}#game-page .next-card .eyebrow span{color:#c69f79;font-size:9px}#game-page .next-card canvas{width:60px;height:44px;object-fit:contain}#game-page #next-name{font-size:11px;font-weight:600;color:var(--cat-sticker-ink);padding-right:2px;overflow:hidden;text-overflow:ellipsis}#game-page .companion-actor{filter:none;padding:2px}#game-page .companion-actor>.cat-visual{height:78%;padding:2%}#game-page .companion-actor small{margin:4px 0 0;background:transparent;border-radius:0;color:var(--cat-sticker-muted);font-size:7px;line-height:10px;text-shadow:none;white-space:nowrap}#game-page .companion-hit{border-radius:12px 15px 11px 14px}#game-page .companion-hit:focus-visible{outline-color:#b79b70}#game-page .board-wrap .board-shell{background:var(--cat-frame);border-color:var(--cat-frame-line);border-radius:13px 16px 12px 15px;box-shadow:0 0 0 4px var(--cat-frame),0 0 0 5px var(--cat-frame-line),0 7px 0 3px #90a3a5,0 11px 14px #5f74751a;isolation:isolate}#game-page .board-shell:before{content:"";position:absolute;left:-5px;right:-5px;top:-15px;height:28px;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='28' viewBox='0 0 240 28'%3E%3Cpath d='M4 27 Q5 14 9 3 Q11 -1 16 4 L38 24 M202 24 L224 4 Q229 -1 231 3 Q235 14 236 27' fill='%23b5c4c6' stroke='%23819598' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M13 19 L14 8 L26 20 M214 20 L226 8 L227 19' fill='%23e6c5b4'/%3E%3C/svg%3E") center / 100% 100% no-repeat}#game-page .board-shell:after{content:"\2022   \1d25   \2022";position:absolute;bottom:-10px;left:calc(50% - 25px);width:50px;height:14px;line-height:13px;text-align:center;font-size:11px;letter-spacing:1px;color:#667c7f;background:var(--cat-frame);border-radius:40%;pointer-events:none}#game-page .board-shell>canvas{border-radius:10px 12px 9px 11px}#game-page .board-label{color:#7b8982}#game-page .controls button,#game-page .controls #partners-open{border:1px solid #c5b49a;background:#fff7e7;color:#77806c;border-radius:17px 20px 15px 19px/18px 16px 21px 15px;box-shadow:0 3px #c9baa2,0 5px 8px #8e846014}#game-page .controls button:after{inset:4px;border:1px solid #deceb4;border-radius:13px 16px 12px 15px;opacity:.7}#game-page .controls #partners-open:before{display:none}#game-page .controls .rotate-key{border-radius:46% 51% 45% 53%;background:#dce4cd}#game-page .controls .rotate-key:after{border-radius:45% 49% 47% 50%;border-color:#adba9e}#game-page .controls [data-action=down]{background:#dce5e4;color:#6d8485}#game-page .controls [data-action=right]{background:#f0dfcb}#game-page .controls span{color:inherit}#game-page .controls button:is(.is-pressed,:active){background:#e2dbc9;box-shadow:0 1px #c9baa2,inset 0 2px 3px #8e846014}#game-page .portrait-cheer:after{background:#819598;opacity:.12}}@media(max-width:359px){#game-page .brand{padding:3px}#game-page .skill-card>.cat-visual{width:20px;height:24px}#game-page .next-card{grid-template-columns:minmax(0,1fr) 40px;padding-inline:6px}#game-page .next-card canvas{width:40px}}@media(max-width:799px)and (orientation:portrait){#game-page.app{padding-top:max(10px,env(safe-area-inset-top));grid-template-rows:52px minmax(0,1fr) 92px;gap:6px}#game-page header{min-height:52px;gap:6px}#game-page .brand{flex:0 0 clamp(146px,39vw,170px);width:clamp(146px,39vw,170px);height:52px;padding:0;gap:0;background:transparent url(/assets/optimized/v1/ui/main/logo_main-a192047c1f2b.webp) center / contain no-repeat;border:0;border-radius:0;box-shadow:none;transform:none}#game-page .brand:after{display:none}#game-page .brand>*{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#game-page .game-header-actions{display:flex;gap:4px;align-items:center}#game-page #sound-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center}#game-page .companion-skill{width:130px;max-width:130px;flex:none}#game-page .game-header-actions .skill-card{position:relative;width:130px!important;max-width:130px;height:46px!important;min-height:46px;padding:4px 17px 5px 5px!important;gap:4px;background:#fffaf0!important;border:1px solid #cbb99e!important;border-radius:11px 13px 10px 12px!important;box-shadow:0 2px #d8c9b255}#game-page .skill-card>.cat-visual{width:23px;height:26px;flex:none}#game-page .skill-card strong{font-size:10px;line-height:13px}#game-page .skill-card small{font-size:8px;line-height:10px}#game-page .skill-card small:last-child{font-size:7.5px;line-height:10px}#game-page .skill-card progress{left:6px;bottom:2px;width:calc(100% - 24px);height:2px;accent-color:#8eaa95}#game-page .game-header-actions .skill-help{top:10px;right:0;width:18px;height:26px;min-width:18px;min-height:26px;font-size:12px}#game-page .game-header-actions .icon-btn:not(.skill-card){width:32px;height:36px;border:1px solid #cbb99e;background:#fffaf0e8;border-radius:11px;color:#768477;box-shadow:0 2px #d8c9b255}#game-page .game-layout{grid-template-rows:auto minmax(0,1fr)}#game-page .side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto;align-items:start}#game-page .score-card,#game-page .next-card{position:relative;display:block;width:100%;height:auto;aspect-ratio:1619 / 971;padding:0;border:0!important;border-radius:0!important;box-shadow:none;background-color:transparent!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important}#game-page .score-card{background-image:url(/assets/optimized/v1/ui/main/panel_score-d7c2ee6ce73f.webp)!important}#game-page .next-card{background-image:url(/assets/optimized/v1/ui/main/panel_next-b09fb5f7e693.webp)!important}#game-page .score-card:before{display:none}#game-page #score-label{position:absolute;left:23%;right:12%;top:22%;font-size:10px;line-height:14px;white-space:normal}#game-page .score-card #score{position:absolute;left:23%;right:10%;top:36%;font-size:26px;line-height:28px}#game-page .stats{position:absolute;left:12%;right:10%;top:66%;justify-content:space-between;font-size:9px;line-height:14px}#game-page #goal-progress{position:absolute;left:12%;right:10%;top:80%;font-size:9px;line-height:11px;text-align:left}#game-page.level-mode #score-label{top:20%;font-size:9px;line-height:11px}#game-page.level-mode .score-card #score{top:39%;font-size:20px;line-height:22px}#game-page.tutorial-mode #goal-progress{top:70%}#game-page .next-card .eyebrow{position:absolute;left:24%;top:36%;width:35%;font-size:9px;line-height:13px;white-space:nowrap}#game-page .next-card .eyebrow span{display:none}#game-page #next-name{position:absolute;left:18%;top:57%;width:40%;padding:0;font-size:10px;line-height:14px;white-space:normal;text-align:center}#game-page .next-card canvas{position:absolute;left:62%;top:31%;width:29%;height:42%;object-fit:contain}#game-page .game-layout{gap:2px}#game-page .side{gap:6px}#game-page .score-card #score{font-size:25px}#game-page .board-wrap,#game-page .board-wrap:has(.has-rescue-target){--cheer-width:28px;--cheer-board-width:min( calc(100cqw - 68px) , calc(50cqh - 10px) );--cheer-board-height:calc(var(--cheer-board-width) + var(--cheer-board-width) - 6px);--board-size:var(--cheer-board-width)}#game-page .board-wrap .board-shell,#game-page .board-wrap:has(.has-rescue-target) .board-shell{width:var(--cheer-board-width);height:var(--cheer-board-height);padding:2px;border:1px solid #819598;background:#b5c4c6;border-radius:10px 12px 9px 11px;box-shadow:0 3px #91a3a5,0 5px 10px #5f74751a}#game-page .board-shell:before,#game-page .board-shell:after{display:none}#game-page .board-shell>canvas{position:static;width:100%;height:100%;aspect-ratio:1/2;border-radius:7px 9px 6px 8px}#game-page .cheerleaders .portrait-cheer[data-side][data-slot="0"]{top:70%!important;bottom:auto}#game-page .board-wrap :is(.companion-actor,.companion-hit){top:calc(var(--cheer-label-height) + 26px)!important;width:28px!important;height:49px!important;left:calc(12% - 33px)!important}#game-page .companion-actor{padding:2px;border-radius:9px 11px 8px 10px!important;box-shadow:0 2px #d8c9b255}#game-page .companion-actor small{display:block!important;font-size:6px;line-height:8px;overflow:hidden;text-overflow:ellipsis;margin:0}#game-page .controls{grid-template-columns:84px 44px auto;padding:0 4px 4px}#game-page .controls button,#game-page .controls #partners-open{background:#fff8eb;border:1px solid #c5b49a;border-radius:13px 15px 12px 14px;box-shadow:0 3px #c9baa2;color:#697568}#game-page .controls button:after{display:none}#game-page .controls .rotate-key{width:84px;height:84px;border-radius:48% 51% 49% 50%;background:#b8cbb7;border-color:#889f87;box-shadow:0 4px #8da58c;color:#526b51}#game-page .controls #partners-open{width:44px;height:44px}#game-page .dpad{grid-template-columns:repeat(3,var(--key));grid-template-rows:var(--key);gap:8px}#game-page .dpad button,#game-page .dpad [data-action=down]{width:var(--key);height:var(--key);background:#fff8eb}#game-page .controls button:is(.is-pressed,:active){background:#e2e7d8;box-shadow:0 1px #aebba3}#game-page .overlay .modal{background:#fffaf2;border:1px solid #cbb99e;border-radius:14px 16px 13px 15px;box-shadow:0 4px 14px #79694f1f;padding:10px}#game-page .modal-cat{color:#8d9d80;font-size:20px}#game-page .modal h2{color:#695b49}#game-page .modal p{color:#8b7d6b}#game-page .modal .primary{background:#93ab90;color:#fffdf6;border:1px solid #829b80;border-radius:10px;box-shadow:0 2px #768e73}#game-page .modal .quiet-button{color:#81715c;background:transparent;border:0;box-shadow:none}}@media(max-width:379px)and (orientation:portrait){#game-page .brand{flex-basis:130px;width:130px}#game-page .companion-skill{width:112px;max-width:112px}#game-page .game-header-actions .skill-card{width:112px!important;max-width:112px}#game-page .controls{--key:44px;grid-template-columns:76px 44px auto;padding-inline:0}#game-page .controls .rotate-key{width:76px;height:76px}}@media(max-width:799px)and (orientation:portrait)and (max-height:700px){#game-page.app{grid-template-rows:46px minmax(0,1fr) 80px;gap:4px}#game-page header,#game-page .brand{height:46px;min-height:46px}#game-page .controls{height:80px}#game-page .controls .rotate-key{width:72px;height:72px}}@media(max-width:799px)and (orientation:portrait){#game-page.tutorial-mode:not(.level-mode) .board-wrap{--cheer-board-width:min( calc(58.8735cqw - 9.42px) , calc(38.0682cqh - 10px) );--cheer-board-height:76cqh;--board-size:var(--cheer-board-width)}#game-page.tutorial-mode:not(.level-mode) .board-wrap .board-shell{width:var(--cheer-board-width);height:var(--cheer-board-height);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}#game-page.tutorial-mode:not(.level-mode) .board-shell>canvas{position:absolute;z-index:1;left:0;top:14.5335%;width:100%;height:76.1364%;aspect-ratio:1/2;border:0;border-radius:0;box-shadow:none}#game-page.tutorial-mode:not(.level-mode) .board-shell .overlay{inset:14.5335% 0 9.3301%;border-radius:0}}@media(max-width:799px)and (orientation:portrait){#game-page:not(.tutorial-mode).app{padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));height:100svh;min-height:0;overflow:hidden;grid-template-rows:7.2svh minmax(0,1fr) 70px;gap:4px}#game-page:not(.tutorial-mode) header{height:100%;min-height:0;gap:4px}#game-page:not(.tutorial-mode) .brand{flex:1 1 124px;width:auto;min-width:84px;max-width:142px;height:44px}#game-page:not(.tutorial-mode) .companion-skill{width:104px;max-width:104px}#game-page:not(.tutorial-mode) .game-header-actions .skill-card{width:104px!important;max-width:104px;height:38px!important;min-height:38px;padding:2px 14px 3px 4px!important;border-radius:11px 13px 10px 12px!important;background-color:#fffaf0!important;border-color:#b9a589!important;box-shadow:0 2px #d8c9b2,0 3px 5px #79694f14,inset 0 0 0 2px #fffdf7,inset 0 0 0 3px #e8dcc9}#game-page:not(.tutorial-mode) .skill-card>.cat-visual{width:20px;height:23px}#game-page:not(.tutorial-mode) .skill-card strong{font-size:10px;line-height:11px}#game-page:not(.tutorial-mode) .skill-card small{font-size:8px;line-height:9px}#game-page:not(.tutorial-mode) .skill-card small:last-child{font-size:7.5px;line-height:9px}#game-page:not(.tutorial-mode) .game-header-actions .skill-help{top:6px;width:16px;min-width:16px;height:24px;min-height:24px}#game-page:not(.tutorial-mode) .game-header-actions .icon-btn:not(.skill-card){width:28px;height:32px}#game-page:not(.tutorial-mode) .game-layout{grid-template-rows:7.2svh minmax(0,1fr);gap:4px}#game-page:not(.tutorial-mode) .side{height:100%;gap:8px;align-items:stretch}#game-page:not(.tutorial-mode) :is(.score-card,.next-card){height:100%;aspect-ratio:auto;border:0!important;border-radius:0!important;box-shadow:none;background:transparent center / 100% 100% no-repeat!important}#game-page:not(.tutorial-mode) .score-card{background-image:url(/assets/optimized/v1/ui/main/panel_score-d7c2ee6ce73f.webp)!important}#game-page:not(.tutorial-mode) .next-card{background-image:url(/assets/optimized/v1/ui/main/panel_next-b09fb5f7e693.webp)!important}#game-page:not(.tutorial-mode) #score-label{left:23%;right:10%;top:20%;font-size:10px;line-height:12px}#game-page:not(.tutorial-mode) .score-card #score{left:23%;top:36%;font-size:22px;line-height:23px}#game-page:not(.tutorial-mode) .stats{inset:auto 10% 12% 12%;font-size:8px;line-height:10px}#game-page:not(.tutorial-mode) .stats strong{font-size:10px}#game-page:not(.tutorial-mode) .next-card .eyebrow{left:23%;top:33%;width:42%;font-size:9px;line-height:12px}#game-page:not(.tutorial-mode) #next-name{left:18%;top:58%;width:42%;font-size:9px;line-height:12px;text-align:center}#game-page:not(.tutorial-mode) .next-card canvas{left:62%;right:auto;top:31%;width:29%;height:42%}#game-page:not(.tutorial-mode) .board-wrap{--cheer-label-height:18px;--cheer-width:24px;--cheer-board-width:min(76vw, calc(50cqh - 8px) ,calc((100vw - 116px) / .86 - 16px));--cheer-board-height:calc(var(--cheer-board-width) + var(--cheer-board-width) - 6px);--board-size:var(--cheer-board-width)}#game-page:not(.tutorial-mode) .board-wrap .board-shell{width:calc(var(--cheer-board-width) + 16px);height:calc(var(--cheer-board-height) + 34px);position:relative;top:-26px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}#game-page:not(.tutorial-mode) .board-shell{--play-left:18.2006%;--play-width:63.7022%;--inner-top:15.0584%;--inner-height:76.5519%;--temp-board-fill:#f8faf1}#game-page:not(.tutorial-mode) .board-shell:before{content:"";display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;background:transparent url(/assets/optimized/v1/ui/main/frame_board_mobile_exact-814b3c93a640.webp) center / 100% 100% no-repeat;border:0;border-image:none;border-radius:0;box-shadow:none;pointer-events:none;z-index:2}#game-page:not(.tutorial-mode) .board-shell:after{content:none;display:none}#game-page:not(.tutorial-mode) .board-window{position:absolute;left:var(--play-left);top:var(--inner-top);width:var(--play-width);height:var(--inner-height);overflow:hidden;background:var(--temp-board-fill)}#game-page:not(.tutorial-mode) .board-window:before{content:"";position:absolute;inset:0;background:var(--temp-board-fill);pointer-events:none}#game-page:not(.tutorial-mode) .board-window>canvas#board,#game-page:not(.tutorial-mode) .board-window .overlay{position:absolute;inset:0 auto auto 0;width:100%;height:auto;aspect-ratio:10 / 24;translate:none;border:0;border-radius:0;box-shadow:none}#game-page:not(.tutorial-mode) .board-window>canvas#board{z-index:1;object-fit:contain;object-position:top;background:var(--temp-board-fill)}#game-page:not(.tutorial-mode) .board-window .overlay{z-index:3;align-items:center;justify-content:center}#game-page:not(.tutorial-mode) .board-window #toast{z-index:4;left:0;right:auto;top:0;width:100%;max-width:100%;height:auto;aspect-ratio:10 / 24;display:flex;align-items:center;justify-content:center;transform:none;overflow-wrap:anywhere;pointer-events:none}#game-page:not(.tutorial-mode) .overlay .modal{max-width:min(216px,80%)}#game-page:not(.tutorial-mode) .board-wrap :is(.companion-actor,.companion-hit){width:23px!important;height:41px!important;left:calc(12% - 28px)!important;top:calc(var(--cheer-label-height) + 26px)!important}#game-page:not(.tutorial-mode) .companion-actor{background-color:#fffaf0!important;border-color:#b9a589!important;box-shadow:0 2px #d8c9b2,0 3px 5px #79694f14,inset 0 0 0 1px #fffdf7,inset 0 0 0 2px #e8dcc9}#game-page:not(.tutorial-mode) .controls{--key:50px;height:70px;grid-template-columns:66px 42px auto;padding:0;gap:6px;align-items:center}#game-page:not(.tutorial-mode) .controls .rotate-key{width:66px;height:66px}#game-page:not(.tutorial-mode) .controls .rotate-key b{font-size:32px}#game-page:not(.tutorial-mode) .controls .rotate-key span{font-size:11px}#game-page:not(.tutorial-mode) .controls #partners-open{width:42px;height:42px;min-width:42px;min-height:42px}#game-page:not(.tutorial-mode) .dpad{gap:6px}#game-page.level-mode:not(.tutorial-mode) #score-label{top:16%;font-size:9px;line-height:10px}#game-page.level-mode:not(.tutorial-mode) .score-card #score{display:none}#game-page.level-mode:not(.tutorial-mode) .stats{display:none}#game-page.level-mode:not(.tutorial-mode) #goal-progress{top:55%;bottom:auto;font-size:8px;line-height:10px}#game-page.level-mode.multi-goal-hud:not(.tutorial-mode) #score-label{white-space:nowrap}#game-page.level-mode.multi-goal-hud:not(.tutorial-mode) #goal-progress{top:42%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4px}#game-page.level-mode.multi-goal-hud #goal-progress>span{white-space:nowrap}#game-page.level-mode:not(.tutorial-mode) .board-window>canvas#board{top:auto;bottom:0;transform:none;aspect-ratio:var(--challenge-board-ratio)}#game-page.level-mode:not(.tutorial-mode) .board-window .overlay{height:100%;aspect-ratio:auto}#game-page.level-mode:not(.tutorial-mode) .overlay .modal{max-height:100%;overflow:auto}#game-page.level-mode:not(.tutorial-mode) .board-label{visibility:hidden;height:18px;min-height:0;margin:0;line-height:18px}#game-page.level-mode:not(.tutorial-mode) .companion-actor{min-width:0;min-height:0}#screen:has(.starter-room){--room-edge:18px;--room-top:max(14px,env(safe-area-inset-top))}#screen:has(.starter-room) .back-button{left:max(var(--room-edge),env(safe-area-inset-left));top:var(--room-top);padding:8px 9px;min-height:38px;border:1px solid #cbb99e;border-radius:14px}#screen:has(.starter-room) .room-heading{top:var(--room-top);left:112px;right:max(var(--room-edge),env(safe-area-inset-right));height:9svh;max-height:84px;min-height:68px;padding:6px 10px;gap:4px;border:1px solid #cbb99e;border-radius:14px;align-items:center}#screen:has(.starter-room) .room-heading small{display:block;font-size:9px;line-height:13px}#screen:has(.starter-room) .room-help{width:32px;height:32px}#screen:has(.starter-room) .next-cat{left:var(--room-edge);right:var(--room-edge);bottom:max(18px,env(safe-area-inset-bottom));height:13svh;padding:12px;align-content:center;row-gap:6px;border-color:#cbb99e;border-radius:14px}}@media(max-width:799px)and (orientation:portrait){#game-page.classic-portrait:not(.level-mode):not(.tutorial-mode) .board-wrap .cheerleaders{z-index:4}#game-page.classic-portrait:not(.level-mode):not(.tutorial-mode) .cheerleaders .portrait-cheer{display:block!important;pointer-events:none}#game-page.classic-portrait:not(.level-mode):not(.tutorial-mode) .portrait-cheer .cheer-art{animation:none}#game-page.classic-portrait:not(.level-mode):not(.tutorial-mode) .portrait-cheer .cat-visual{position:relative;overflow:hidden}#game-page.classic-portrait:not(.level-mode):not(.tutorial-mode) .portrait-cheer .cat-visual>img{position:absolute;max-width:none;max-height:none;width:var(--crop-width);height:var(--crop-height);left:var(--crop-left);top:var(--crop-top);object-fit:fill}#game-page.classic-portrait:not(.level-mode):not(.tutorial-mode) .portrait-cheer:after{display:none}}#game-page.level-mode:not(.tutorial-mode) .companion-actor{min-width:52px;min-height:64px;padding:2px}#game-page.level-mode:not(.tutorial-mode) .companion-actor>.cat-visual{width:48px;height:48px;padding:0;max-width:none}@media(max-width:799px)and (orientation:portrait){#game-page:not(.tutorial-mode) .board-wrap :is(.companion-actor,.companion-hit){width:56px!important;height:78px!important;left:calc(12% - 44px)!important;top:calc(var(--cheer-label-height) + 26px)!important}#game-page:not(.tutorial-mode) .companion-actor>.cat-visual{display:block;width:49px;height:54px;max-width:none;padding:0;margin:0 auto}#game-page:not(.tutorial-mode) .companion-actor small{margin:3px 0 0;font-size:7px;line-height:11px;white-space:normal;overflow:visible;text-overflow:clip}}#game-page .cheerleaders.animated-cheers,#game-page .animated-cheers .portrait-cheer,#game-page .animated-cheers .portrait-cheer:not(.classic-cheer-main) *,#game-page .animated-cheers .classic-cheer-main *:not(.cheer-art):not(.cheer-bubble):not(.cheer-sparks):not(i){animation:none!important;transform:none!important;transition:none!important}#game-page .animated-cheers .portrait-cheer{display:block!important}#game-page .animated-cheers .portrait-cheer:after{display:none}#game-page .animated-cheers .cheer-animation{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}#game-page.level-mode:not(.tutorial-mode) .cheerleaders.challenge-cheers{z-index:4}#game-page.level-mode .cheerleaders.challenge-cheers .portrait-cheer[data-side]{display:block!important}#game-page.level-mode .cheerleaders.challenge-cheers .portrait-cheer[hidden]{display:none!important}@media(max-width:799px)and (orientation:portrait){#game-page.level-mode:not(.tutorial-mode) .board-label{visibility:visible;position:relative;z-index:5;overflow:visible;letter-spacing:0;font-size:9px}#game-page.level-mode:not(.tutorial-mode) .board-label #board-name{display:block;white-space:nowrap}#game-page.level-mode:not(.tutorial-mode) .board-label .rescue-target{display:flex;position:absolute;top:20px;right:2px;background:#fffdf6;border-radius:6px;padding:2px;font-size:8px;line-height:10px;z-index:5}#game-page.level-mode:not(.tutorial-mode) .rescue-target canvas{width:20px;height:20px}#game-page.level-mode:not(.tutorial-mode) .rescue-target small{display:block;font-size:7px}#game-page.level-mode:not(.tutorial-mode) .board-help{display:none}#game-page.level-mode:not(.tutorial-mode) .board-wrap :is(.companion-actor,.companion-hit){min-width:56px;min-height:78px;width:56px!important;height:78px!important}}.first-play-tour{position:fixed;inset:0;z-index:10000;background:#514a3d99;display:grid;place-items:center;padding:12px;overscroll-behavior:contain}.first-play-tour[hidden]{display:none}.first-play-card{width:min(100%,380px);max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box;background:#fffaf0;border:1px solid #cbb99e;border-radius:22px;padding:20px;box-shadow:0 12px 48px #40392c33;color:#66563f;display:grid;gap:12px;outline:none}.first-play-card h2,.first-play-card p{margin:0}.first-play-card h2{font-size:21px}.first-play-card p{font-size:14px;line-height:1.65}.first-play-top{display:flex;align-items:center;justify-content:space-between}.first-play-top small,.first-play-card>small{font-size:12px;line-height:1.6}.first-play-card button{min-height:44px}.first-play-card button:disabled{opacity:.5}.first-play-card button:focus-visible{outline:3px solid #718e69;outline-offset:2px}.first-play-board{width:min(100%,260px);aspect-ratio:10/8;display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:6px;box-sizing:border-box;border:2px solid #9aab83;border-radius:12px;background:#e8eddc;justify-self:center}.first-play-board i{background:#fffdf4;border-radius:3px}.first-play-board .filled{background:#d6b891;box-shadow:inset 0 0 0 1px #b79770}.first-play-board .active{background:#efb366;box-shadow:inset 0 0 0 2px #c28846}.first-play-board .ghost{background:#cedac0;box-shadow:inset 0 0 0 1px #8ba578}.first-play-modes,.first-play-finish{display:grid;gap:8px}.first-play-modes{grid-template-columns:repeat(3,1fr)}.first-play-modes button{padding:8px 4px;font-size:12px}.first-play-modes [aria-pressed=true],.first-play-cats [aria-pressed=true]{border-color:#718e69;background:#e6eddc}.first-play-mode-copy{min-height:70px}.first-play-cats{display:flex;gap:8px;overflow:auto;padding:3px}.first-play-cats button{min-width:104px;display:grid;justify-items:center;gap:4px;flex-shrink:0}.first-play-cats .cat-visual{width:52px;height:52px}.first-play-symbol{font-size:48px;text-align:center}.first-play-success{color:#718e69;text-align:center}.first-play-explainer{padding:10px 12px;border:1px solid #ded3be;border-radius:12px;background:#fffdf6}.first-play-explainer strong{font-size:14px}.first-play-explainer p{font-size:13px;margin-top:3px}.first-play-navigation{display:flex;gap:10px;align-items:center;justify-content:space-between;position:sticky;bottom:-20px;background:#fffaf0;padding:10px 0}.first-play-navigation .primary{margin-left:auto;min-width:130px}.first-play-controls{display:grid;grid-template-columns:44px 44px 1fr 1.5fr;gap:5px}.first-play-controls button{padding:4px;font-size:12px}.first-play-status{font-size:12px!important;color:#657f57;min-height:20px}.first-play-navigation>button{width:auto;white-space:nowrap;flex-shrink:0}.first-play-navigation>.primary{flex:1}.first-play-navigation>.quiet-button{min-width:68px}.first-play-example-link{display:block;width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit}.first-play-example-link strong{display:flex;justify-content:space-between;gap:8px}.first-play-example-link strong span{font-size:22px}.first-play-example-link small{display:block;color:#718e69;font-size:11px;margin-top:6px}.first-play-example-link:hover{background:#f0f4e7;border-color:#8da37b}.example-board i{display:grid;place-items:center;font-style:normal;font-size:12px;line-height:1}.example-board .example-box{background:#dab68a;color:#745133;border:1px solid #b28b5d}.example-board .example-ice{background:#c4e3f0;color:#507d9e;border:1px solid #88b8cc}.example-board .example-yarn{background:#ffeed8}.example-board .example-exit{background:#e6eccc;color:#667d3f}.example-board .example-cat{background:#ffebc6}.example-goal{background:#e6eddc;border-radius:10px;padding:10px;font-size:13px;font-weight:700;color:#657f57}.example-companion{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}.example-companion img{width:64px;height:54px;object-fit:contain}#game-page .animated-cheers .classic-cheer-main .cheer-art{animation:none;transform:none}.classic-cheer-main .cheer-bubble{position:absolute;bottom:108%;right:0;box-sizing:border-box;max-width:100%;padding:5px 4px;border-radius:10px;background:#fff8eb;color:#844326;border:1px solid #eda45f;font-size:11px;font-weight:800;line-height:1.3;text-align:center;opacity:0;pointer-events:none;z-index:2}.classic-cheer-main .cheer-sparks{position:absolute;inset:0;pointer-events:none;opacity:0}.classic-cheer-main .cheer-sparks i{position:absolute;left:calc(8% + var(--spark)*15%);top:calc(2% + var(--spark)*7%);color:#f29542;font-size:12px;font-style:normal}#game-page .animated-cheers .classic-cheer-main[data-cheer-state=cheer] .cheer-bubble{animation:orange-bubble 1s both}#game-page .animated-cheers .classic-cheer-main[data-cheer-state=big_cheer] .cheer-bubble{font-size:13px;border:2px solid #f0a043;animation:orange-bubble 1.5s both}#game-page .animated-cheers .classic-cheer-main[data-cheer-state=cheer] .cheer-sparks{animation:orange-sparks .9s both}.classic-cheer-main[data-cheer-state=cheer] .cheer-sparks i:nth-child(n+4){display:none}#game-page .animated-cheers .classic-cheer-main[data-cheer-state=big_cheer] .cheer-sparks{animation:orange-sparks 1.4s both}.classic-cheer-main[data-cheer-state=big_cheer] .cheer-sparks i{font-size:16px}@keyframes orange-bubble{0%{opacity:0;transform:scale(.7)}12%,70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes orange-sparks{0%{opacity:0;transform:translateY(4px)}20%,55%{opacity:1}to{opacity:0;transform:translateY(-12px)}}@media(prefers-reduced-motion:reduce){#game-page .animated-cheers .classic-cheer-main[data-cheer-state] .cheer-art{animation:none!important}#game-page .animated-cheers .classic-cheer-main :is(.cheer-bubble,.cheer-sparks){animation-timing-function:steps(1)!important}}@media(max-width:799px)and (orientation:portrait){#game-page.level-mode:not(.tutorial-mode) .board-window .overlay.has-growth{padding:0}#game-page.level-mode:not(.tutorial-mode) .board-window .overlay.has-growth .modal{width:100%;max-width:none;height:100%;max-height:100%;min-height:0;margin:0;display:flex;flex-direction:column;align-items:stretch;padding:10px 8px;border:0;border-radius:0;box-shadow:none;background:#fffaf2;overflow:hidden}#game-page.level-mode .overlay.has-growth .modal h2{flex:none;margin:0 0 4px;font-size:14px;line-height:1.3}#game-page.level-mode .overlay.has-growth #modal-copy{flex:none;margin:3px 0;font-size:11px;line-height:1.45}#game-page.level-mode .overlay.has-growth .stars{font-size:20px;line-height:1.2}#game-page.level-mode .overlay.has-growth .run-growth{flex:1 1 auto;min-height:0;width:100%;margin:6px 0;padding:6px 0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y}#game-page.level-mode .overlay.has-growth .run-growth-item{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:6px;font-size:10px;line-height:1.4}#game-page.level-mode .overlay.has-growth .run-growth-item>.cat-visual{grid-column:1;grid-row:1 / span 4;width:32px;height:36px}#game-page.level-mode .overlay.has-growth .run-growth-item>:not(.cat-visual){grid-column:2;min-width:0;overflow-wrap:anywhere}#game-page.level-mode .overlay.has-growth .modal>button{flex:none;touch-action:manipulation}#game-page.level-mode .overlay.has-growth .modal>#start{width:100%;min-height:32px;padding:6px;margin:4px 0;font-size:12px}#game-page.level-mode .overlay.has-growth .modal>#result-next,#game-page.level-mode .overlay.has-growth .modal>#result-levels{width:100%;min-height:28px;padding:4px;margin:0;font-size:11px}}#game-page.level-mode .challenge-result .modal{display:flex;flex-direction:column;align-items:stretch;max-height:100%;overflow:hidden}#game-page.level-mode .challenge-result .modal>h2{flex:none}#game-page.level-mode .challenge-result #modal-copy{flex:none;margin:4px 0 8px}#game-page.level-mode .challenge-result .run-growth{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1 1 auto}#game-page.level-mode .challenge-result .modal>button{flex:none}.result-stars{display:flex;justify-content:center;align-items:center;gap:6px;margin:3px auto 5px;font-size:34px;line-height:1.3}.result-star{position:relative;display:inline-grid;place-items:center;width:1.15em;height:1.3em}.result-star:nth-child(2){margin-top:-5px}.result-star>span{grid-area:1/1}.star-outline{color:#e8dfcd;text-shadow:0 1px 0 #b6a78c}.star-gold{color:#e7b44d;text-shadow:0 2px 0 #b88437,0 0 12px #efcc6b66;transform-origin:center 65%;animation:result-star-pop .6s cubic-bezier(.2,.8,.3,1.2) both;animation-delay:calc(.18s + var(--star-index)*.3s)}.result-star.is-earned:after{content:"\2726";position:absolute;right:-2px;top:-3px;color:#e8bb52;font-size:.36em;animation:result-star-spark .65s ease-out both;animation-delay:calc(.43s + var(--star-index)*.3s)}.result-points,.result-score-note,.result-ending{display:block;text-align:center}.result-points{font-size:13px;font-variant-numeric:tabular-nums;color:#74644c}.result-points b{color:#a3732b}.result-score-note{font-size:10px;line-height:1.5;margin-top:2px;color:#97856a}.result-ending{font-size:10px;line-height:1.4;margin-top:3px}.growth-goal{margin:8px 0}.growth-goal-heading{display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap;font-size:11px;line-height:1.5}.growth-goal-heading>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;color:#71825d}.growth-track{display:block;position:relative;overflow:hidden;height:9px;background:#ede7d7;border:1px solid #dcd2bb;border-radius:20px;box-shadow:inset 0 1px 2px #92847116;margin-top:4px}.growth-track i{display:block;width:100%;height:100%;border-radius:inherit;transform-origin:left;background:linear-gradient(90deg,#9bb08a,#c6d5a4);box-shadow:inset 0 1px #fff6;will-change:transform}.growth-goal small{display:block;margin:3px 0 0;font-size:9px;line-height:1.4;color:#958368}.growth-goal .growth-done{color:#7b9367}.challenge-task-card{padding:7px 0;text-align:left}.challenge-task-title{display:block;margin-bottom:9px;font-size:12px;line-height:1.4;color:#71825d}.challenge-task-card .growth-goal{margin:9px 0}.challenge-task-message{margin:9px 0 2px!important;color:#8a9873;font-size:10px!important;line-height:1.5!important;text-align:center}.task-check{color:#7c986a}.challenge-cat-note{display:flex;align-items:center;gap:6px;margin:7px 0;padding-top:6px;border-top:1px dashed #dfd7c5;text-align:left;font-size:10px;line-height:1.5;color:#8b7b62}.challenge-cat-note .cat-visual{width:27px;height:29px;flex:none}.challenge-cat-note .quiet-button{display:block;padding:3px 0;margin:0;font-size:inherit;text-align:left;color:#71825d}.result-star-rules{text-align:left;margin:6px 0;font-size:11px;line-height:1.6;color:#8b7b62}.result-star-rules summary{cursor:pointer;padding:5px 0;color:#7d8b65}.result-star-rules p{margin:4px 0!important;font-size:inherit!important;line-height:1.6!important}.challenge-loadout .result-star-rules{margin-top:8px;font-size:12px}#game-page.level-mode .challenge-win .modal>button.primary{width:100%;background:#91a88a;color:#fffdf4;border:1px solid #7f9675;border-radius:12px;box-shadow:0 3px #718668;font-weight:700;animation:result-next-arrive .5s ease-out both;animation-delay:1.05s;transition:filter .15s,box-shadow .15s}#game-page.level-mode .challenge-win .modal>button.primary:hover{filter:brightness(1.06)}#game-page.level-mode .challenge-win .modal>button.primary:active{box-shadow:0 1px #718668}#game-page.level-mode .challenge-win .modal>#start{background:transparent;color:#8b7b65;border:1px solid #dcd3c0;box-shadow:none;border-radius:10px;font-weight:400}#game-page.level-mode .challenge-result button:focus-visible{outline:2px solid #c99f51;outline-offset:2px}@keyframes result-star-pop{0%{opacity:0;transform:translateY(13px) rotate(-18deg) scale(.15)}48%{opacity:1;transform:translateY(-5px) rotate(8deg) scale(1.28)}72%{transform:translateY(2px) rotate(-4deg) scale(.93)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes result-star-spark{0%{opacity:0;transform:scale(.3)}35%{opacity:1;transform:translate(2px,-4px) scale(1.25)}to{opacity:0;transform:translate(5px,-8px) scale(.6)}}@keyframes result-next-arrive{0%{transform:translateY(5px) scale(.97)}55%{transform:translateY(-1px) scale(1.02)}to{transform:none}}@media(max-width:799px)and (orientation:portrait){#game-page.level-mode .challenge-result .result-stars{font-size:26px;gap:3px;margin:1px auto 3px}#game-page.level-mode .challenge-result #modal-copy{margin:2px 0 3px}#game-page.level-mode .challenge-result .result-points{font-size:11px}#game-page.level-mode .challenge-result .result-score-note{font-size:9px}#game-page.level-mode .challenge-result .run-growth{margin:4px 0;padding:4px 0}#game-page.level-mode .challenge-result .growth-goal-heading{font-size:9px}#game-page.level-mode .challenge-result .growth-goal{margin:6px 0}#game-page.level-mode .challenge-result .challenge-task-title{font-size:10px;margin-bottom:7px}#game-page.level-mode .challenge-result .challenge-task-message,#game-page.level-mode .challenge-result .challenge-cat-note{font-size:9px!important}#game-page.level-mode .challenge-result .result-star-rules{font-size:9px;margin:3px 0}#game-page.level-mode .challenge-win .modal>button.primary{min-height:36px!important;padding:7px 4px!important;font-size:12px!important;margin:3px 0 5px!important}#game-page.level-mode .challenge-win .modal>#start{min-height:28px;padding:4px;margin:3px 0;font-size:11px}}@media(prefers-reduced-motion:reduce){.star-gold,.result-star.is-earned:after,#game-page.level-mode .challenge-win .modal>button.primary{animation:none!important}.result-star.is-earned:after{display:none}}#game-page:not(.level-mode) .classic-result{padding:0}#game-page:not(.level-mode) .classic-result .modal{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:none;height:100%;max-height:100%;min-height:0;margin:0;padding:16px;border:0;border-radius:10px;box-shadow:none;background:#fffaf2;overflow:hidden}#game-page:not(.level-mode) .classic-result .modal h2{flex:none;margin:0 0 4px;font-size:17px;line-height:1.4}#game-page:not(.level-mode) .classic-result #modal-copy{flex:none;margin:3px 0 6px;line-height:1.5}#game-page:not(.level-mode) .classic-result .result-record{font-size:11px;margin:1px 0}#game-page:not(.level-mode) .classic-result .run-growth{flex:1 1 auto;min-height:0;overflow:auto;overflow-x:hidden;margin:6px 0;padding:6px 0;overscroll-behavior:contain;touch-action:pan-y}.classic-star-goal{padding:0 0 5px;border-bottom:1px dashed #dfd7c5}.classic-growth-card{padding:6px 0;text-align:left}.classic-growth-heading{display:flex;align-items:center;gap:6px;margin:3px 0 6px}.classic-growth-heading .cat-visual{width:30px;height:33px;flex:none}.classic-growth-heading strong{font-size:11px;line-height:1.5;color:#71825d}.classic-room-link{font-size:10px!important;width:100%;padding:5px 1px!important}.classic-collection-done{font-size:11px;line-height:1.6}.classic-run-details{margin:6px 0;text-align:left;font-size:11px;line-height:1.6;color:#8b7b62}.classic-run-details summary{cursor:pointer;padding:5px 0;color:#7d8b65}.classic-run-details .classic-results{font-size:11px;line-height:1.7;margin:6px 0}.classic-run-details>small{font-size:10px;line-height:1.6;display:block}#game-page:not(.level-mode) .classic-result .modal>#start{flex:none;width:100%;min-height:40px;padding:9px 6px;margin:6px 0 2px;animation:result-next-arrive .5s ease-out 1.05s both}@media(max-width:799px)and (orientation:portrait){#game-page:not(.level-mode):not(.tutorial-mode) .board-window .overlay.classic-result{height:100%;aspect-ratio:auto;padding:0}#game-page:not(.level-mode):not(.tutorial-mode) .board-window .classic-result .modal{border-radius:0;padding:10px 8px}#game-page:not(.level-mode) .classic-result .modal h2{font-size:14px}#game-page:not(.level-mode) .classic-result .result-stars{font-size:26px;gap:3px;margin:1px auto 3px}#game-page:not(.level-mode) .classic-result .result-points{font-size:12px}#game-page:not(.level-mode) .classic-result .result-score-note{font-size:9px}#game-page:not(.level-mode) .classic-result #modal-copy{margin:2px 0 3px}#game-page:not(.level-mode) .classic-result .run-growth{margin:4px 0;padding:4px 0}#game-page:not(.level-mode) .classic-result .growth-goal{margin:6px 0}#game-page:not(.level-mode) .classic-result .growth-goal-heading{font-size:9px}#game-page:not(.level-mode) .classic-result .classic-growth-heading strong{font-size:10px}#game-page:not(.level-mode) .classic-result :is(.result-star-rules,.classic-run-details){font-size:9px;margin:3px 0}#game-page:not(.level-mode) .classic-result .modal>#start{min-height:36px;font-size:12px;padding:7px 4px}}@media(prefers-reduced-motion:reduce){#game-page:not(.level-mode) .classic-result .modal>#start{animation:none!important}}.companion-card{position:absolute;z-index:7;box-sizing:border-box;border:1px solid #bbaa8d;border-radius:15px 17px 14px 16px;background:#fffaf0;box-shadow:0 3px #cabb9e55,inset 0 0 0 3px #fffdf7;color:#6d644f;text-align:center;overflow:visible}.companion-card[hidden]{display:none!important}.companion-card[data-layout=desktop]{position:relative;max-width:200px;margin:0 auto 16px}@media(min-width:800px){.cats-panel[data-skill-dock=true]{display:flex;flex-direction:column;min-height:0;max-height:var(--companion-board-height)}.cats-panel[data-skill-dock=true]>.companion-card,.cats-panel[data-skill-dock=true]>.eyebrow,.cats-panel[data-skill-dock=true]>h2,.cats-panel[data-skill-dock=true]>.cozy-note{flex:none}.cats-panel[data-skill-dock=true]>#cat-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}.companion-card-action{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;margin:0;padding:9px 5px 6px;border:0;border-radius:inherit;background:transparent;color:inherit;touch-action:manipulation;cursor:default}.companion-card-action:disabled{opacity:1;color:inherit}.companion-card-portrait.cat-visual{display:block;width:44px;height:45px;max-width:none;padding:0;flex:none}.companion-card-name{font-size:11px;line-height:1.3;font-weight:700}.companion-card-label{display:block;box-sizing:border-box;width:100%;padding:6px 2px;border-radius:9px;background:#edf0e4;color:#7d8a6b;font-size:10px;font-weight:700;line-height:1.3;white-space:nowrap}.companion-card-caption{font-size:8px;line-height:1.4;font-weight:400}.companion-card-charge{display:block;width:100%;height:6px;accent-color:#96ad84;border:0;overflow:hidden;border-radius:10px;background:#e9e4d5}.companion-card-charge-label{font-size:8px;line-height:1.1;color:#7d8a6b;font-variant-numeric:tabular-nums}.companion-card-charge::-webkit-progress-bar{background:#e9e4d5;border-radius:10px}.companion-card-charge::-webkit-progress-value{background:#9bb28b;border-radius:10px;transition:width .2s ease-out}.companion-card-charge::-moz-progress-bar{background:#9bb28b;border-radius:10px}.companion-card-help{display:block;width:100%;min-height:26px;padding:3px 1px 5px;margin:0;border:0;border-top:1px dashed #e2dac8;background:transparent;color:#9b8c73;font-size:8px;line-height:1.4;border-radius:0 0 14px 14px;touch-action:manipulation}.companion-card[data-state=ready] .companion-card-action{cursor:pointer}.companion-card[data-state=ready] .companion-card-label{background:#8fa783;color:#fffdf4;box-shadow:0 2px #748c6b}.companion-card[data-state=ready][data-motion=true]{animation:companion-card-glow 2.8s ease-in-out infinite}.companion-card[data-state=ready][data-motion=true] .companion-card-portrait{animation:companion-card-nod .65s ease-out .4s 2}.companion-card-action[data-pressed=true] .companion-card-label{transform:translateY(2px);box-shadow:none}.companion-card[data-state=charged]{border-color:#a8b68c}.companion-card:is([data-state=used],[data-state=ended],[data-state=paused]) .companion-card-label{background:#eee9dc;color:#a2967f;box-shadow:none}.companion-card[data-state=choosing] .companion-card-label{background:#f0e2ba;color:#9b7b39}.companion-card button:focus-visible{outline:2px solid #c1a35c;outline-offset:2px}.companion-card-popover{position:fixed;z-index:30;box-sizing:border-box;padding:10px 12px;border:1px solid #cabb9f;border-radius:13px;background:#fffaf0;box-shadow:0 4px 15px #7b6a4520;text-align:left;font-size:12px;line-height:1.6;color:#7b6a50}.companion-card-feedback{pointer-events:none;font-weight:700;color:#71875e!important}.companion-card-note[data-help-open=true]{display:none!important}.companion-card-choices>strong{display:block;margin-bottom:6px;font-size:12px}.sound-preview{margin:16px 0;padding:16px;border:1px solid #d0c3a8;border-radius:16px;background:#fffaf0}.sound-preview p{font-size:13px;line-height:1.6}.sound-preview-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sound-preview-buttons button{min-height:42px;padding:8px 4px}.sound-preview-rules{padding-left:18px;font-size:12px;line-height:1.7}.companion-choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.companion-piece-choice{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:62px;padding:5px 2px;border:1px solid #d0c3a8;border-radius:9px;background:#f5f2e6;touch-action:manipulation}.companion-piece-choice canvas{display:block;width:100%;height:38px;object-fit:contain;pointer-events:none}.companion-piece-choice span{font-size:9px;line-height:1.3}.companion-piece-choice:active{background:#e6eddb}@keyframes companion-card-glow{0%,to{box-shadow:0 3px #cabb9e55,0 0 0 2px #e9d19425}50%{box-shadow:0 3px #cabb9e55,0 0 0 3px #e9d19460,0 0 14px #e9d19435}}@keyframes companion-card-nod{0%,to{transform:translateY(0)}45%{transform:translateY(-4px) rotate(-3deg)}75%{transform:translateY(1px) rotate(2deg)}}@media(max-width:359px){.companion-card-action{padding:7px 4px 5px;gap:3px}.companion-card-name{font-size:10px}.companion-card-portrait.cat-visual{width:38px;height:40px}.companion-card-caption{font-size:7px}}.companion-card[data-layout=mobile]{border-radius:11px 12px 10px 11px}.companion-card[data-layout=mobile] .companion-card-action{min-height:44px;padding:5px 3px 6px;gap:3px}.companion-card[data-layout=mobile] .companion-card-portrait.cat-visual{width:27px;height:28px}.companion-card[data-layout=mobile] .companion-card-name{font-size:9px;line-height:1.25}.companion-card[data-layout=mobile] .companion-card-label{padding:4px 1px;font-size:9px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;border-radius:6px}.companion-card[data-layout=mobile] .companion-card-caption{display:none}.companion-card[data-layout=mobile] .companion-card-charge{height:4px}.companion-card[data-layout=mobile] .companion-card-help{min-height:26px;padding:4px 1px;font-size:8px;border-radius:0 0 10px 10px}@media(prefers-reduced-motion:reduce){.companion-card,.companion-card-portrait{animation:none!important}.companion-card progress{transition:none!important}}.score-wordfx{position:fixed;z-index:22;pointer-events:none;transform:translate(-50%,-50%);isolation:isolate}.score-wordfx[hidden]{display:none!important}.score-wordfx-motion{position:relative;width:100%;aspect-ratio:3/1;will-change:transform,opacity}.score-wordfx-image{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 5px #6c4e3826)}.score-wordfx-fallback{display:grid;place-items:center;position:absolute;inset:0;font-size:clamp(22px,7vw,40px);font-weight:900;color:#d88d39;text-align:center;white-space:nowrap;text-shadow:2px 2px #fff8e7,-2px -2px #fff8e7,0 3px 2px #815e3d55}.score-wordfx :is(img,span)[hidden]{display:none!important}.handheld-top,.handheld-grille,.handheld-skill-dock,.handheld-ears,.handheld-skin,.handheld-skin-art{display:none}.handheld-display,.handheld-center{display:contents}body:has(#game-page.handheld-mode:not([hidden])){background:#f8f5ec;height:100svh;overflow:hidden}#game-page.handheld-mode.app{--handheld-rows:24;--device-radius:34px;position:relative;isolation:isolate;box-sizing:border-box;display:grid;width:calc(100% - 12px);max-width:480px;min-width:0;min-height:0;height:calc(100svh - max(31px,env(safe-area-inset-top)) - max(13px,env(safe-area-inset-bottom)));margin:max(31px,env(safe-area-inset-top)) auto max(13px,env(safe-area-inset-bottom));padding:7px 10px 10px;grid-template-columns:minmax(0,1fr);grid-template-rows:40px minmax(0,1fr) 112px;gap:7px;border:1px solid transparent;border-radius:var(--device-radius);overflow:visible;background:transparent;box-shadow:none}#game-page.handheld-mode:before{content:"";position:absolute;inset:0;border:1px solid #b59d80;border-radius:var(--device-radius);pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 20% 0,#fffef8e6,transparent 55%),linear-gradient(105deg,#f8e9cb,#fff5df 19%,#f4e6cd 73%,#dac5a9);box-shadow:inset 2px 3px 2px #fffef4,inset -3px -5px 6px #bea0806b,inset 0 0 0 5px #fff7e359,0 5px #d3b899,0 8px #ac947b,0 11px 13px #7b624b3d}#game-page.handheld-mode:after{content:"";position:absolute;inset:5px 5px 7px;border:1px solid #fffdf3b3;border-bottom-color:#c3a98a75;border-right-color:#c3a98a55;border-radius:calc(var(--device-radius) - 5px);pointer-events:none;z-index:-1;box-shadow:inset 1px 1px 2px #fff6}#game-page.handheld-mode .handheld-ears{display:block;position:absolute;inset:0;z-index:-2;pointer-events:none}.handheld-ear{position:absolute;top:-29px;width:73px;height:66px;filter:drop-shadow(0 2px 1px #91775d40)}.handheld-ear-left{left:17px}.handheld-ear-right{right:17px;transform:scaleX(-1)}.handheld-ear svg{display:block;width:100%;height:100%}#game-page.handheld-mode .handheld-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;min-width:0;padding:0 6px}.handheld-speaker{width:34px;height:5px;margin-left:12px;border:1px solid #b9a78b;border-radius:8px;background:linear-gradient(#816a51,#c6a987);box-shadow:inset 0 1px 2px #6e573b88,0 1px 1px #fffdf2}.handheld-paw{position:relative;display:block;width:29px;height:27px;color:#e8ad85}.handheld-paw i,.handheld-paw b{position:absolute;display:block;background:linear-gradient(135deg,#f0c4aa,#d79e84);box-shadow:inset 0 1px 1px #fff0de,inset 0 -1px 2px #bb826b80,0 1px 1px #a28c6c55;border-radius:50%}.handheld-paw i{width:7px;height:9px;top:2px;left:3px;transform:rotate(-25deg)}.handheld-paw i:nth-child(2){top:0;left:12px;transform:none}.handheld-paw i:nth-child(3){top:5px;left:21px;transform:rotate(30deg)}.handheld-paw i:nth-child(4){width:5px;height:7px;top:12px;left:0;transform:rotate(-35deg)}.handheld-paw b{width:18px;height:14px;bottom:0;left:7px;border-radius:55% 55% 45% 45%;transform:rotate(8deg)}#game-page.handheld-mode .handheld-top .game-header-actions{grid-column:3;justify-self:end;display:flex;gap:6px}#game-page.handheld-mode .handheld-top .game-header-actions .icon-btn{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:1px solid #839070;border-radius:50%;background:radial-gradient(ellipse at 30% 15%,#fffdf0aa,transparent 55%),linear-gradient(140deg,#e7edda,#b3c4a5);box-shadow:inset 1px 2px 2px #ffffed,inset -1px -2px 2px #76886d55,0 3px #889879,0 4px 4px #705e4540;color:#52664c;font-size:15px;text-shadow:0 1px #eff4df}#game-page.handheld-mode .handheld-display{display:grid;position:relative;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:38px minmax(0,1fr);gap:5px;padding:8px 7px 5px;border:8px solid #d2ad99;border-top-color:#ebceba;border-left-color:#dfbca7;border-right-color:#b88f80;border-bottom-color:#b18778;border-radius:24px;overflow:hidden;isolation:isolate;box-shadow:0 0 0 1px #9c806b,0 0 0 4px #efdec7,inset 0 0 0 2px #655e4c,0 4px 5px #9475563d,0 6px #fff8e5;background-color:#fff3b4;background-image:linear-gradient(#faf6ec24,#faf6ec24),url(/assets/optimized/v1/ui/main/main-bg-5fab61a3c9f0.webp);background-size:cover;background-position:center;background-repeat:no-repeat}#game-page.handheld-mode .handheld-display>header{display:flex;width:100%;height:38px;min-height:0;margin:0;padding:0 3px}#game-page.handheld-mode .brand{flex:none;width:132px;min-width:0;max-width:100%;height:36px;padding:0;background:transparent url(/assets/optimized/v1/ui/main/logo_main-a192047c1f2b.webp) left center / contain no-repeat}#game-page.handheld-mode .brand>*{opacity:0;pointer-events:none}#game-page.handheld-mode .game-layout{display:grid;position:relative;width:100%;height:100%;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:54px minmax(0,1fr);gap:5px;align-items:stretch;justify-items:stretch}#game-page.handheld-mode .side{display:flex;width:100%;height:54px;min-height:0;padding:0;gap:6px}#game-page.handheld-mode :is(.score-card,.next-card){flex:1 1 0;position:relative;width:0;height:54px;min-width:0;padding:0;margin:0;border:0!important;border-radius:0!important;box-shadow:none;background:transparent center / 100% 100% no-repeat!important}#game-page.handheld-mode .score-card{background-image:url(/assets/optimized/v1/ui/main/panel_score-d7c2ee6ce73f.webp)!important}#game-page.handheld-mode .next-card{background-image:url(/assets/optimized/v1/ui/main/panel_next-b09fb5f7e693.webp)!important}#game-page.handheld-mode #score-label{position:absolute;left:16%;right:10%;top:18%;font-size:9px;line-height:11px;letter-spacing:0}#game-page.handheld-mode .score-card #score{position:absolute;left:17%;top:36%;font-size:22px;line-height:22px}#game-page.handheld-mode .stats{position:absolute;inset:auto 10% 10%;display:flex;margin:0;padding:0;border:0;font-size:7px;line-height:8px}#game-page.handheld-mode .stats strong{font-size:9px;margin:0 2px}#game-page.handheld-mode .next-card .eyebrow{position:absolute;left:12%;top:31%;width:49%;font-size:9px;line-height:12px;letter-spacing:0}#game-page.handheld-mode #next-name{position:absolute;left:10%;top:57%;width:48%;text-align:center;font-size:9px;line-height:11px}#game-page.handheld-mode .next-card canvas{position:absolute;left:61%;top:27%;right:auto;width:30%;height:43%}#game-page.handheld-mode.level-mode #score-label{top:16%;font-size:8px;line-height:10px}#game-page.handheld-mode.level-mode .score-card :is(#score,.stats){display:none}#game-page.handheld-mode #goal-progress{position:absolute;inset:48% 10% auto;font-size:8px;line-height:10px}#game-page.handheld-mode.multi-goal-hud #goal-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3px;row-gap:0}#game-page.handheld-mode .desktop-note,#game-page.handheld-mode .cats-panel,#game-page.handheld-mode footer{display:none}#game-page.handheld-mode #partners-dialog .cats-panel{display:block}#game-page.handheld-mode .board-wrap{--board-size:min( calc(100cqw - 148px) ,calc((100cqh - 25px) * 10 / var(--handheld-rows)));position:relative;container-type:size;display:block;width:100%;height:100%;min-width:0;min-height:0}#game-page.handheld-mode .board-wrap .board-label{display:flex;position:absolute;left:0;right:0;top:0;width:auto;max-width:none;height:18px;min-height:0;margin:0;padding:0 4px;font-size:8px;line-height:12px;letter-spacing:0}#game-page.handheld-mode .board-help{display:none}#game-page.handheld-mode .board-wrap .board-shell{position:absolute;left:50%;top:auto;bottom:5px;transform:translate(-50%);width:var(--board-size);height:auto;aspect-ratio:10 / var(--handheld-rows);padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}#game-page.handheld-mode .board-shell:before,#game-page.handheld-mode .board-shell:after{content:none;display:none}#game-page.handheld-mode .board-shell .board-window{position:relative;inset:auto;display:block;width:100%;height:100%;overflow:visible;background:transparent}#game-page.handheld-mode .board-window:before,#game-page.handheld-mode .board-window:after{content:none;display:none}#game-page.handheld-mode .board-window:before{content:"";display:block;position:absolute;inset:-1px;z-index:0;pointer-events:none;--glass-rise:max(0px,min(56px,10cqh, calc(100cqh - 100% - 38px) ));top:calc(-1px - var(--glass-rise));border:1px solid rgba(255,255,255,.76);border-right-color:#90a4977a;border-bottom-color:#83998b94;border-radius:8px;background:linear-gradient(135deg,#ffffff3b,#fafdf612 45%,#ffffff21);-webkit-backdrop-filter:blur(1.2px);backdrop-filter:blur(1.2px);box-shadow:inset 0 0 0 1px #ffffff2e,0 0 0 1px #80968645,0 3px 8px #515f5014}#game-page.handheld-mode .board-window>canvas#board{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;translate:none;transform:none;border:0;border-radius:0;box-shadow:none;background:transparent;touch-action:none}#game-page.handheld-mode #board:focus{outline:none}#game-page.handheld-mode .board-window .overlay{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;translate:none;border:0;border-radius:0;padding:3px;background:#faf7ed22}#game-page.handheld-mode .overlay .modal{width:100%;max-width:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;border:1px solid #cbb99e;border-radius:12px;background:#fffaf2f5;box-shadow:0 3px 10px #79694f20;padding:9px}#game-page.handheld-mode .overlay.has-growth .modal{max-width:100%;max-height:100%;height:100%;border-radius:10px}#game-page.handheld-mode .board-window #toast{inset:0;width:100%;max-width:100%;height:100%;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;font-size:16px}#game-page.handheld-mode .board-wrap .cheerleaders{position:absolute;inset:0;width:100%;height:100%;z-index:4}#game-page.handheld-mode .controls{display:grid;grid-template-columns:clamp(62px,17vw,78px) minmax(60px,1fr) auto;align-items:center;gap:8px;width:100%;height:112px;min-height:0;margin:0;padding:0}#game-page.handheld-mode .controls .rotate-key{width:clamp(62px,17vw,78px);height:clamp(62px,17vw,78px);min-width:0;min-height:0;border:1px solid #7c9173;border-radius:50%;background:radial-gradient(ellipse at 33% 18%,#f3f6e7ad,transparent 62%),linear-gradient(135deg,#d3e0c5,#98b08e);box-shadow:inset 2px 3px 3px #f5f6e0,inset -2px -3px 3px #768e6b66,0 5px #849776,0 7px 5px #77654a42,0 0 0 5px #d9c9ac7a;text-shadow:0 1px #e5efd8}#game-page.handheld-mode .controls .rotate-key b{font-size:38px}#game-page.handheld-mode .controls .rotate-key span{font-size:11px;letter-spacing:0}#game-page.handheld-mode .controls .handheld-center{display:grid;grid-template-rows:26px 34px;gap:9px;justify-self:center;width:100%;max-width:80px;min-width:0}#game-page.handheld-mode .handheld-grille{display:block;justify-self:center;width:40px;height:24px;background:radial-gradient(circle at 4px 3px,#725d45 1.2px,#b9a180 1.7px,#fff4dc 2.4px,transparent 2.8px) 0 0 / 8px 8px}#game-page.handheld-mode .controls #partners-open{display:block;width:100%;height:34px;min-height:34px;min-width:44px;padding:0;border:1px solid #839674;border-radius:20px;background:linear-gradient(135deg,#e9eedb,#b1c3a1);box-shadow:inset 1px 2px 2px #fffde9,inset -1px -2px 2px #7f946e55,0 3px #8d9f7d,0 5px 4px #79654d3b;font-size:11px}#game-page.handheld-mode .handheld-skill-dock{display:block;position:absolute;z-index:7;width:64px;min-height:0}#game-page.handheld-mode .controls .dpad{--key:clamp(44px,11.8vw,52px);display:grid;grid-template-columns:repeat(3,var(--key));grid-template-rows:54px;gap:4px;align-items:center}#game-page.handheld-mode .dpad button{width:var(--key);height:var(--key);min-width:44px;min-height:44px;border:1px solid #7f9474;border-radius:12px;background:radial-gradient(ellipse at 25% 12%,#f1f5e4b3,transparent 60%),linear-gradient(135deg,#d4e0c5,#a0b594);box-shadow:inset 1px 2px 2px #f0f2db,inset -2px -2px 2px #768b6859,0 4px #879a79,0 6px 4px #77654a38;text-shadow:0 1px #eaf0dc}#game-page.handheld-mode .dpad [data-action=left]{grid-area:1/1}#game-page.handheld-mode .dpad [data-action=down]{grid-area:1/2;height:calc(var(--key) + 5px)}#game-page.handheld-mode .dpad [data-action=right]{grid-area:1/3}#game-page.handheld-mode .dpad b{font-size:25px}#game-page.handheld-mode .dpad span{font-size:8px}#game-page.handheld-mode .controls button:after{content:none;display:none}#game-page.handheld-mode .controls button.is-pressed,#game-page.handheld-mode .controls button:active{transform:translateY(3px);filter:brightness(.98);box-shadow:inset 1px 2px 3px #eaf0d5,0 1px #879a79,0 2px 2px #77654a30}#game-page.handheld-mode .companion-card[data-layout=handheld]{position:relative;left:auto;top:auto;width:100%;height:auto;max-width:none;margin:0;border:1px solid #b9a88e;border-radius:15px;background:linear-gradient(135deg,#fffdf2,#f5ead5);box-shadow:inset 1px 2px 2px #fffef8,inset -1px -2px 2px #dec8a67a,0 3px #cab695,0 5px 7px #79694f2b;animation:none}#game-page.handheld-mode .controls .companion-card-action{display:grid;grid-template-columns:16px minmax(0,1fr);grid-template-rows:1fr auto auto;gap:1px 2px;width:100%;height:52px;min-width:0;min-height:44px;padding:4px 14px 4px 4px;border:0;border-radius:inherit;background:transparent;box-shadow:none;transform:none}#game-page.handheld-mode .companion-card-portrait.cat-visual{width:35px;height:36px}#game-page.handheld-mode .companion-card-name{display:block;font-size:9px;line-height:11px}#game-page.handheld-mode .companion-card-caption{display:none}#game-page.handheld-mode .controls .companion-card-label{grid-column:2;grid-row:1;align-self:center;width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none;white-space:normal;overflow-wrap:anywhere;color:#715b43;font-size:9px;line-height:1.1}#game-page.handheld-mode .companion-card-charge{width:100%;height:4px}#game-page.handheld-mode .companion-card-charge-label{font-size:8px;line-height:9px}#game-page.handheld-mode .controls .companion-card-help{position:absolute;right:0;top:2px;width:17px;height:24px;min-width:17px;min-height:24px;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;font-size:10px}#game-page.handheld-mode .companion-card[data-layout=handheld] .companion-card-action{min-height:88px;padding:7px 4px 6px;gap:3px;cursor:default}#game-page.handheld-mode .companion-card[data-layout=handheld] .companion-card-label{padding:5px 1px;font-size:10px;line-height:12px;white-space:normal;overflow-wrap:anywhere}#game-page.handheld-mode .companion-card[data-layout=handheld] .companion-card-help{position:absolute;top:0;right:0;width:20px;min-height:26px;padding:3px 0 5px;border:0;border-radius:0 14px 0 9px;font-size:11px}#game-page.handheld-mode .companion-card[data-state=ready]{border-color:#7f9474;background:linear-gradient(135deg,#fffdf1,#e7eed8)}#game-page.handheld-mode .companion-card[data-state=ready] .companion-card-action{cursor:pointer}#game-page.handheld-mode .controls .companion-card-action:focus-visible{outline-offset:1px}#game-page.handheld-mode #partners-dialog[open]{display:block;position:fixed;inset:0;margin:auto;width:min(360px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:18px;border:1px solid #d6d5bd;border-radius:22px;background:#fffbed;color:#4b5148;box-shadow:0 12px 48px #39452d40;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}#game-page.handheld-mode #partners-dialog::backdrop{background:#353c3566}#game-page.handheld-mode #partners-dialog .cats-panel{padding:0}#game-page.handheld-mode #partners-dialog #partners-title{display:block;padding-right:64px;line-height:24px}#game-page.handheld-mode #partners-dialog h2{font-size:17px;margin:6px 0 12px}#game-page.handheld-mode #partners-close{position:absolute;right:10px;top:8px;min-width:56px;min-height:44px;border:0;border-radius:12px;background:transparent;font-size:12px;touch-action:manipulation}@media(max-height:650px){#game-page.handheld-mode.app{grid-template-rows:34px minmax(0,1fr) 102px;gap:5px;padding:5px 8px 7px;--device-radius:29px}#game-page.handheld-mode .handheld-display{grid-template-rows:30px minmax(0,1fr);gap:2px;padding:5px 5px 3px;border-width:6px;border-radius:19px}#game-page.handheld-mode .handheld-display>header{height:30px}#game-page.handheld-mode .brand{width:112px;height:30px}#game-page.handheld-mode .game-layout{grid-template-rows:48px minmax(0,1fr);gap:3px}#game-page.handheld-mode .side,#game-page.handheld-mode :is(.score-card,.next-card){height:48px}#game-page.handheld-mode .controls{height:102px;gap:5px}#game-page.handheld-mode .companion-card-portrait.cat-visual{width:24px;height:24px}#game-page.handheld-mode .companion-card[data-layout=handheld] .companion-card-action{min-height:80px;gap:1px;padding-top:5px;padding-bottom:5px}#game-page.handheld-mode .companion-card-name{font-size:9px;line-height:10px}#game-page.handheld-mode .companion-card-charge{height:3px}#game-page.handheld-mode .companion-card-charge-label{font-size:7px;line-height:8px}#game-page.handheld-mode .companion-card[data-layout=handheld] .companion-card-label{padding:3px 1px;font-size:9px;line-height:11px}}body:has(#game-page.handheld-skin-dessert:not([hidden])){background:#faf4df url(/assets/ui/handheld/star-v5/background-20261104.webp) center / cover no-repeat}#game-page.handheld-mode.handheld-skin-dessert.app{--skin-height: calc(100svh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom))) ;--skin-width:min( calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right)) ,480px,calc(var(--skin-height) * 869 / 1100));--skin-unit:calc(var(--skin-width) / 869);--skin-cap:calc(var(--skin-width) * 488 / 1179);--skin-middle:calc(var(--skin-height) - 2 * var(--skin-cap));display:block;width:var(--skin-width);max-width:none;height:var(--skin-height);min-height:0;margin:max(8px,env(safe-area-inset-top)) auto 0;padding:0;border:0;border-radius:0}#game-page.handheld-skin-dessert:before,#game-page.handheld-skin-dessert:after{content:none;display:none}#game-page.handheld-skin-dessert .handheld-ears,#game-page.handheld-skin-dessert :is(.handheld-speaker,.handheld-paw,.handheld-grille){display:none}#game-page.handheld-skin-dessert .handheld-skin-art{display:block;position:absolute;inset:0;z-index:5;pointer-events:none;user-select:none}#game-page.handheld-skin-dessert .handheld-skin-part{position:absolute;left:0;width:100%;overflow:hidden;pointer-events:none}#game-page.handheld-skin-dessert .handheld-skin-part img{display:block;position:absolute;left:0;width:100%;max-width:none;pointer-events:none;user-select:none;object-fit:fill}#game-page.handheld-skin-dessert .handheld-skin-top{top:0;height:var(--skin-cap)}#game-page.handheld-skin-dessert .handheld-skin-top img{top:0;height:calc(var(--skin-width) * 2508 / 1179)}#game-page.handheld-skin-dessert .handheld-skin-bottom{bottom:0;height:var(--skin-cap)}#game-page.handheld-skin-dessert .handheld-skin-bottom img{bottom:0;height:calc(var(--skin-width) * 2508 / 1179)}#game-page.handheld-skin-dessert .handheld-skin-middle{top:var(--skin-cap);height:var(--skin-middle)}#game-page.handheld-skin-dessert .handheld-skin-middle img{top:calc(var(--skin-middle) * -488 / 1532);height:calc(var(--skin-middle) * 2508 / 1532)}#game-page.handheld-skin-dessert .handheld-display{position:absolute;left:calc(96 * var(--skin-unit));top:calc(239 * var(--skin-unit));width:calc(677 * var(--skin-unit));height:calc(var(--skin-height) - 579 * var(--skin-unit));border:0;border-radius:12px;box-shadow:none;padding:5px 5px 3px;grid-template-rows:34px minmax(0,1fr);gap:3px}#game-page.handheld-skin-dessert .handheld-display>header{height:34px}#game-page.handheld-skin-dessert .brand{height:32px;width:124px}#game-page.handheld-skin-dessert .board-wrap{--board-size:min( calc(100cqw - 118px) ,calc((100cqh - 25px) * 10 / var(--handheld-rows)))}#game-page.handheld-skin-dessert .handheld-top{position:absolute;left:0;top:calc(143 * var(--skin-unit));width:100%;height:calc(77 * var(--skin-unit));display:block;padding:0;pointer-events:none;z-index:7}#game-page.handheld-skin-dessert .handheld-top .game-header-actions{display:block;position:absolute;inset:0;width:100%;height:100%;margin:0;justify-self:stretch;pointer-events:none}#game-page.handheld-skin-dessert .handheld-top .game-header-actions .icon-btn{position:absolute;top:0;width:9.3%;height:100%;min-width:0;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;text-shadow:none;font-size:0;color:transparent;pointer-events:auto}#game-page.handheld-skin-dessert #sound-toggle{left:61%}#game-page.handheld-skin-dessert #game-home{left:70.2%}#game-page.handheld-skin-dessert #pause{left:79.3%}#game-page.handheld-skin-dessert #sound-toggle[aria-pressed=false]:before,#game-page.handheld-skin-dessert #pause[aria-label=\7ee7\7eed\6e38\620f]:before{display:grid;place-items:center;position:absolute;inset:21%;border-radius:35%;background:linear-gradient(#e6d4ff,#d3b7fc);color:#6c3edb;font-size:clamp(11px,3.3vw,16px);font-weight:900}#game-page.handheld-skin-dessert #sound-toggle[aria-pressed=false]:before{content:"\9759"}#game-page.handheld-skin-dessert #pause[aria-label=\7ee7\7eed\6e38\620f]:before{content:"\25b6"}#game-page.handheld-skin-dessert .controls{position:absolute;left:0;top:auto;bottom:calc(83 * var(--skin-unit));width:100%;height:calc(216 * var(--skin-unit));display:block;padding:0;margin:0;pointer-events:none;z-index:7}#game-page.handheld-skin-dessert .controls .dpad{display:contents}#game-page.handheld-skin-dessert .controls [data-action]{position:absolute;display:block;min-width:0;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;text-shadow:none;color:transparent;pointer-events:auto;transform:none}#game-page.handheld-skin-dessert .controls [data-action] :is(b,span){visibility:hidden}#game-page.handheld-skin-dessert .controls .rotate-key{left:9.5%;top:1%;width:21%;height:82%;border-radius:50%}#game-page.handheld-skin-dessert .dpad :is([data-action=left],[data-action=down],[data-action=right]){top:19%;width:13%;height:53%;border-radius:12px}#game-page.handheld-skin-dessert .dpad [data-action=left]{left:51%}#game-page.handheld-skin-dessert .dpad [data-action=down]{left:65.2%}#game-page.handheld-skin-dessert .dpad [data-action=right]{left:79.7%}#game-page.handheld-skin-dessert .controls .dpad [data-action=down] span{visibility:visible;position:absolute;top:65%;left:16%;right:16%;height:26%;display:grid;place-items:center;border-radius:3px;background:linear-gradient(#dec6fd,#d3b2f6);font-size:clamp(9px,2.8vw,13px);line-height:1;color:#6540d2}#game-page.handheld-skin-dessert .controls .handheld-center{position:absolute;left:33%;top:30%;width:14%;height:32%;display:block;max-width:none;pointer-events:none}#game-page.handheld-skin-dessert .controls #partners-open{width:100%;height:100%;min-width:0;min-height:0;font-size:10px;pointer-events:auto;border-color:#b899d9;background:linear-gradient(#f5e9ff,#dfcbf3);color:#7952aa;box-shadow:inset 0 1px 1px #fff7ff,0 2px #bb9dd5}#game-page.handheld-skin-dessert .controls [data-action]:is(.is-pressed,:active){transform:none;box-shadow:inset 0 0 10px #6540d24a;background:#8060dd26;filter:none}#game-page.handheld-skin-dessert :is(.controls button,.game-header-actions button):focus-visible{outline:2px solid #764dd2;outline-offset:2px}@media(max-height:650px){#game-page.handheld-skin-dessert .handheld-display{grid-template-rows:27px minmax(0,1fr);gap:2px;padding:3px}#game-page.handheld-skin-dessert .handheld-display>header{height:27px}#game-page.handheld-skin-dessert .brand{width:105px;height:26px}#game-page.handheld-skin-dessert .controls #partners-open{font-size:9px}}body:has(#screen:not([hidden]) .home-cover){height:100svh;overflow:hidden;background:radial-gradient(ellipse at center,#fffcf0,#f1dfbd)}#screen.screen:has(.home-cover){width:100%;max-width:none;height:100svh;min-height:0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.home-cover{--cover-height: calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) ;display:grid;place-items:center;width:100%;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.home-cover-stage{position:relative;width:min(calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right)),calc(var(--cover-height) * 1008 / 1792));aspect-ratio:1008 / 1792;isolation:isolate}.home-cover-image{display:block;width:100%;height:100%;user-select:none;-webkit-user-select:none}.home-cover-title,.home-play>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.home-cover .home-play{position:absolute;left:28.2%;top:73.8%;width:45%;height:12.4%;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.home-cover .home-play:before{content:"";position:absolute;inset:0;border-radius:50%;background-image:url(/assets/ui/home/handdrawn-cover-20261105.webp);background-size:222.222222% 806.451613%;background-position:51.272727% 84.246575%;animation:home-play-breathe 3.2s ease-in-out infinite;transition:transform .12s ease-out,filter .12s ease-out}.home-cover .home-play:active:before{animation:none;transform:scale(1);filter:brightness(.96)}.home-cover .home-play:focus-visible{outline:3px solid #517e9d;outline-offset:7px}@keyframes home-play-breathe{0%,to{transform:scale(1);box-shadow:0 0 #efc45c00}50%{transform:scale(1.018);box-shadow:0 0 0 5px #efc45c20}}.home-play-menu{width:min(336px,calc(100vw - 32px));max-height:calc(100svh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;padding:24px 23px 18px;border:2px solid #947954;border-radius:25px 29px 23px 30px;background:#fffbef;color:#57452f;box-shadow:0 5px #71552b33,0 18px 60px #49371e40;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.home-play-menu[open]{animation:home-menu-in .22s cubic-bezier(.2,.8,.2,1) both}.home-play-menu::backdrop{background:#44351e59;backdrop-filter:blur(2px)}.home-play-menu .home-menu-close{position:absolute;right:9px;top:7px;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#8c7759;font-size:27px;cursor:pointer}.home-menu-paw{display:block;text-align:center;color:#d1a259;font-size:32px;line-height:1.1}.home-play-menu h2{margin:6px 0 10px;text-align:center;font-size:22px;letter-spacing:1px}.screen .home-play-menu #home-progress{margin:0 0 19px;text-align:center;font-size:12px;line-height:1.6;color:#928068}.home-play-menu .home-menu{display:grid;gap:11px}.home-play-menu .home-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:49px;margin:0;padding:13px 18px;border:1px solid #d0bd9c;border-radius:15px 17px 14px 18px;background:#fff8e6;color:#695331;font-size:16px;box-shadow:0 3px #e5d6bb;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.home-play-menu .home-menu button.primary{border-color:#d6b24e;background:#ffe58f;color:#5d4525;box-shadow:0 3px #d8b353}.home-play-menu .home-menu button:active{transform:translateY(2px);box-shadow:0 1px #d5bd95}.home-play-menu .home-menu button:disabled{opacity:.65;cursor:wait}.home-menu-links{display:flex;justify-content:center;flex-wrap:wrap;gap:3px;margin-top:17px}.home-menu-links button{min-height:38px;padding:7px 9px;border:0;border-radius:9px;background:transparent;color:#937a57;font-size:12px;cursor:pointer}.home-play-menu button:focus-visible{outline:3px solid #789f9b;outline-offset:3px}.home-menu-coins{display:block;text-align:center;font-size:11px;color:#b09c7c;margin-top:6px}.home-ready-note{margin:14px 0 0;text-align:center;color:#92784d;font-size:12px}.home-ready-note span{display:inline-block;animation:home-ready-hop .75s ease-in-out infinite}@keyframes home-ready-hop{50%{transform:translateY(-3px)}}@keyframes home-menu-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.home-cover-fallback .home-cover-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px}.home-cover-fallback .home-cover-image{display:none}.home-cover-fallback .home-cover-title,.home-cover-fallback .home-play>span{position:static;width:auto;height:auto;clip-path:none;white-space:normal}.home-cover-fallback .home-play{position:relative;left:auto;top:auto;width:65%;height:64px;border:2px solid #ae8a40;background:#ffe58f;border-radius:24px;font-size:19px;color:#66522b}.home-cover-fallback .home-play:before{content:none}@media(prefers-reduced-motion:reduce){.home-cover .home-play:before,.home-play-menu[open],.home-ready-note span{animation:none;transition:none}}@font-face{font-family:CatLevelHand;src:url(/assets/fonts/levels/rounded-hand-20261105.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}body:has(#screen:not([hidden]) .level-selection){background:radial-gradient(ellipse at 15% 12%,#fffdf0,transparent 56%),#fff8df}#screen.screen:has(.level-selection){width:min(100%,440px);max-width:none;margin:0 auto;padding:0;border:0;box-shadow:none;background:transparent}.level-selection{--level-row-size:clamp(74px,calc((100svh - 345px) / 6),94px);height:100svh;min-height:540px;padding:max(5px,env(safe-area-inset-top)) 10px max(6px,env(safe-area-inset-bottom));display:grid;grid-template-rows:26px auto auto 34px minmax(0,1fr) 40px;gap:5px;color:#5f4726;font-family:CatLevelHand,Microsoft YaHei,PingFang SC,sans-serif;font-synthesis:none}.level-select-top{display:flex;align-items:center;justify-content:space-between;padding:0 6px}.level-select-top .quiet-button{padding:3px 5px;font-size:12px;color:#9c7839;min-height:28px}.level-select-top>span{font-size:11px;color:#b39962}.level-select-heading{position:relative;width:100%;max-width:300px;justify-self:center;min-height:0;height:auto;margin:0;padding:0}.level-select-heading h1{position:absolute!important;width:1px;height:1px;margin:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.level-select-heading img{display:block;width:100%;height:auto;clip-path:polygon(0 0,100% 0,100% 87%,66% 87%,66% 100%,34% 100%,34% 87%,0 87%);user-select:none}.level-select-heading .level-help{position:absolute;left:35%;top:76%;width:30%;height:24%;min-height:30px;padding:0;border:0;border-radius:20px;background:transparent;cursor:pointer;touch-action:manipulation}.level-select-rules{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:6px 10px;border:2px solid #eeb63e;border-radius:23px 28px 20px 25px;background:#fffdf4;box-shadow:0 2px #f7db8d;text-align:center}.level-select-rules:before{content:"";position:absolute;inset:3px;border:1px dashed #edc05d;border-radius:inherit;pointer-events:none}.level-select-rules strong{font-size:13px;line-height:1.3;color:#66502d}.level-select-rules>span{font-size:10px;line-height:1.4;color:#9b8052}.level-chapter-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px}.level-chapter-bar label{display:flex;align-items:center;gap:6px;font-size:11px;color:#aa8b51}.level-chapter-bar select{height:32px;min-width:96px;padding:3px 20px 3px 9px;border:1px solid #e7c66c;border-radius:12px;background:#fff9e5;color:#805d2c;font:inherit;font-size:13px;font-weight:700}.level-chapter-bar button{height:32px;padding:4px 8px;border:0;border-radius:12px;background:transparent;color:#a07c38;font-size:12px;cursor:pointer}.level-density-label{font-family:Microsoft YaHei,PingFang SC,sans-serif;font-size:10px;line-height:1.3;color:#b09a72;text-align:center}.level-selection .level-list{display:grid;grid-auto-rows:var(--level-row-size);align-content:start;gap:5px;width:min(100%,300px);justify-self:center;min-height:0;padding:2px 3px 3px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#dfc582 transparent;animation:level-page-in .18s ease-out}.level-selection .level-choice{--number-width:24%;container-type:size;position:relative;display:flex;align-items:stretch;gap:0;width:100%;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:18px;background:transparent;box-shadow:none;color:inherit;font-family:inherit;text-align:center;cursor:pointer;touch-action:manipulation;transition:transform .11s ease-out}.level-selection .level-choice:nth-child(2n){flex-direction:row-reverse}.level-selection .level-choice:active:not(:disabled){transform:scale(.982)}.level-selection .level-choice:disabled{opacity:1;cursor:default}.level-selection .level-number{display:flex;align-items:center;justify-content:center;align-self:center;flex:0 0 var(--number-width);width:var(--number-width);min-width:0;padding:0 1px;font-size:35px;font-weight:900}.level-digit{display:inline-block;flex:none;width:min(46px,calc((100% - 12px) / var(--digits)));aspect-ratio:1;line-height:1.2;text-align:center;color:#72532d;text-shadow:1px 1px #f1bc35}.digits-ready .level-digit{color:transparent;text-shadow:none;background:url(/assets/ui/levels/v1/cat-digits-20261105.webp) no-repeat;background-size:500% 200%;background-position:calc(var(--digit-col) * 25%) calc(var(--digit-row) * 100%)}.level-number-dash{flex:0 0 10px;text-align:center;color:#76542d;font-size:22px;font-weight:900;text-shadow:1px 0 #f0b826,-1px 0 #f0b826,0 1px #f0b826,0 -1px #f0b826}.level-selection .level-card-bubble{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1 0;min-width:0;height:100%;padding:4px 18px 4px 26px;text-align:center}.level-card-bubble:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/ui/levels/v1/bubble-left-20261105.webp) center / 100% 100% no-repeat;clip-path:polygon(5% 0,100% 0,100% 100%,5% 100%,5% 67%,0 54%,5% 41%)}.level-choice:nth-child(2n) .level-card-bubble{padding-left:18px;padding-right:26px}.level-choice:nth-child(2n) .level-card-bubble:before{background-image:url(/assets/ui/levels/v1/bubble-right-20261105.webp);clip-path:polygon(0 0,95% 0,95% 41%,100% 54%,95% 67%,95% 100%,5% 100%,0 94%)}.level-selection .level-card-bubble>strong{display:block;width:100%;margin:0 0 2px;font-size:clamp(15px,min(21cqh,calc((76cqw - 50px) / var(--title-length))),20px);font-weight:400;letter-spacing:.025em;line-height:1.1;color:#76502f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-selection .level-card-objective{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .55em;width:100%;max-height:2.4em;overflow:hidden;margin:0;font-size:clamp(11px,14cqh,13px);line-height:1.2;color:#96734b}.level-goal-part{display:inline-block;flex:0 0 auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-selection .level-card-status{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin:3px 0 0;min-height:17px;font-size:11px;line-height:1;color:#9b8056;letter-spacing:0}.level-card-stars{font-family:Arial,sans-serif;font-size:clamp(16px,20cqh,20px);line-height:1;letter-spacing:2px;color:#cdb88d;white-space:nowrap;-webkit-text-stroke:.25px #c1a574}.level-card-stars b{font-weight:400;color:#efbd42;text-shadow:0 1px 0 #c18b28,0 -1px 0 #fff0ad;-webkit-text-stroke:.45px #b9892e}.level-card-tag{padding:2px 6px;border:1px solid #e4cd92;border-radius:12px 14px 11px 13px;background:#fff4d1;font-size:10px;font-weight:400;line-height:1;white-space:nowrap;color:#a47a3e}.level-recommended .level-card-tag{border-color:#ddb450;background:#ffe9a1;color:#9d671e}.level-locked-note{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 7px;border:1px dashed #d8c5a4;border-radius:14px;background:#f8f2e8;color:#a28a66}.level-locked-note svg{display:block;flex:none;width:9px;height:11px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.level-selection .level-choice:disabled .level-card-bubble:before{opacity:.84;filter:saturate(.8)}.level-selection .level-choice:disabled .level-card-bubble>strong{color:#947553}.level-selection .level-choice:disabled .level-number{filter:saturate(.55);opacity:.75}.level-pager{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 4px}.level-pager button{min-height:38px;min-width:76px;padding:6px 10px;border:1px solid #e6c269;border-radius:14px 16px 13px 17px;background:#fff2ba;box-shadow:0 2px #e1bd5b;color:#886325;font-size:12px;font-weight:700;cursor:pointer;touch-action:manipulation}.level-pager button:disabled{opacity:.45;cursor:default}.level-pager button:active:not(:disabled){transform:translateY(2px);box-shadow:none}.level-page-info{font-size:11px;color:#a78a52;white-space:nowrap;text-align:center}.level-selection button:focus-visible,.level-selection select:focus-visible{outline:2px solid #bb8c2b;outline-offset:2px}@keyframes level-page-in{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-height:700px){.level-selection{min-height:540px;grid-template-rows:24px auto auto 32px minmax(0,1fr) 36px;gap:4px;padding-top:max(4px,env(safe-area-inset-top));padding-bottom:max(5px,env(safe-area-inset-bottom))}.level-select-heading{max-width:210px}.level-select-heading .level-help{top:60%;height:40%;min-height:0}.level-select-rules{min-height:43px;padding:5px 7px;gap:2px}.level-select-rules strong{font-size:11px}.level-select-rules>span{font-size:9px}.level-selection .level-list{gap:5px}.level-pager button{min-height:32px}}@container (max-height:85px){.level-selection .level-card-bubble{padding:4px 18px 4px 26px}.level-choice:nth-child(2n) .level-card-bubble{padding-left:18px;padding-right:26px}.level-selection .level-card-bubble>strong{margin-bottom:1px;line-height:1.05}.level-selection .level-card-objective{max-height:2.4em;font-size:11px;line-height:1.2}.level-selection .level-card-status{margin-top:2px;gap:5px}.level-card-stars{font-size:16px}.level-card-tag{padding:2px 5px}.level-locked-note{padding:2px 6px}}@container (max-height:73px){.level-selection .level-card-bubble{padding-top:4px;padding-bottom:4px}.level-selection .level-card-bubble>strong{font-size:14.5px}.level-selection .level-card-objective{font-size:10.5px}.level-selection .level-card-status{min-height:17px;font-size:10px}.level-card-stars{font-size:17px}.level-card-tag{font-size:9px}.level-locked-note svg{width:9px;height:11px}}@media(prefers-reduced-motion:reduce){.level-selection .level-list,.level-selection .level-choice{animation:none;transition:none}}
