*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.grid{display:grid}.contents{display:contents}.hidden{display:none}.resize{resize:both}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*{box-sizing:border-box}:root{font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2f2b27;background:#f2efe9;font-synthesis:none;--app-bg: #f2efe9;--surface: #fffdf9;--surface-soft: #f5f2ed;--text-muted: #817970;--z-toast: 12;--z-modal: 20;--z-secondary: 24}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100dvh;background:radial-gradient(circle at top,#fffaf2 0,#f3efe8 52%,#e9e4dc);overscroll-behavior:none}button{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #25231f;outline-offset:3px}.app-shell{width:100%;min-height:100dvh;display:grid;place-items:center;overflow-x:clip;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.game-card{width:min(100%,520px);padding:8px}.topbar,.meta-row,.title-line,.subhead-row,.top-actions,.cat-progress-group{display:flex;align-items:center}.topbar,.meta-row{justify-content:space-between}.topbar{gap:16px}.title-stack,.title-line h1{min-width:0}.eyebrow{margin:0 0 3px;font-size:11px;line-height:1;font-weight:900;letter-spacing:.16em;color:#9a675f}h1{margin:0;font-size:clamp(25px,7vw,32px);line-height:1.08;letter-spacing:-.035em}.title-line{gap:9px}.title-line h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-label{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a827a;font-size:10px;font-weight:800}.subhead-row{margin-top:5px;gap:8px}.subhead-row .chapter-label{flex:1}.difficulty-badge{flex:0 0 auto;border-radius:999px;font-size:9px;font-weight:900;padding:4px 7px;background:#28262214;color:#6e6861}.difficulty-medium{background:#9a675f1f;color:#885b54}.difficulty-hard{background:#a83d391f;color:#983934}.top-actions{gap:1px}.icon-button,.close-button{width:44px;height:44px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer}.quiet-icon-button{color:#69625b}.sound-off{color:#a39b93}.meta-row{gap:10px;margin:12px 0 8px;font-size:11px;font-weight:800;color:#76706a}.cat-progress-group{gap:7px}.cat-progress-label{color:#817970;font-size:9px;font-weight:850;white-space:nowrap}.cat-progress{min-width:72px;display:inline-flex;align-items:center;gap:4px;padding-block:4px}.paw-progress-icon{width:18px;height:18px;flex:0 0 18px;color:#d9d3cb;overflow:visible}.paw-left{transform:translateY(-2.5px) rotate(90deg) scaleX(-1)}.paw-right{transform:translateY(2.5px) rotate(90deg)}.paw-progress-icon circle,.paw-progress-icon path{fill:currentColor}.mistake-indicator{min-width:54px;display:inline-flex;justify-content:flex-end;gap:4px}.mistake-scratch{width:14px;height:18px;color:#d8d1ca}.mistake-scratch path{fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round}.mistake-scratch.active{color:#c66f62;animation:scratch .34s cubic-bezier(.16,1,.3,1)}.board-stage{position:relative;width:100%}.board-wrap{width:100%}.board{width:100%;aspect-ratio:1;display:grid;gap:2.5px;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cell{min-width:0;min-height:0;padding:0;border:0;border-radius:5px;background-clip:padding-box;display:grid;place-items:center;cursor:pointer;position:relative;transition:filter .1s;touch-action:none}.cell.starter{cursor:default}.cell.mistake-cell{z-index:3;animation:shake .28s linear;box-shadow:inset 0 0 0 4px #c94742cc}.cell.correct-cell{z-index:3;animation:correct-cell .5s cubic-bezier(.2,.85,.25,1)}.cell.hint-cell{z-index:1;filter:brightness(1.035) saturate(.82)}.cell.hint-target{z-index:2;animation:hint-target .58s}.mark-x{width:40%;height:40%;overflow:visible;color:#36322e80;pointer-events:none}.mark-x-stroke{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.mark-x-drawn .mark-x-stroke{stroke-dasharray:20;stroke-dashoffset:20;animation:draw-x .105s ease-out forwards}.mark-x-drawn .mark-x-stroke-two{animation-delay:85ms}.mark-x-drawn.mark-x-swipe .mark-x-stroke{animation-duration:75ms}.mark-x-drawn.mark-x-swipe .mark-x-stroke-two{animation-delay:.05s}.erase-ghost{animation:erase .14s ease-in both}.feedback-paint{z-index:2;animation:bounce .235s cubic-bezier(.2,.78,.25,1) var(--feedback-delay, 0ms)}.feedback-paint .mark-x-drawn .mark-x-stroke{animation-delay:var(--feedback-delay, 0ms)}.feedback-paint .mark-x-drawn .mark-x-stroke-two{animation-delay:calc(var(--feedback-delay, 0ms) + 85ms)}.feedback-erase{animation:bounce-small .185s}.feedback-swipe-paint{animation:bounce-swipe .185s}.feedback-swipe-erase{animation:bounce-small .16s}.feedback-undo{animation:undo-flash .18s}.cat-mark{width:100%;height:100%;overflow:visible}.cat-mark-fill{fill:#fffaf3;stroke:#2f2b27;stroke-width:3.1;stroke-linejoin:round}.cat-mark-line,.cat-mark-whisker{fill:none;stroke:#2f2b27;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.cat-mark-whisker{stroke-width:2.2;opacity:.72}.cat-mark-nose{fill:#9a675f}.cat-face{width:clamp(33px,11vw,50px);height:clamp(33px,11vw,50px);filter:drop-shadow(0 2px 0 #ffffff73);transform:translateY(-1px);animation:cat-place .18s cubic-bezier(.2,.9,.25,1.2)}.live-cat .cat-idle-body{transform-box:view-box;transform-origin:32px 44px;animation:cat-curious 7.4s ease-in-out var(--cat-idle-delay, 0s) infinite}.live-cat.cat-personality-1 .cat-idle-body{animation-name:cat-stretch;animation-duration:8.6s}.live-cat.cat-personality-2 .cat-idle-body{animation-name:cat-sway;animation-duration:6.8s}.live-cat.cat-personality-3 .cat-idle-body{animation-name:cat-nod;animation-duration:9.2s}.live-cat .cat-mark-eyes,.celebrating-cat .cat-mark-eyes{transform-box:view-box;transform-origin:32px 36.5px;animation:blink 6.8s linear var(--cat-blink-delay, 0s) infinite}.live-cat .cat-eye-look{animation:cat-look 9s ease-in-out var(--cat-idle-delay, 0s) infinite}.live-cat .cat-ear-line{transform-box:fill-box;transform-origin:center;animation:cat-ear-twitch 8s ease-in-out var(--cat-blink-delay, 0s) infinite}.celebrating-cat .cat-idle-body{transform-box:view-box;transform-origin:32px 48px;animation:cat-victory 2.4s ease-in-out infinite}.board-size-7 .cat-face,.board-size-8 .cat-face,.board-size-9 .cat-face,.board-size-10 .cat-face{width:min(84%,44px);height:min(84%,44px)}.board-size-8{gap:2px}.board-size-9,.board-size-10{gap:1.5px}.board-size-9 .cell,.board-size-10 .cell{border-radius:3px}.board-size-8 .mark-x,.board-size-9 .mark-x,.board-size-10 .mark-x{width:42%;height:42%}.gesture-coach-cell{z-index:4}.gesture-coach{position:absolute;left:50%;bottom:7%;z-index:6;transform:translate(-50%);pointer-events:none;white-space:nowrap;padding:3px 6px;border-radius:999px;background:#fffdf9f0;color:#4f4943;font-size:9px;font-weight:950;box-shadow:0 2px 8px #302a251f;animation:coach 1.2s ease-in-out infinite}.cell.win-sequence .cat-face{animation:win-cat-sequence .38s ease-out var(--cat-delay, 0ms) both}.context-slot{width:100%;min-height:64px;margin-top:2px}.action-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.action-row button{min-height:50px;border:0;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:800;cursor:pointer}.action-row button:disabled{opacity:.35}.undo-action,.restart-action,.hint-action{color:#746d66;background:#f7f4f0!important}.restart-armed{color:#9b3531!important;background:#f5dfdc!important}.hint-attention{color:#4d5b9a;background:#f1f2f8!important;animation:hint-pulse 1.8s ease-in-out infinite}.context-panel{width:100%;min-height:64px;padding:8px 8px 8px 10px;border-radius:14px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;animation:panel .2s}.context-panel-copy{min-width:0;display:grid;gap:1px}.context-panel-copy strong{font-size:9px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.context-panel-copy span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:10px;line-height:1.2;font-weight:780}.context-panel-actions{display:flex;gap:5px}.context-panel-actions button{border:0;cursor:pointer}.context-hint{background:#f0f1f6;color:#4d5b9a}.context-error{background:#f7e8e5;color:#963f3a}.context-info{background:#f2efe9;color:#625c56}.hint-reveal-button{min-width:56px;height:36px;padding:0 9px;border:0;border-radius:11px;background:#4d5b9a;color:#fff;font-size:10px;font-weight:900}.hint-close-button{width:36px;height:36px;border:0;border-radius:11px;background:#4d5b9a17;color:#46538b;display:grid;place-items:center}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:end center;padding:16px;background:#27231f47}.modal,.system-modal{width:min(100%,460px);background:#fffdf9;border-radius:20px;padding:22px;box-shadow:0 18px 52px #26211c29;position:relative;animation:slide-up .24s ease-out}.close-button{position:absolute;top:16px;right:16px;color:#736c65}.modal-heading{display:flex;align-items:center;gap:11px;padding-right:42px;margin-bottom:16px}.compact-modal-cat{width:42px;height:42px;flex:0 0 auto}.modal h2,.progress-heading h2{margin:0}.rules-core{display:grid;gap:7px}.rules-core>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;padding:9px 10px;border-radius:12px;background:#f5f2ed}.rules-core strong,.rules-core span{font-size:11px}.rules-core span{color:#6f6861;font-weight:700}.disclosure-button,.achievements-toggle,.modal-back-button,.screen-back-button{border:0;background:transparent;color:#69625b;font-weight:850;cursor:pointer}.disclosure-button{width:100%;min-height:42px;margin-top:7px;display:flex;align-items:center;justify-content:space-between}.rules-more{display:grid;gap:7px;margin-bottom:10px;padding:10px 11px;border-radius:12px;background:#faf7f2}.rules-more p{margin:0;color:#6e6760;font-size:10.5px;line-height:1.35}.primary-button{width:100%;min-height:55px;border:0;border-radius:16px;background:#282622;color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:900;cursor:pointer}.modal-primary{margin-top:10px}.achievements-modal{max-height:min(88dvh,720px);overflow:hidden;display:flex;flex-direction:column}.progress-heading{padding-right:44px;margin-bottom:9px}.achievement-summary{margin:4px 0 0;color:#817970;font-size:12px;font-weight:800}.rank-track{height:6px;overflow:hidden;border-radius:99px;background:#ece7e0;margin-bottom:12px}.rank-track>span{display:block;height:100%;background:#9a675f}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}.stats-grid>div{padding:9px 7px;border-radius:12px;background:#f5f2ed;text-align:center}.stats-grid strong,.stats-grid span{display:block}.stats-grid span{font-size:8px;color:#817970}.stats-detail{margin:4px 0;color:#837a72;font-size:10px}.section-heading-row{display:flex;justify-content:space-between;margin:10px 0 6px;color:#5f5852;font-size:10px;font-weight:900;text-transform:uppercase}.territory-journal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.journal-mark{padding:7px 2px;border-radius:11px;background:#f5f2ed;opacity:.48;text-align:center}.journal-mark.earned{opacity:1;background:#f8f0dc}.journal-mark span,.journal-mark strong,.journal-mark small{display:block}.journal-mark small{font-size:7px;color:#817970}.achievement-list{display:grid;gap:8px}.achievement-card,.achievement-row{display:grid;align-items:center;gap:8px;padding:8px;border-radius:12px;background:#f5f2ed}.achievement-card{grid-template-columns:36px 1fr 20px}.achievement-row{grid-template-columns:34px 1fr 20px}.achievement-card.locked,.achievement-row.locked{opacity:.62}.achievement-icon,.achievement-row-icon{display:grid;place-items:center;background:#ffffffb8;border-radius:10px}.achievement-icon{width:36px;height:36px}.achievement-row-icon{width:34px;height:34px}.achievements-toggle{width:100%;min-height:44px;margin-top:7px}.modal-back-button{position:absolute;top:14px;left:14px;min-height:40px}.nested-heading{padding-left:54px}.achievement-list-all{overflow-y:auto}.achievement-toast{position:fixed;left:50%;bottom:max(76px,calc(env(safe-area-inset-bottom) + 68px));z-index:var(--z-toast);transform:translate(-50%);width:min(calc(100% - 28px),360px);display:flex;gap:11px;padding:9px 12px;border-radius:16px;background:#fffaf0f5;box-shadow:0 8px 24px #342c2324;pointer-events:none}.secondary-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-secondary);overflow:hidden;background:#f2efe9;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.secondary-shell{width:min(100%,520px);height:100%;margin:auto;display:flex;flex-direction:column;min-height:0}.secondary-header{min-height:62px;display:flex;align-items:center;gap:8px}.screen-back-button{min-width:54px;min-height:44px;margin-left:-5px}.secondary-title-block{min-width:0;flex:1}.secondary-title-block h2{margin:0;font-size:clamp(23px,6vw,30px)}.moon-run-label{animation:moon .75s}.rank-up-label{animation:rank .62s}@media(hover:hover)and (pointer:fine){.cell:hover{filter:brightness(1.04);z-index:1}.quiet-icon-button:hover,.close-button:hover,.screen-back-button:hover{background:#4c453e0f}.primary-button:hover{filter:brightness(.97)}}@media(max-width:699px){html,body,#root{height:100%}body{overflow:hidden}.app-shell{height:100svh;min-height:100svh;overflow:hidden;place-items:start center}.game-card{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:6px 2px 4px}.board-stage{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.board-wrap{width:min(100%,calc(100svh - 254px));margin:auto}.system-modal{width:min(100%,520px);max-height:min(88svh,720px);padding:18px 16px 14px}.close-button{top:8px;right:8px}.quiet-icon-button{width:40px;height:40px}.meta-row{margin:8px 4px 5px}.context-panel{grid-template-columns:18px minmax(0,1fr) auto;gap:5px}.context-panel-copy span{font-size:9px}}@media(max-width:380px),(max-height:620px){.topbar .eyebrow{display:none}h1{font-size:22px}.icon-button{width:38px;height:38px}.meta-row{margin-top:7px}.action-row button{min-height:42px}.board-wrap{width:min(100%,calc(100svh - 218px))}.cat-progress{min-width:64px;gap:3px}.paw-progress-icon{width:16px;height:16px;flex-basis:16px}}@media(min-width:700px){.overlay{place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@media(pointer:coarse){.board-size-9 .live-cat .cat-ear-line,.board-size-10 .live-cat .cat-ear-line,.board-size-9 .live-cat .cat-eye-look,.board-size-10 .live-cat .cat-eye-look{animation:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.live-cat *,.celebrating-cat *{animation:none!important}}.page-hidden .live-cat *,.page-hidden .celebrating-cat *,.page-hidden .gesture-coach,.page-hidden .hint-attention{animation-play-state:paused!important}@keyframes draw-x{to{stroke-dashoffset:0}}@keyframes erase{to{opacity:0;transform:scale(.48)}}@keyframes bounce{40%{transform:scale(.932)}72%{transform:scale(1.018)}}@keyframes bounce-small{46%{transform:scale(.968)}78%{transform:scale(1.006)}}@keyframes bounce-swipe{43%{transform:scale(.948)}76%{transform:scale(1.012)}}@keyframes undo-flash{45%{box-shadow:inset 0 0 0 3px #58544d3d}}@keyframes cat-place{0%{opacity:0;transform:translateY(2px) scale(.72)}}@keyframes cat-curious{0%,38%,to{transform:none}20%{transform:translateY(-1px) scaleY(1.025)}55%,66%{transform:translateY(-2px) rotate(-5deg)}78%{transform:rotate(3deg)}}@keyframes cat-stretch{0%,45%,to{transform:none}25%{transform:scale(1.025,.98)}60%,68%{transform:translateY(-3px) scale(.97,1.045)}79%{transform:translateY(1px) scale(1.035,.97)}}@keyframes cat-sway{0%,35%,to{transform:none}20%{transform:translateY(-1px)}50%{transform:translate(-1.5px) rotate(-4deg)}68%{transform:translate(1.5px) rotate(4deg)}82%{transform:rotate(-2deg)}}@keyframes cat-nod{0%,45%,to{transform:none}24%{transform:scaleY(1.025)}58%,76%{transform:translateY(2px) rotate(3deg) scaleY(.96)}67%,85%{transform:translateY(-2px) rotate(-2deg)}}@keyframes cat-look{0%,40%,85%,to{transform:none}50%,60%{transform:translate(2px)}70%,78%{transform:translate(-2px)}}@keyframes cat-ear-twitch{0%,65%,80%,to{transform:none}69%,75%{transform:rotate(-12deg)}72%{transform:rotate(8deg)}}@keyframes cat-victory{0%,52%,to{transform:none}10%{transform:translateY(1px) scale(1.06,.94)}22%{transform:translateY(-7px) rotate(-7deg) scale(.98,1.04)}34%{transform:translateY(1px) rotate(4deg) scale(1.05,.95)}43%{transform:translateY(-3px) rotate(-3deg)}}@keyframes blink{88.5%,89.5%{transform:scaleY(.08)}}@keyframes correct-cell{38%{box-shadow:inset 0 0 0 4px #52745161}}@keyframes shake{35%{transform:translate(-3px)}70%{transform:translate(3px)}}@keyframes hint-target{48%{filter:brightness(.93);transform:scale(.972)}}@keyframes coach{50%{transform:translate(-50%) scale(1.06)}}@keyframes win-cat-sequence{48%{transform:translateY(-4px) rotate(-5deg) scale(1.08)}}@keyframes hint-pulse{50%{background:#eef0f8;box-shadow:0 0 0 7px #4d5b9a21}}@keyframes panel{0%{opacity:0;transform:translateY(3px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(22px) scale(.98)}}@keyframes scratch{58%{transform:translateY(-1px) scale(1.08)}}@keyframes moon{45%{text-shadow:0 0 10px #5c589659}}@keyframes rank{55%{transform:translateY(-1px)}}.board-assembling .cell:not([class*=feedback-]):not(.correct-cell):not(.mistake-cell){animation:board-cell-assemble .42s cubic-bezier(.2,.82,.25,1) var(--assemble-delay, 0ms) both;transform-origin:center}@keyframes board-cell-assemble{0%{opacity:0;transform:translateY(9px) scale(.91)}65%{opacity:1;transform:translateY(-1px) scale(1.012)}to{opacity:1;transform:none}}.achievement-card,.achievement-row{border:1px solid #e8e1d8;background:linear-gradient(135deg,#fffdf9,#f5f0e9);box-shadow:0 1px #fff inset}.achievement-card.unlocked,.achievement-row.unlocked{border-color:#ddcda9;background:linear-gradient(135deg,#fffaf0,#f5ead1)}.achievement-card.locked,.achievement-row.locked{opacity:.72;filter:saturate(.65)}.achievement-icon,.achievement-row-icon{border:1px solid #ebe2d7;background:#fffdf9;box-shadow:0 3px 10px #3b30240b}.achievement-card.unlocked .achievement-icon,.achievement-row.unlocked .achievement-row-icon{background:#fff5dc;border-color:#ead6a6}@media(orientation:landscape)and (max-height:620px){.app-shell{place-items:center;padding:max(6px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.game-card{width:min(100%,960px);display:grid;grid-template-columns:minmax(260px,52dvh) minmax(280px,1fr);grid-template-rows:auto auto 1fr;-moz-column-gap:22px;column-gap:22px;align-items:start}.topbar{grid-column:2;grid-row:1}.meta-row{grid-column:2;grid-row:2;margin:7px 0}.board-stage{grid-column:1;grid-row:1/4;align-self:center}.context-slot{grid-column:2;grid-row:3;align-self:start;margin-top:4px}.title-line h1{font-size:clamp(21px,4.6vh,29px)}.action-row{grid-template-columns:repeat(3,minmax(0,1fr))}.action-row button{min-height:48px}}@media(prefers-reduced-motion:reduce){.board-assembling .cell:not([class*=feedback-]):not(.correct-cell):not(.mistake-cell){animation:none!important}}.modal{max-height:calc(100dvh - 32px);overflow-y:auto}.achievements-modal{overflow-y:auto}.achievement-card.locked,.achievement-row.locked{opacity:1}.achievement-card strong,.achievement-row strong{font-size:13px;line-height:1.35}.achievement-card p,.achievement-card small,.achievement-row small{display:block;font-size:11px;line-height:1.4;color:#69625b;margin:4px 0 0}.achievement-card,.achievement-row{padding:11px;gap:11px}.hint-close-button,.hint-reveal-button{min-width:44px;min-height:44px}.context-panel-copy span{display:block;font-size:11px;line-height:1.35}.cell .cat-face{max-width:84%;max-height:84%}@media(orientation:landscape)and (max-height:620px){.game-card{grid-template-columns:minmax(0,calc(100svh - 40px)) minmax(0,1fr);-moz-column-gap:18px;column-gap:18px}.game-card .board-wrap{width:100%}.topbar{flex-wrap:wrap;gap:4px}.top-actions{margin-left:auto}.context-slot{min-width:0}.screen-back-button{flex-shrink:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-delay:0s!important;animation-iteration-count:1!important}.live-cat *{animation:none!important}}.icon-button{min-width:44px;min-height:44px}.screen-back-button{display:inline-flex;align-items:center;justify-content:center;gap:3px}.board-stage{padding:3px}.achievements-toggle,.modal-back-button{display:flex;align-items:center;justify-content:center;gap:5px}.journal-mark>span{display:flex;justify-content:center}.achievement-toast>div{min-width:0;display:grid;gap:2px}.achievement-toast strong{font-size:10px;color:#69625b}.achievement-toast>div>span{font-size:12px;font-weight:700}.achievement-toast>span{align-self:center}.journal-mark{opacity:1}.journal-mark small{color:#69625b}.achievements-all-view .nested-heading{padding:46px 0 0;margin-bottom:14px}.achievements-all-view .nested-heading h2{margin:4px 0 6px;font-size:24px;font-weight:800;line-height:1.15;letter-spacing:-.025em}.achievements-all-view .modal-back-button{min-height:44px}.rules-core span,.rules-more,.stats-grid span,.achievement-summary,.stats-detail,.journal-mark small{color:#69625b}.secondary-title-block .eyebrow{color:#88564e}.achievement-list-all:focus-visible{outline:3px solid #2f2b27;outline-offset:3px;border-radius:12px}.cell.hint-cell,.cell.gesture-coach-cell{filter:none;outline:2px solid #3d4059;outline-offset:-3px}.cell.hint-excluded{outline:2px dashed #3d4059;outline-offset:-4px}.cell.hint-target:not(.hint-excluded){outline:4px double #3d4059;outline-offset:-5px}.hint-legend{display:block;margin-top:5px;font-size:11px;line-height:1.35;color:#55515d}.board-attention .live-cat *{animation-play-state:paused}@media(orientation:landscape)and (max-height:620px){.game-card{grid-template-columns:minmax(0,min(88dvh,45vw)) minmax(0,350px);justify-content:center;-moz-column-gap:clamp(12px,3vw,24px);column-gap:clamp(12px,3vw,24px);align-content:center}.context-panel{padding:10px}.context-panel-copy>span{font-size:12px;line-height:1.35}}.action-row{grid-template-columns:repeat(4,minmax(0,1fr))}.auto-x-action{color:#746d66;background:#f7f4f0!important;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.auto-x-action.auto-x-on{color:#4f675d;background:#edf4ef!important;box-shadow:inset 0 0 0 1px #cfded5}.auto-x-action.auto-x-off{color:#817970;background:#f7f4f0!important}@media(max-width:360px){.action-row{gap:5px}.action-row button{font-size:11px}}@media(orientation:landscape)and (max-height:620px){.action-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.action-dock{--action-height: 50px;--slide-handle-width: 128px;position:relative;width:100%;min-height:var(--action-height);isolation:isolate}.action-dock .action-row{min-height:var(--action-height);transform-origin:center;transition:gap .38s cubic-bezier(.2,.8,.2,1),opacity .2s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility 0s}.action-dock .action-row button{transition:border-radius .42s,background-color .42s,box-shadow .3s}.action-dock .action-row button>*{transition:opacity .2s,transform .35s}.action-dock.is-won .action-row button:disabled{opacity:1;cursor:default}.action-dock.is-complete .action-row{gap:0;opacity:0;visibility:hidden;transform:translateY(-50%) scaleX(.985)}.action-dock.is-handoff .action-row{gap:8px;opacity:1;visibility:visible;transform:scaleX(1);pointer-events:none;transition:gap .38s cubic-bezier(.2,.8,.2,1),opacity .22s .08s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility 0s}.action-dock.is-complete .action-row button{background:#edf4ef!important;border-radius:0;box-shadow:none}.action-dock.is-handoff .action-row button{background:var(--surface, #fffdf9)!important;border-radius:14px}.action-dock.is-complete .action-row button:first-child{border-radius:14px 0 0 14px}.action-dock.is-complete .action-row button:last-child{border-radius:0 14px 14px 0}.action-dock.is-complete .action-row button>*{opacity:0;transform:translateY(-5px) scale(.85)}.action-dock.is-handoff .action-row button>*{opacity:1;transform:translateY(0) scale(1);transition:opacity .2s .12s ease,transform .32s .06s cubic-bezier(.2,.8,.2,1)}.next-level-slide{--slide-offset: 0px;--slide-progress: 0;position:absolute;inset:50% 0 auto;height:var(--action-height);overflow:hidden;transform:translateY(-50%);border-radius:14px;background:#edf4ef;box-shadow:inset 0 0 0 1px #cfded5;color:#385548;opacity:0;pointer-events:none;transition:opacity .18s ease;-moz-user-select:none;user-select:none;-webkit-user-select:none}.next-level-slide.is-ready{opacity:1;pointer-events:auto;transition:opacity .32s .18s}.slide-track-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--slide-offset) + var(--slide-handle-width));background:#dceade;border-radius:inherit}.slide-copy{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 40px 0 var(--slide-handle-width);gap:1px;pointer-events:none}.slide-copy strong{font-size:13px;font-weight:800;line-height:1.2}.slide-copy span{font-size:10px;line-height:1.25;color:#4c685a}.next-level-slide[data-state=dragging] .slide-copy{opacity:max(0,calc(1 - var(--slide-progress) * 1.5))}.slide-destination{position:absolute;right:12px;top:calc(50% - 10px);opacity:calc(.7 - var(--slide-progress) * .7);pointer-events:none}.slide-handle{position:absolute;inset:0 auto 0 0;width:var(--slide-handle-width);height:100%;transform:translate(var(--slide-offset));touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent}.slide-handle-face{position:absolute;top:4px;right:4px;bottom:4px;left:4px;display:grid;place-items:center;border-radius:11px;background:#fffdf9;box-shadow:0 2px 6px #3855481a,inset 0 0 0 1px #d0ddcf}.slide-assistive-action{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.slide-assistive-action:focus-visible{z-index:5;width:auto;height:auto;margin:0;padding:0 12px;inset:4px 62px 4px calc(var(--slide-handle-width) + 6px);clip:auto;overflow:visible;display:grid;place-items:center;border:2px solid #385548;border-radius:10px;background:#fffdf9;color:#385548;font:inherit;font-size:12px;font-weight:800;white-space:normal}.slide-paw{transform:rotate(90deg)}.next-level-slide[data-state=dragging] .slide-handle{cursor:grabbing}.next-level-slide[data-state=settling] .slide-copy,.next-level-slide[data-state=confirmed] .slide-copy,.next-level-slide[data-state=handoff] .slide-copy{opacity:0}.next-level-slide[data-state=handoff]{opacity:0;transform:translateY(-50%) scaleX(.985);border-radius:14px;transition:opacity .24s .08s ease,transform .38s cubic-bezier(.2,.8,.2,1)}.next-level-slide[data-state=handoff] .slide-track-fill,.next-level-slide[data-state=handoff] .slide-handle,.next-level-slide[data-state=handoff] .slide-destination{opacity:0;transition:opacity .16s ease}.next-level-slide[data-state=confirmed] .slide-handle-face{animation:slide-confirm .15s cubic-bezier(.2,.8,.2,1)}.next-level-slide[data-state=loading] .slide-copy{padding:0 var(--slide-handle-width) 0 12px}.next-level-slide[data-state=loading] .slide-handle{cursor:wait}.next-level-slide[data-state=error]{background:#f8ede7;color:#823d32}.next-level-slide[data-state=error] .slide-copy span{color:#823d32}.slide-spinner{animation:slide-spin 1s linear infinite}@keyframes slide-spin{to{transform:rotate(360deg)}}@keyframes slide-confirm{50%{transform:scale(.96)}}.completion-summary{display:flex;align-items:center;gap:8px;color:#385548}.completion-summary>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.completion-summary strong,.completion-best{flex-shrink:0}.completion-summary strong{font-variant-numeric:tabular-nums}.completion-best{font-size:9px;font-weight:750;color:#526742}.board-stage{--p: var(--level-transition-progress, 0);--old-front: calc(var(--p) * 1.25);--new-front: calc((var(--p) - .08) * 1.0869565);position:relative;display:grid;place-items:center;overflow:hidden}.board-transition-layer{grid-area:1 / 1;width:100%;display:grid;place-items:center}.board-transition-new-layer{pointer-events:none}.cell.board-transition-old,.cell.board-transition-new{will-change:transform,opacity;transform-origin:center}.cell.board-transition-old{--delta: calc(var(--transition-cell) - var(--old-front));opacity:clamp(0,calc(var(--delta) * 8 + .5),1);transform:scale(clamp(.86,calc(var(--delta) * 1.8 + .95),1))}.cell.board-transition-new{--delta: calc(var(--new-front) - var(--transition-cell));opacity:clamp(0,calc(var(--delta) * 8 + .5),1);transform:scale(clamp(.86,calc(var(--delta) * 1.8 + .95),1))}.board-assembling .cell.board-transition-new{animation:none!important}.board .celebrating-cat .cat-idle-body{animation:cat-victory 2.4s ease-in-out infinite;animation-play-state:running}.page-hidden .board .celebrating-cat *,.page-hidden .slide-spinner{animation-play-state:paused}@media(max-width:380px),(max-height:620px){.action-dock{--action-height: 42px}}@media(orientation:landscape)and (max-height:620px){.action-dock{--action-height: 48px}}@media(prefers-reduced-motion:reduce){.action-dock *,.board-stage{transition:none!important}.slide-spinner,.next-level-slide[data-state=confirmed] .slide-handle-face,.board .celebrating-cat *{animation:none!important}}.achievement-button{position:relative}.achievement-attention{animation:achievement-button-bump .7s cubic-bezier(.2,.9,.2,1.15)}.achievement-gain{position:absolute;top:1px;right:0;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:#9a675f;color:#fffdf9;box-shadow:0 2px 7px #342c2324;font-size:9px;line-height:1;font-weight:900;pointer-events:none;animation:achievement-gain-in .42s cubic-bezier(.2,.9,.2,1.15)}.achievement-inline{display:flex;align-items:center;gap:6px;color:#6d5b4f;animation:achievement-inline-in .34s ease-out}.achievement-inline>span:first-child{flex:0 0 auto;color:#9a675f}.achievement-inline strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5f584f;font-size:10px}@keyframes achievement-button-bump{0%,to{transform:translateY(0) scale(1)}38%{transform:translateY(-3px) scale(1.12)}68%{transform:translateY(1px) scale(.98)}}@keyframes achievement-gain-in{0%{opacity:0;transform:translateY(4px) scale(.72)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes achievement-inline-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.achievement-attention,.achievement-gain,.achievement-inline{animation:none!important}}
