@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;color:#25291f;background:#f6f3ea;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #25291f;--muted: #7f8278;--green: #3d6954;--green-dark: #2b4c3c;--mint: #e8eee3;--paper: #fffefa;--line: #e9e5dc;--orange: #e88c5b;--shadow: 0 20px 60px rgba(54, 56, 43, .075)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#f6f3ea}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #e89a64;outline-offset:3px}.page-shell{min-height:100vh;position:relative;overflow:hidden;isolation:isolate}.ambient{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(1px)}.ambient-one{width:550px;height:550px;right:-280px;top:330px;background:radial-gradient(circle,rgba(221,231,211,.55),transparent 68%)}.ambient-two{width:340px;height:340px;left:-180px;top:800px;background:radial-gradient(circle,rgba(240,214,187,.42),transparent 70%)}.topbar{max-width:1220px;height:86px;padding:0 30px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(95,97,77,.12)}.brand{display:inline-flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none}.brand-mark{width:39px;height:39px;border-radius:14px 14px 14px 5px;background:var(--green);display:grid;place-items:center;transform:rotate(-4deg);box-shadow:0 7px 16px #375e4733}.brand-mark:before{content:"";width:17px;height:17px;border:2px solid #f6f3ea;border-radius:50%;display:block;position:absolute;transform:translate(-3px,-2px)}.brand-mark:after{content:"";width:9px;height:2px;background:#f6f3ea;transform:rotate(48deg) translate(9px,8px);border-radius:4px}.brand-mark span{display:none}.brand-copy{display:flex;flex-direction:column;gap:1px}.brand-copy strong{font-size:15px;letter-spacing:.045em}.brand-copy small{color:var(--muted);font-size:10px;letter-spacing:.04em}.topbar-right{display:flex;align-items:center;gap:19px}.demo-pill{display:inline-flex;align-items:center;gap:7px;color:#56745f;border:1px solid #d7e1d4;background:#eef4e9bf;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em}.demo-pill i{width:6px;height:6px;display:inline-block;border-radius:50%;background:#79a271;box-shadow:0 0 0 3px #79a27124}.level-total{color:#8d8e81;font-size:12px}.main-content{width:min(1160px,calc(100% - 60px));margin:0 auto;padding:38px 0 20px}.intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:3px 0 30px}.eyebrow{display:flex;align-items:center;gap:9px;color:#889284;font-size:9px;font-weight:700;letter-spacing:.22em;margin-bottom:10px}.eyebrow-line{width:23px;height:1px;background:#9eae98}h1{margin:0;font-size:clamp(25px,3vw,34px);font-weight:700;letter-spacing:-.045em;line-height:1.25}h1 em{color:var(--green);font-style:normal}.intro-copy{color:var(--muted);margin:9px 0 0;font-size:13px;letter-spacing:.01em}.overall-progress{width:188px;flex:0 0 auto;margin-bottom:3px}.overall-progress-label{display:flex;justify-content:space-between;color:#87897f;font-size:10px;margin-bottom:8px}.overall-progress-label strong{color:#596656;font-size:10px;font-weight:700}.progress-track{height:4px;overflow:hidden;border-radius:9px;background:#e2e1d7}.progress-track span{display:block;height:100%;background:#719274;border-radius:inherit;transition:width .45s ease}.level-heading{margin-bottom:15px}.level-kicker{color:#879083;font-size:10px;font-weight:600;letter-spacing:.08em;margin:0 0 6px 1px}.level-kicker span{padding:0 3px;color:#c6c5b9}.level-title-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.level-title-row h2{color:var(--ink);font-size:23px;line-height:1.25;margin:0;letter-spacing:-.03em}.level-title-row p{color:#888b81;margin:5px 0 0;font-size:11px}.mode-switch{display:flex;padding:4px;border:1px solid #e7e4da;background:#fffefabf;border-radius:10px;gap:3px}.mode-switch button{border:0;background:transparent;color:#888b81;padding:8px 12px;border-radius:7px;font-size:10px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:.2s ease;white-space:nowrap}.mode-switch button.active{background:#e5ece1;color:#365d47;box-shadow:0 1px 3px #293b2c14;font-weight:700}.mode-icon{font-size:15px;line-height:10px}.game-layout{display:grid;grid-template-columns:minmax(0,1.78fr) minmax(260px,.78fr);align-items:stretch;gap:17px}.scene-card,.target-card{background:var(--paper);border:1px solid rgba(219,216,205,.85);border-radius:14px;box-shadow:var(--shadow)}.scene-card{min-width:0;padding:13px;display:flex;flex-direction:column}.scene-topline{height:29px;display:flex;align-items:flex-start;justify-content:space-between;padding:0 3px}.scene-status{display:inline-flex;align-items:center;gap:7px;color:#85897d;font-size:10px}.status-dot{width:6px;height:6px;border-radius:50%;background:#96ac8c;box-shadow:0 0 0 3px #eff2e9}.scene-hint-label{color:#a3a194;font-size:9px}.timer{color:#58745b;font-size:13px;font-weight:700;letter-spacing:.08em;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}.timer-icon{font-size:16px;font-weight:400}.timer.urgent{color:#c45f47;animation:pulse 1s infinite}.scene-viewport{position:relative;width:100%;overflow:hidden;border-radius:8px;background:#f2f0e8;touch-action:none;-webkit-user-select:none;user-select:none;cursor:default}.scene-viewport.zoomed{cursor:grab}.scene-viewport.dragging{cursor:grabbing}.scene-canvas{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:center center;transition:transform .2s ease}.scene-viewport.dragging .scene-canvas{transition:none}.scene-image{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-drag:none}.hotspot{position:absolute;z-index:2;transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;background:transparent;cursor:crosshair;transition:background .2s ease,box-shadow .2s ease}.hotspot:hover:not(:disabled){background:radial-gradient(ellipse,rgba(255,226,157,.38),rgba(255,206,126,.12) 58%,transparent 100%)}.hotspot:disabled{cursor:default}.hotspot.found{background:radial-gradient(ellipse,rgba(255,244,158,.9) 0%,rgba(255,214,99,.58) 38%,rgba(255,185,78,.25) 70%,transparent 100%);box-shadow:0 0 24px 8px #ffc95842;mix-blend-mode:screen;animation:found-light-up .72s ease-out both}.hotspot.hinting{background:radial-gradient(ellipse,rgba(255,225,156,.52),rgba(255,191,108,.2) 62%,transparent 100%);box-shadow:0 0 20px 7px #f4a4532b;animation:hint-pulse .62s ease-in-out infinite alternate}.scene-bottomline{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:8px 2px 0}.scene-meta{color:#82877c;display:flex;gap:5px;align-items:center;font-size:10px}.scene-meta strong{color:#476b52;font-size:12px}.scene-meta-icon{color:#82937d;font-size:17px;line-height:1}.zoom-tools{display:flex;align-items:center;gap:7px;color:#85887e;font-size:9px}.zoom-tools button{display:grid;place-items:center;width:23px;height:23px;border:1px solid #ebe8df;border-radius:6px;background:#fff;color:#52664e;font-size:15px;line-height:1;cursor:pointer}.zoom-tools button:disabled{opacity:.45;cursor:not-allowed}.zoom-tools .reset-zoom{display:block;width:auto;height:auto;border:0;background:transparent;color:#8b8c82;font-size:9px;margin-left:2px;padding:5px}.fullscreen-button{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid #ebe8df;border-radius:6px;background:#fff;color:#52664e;font-size:9px;cursor:pointer;white-space:nowrap}.fullscreen-button>span:first-child{font-size:14px;line-height:1}.fullscreen-button:disabled{opacity:.45;cursor:not-allowed}.target-card{padding:21px 20px 17px;display:flex;flex-direction:column;min-width:0}.target-card-heading{display:flex;align-items:center;gap:11px;padding-bottom:17px;border-bottom:1px solid #eeece5}.target-heading-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#edf1e9;color:#54745a;font-size:24px;font-weight:300}.target-card-heading h3{font-size:14px;margin:0;font-weight:700;letter-spacing:.01em}.target-card-heading p{color:#96958b;font-size:9px;margin:4px 0 0}.target-count{display:flex;align-items:baseline;justify-content:space-between;padding:15px 1px 10px;color:#8a8c81;font-size:10px}.target-count strong{color:#496d51;font-size:17px;font-variant-numeric:tabular-nums}.target-count small{color:#a2a296;font-size:10px;font-weight:500}.target-list{display:flex;flex-direction:column;gap:7px}.target-row{display:flex;align-items:center;min-height:43px;padding:0 10px;gap:10px;border:1px solid #efede6;border-radius:8px;background:#fffefa;transition:.24s ease}.target-row.done{background:#edf4eb;border-color:#dce9d8}.target-number{width:21px;color:#b6b5aa;font-size:9px;font-weight:600;font-variant-numeric:tabular-nums}.target-name{flex:1;color:#55594f;font-size:11px}.target-row.done .target-name{color:#718474;text-decoration:line-through;text-decoration-color:#9daf99}.target-state{width:18px;height:18px;flex:0 0 18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700}.target-row.done .target-state{background:#78a17a}.hint-button{display:flex;width:100%;align-items:center;gap:10px;margin-top:17px;padding:11px 12px;background:#f7f3e9;border:1px solid #eee6d7;border-radius:9px;text-align:left;cursor:pointer;transition:.2s ease}.hint-button:hover:not(:disabled){background:#f4eddd;border-color:#e7d8b7;transform:translateY(-1px)}.hint-button:disabled{opacity:.55;cursor:not-allowed}.hint-bulb{color:#bd8950;font-size:19px;line-height:1}.hint-button strong,.hint-button small{display:block}.hint-button strong{font-size:10px;color:#665a46}.hint-button small{color:#a09a8a;font-size:8px;margin-top:3px}.hint-arrow{color:#b1986f;font-size:14px;margin-left:auto}.note-card{display:flex;gap:7px;align-items:flex-start;padding:12px 1px 0;margin-top:auto;color:#97978c}.note-mark{color:#b9c1ad;font-family:Georgia,serif;font-size:29px;line-height:.7}.note-card p{font-size:9px;line-height:1.65;margin:0}.scene-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:20px;background:#1f2a2142;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay-card{width:min(300px,100%);text-align:center;background:#fffefa;border:1px solid rgba(255,255,255,.9);border-radius:14px;padding:25px 24px 22px;box-shadow:0 18px 50px #1e291e2e;animation:lift-in .32s ease-out}.overlay-stamp{display:inline-flex;color:#9e7451;background:#f5eadc;border-radius:999px;padding:5px 10px;font-size:9px;font-weight:700;letter-spacing:.09em}.overlay-stamp.success{color:#507454;background:#e9f1e6}.overlay-card h3{color:#33382f;font-size:20px;margin:12px 0 5px}.overlay-card p{color:#85877e;font-size:10px;margin:0 0 17px}.primary-button{border:0;border-radius:8px;background:var(--green);color:#fff;padding:10px 18px;font-size:10px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease}.primary-button:hover{background:var(--green-dark);transform:translateY(-1px)}.primary-button span{margin-left:7px}.page-footer{display:flex;align-items:center;gap:9px;padding:20px 1px 0;color:#a2a295;font-size:9px;letter-spacing:.04em}.footer-divider{width:1px;height:11px;background:#d8d6ca}.footer-right{margin-left:auto;font-variant-numeric:tabular-nums}@keyframes hint-pulse{0%{transform:translate(-50%,-50%) scale(.92)}to{transform:translate(-50%,-50%) scale(1.13)}}@keyframes found-light-up{0%{opacity:.2;transform:translate(-50%,-50%) scale(.7);filter:brightness(1)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.18);filter:brightness(1.6)}to{opacity:.88;transform:translate(-50%,-50%) scale(1);filter:brightness(1.15)}}@keyframes lift-in{0%{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.58}}.game-layout:fullscreen,.game-layout:-webkit-full-screen{width:100vw;height:100vh;height:100dvh;margin:0;padding:clamp(12px,2vw,26px);background:#f6f3ea;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:16px;overflow:auto}.game-layout:fullscreen .scene-card,.game-layout:-webkit-full-screen .scene-card{min-height:0;height:100%;padding:12px}.game-layout:fullscreen .scene-viewport,.game-layout:-webkit-full-screen .scene-viewport{width:min(100%,70vh);width:min(100%,70dvh);align-self:center}.game-layout:fullscreen .target-card,.game-layout:-webkit-full-screen .target-card{max-height:100%;overflow:auto}@media(max-width:900px){.main-content{width:min(100% - 40px,720px)}.game-layout{grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr);gap:12px}.target-card{padding:17px 14px 14px}.target-row{min-height:39px}.scene-card{padding:10px}.mode-switch button{padding:8px 9px}}@media(max-width:680px){.topbar{height:72px;padding:0 19px}.brand-mark{width:35px;height:35px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:9px}.topbar-right{gap:10px}.demo-pill{padding:6px 8px;font-size:9px}.level-total{font-size:10px}.main-content{width:calc(100% - 32px);padding-top:28px}.intro-row{align-items:flex-start;gap:18px;flex-direction:column;margin-bottom:24px}.overall-progress{width:min(100%,250px)}h1{font-size:26px}.intro-copy{font-size:12px}.level-title-row{align-items:flex-start;flex-direction:column;gap:13px}.level-title-row h2{font-size:21px}.mode-switch{align-self:stretch}.mode-switch button{flex:1;justify-content:center}.game-layout{grid-template-columns:minmax(0,1fr);gap:12px}.game-layout:fullscreen,.game-layout:-webkit-full-screen{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(140px,30dvh);gap:8px}.game-layout:fullscreen .scene-card,.game-layout:-webkit-full-screen .scene-card{height:auto}.game-layout:fullscreen .target-card,.game-layout:-webkit-full-screen .target-card{min-height:0;padding:12px}.game-layout:fullscreen .target-card-heading,.game-layout:-webkit-full-screen .target-card-heading{padding-bottom:8px}.game-layout:fullscreen .target-count,.game-layout:-webkit-full-screen .target-count{padding:8px 1px 6px}.game-layout:fullscreen .note-card,.game-layout:-webkit-full-screen .note-card{display:none}.game-layout:fullscreen .hint-button,.game-layout:-webkit-full-screen .hint-button{margin-top:8px}.scene-card{padding:9px}.scene-topline{height:27px}.scene-viewport{border-radius:6px}.target-card{padding:16px}.target-card-heading{padding-bottom:13px}.target-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.target-row{min-height:39px;padding:0 8px;gap:7px}.target-name{font-size:10px}.target-number{width:18px;font-size:8px}.hint-button{margin-top:13px}.note-card{margin-top:12px}.page-footer{padding-top:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
