:root{color:#eeeade;font-synthesis:none;--ink:#37432f;--green:#596f45;--cream:#f3f0e5;--serif:Georgia,"Songti SC",SimSun,serif;background:#c9c5b7;font-family:Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #cfb985}button svg{flex-shrink:0;width:19px;height:19px}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.game,.viewport{width:100%;height:100%;height:100dvh;position:fixed;inset:0}.scene{cursor:default;touch-action:none;outline:none;width:100%;height:100%;display:block}.game[data-mode=manual] .scene{cursor:grab}.game[data-mode=manual] .scene.dragging{cursor:grabbing}.game[data-mode=camera] .scene{cursor:crosshair}.vignette{pointer-events:none;background:linear-gradient(#22271e42,#0000 18% 80%,#242a204f),radial-gradient(#0000 60%,#242a201c 100%);position:absolute;inset:0}.hud-header{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:absolute;top:26px;left:30px;right:30px}.chapter{text-shadow:0 2px 8px #20281b80;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.brand-mark{border:1px solid #e6e2cd8a;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.chapter h1{font:23px var(--serif);letter-spacing:4px;margin:0 0 6px}.chapter p{letter-spacing:2px;color:#f4ebd1b8;margin:0;font:10px monospace}.chapter p span{letter-spacing:2px;margin-left:11px;font:10px Microsoft YaHei,sans-serif}.top-actions{pointer-events:auto;align-items:center;gap:10px;display:flex}.round-button{border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.mode-button{letter-spacing:.4px;border-radius:23px;align-items:center;gap:8px;height:42px;padding:0 17px;font-size:11px;display:flex}.dot{background:#c5c6af;border-radius:50%;width:6px;height:6px;display:inline-block}.collection{min-width:224px;color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;background:#f5f0e3e8;border:1px solid #fff8eec2;border-radius:12px;padding:13px 20px 12px;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #352e2121}.collection-heading{letter-spacing:1.5px;color:#7b816d;justify-content:space-between;align-items:baseline;gap:35px;margin-bottom:9px;font-size:10px;display:flex}.collection-heading strong{font:23px var(--serif);color:#5b7148;letter-spacing:0;line-height:1}.collection-heading small{color:#939a81;font:11px sans-serif}.cat-list{justify-content:space-between;gap:12px;display:flex}.cat-slot{text-align:center;color:#a5aa97;min-width:24px;position:relative}.cat-slot svg{opacity:.5;width:24px;height:24px}.cat-slot span{display:none}.cat-slot.found{color:#657c4d}.cat-slot.found:after{content:"✓";color:#fff;background:#657c4d;border-radius:50%;width:11px;height:11px;font-size:8px;line-height:11px;position:absolute;top:-2px;right:-4px}.hint-dock{max-width:260px;position:absolute;bottom:28px;left:30px}.hud-button{border-radius:23px;align-items:center;gap:8px;padding:11px 17px;font-size:11px;display:flex}.bottom-actions{gap:10px;display:flex;position:absolute;bottom:28px;right:30px}.bottom-guide{text-align:center;pointer-events:none;text-shadow:0 1px 8px #2f3522,0 1px 3px #2f3522;width:min(420px,100% - 390px);position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.bottom-guide>p{letter-spacing:.8px;margin:0 0 5px;font-size:11px}.tracking-status{color:#eeeacfbc;font-size:10px;line-height:1.7}.tracking-status.error{color:#ffe0c1}.tracking-progress{background:#e6e8d73b;border-radius:3px;width:180px;height:3px;margin:8px auto 0;overflow:hidden}.tracking-progress span{background:#d2dfae;width:0;height:100%;transition:width .15s;display:block}.game.tutorial-open .bottom-guide{display:none}.tutorial{width:min(420px,100% - 40px);color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8f4e9f5;border:1px solid #fffaf0bd;border-radius:12px;padding:18px 22px;position:absolute;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #2a342835}.tutorial-top,.tutorial-bottom{justify-content:space-between;align-items:center;display:flex}.eyebrow{color:#8f9a7d;letter-spacing:2px;font-size:10px;display:block}.tutorial-top .text-button{color:#929781;padding:0;font-size:10px}.tutorial-content{align-items:center;gap:15px;margin:16px 0;display:flex}.tutorial-icon{color:#7d9265;flex-shrink:0;place-items:center;width:43px;height:49px;display:grid}.tutorial-icon svg{stroke-width:1.1px;width:38px;height:38px}.tutorial h2{letter-spacing:1px;margin:0 0 6px;font-size:16px;font-weight:500}.tutorial p{color:#808875;margin:0;font-size:11px;line-height:1.9}.tutorial-dots{gap:5px;display:flex}.tutorial-dots i{background:#d6dccb;border-radius:5px;width:5px;height:5px}.tutorial-dots i.active{background:#84996c;width:18px}.next-button{color:#61774b;background:0 0;align-items:center;gap:7px;padding:4px 0;font-size:11px;display:flex}.next-button svg{width:15px;height:15px}.text-button{color:#7e896d;background:0 0;align-items:center;gap:7px;padding:7px 0;font-size:11px;display:inline-flex}dialog{color:var(--ink);background:#f6f2e7;border:1px solid #fffcf1;border-radius:17px;width:min(420px,100% - 32px);max-height:calc(100dvh - 38px);padding:28px;overflow:auto;box-shadow:0 25px 100px #17231455}dialog h2{font:30px var(--serif);letter-spacing:2px;margin:9px 0 15px;line-height:1.5}dialog p{color:#7b856b;font-size:12px;line-height:1.95}dialog .close-dialog{color:#919a82;background:0 0;padding:4px;font-size:25px;line-height:1;position:absolute;top:12px;right:16px}.welcome-dialog,.win-dialog{text-align:center;padding:32px 35px 23px}.welcome-emblem{color:#82956b;border:1px solid #d3dbc6;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 18px;display:grid}.welcome-emblem svg{stroke-width:1.1px;width:31px;height:31px}.welcome-dialog h2{font-size:30px}.welcome-copy{margin:0 0 25px}.primary-button,.secondary-button{border-radius:7px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:44px;padding:12px 14px;font-size:12px;display:flex}.primary-button{color:#fffdee;background:#62784d;border:1px solid #62784d}.secondary-button{color:#758462;background:0 0;border:1px solid #ccd4bd}.welcome-dialog .primary-button{justify-content:space-between;font-size:12px}.privacy{margin:15px 0 0;color:#969e89!important;font-size:10px!important;line-height:1.6!important}.privacy svg{vertical-align:-1px;width:11px;height:11px;margin-right:3px}.settings-dialog{width:min(410px,100% - 28px);padding:27px}.settings-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#24331e39}.settings-dialog h2{margin-bottom:18px;font-size:25px}.settings-section h3{letter-spacing:1px;margin:0 0 12px;font-size:11px;font-weight:500}.camera-preview{background:#e5e8db;border:1px solid #d9dfcd;border-radius:6px;place-items:center;width:100%;height:128px;display:grid;position:relative;overflow:hidden}.camera-preview video,.camera-preview canvas{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.camera-preview video{opacity:.85;transform:scaleX(-1)}.camera-preview canvas{pointer-events:none}.camera-placeholder{text-align:center;color:#8e9c7c}.camera-placeholder svg{stroke-width:1px;width:38px;height:38px}.camera-placeholder p{margin:1px 0 0;font-size:9px}.live-indicator{color:#7e8b6b;background:#f2f4e7cc;border-radius:3px;padding:3px 5px;font:8px monospace;position:absolute;top:7px;right:7px}.button-row{gap:7px;margin-top:9px;display:flex}.button-row button{flex:1;padding:10px 7px;font-size:11px}.settings-status{margin:9px 0 0;font-size:10px!important;line-height:1.8!important}.field{margin:13px 0;display:block}.field-label{color:#839073;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.field-label output{color:#667d50;font-family:monospace}input[type=range]{accent-color:#819769;cursor:pointer;width:100%;height:3px;margin:6px 0}.field select{color:#72865c;background:#fafbf5;border:1px solid #d2dac5;border-radius:4px;width:100%;max-width:100%;padding:8px;font-size:11px}.switch-row{color:#7c876e;justify-content:space-between;align-items:center;margin:14px 0;font-size:11px;display:flex}.switch-row input{accent-color:#708854}details{color:#8a957b;margin-top:16px;font-size:11px}summary{cursor:pointer;-webkit-user-select:none;user-select:none}details p{font-size:10px;line-height:1.8}.diagnostics{color:#96a087;justify-content:space-between;margin:16px 0 7px;font:10px monospace;display:flex}.view-pad{background:linear-gradient(90deg,#0000 49.5%,#d5ddca 50%,#0000 50.5%),linear-gradient(#0000 49%,#d5ddca 50%,#0000 51%);border:1px solid #dce2d1;border-radius:4px;height:45px;position:relative;overflow:hidden}.view-pad i{background:#a6b690;border:1px solid #6b8253;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.view-pad span{color:#a2ac94;font:8px monospace;position:absolute;bottom:3px;right:5px}.settings-footer{border-top:1px solid #dce0d0;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:18px;display:flex}.settings-footer .primary-button{width:auto;min-width:112px}.win-dialog .primary-button{margin-top:23px}.toast{color:#63774b;text-align:center;z-index:5;opacity:0;pointer-events:none;background:#f5f0e5f5;border:1px solid #fff8e5;border-radius:22px;max-width:min(440px,90vw);padding:11px 23px;font-size:12px;line-height:1.8;transition:opacity .2s,transform .2s;position:fixed;top:140px;left:50%;transform:translate(-50%,-10px);box-shadow:0 5px 25px #25312026}.toast.show{opacity:1;transform:translate(-50%)}.error-overlay{text-align:center;color:#647456;background:#e9e8dc;place-content:center;padding:35px;font-size:12px;line-height:2;display:grid;position:absolute;inset:0}.error-overlay h2{font-family:var(--serif);font-size:22px}@media (max-width:900px){.hud-header{top:20px;left:22px;right:22px}.chapter h1{font-size:20px}.chapter{gap:9px}.brand-mark{width:34px;height:34px}.collection{min-width:198px;padding:11px 15px}.cat-list{gap:10px}.cat-slot svg{width:21px;height:21px}.mode-button{padding:0 13px;font-size:10px}.bottom-actions{bottom:22px;right:22px}.hint-dock{max-width:210px;bottom:22px;left:22px}.bottom-guide{width:calc(100% - 380px);bottom:23px}.bottom-guide p{font-size:10px}.round-button,.mode-button{height:38px}.round-button{width:38px}.tutorial{width:360px;bottom:20px}}@media (max-width:600px){.hud-header{gap:9px;top:18px;left:16px;right:16px}.chapter h1{font-size:19px}.chapter p{letter-spacing:1px;font-size:8px}.chapter p span{letter-spacing:1px;margin-left:6px;font-size:8px}.brand-mark{display:none}.collection{border-radius:10px;min-width:185px;padding:10px 15px;top:61px}.collection-heading{margin-bottom:7px;font-size:9px}.cat-slot svg{width:20px;height:20px}.collection-heading strong{font-size:20px}.top-actions{gap:7px}.mode-button{gap:6px;padding:0 10px;font-size:10px}.round-button svg{width:17px;height:17px}.hint-dock{max-width:calc(100% - 32px);bottom:22px;left:16px}.hud-button{padding:10px 13px;font-size:10px}.bottom-actions{gap:8px;bottom:22px;right:16px}.bottom-guide{width:calc(100% - 36px);bottom:77px}.bottom-guide p{font-size:10px}.tutorial{width:calc(100% - 32px);padding:16px 19px;bottom:78px}.tutorial h2{font-size:15px}.tutorial-content{margin:13px 0}.tutorial p{font-size:11px}.toast{width:max-content;font-size:11px;top:162px}.welcome-dialog{padding:26px 25px 20px}.welcome-dialog h2{font-size:27px}.welcome-copy{margin-bottom:21px;font-size:11px}.settings-dialog{padding:23px}.welcome-emblem{width:50px;height:50px;margin-bottom:15px}}@media (max-height:570px) and (min-width:601px){.hud-header{top:15px;left:20px;right:20px}.collection{min-width:190px;padding:8px 15px}.collection-heading{margin-bottom:5px}.cat-slot svg{width:19px;height:19px}.chapter h1{font-size:19px}.tutorial{width:340px;padding:12px 17px;bottom:15px}.tutorial-content{margin:9px 0}.tutorial h2{font-size:14px}.tutorial p{font-size:10px}.tutorial-icon svg{width:30px;height:30px}.toast{top:100px}.welcome-dialog{width:420px;padding:22px 29px}.welcome-emblem{display:none}.welcome-dialog h2{margin:9px 0;font-size:25px}.welcome-dialog .welcome-copy{margin-bottom:15px;font-size:11px}.welcome-dialog h2 br,.welcome-copy br{display:none}.privacy{margin-top:10px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.tutorial p.tutorial-live{color:#8a957b;border-top:1px solid #d9dfcf;margin-bottom:8px;padding-top:7px;font-size:10px}:root{--cat-paper:#fff6e5;--cat-outline:#d4bda0;--cat-ink:#745740;--cat-muted:#8c7b65;--cat-peach:#edbd93;--cat-sage:#aebf96;--ink:var(--cat-ink);--green:#71865d;--serif:"Microsoft YaHei UI", "Microsoft YaHei", sans-serif}button{-webkit-tap-highlight-color:transparent}button:hover{filter:none}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#bd855b}.eyebrow{color:#9b7957;letter-spacing:1.4px;font-size:10px}.chapter{text-shadow:0 2px 3px #624b303d;gap:11px}.chapter h1{letter-spacing:2px;color:#fff3d8;font-size:25px;font-weight:800}.brand-mark{background:#fff1d8;border:2px solid #ecd5b5;border-radius:19px;width:53px;height:53px;transform:rotate(-7deg);box-shadow:0 4px #98765360}.brand-mark svg{width:44px;height:44px}.round-button,.mode-button,.hud-button{color:var(--cat-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff4dfef;border:2px solid #d6c2a3;transition:transform .16s,background .16s,box-shadow .16s;box-shadow:0 3px #a58c6673,0 5px 12px #533e2021}.round-button:hover,.mode-button:hover,.hud-button:hover{background:#ffedcc;transform:translateY(-2px)}.round-button:active,.mode-button:active,.hud-button:active{transform:translateY(2px);box-shadow:0 1px #a58c6655}.round-button{border-radius:17px;width:45px;height:45px}.round-button svg,.hud-button svg{stroke-width:1.8px}.mode-button{height:44px;padding:0 17px;font-size:11px;font-weight:600}.dot{background:#c4ad88}.dot.live{background:#829966;box-shadow:0 0 0 3px #8299661f}.hud-button{border-radius:20px;min-height:44px;font-weight:600}#hint svg{color:#a97950;width:22px;height:22px}.collection{border:2px solid var(--cat-outline);background:#fff5e3f5;border-radius:23px;min-width:274px;padding:11px 18px 10px;box-shadow:0 4px #a68c6650,0 9px 22px #55462c1a}.collection-heading{color:#9a7d5b;letter-spacing:.5px;gap:40px;margin-bottom:6px;font-size:11px}.collection-heading>span{align-items:center;gap:6px;display:flex}.collection-heading>span svg{color:#c0986d;width:14px;height:14px}.collection-heading strong{color:#9a7750;font-size:23px;font-weight:800}.collection-heading small{color:#a3947e;font-size:11px}.cat-list{gap:7px}.cat-slot{color:#ad9b80;width:38px;min-width:38px}.cat-slot svg{opacity:.52;width:36px;height:36px;margin:auto;display:block}.cat-slot:not(.found) .cat-fur{fill:#d7c9b2}.cat-slot:not(.found) svg{filter:saturate(.18)}.cat-slot span{color:#a9987c;margin-top:2px;font-size:9px;line-height:12px;display:block}.cat-slot.found svg{opacity:1}.cat-slot.found span{color:#88704f;font-weight:600}.cat-slot.found:after{color:#fff9e9;background:#91a475;border:1px solid #fff5e3;width:13px;height:13px;font-size:9px;line-height:11px;top:0;right:-2px}.cat-slot.just-found{animation:.45s ease-out cat-found}@keyframes cat-found{0%{transform:scale(.8)rotate(-12deg)}55%{transform:scale(1.17)rotate(6deg)}to{transform:scale(1)}}.bottom-guide{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);width:auto;min-width:300px;max-width:calc(100% - 440px);text-shadow:none;background:#514c38a1;border:1px solid #eee0bf66;border-radius:24px;padding:10px 21px}.bottom-guide>p{color:#fff3d9;letter-spacing:.4px;font-size:11px}.tracking-status{color:#ebdfc5;font-size:10px}.tracking-progress{background:#ffedd13b}.tracking-progress span{background:#e8be90;border-radius:3px}dialog,.welcome-dialog,.settings-dialog,.win-dialog{box-shadow:none;width:min(440px,100% - 24px);max-height:calc(100dvh - 24px);color:var(--cat-ink);background:0 0;border:0;border-radius:0;padding:26px 6px 10px}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#453e303b}.welcome-dialog::backdrop{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#453e3030}.cat-panel{position:relative}.panel-ears{pointer-events:none;width:100%;height:42px;position:absolute;top:-26px;left:0}.dialog-content{background:var(--cat-paper);border:2px solid var(--cat-outline);border-radius:29px;padding:27px 30px 25px;position:relative;box-shadow:inset 0 -4px #e7d9bf73}.welcome-dialog .dialog-content,.win-dialog .dialog-content{padding:24px 33px 23px}dialog h2{letter-spacing:1px;color:#795a40;font-size:26px;font-weight:800;line-height:1.55}.welcome-dialog h2{margin:12px 0;font-size:29px}dialog p{color:#947e65;font-size:12px}dialog .close-dialog{color:#b49c7e;z-index:2;background:#faf0dd;border:1px solid #e7d7bd;border-radius:50%;width:29px;height:29px;padding:0;font-size:22px;top:13px;right:13px}dialog .close-dialog:hover{color:#8f6a4e;background:#f2dfc8}.welcome-emblem{border:0;width:166px;height:104px;margin:0 auto 10px}.welcome-emblem svg.peekaboo-cat{width:166px;height:104px;stroke-width:initial}.welcome-dialog .eyebrow,.win-dialog .eyebrow{color:#ac8a60;letter-spacing:1px;background:#f3e5c8;border-radius:15px;padding:5px 12px;font-size:10px;display:inline-block}.welcome-copy{margin:0 0 23px;line-height:1.85}.primary-button,.secondary-button{border-radius:17px;min-height:46px;font-size:12px;font-weight:600;transition:transform .16s,background .16s,box-shadow .16s}.primary-button{background:var(--cat-peach);color:#725136;border:2px solid #cb9b72;padding:12px 13px;box-shadow:0 3px #cda581}.primary-button:hover:not(:disabled){background:#f1caa5;transform:translateY(-1px)}.primary-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #cda581}.secondary-button{color:#7a8863;background:#edf0dd;border:2px solid #c1cba7;box-shadow:0 2px #bec9a980}.secondary-button:hover{background:#e1e8cd;transform:translateY(-1px)}.secondary-button:active{box-shadow:none;transform:translateY(2px)}.welcome-dialog .secondary-button{margin-top:13px}.privacy{margin-top:18px;color:#a69780!important;font-size:9px!important}.settings-dialog{width:min(430px,100% - 24px)}.settings-dialog h2{margin-top:7px;margin-bottom:15px;font-size:25px}.settings-section{border-top:1px dashed #ddccb0;margin-top:14px;padding-top:14px}.settings-section h3{color:#a28560;font-size:11px;font-weight:600}.camera-preview{background:#efeada;border:2px solid #dbcfb6;border-radius:16px}.camera-placeholder{color:#a2997c}.camera-placeholder svg{width:41px;height:41px}.live-indicator{color:#9a8c70;background:#fff4dcdf;border-radius:7px;padding:4px 6px}.button-row{gap:9px;margin-top:11px}.button-row button{border-radius:13px;min-height:42px;font-size:10px}.button-row button svg{width:16px;height:16px}.settings-status{color:#9a886d}.field-label{color:#958369;font-size:11px}.field-label output{color:#a17e55;background:#f2e5ca;border-radius:6px;padding:2px 6px;font-size:10px}input[type=range]{appearance:none;accent-color:#aaba8e;background:#e5dac2;border-radius:6px;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;cursor:grab;background:#b1c096;border:2px solid #fff5e2;border-radius:7px;width:17px;height:17px;box-shadow:0 1px 3px #7c8e6155}input[type=range]::-moz-range-thumb{background:#b1c096;border:2px solid #fff5e2;border-radius:7px;width:13px;height:13px}.field select{color:#967c5f;background:#fbf2df;border-color:#dbc9ab;border-radius:10px}.switch-row{color:#99866c}details{color:#a18e72}.settings-footer{border-top:1px dashed #ddccb0}.settings-footer .primary-button{min-width:115px}.text-button{color:#a48762}.diagnostics{color:#aa9a80}.view-pad{border-color:#e0d4ba;border-radius:10px}.tutorial{border:2px solid var(--cat-outline);background:#fff5e4f7;border-radius:23px;padding:17px 21px;box-shadow:0 4px #ac927150,0 10px 25px #4c3e2822}.tutorial-top .eyebrow{color:#b08b61;font-size:10px}.tutorial-top .text-button{color:#aa9a80;font-size:10px}.tutorial-content{gap:15px;margin:15px 0}.tutorial-icon{flex-shrink:0;width:51px;height:54px;position:relative}.tutorial-icon>svg.cat-portrait{width:51px;height:51px}.lesson-symbol{color:#a7895e;background:#f1e1c2;border:1px solid #d6c09e;border-radius:50%;place-items:center;width:23px;height:23px;display:grid;position:absolute;bottom:-4px;right:-4px}.lesson-symbol svg{width:13px;height:13px}.tutorial h2{color:#886846;font-size:15px;font-weight:700}.tutorial p{color:#998469;font-size:11px}.tutorial-dots{gap:7px}.tutorial-dots i,.tutorial-dots i.active{color:#ddceb4;background:0 0;border-radius:0;width:15px;height:17px;display:block}.tutorial-dots i.active{color:#b19168;transform:rotate(-12deg)}.tutorial-dots svg{width:15px;height:17px;display:block}.next-button{color:#9b7d52;font-size:11px;font-weight:600}.tutorial p.tutorial-live{color:#a38f70;border-color:#e3d3b8}.toast{color:#987447;background:#fff0d5f5;border:2px solid #d9bc92;border-radius:20px;justify-content:center;align-items:center;gap:9px;display:flex;box-shadow:0 3px #b1946847,0 6px 22px #58402120}.toast-paw{color:#c29b69;place-items:center;display:grid}.toast-paw svg{width:20px;height:20px}.celebration-cats{justify-content:center;gap:2px;margin:5px 0 18px;display:flex}.celebration-cats svg{width:51px;height:57px}.celebration-cats svg:nth-child(odd){transform:translateY(5px)rotate(-8deg)}.celebration-cats svg:nth-child(2n){transform:rotate(8deg)}.win-dialog h2{font-weight:800}@media (max-width:900px){.brand-mark{border-radius:15px;width:43px;height:43px}.brand-mark svg{width:36px;height:36px}.chapter h1{font-size:22px}.collection{min-width:252px;padding:10px 14px}.cat-slot{width:35px;min-width:35px}.cat-slot svg{width:33px;height:33px}.round-button{border-radius:15px;width:41px;height:41px}.mode-button{height:41px;padding:0 13px;font-size:10px}.bottom-guide{min-width:0;max-width:calc(100% - 365px);padding:9px 14px}}@media (max-width:700px){.brand-mark{display:none}.chapter h1{font-size:20px}.collection{border-radius:20px;min-width:232px;padding:9px 13px;top:65px}.collection-heading{font-size:10px}.collection-heading strong{font-size:21px}.cat-slot{width:32px;min-width:32px}.cat-slot svg{width:30px;height:30px}.cat-slot span{font-size:8px}}@media (max-width:600px){.chapter h1{letter-spacing:1px;margin-bottom:6px;font-size:21px}.mode-button{height:39px;padding:0 11px;font-size:10px}.round-button{border-radius:14px;width:39px;height:39px}.collection{top:64px}.hud-button{min-height:41px;padding:9px 12px;font-size:11px}.bottom-guide{border-radius:19px;width:calc(100% - 32px);min-width:0;max-width:360px;padding:9px 14px;bottom:77px}.toast{max-width:calc(100% - 32px);padding:9px 14px;font-size:11px;top:197px}.dialog-content{border-radius:25px;padding:24px 21px 21px}.welcome-dialog .dialog-content,.win-dialog .dialog-content{padding:21px 23px 22px}.welcome-emblem,.welcome-emblem svg.peekaboo-cat{width:146px;height:91px}.welcome-dialog h2{font-size:26px}.welcome-copy{margin-bottom:19px;font-size:11px}.primary-button,.secondary-button{border-radius:15px;font-size:11px}.tutorial{border-radius:22px;padding:15px 18px}.tutorial h2{font-size:14px}.tutorial-content{gap:12px}.tutorial-icon,.tutorial-icon>svg.cat-portrait{width:45px;height:48px}.tutorial p{font-size:10px}.celebration-cats svg{width:45px;height:51px}}@media (max-height:570px) and (min-width:601px){.collection{min-width:218px;padding:7px 12px;top:0}.cat-slot{width:30px;min-width:30px}.cat-slot svg{width:25px;height:25px}.cat-slot span{font-size:8px;line-height:9px}.collection-heading{margin-bottom:3px}.welcome-dialog .dialog-content{padding:22px 28px}.welcome-emblem{display:none}.welcome-dialog h2{margin:11px 0;font-size:24px}.tutorial{padding:12px 16px}.tutorial-content{margin:10px 0}.tutorial-icon,.tutorial-icon>svg.cat-portrait{width:40px;height:42px}.toast{top:120px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root{--cat-paper:#f4e7cf;--cat-outline:#b9a589;--cat-ink:#3e384b;--cat-muted:#827366;--cat-peach:#d39475;--cat-sage:#94afa1}.vignette{background:linear-gradient(#eee2cded,#eee2cd66 11%,#0000 20% 83%,#eee2cdcc 100%)}.chapter{text-shadow:none}.chapter h1{color:#3e384b;font-weight:650}.chapter p{color:#74695d}.brand-mark{background:#f4e7cf;border:1px solid #ad9781;border-radius:7px;transform:rotate(-4deg);box-shadow:3px 3px #b4a28766}.round-button,.mode-button,.hud-button,.language-button{color:#3e384b;background:#f4e7cfee;border:1px solid #b9a589;border-radius:7px;box-shadow:2px 3px #8e79652b}.round-button:hover,.mode-button:hover,.hud-button:hover{background:#faf0dc}#hint{background:#f4e7cf;border-color:#a18a73}#hint svg{color:#a56350}#settings-open{color:#47675d;background:#d8e2d4;border-color:#a1afa0}#help{color:#775143;background:#e6c5ae;border-color:#b99a81}.collection{background:#f4e7cff5;border:1px solid #b9a589;border-radius:7px;box-shadow:3px 4px #95816c33}.collection-heading,.collection-heading strong{color:#453b4d}.collection-heading>span svg{color:#bb775c}.cat-slot.found span{color:#453b4d}.cat-slot.found:after{background:#658877}.bottom-guide{background:#3e384bdf;border:1px solid #d3c2a6;border-radius:6px}.dialog-content,.tutorial{background:#f4e7cf;border:1px solid #b9a589;border-radius:9px;box-shadow:4px 5px #8b776c3b}dialog h2,.tutorial h2{color:#3e384b}.panel-ears{display:none}.primary-button,.secondary-button{border-width:1px;border-radius:6px}.primary-button{color:#3e384b;background:#d39475;border-color:#a97458;box-shadow:2px 3px #a9745833}.secondary-button{color:#456357;background:#d4dfd1;border-color:#9dac99;box-shadow:2px 3px #9dac9944}.toast{color:#453b4d;background:#f4e7cf;border-width:1px;border-radius:6px}@media (max-width:600px){.chapter h1{font-size:20px}.collection,.bottom-guide,.dialog-content,.tutorial{border-radius:7px}}.language-button{color:#856648;background:#fff4dfed;border:1px solid #d5bea0;border-radius:13px;place-items:center;min-width:43px;min-height:36px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-grid}.language-button:hover{background:#f4dfbf}.welcome-language{margin-top:13px}.welcome-language .language-button{background:0 0;border-color:#e5d5b9;min-height:30px}.language-field{justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.language-field select{font:inherit;color:#856648;background:#faf0db;border:1px solid #d5bea0;border-radius:10px;padding:7px 10px}.depth-readout{color:#746248;background:#efe8d8;border:1px dashed #cab89c;border-radius:9px;margin-top:16px;padding:11px 13px;font-size:11px}.depth-readout>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.depth-readout output{font-variant-numeric:tabular-nums;white-space:nowrap;color:#526952;font-size:15px;font-weight:700}.depth-readout>span{color:#62725c;margin-top:4px;font-size:10px;display:block}.depth-readout p{margin:7px 0 0;font-size:10px;line-height:1.6}.welcome-dialog h2,.welcome-copy{white-space:pre-line}.chapter>div:last-child{min-width:0}html[lang=en] .chapter h1{letter-spacing:-.6px;font-size:23px}html[lang=en] .chapter p span{letter-spacing:.6px}html[lang=en] .welcome-dialog h2{letter-spacing:-.6px;font-size:25px;line-height:1.4}html[lang=en] .eyebrow{letter-spacing:.5px}html[lang=en] .tutorial h2,html[lang=en] .collection-heading{letter-spacing:0}.cat-slot span{overflow-wrap:anywhere}.hud-header,.hint-dock,.bottom-actions,.bottom-guide,.tutorial{z-index:2}#hint:disabled{cursor:default}.meow-effect{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;width:0;height:0;position:fixed}.meow-bubble{color:#96623d;text-align:center;letter-spacing:.6px;background:#fff6df;border:2px solid #d0ab7e;border-radius:48% 52% 46% 44%/52% 47% 53% 48%;width:max-content;min-width:74px;padding:11px 18px;font-size:22px;font-weight:800;animation:3.2s ease-out both meow-rise;display:block;position:relative;transform:translate(-50%,-35px);box-shadow:0 4px #9c75572a,0 5px 22px #58412c20}.meow-bubble:before,.meow-bubble:after{content:"";background:#fff6df;border:2px solid #d0ab7e;border-radius:50%;position:absolute}.meow-bubble:before{width:12px;height:10px;bottom:-14px;left:27%}.meow-bubble:after{width:5px;height:5px;bottom:-25px;left:18%}@keyframes meow-rise{0%{opacity:0;transform:translate(-50%)scale(.55)rotate(-8deg)}12%{opacity:1;transform:translate(-50%,-28px)scale(1.08)rotate(4deg)}24%{opacity:1;transform:translate(-50%,-38px)scale(1)rotate(-3deg)}76%{opacity:1;transform:translate(-50%,-70px)scale(1)rotate(3deg)}to{opacity:0;transform:translate(-50%,-100px)scale(.92)rotate(0)}}@media (max-width:1100px){.collection{top:65px}.toast{top:202px}}@media (max-width:600px){.language-button{min-width:34px;min-height:34px;padding:4px 6px;font-size:10px}.top-actions{gap:6px}.mode-button{text-align:center;gap:5px;max-width:105px;padding:0 10px;line-height:1.3}.chapter{min-width:0}.chapter h1{max-width:145px}html[lang=en] .chapter h1{max-width:134px;font-size:17px;line-height:1.15}html[lang=en] .chapter p span{letter-spacing:0;margin-left:4px;font-size:7px}.chapter p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.collection{top:69px}.meow-bubble{min-width:65px;padding:9px 14px;font-size:19px}html[lang=en] .welcome-dialog h2{font-size:24px}.welcome-copy{font-size:12px}.welcome-language{margin-top:9px}}@media (max-height:570px) and (min-width:701px){.collection{top:0}html[lang=en] .chapter h1{max-width:148px;font-size:18px}.chapter p span{letter-spacing:0}.top-actions{gap:6px}.mode-button{max-width:111px;line-height:1.3}.welcome-dialog h2,.welcome-copy{white-space:normal}.welcome-language{margin-top:7px}}@media (prefers-reduced-motion:reduce){.meow-bubble{animation:none;transform:translate(-50%,-35px)}}.level-trigger{pointer-events:auto;color:#74695d;text-align:left;background:0 0;border:0;align-items:center;gap:8px;margin-top:5px;padding:4px 0;font-size:12px;display:flex}.level-trigger svg{width:16px;height:16px}.level-trigger:hover{color:#a56350}.levels-dialog{width:min(680px,100vw - 30px)}.levels-dialog .dialog-content{padding:30px}.levels-copy{color:#827366;margin:10px 0 22px;font-size:13px;line-height:1.7}.level-grid{text-align:left;grid-template-columns:1fr 1fr;gap:12px;display:grid}.level-card{text-align:left;color:#3e384b;background:#f9eed9;border:1px solid #c4b196;border-radius:7px;grid-template-columns:46px 1fr;gap:12px;padding:16px;display:grid;box-shadow:2px 3px #ad977830}.level-card:hover{background:#fff7e7;transform:translateY(-1px)}.level-card[aria-current=true]{background:#e2e9d9;border-color:#648574}.level-card[data-level=park]{grid-column:1/-1}.level-emblem{background:#d4dfd1;border:1px solid #a5b3a0;border-radius:20px 20px 5px 5px;place-items:center;width:46px;height:52px;display:grid}.level-card[data-level=bedroom] .level-emblem{background:#e8c9b5;border-color:#c8a58d}.level-card[data-level=study] .level-emblem{background:#ead7a6;border-color:#c3aa70}.level-card[data-level=cafe] .level-emblem{background:#d99c7e;border-color:#b78068}.level-emblem svg{width:26px;height:26px}.level-card strong{font-size:15px;font-weight:600;line-height:1.5;display:block}.level-card small{color:#827366;min-height:36px;margin:5px 0 11px;font-size:11px;line-height:1.6;display:block}.level-card em{color:#648574;font-size:11px;font-style:normal;display:block}.level-card b{letter-spacing:1px;color:#a18a73;margin-right:6px;font-size:10px}#win-dialog #play-again{margin-top:10px}@media (max-width:600px){.level-trigger{gap:4px;margin-top:2px;font-size:10px}.level-trigger svg{width:12px;height:12px}.levels-dialog .dialog-content{padding:24px 18px}.level-grid{grid-template-columns:1fr;gap:9px}.level-card{padding:12px}.level-card small{min-height:0;margin:2px 0 5px}.levels-copy{margin-bottom:15px}}.level-loading{z-index:10;color:#393447;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#eee3ceeb;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.level-loading[hidden]{display:none}.loading-paw svg{color:#73958b;width:38px;height:38px}.level-loading p{margin:0}.level-loading button{color:inherit;cursor:pointer;background:#f8eedb;border:1px solid #a69b84;border-radius:9px;padding:10px 20px}.calibration-overlay{z-index:5;text-align:center;color:#3e384b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#fff5e3f7;border:2px solid #d3bea0;border-radius:28px;width:min(540px,100% - 40px);padding:32px 36px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 70px #30273430,0 4px #b6a08440}.calibration-paw{color:#9c7958;background:#eddec6;border-radius:50%;place-items:center;width:58px;height:58px;display:inline-grid}.calibration-paw svg{width:32px;height:32px;transform:rotate(-12deg)}.calibration-overlay h2{letter-spacing:-.5px;margin:17px 0 12px;font-size:clamp(26px,3vw,36px);line-height:1.2}.calibration-overlay p{color:#75634f;min-height:3.3em;margin:0;font-size:clamp(17px,2vw,21px);line-height:1.65}.calibration-overlay .tracking-progress{background:#dfd4c0;border-radius:9px;width:100%;height:8px;margin:24px auto 0}.calibration-overlay .tracking-progress span{border-radius:inherit;background:#8e9f7b}.game.calibrating .bottom-guide{display:none}.eye-mirror{z-index:2;pointer-events:none;background:#f6ead7;border:1px solid #cbb899;border-radius:16px;width:216px;padding:7px;position:absolute;top:94px;right:30px;box-shadow:0 5px 18px #30273420}.mirror-heading{color:#766149;justify-content:space-between;align-items:center;gap:7px;padding:2px 4px 8px;font-size:11px;font-weight:600;display:flex}.mirror-status{color:#626e51;align-items:center;gap:4px;font-size:9px;font-weight:400;display:inline-flex}.mirror-status i{background:#829466;border-radius:50%;width:5px;height:5px}.eye-mirror[data-tracking=lost] .mirror-status{color:#886d54}.eye-mirror[data-tracking=lost] .mirror-status i{background:#b29b81}.eye-mirror canvas{background:#b6b6b6;border-radius:10px;width:100%;height:auto;display:block}.camera-preview{background:#b6b6b6}.camera-preview video{visibility:hidden;opacity:0}.camera-placeholder{z-index:1;color:#45414a}.camera-placeholder p{color:#45414a}.settings-dialog .field-help{color:#786a58;margin:9px 0 13px;font-size:11px;line-height:1.7}.natural-view{color:#556b48;background:#e7ecd9;border-color:#b8c2a1}.physical-setup{color:#657452;margin-top:9px}#physical-calibration{scroll-margin-top:20px}.game .tutorial{z-index:5;background:#f4e7cf;border-radius:10px;width:min(510px,100% - 40px);max-height:calc(100dvh - 40px);padding:26px 28px;position:fixed;top:50%;bottom:auto;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:5px 6px #8b776c38,0 14px 50px #39313c28}.game .tutorial-content{gap:20px;margin:23px 0}.game .tutorial h2{color:#3e384b;margin-bottom:10px;font-size:25px;line-height:1.35}.game .tutorial p{color:#796753;font-size:15px;line-height:1.8}.game .tutorial .tutorial-live,.game .tutorial-top .eyebrow,.game .tutorial-top .text-button{font-size:11px}.game .tutorial .next-button{min-height:36px;font-size:14px}.game .tutorial[data-lesson=mirror] .tutorial-icon,.game .tutorial[data-lesson=mirror] .tutorial-live{display:none}.game.tutorial-open~.toast{visibility:hidden}.tutorial-pointer{z-index:4;pointer-events:none;filter:drop-shadow(0 1px #fff6e5);width:100%;height:100%;position:fixed;inset:0}.eye-mirror.tutorial-focus{z-index:5;outline-offset:3px;border-color:#7d9583;outline:4px solid #d7e0cc}.eye-mirror{border-radius:9px;box-shadow:3px 4px #8b776c38}.eye-mirror canvas{border-radius:5px}@media (max-width:600px){.calibration-overlay{border-radius:23px;padding:25px 24px}.eye-mirror{border-radius:12px;width:152px;padding:6px;top:190px;right:16px}.mirror-heading{gap:4px;padding:2px 2px 6px;font-size:10px}.mirror-status{gap:3px;font-size:8px}.game .tutorial{padding:20px 22px}.game .tutorial h2{font-size:23px}.game .tutorial p{font-size:14px;line-height:1.75}.game .tutorial-content{gap:13px;margin:18px 0}.game.tutorial-open[data-mode=camera] .collection{visibility:hidden}.game.tutorial-open .eye-mirror{width:var(--lesson-mirror-width,132px);top:var(--lesson-mirror-top,85px)}}@media (max-height:570px) and (min-width:601px){.calibration-overlay{width:min(500px,100% - 40px);padding:18px 26px}.calibration-paw{width:40px;height:40px}.calibration-paw svg{width:25px;height:25px}.calibration-overlay h2{margin:10px 0;font-size:26px}.calibration-overlay p{font-size:17px}.calibration-overlay .tracking-progress{margin-top:15px}.eye-mirror{width:150px;top:79px;right:20px}.game .tutorial{width:min(440px,100% - 350px);padding:15px 20px}.game .tutorial h2{font-size:22px}.game .tutorial p{font-size:13px;line-height:1.6}.game .tutorial-content{gap:12px;margin:13px 0}}
