:root{color-scheme:dark;--bg:#101e29;--ink:#eceddb;--muted:#84979a;--line:#d6e4d119;--mint:#d4f2aa;--coral:#ff9c89;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;background:var(--bg);color:var(--ink)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;overscroll-behavior:none;background:radial-gradient(ellipse at 50% 40%,#233b41 0,#101e29 65%);overflow:hidden}button{font:inherit;border:0;cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button,a{-webkit-touch-callout:none;touch-action:manipulation}a{color:inherit;text-decoration:none}#app{-webkit-user-select:none;user-select:none;max-width:1600px;margin:auto;padding:16px 34px 0;min-height:100svh;touch-action:manipulation}header{height:48px;display:flex;justify-content:space-between;align-items:center;max-width:1420px;margin:auto}.brand{display:flex;gap:10px;align-items:center}.brand img{border-radius:9px}.brand b{font-size:13px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px;color:var(--muted)}.tools{display:flex;gap:7px}.icon{width:35px;height:35px;border:1px solid var(--line);background:#ffffff03;border-radius:50%;display:grid;place-items:center}.icon:hover{background:#d4f2aa16}.icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}main{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:clamp(25px,4vw,80px);max-width:1280px;margin:10px auto 0}.game{width:min(52vw,calc((100svh - 148px)*.75));min-width:0}.hud{height:33px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-variant-numeric:tabular-nums}.hud>div{display:flex;align-items:center;gap:13px}.hud #chapter-number{display:inline-block;background:var(--mint);color:#233637;font-size:9px;padding:4px 6px;border-radius:4px}.hud b{font-weight:500;font-size:10px;letter-spacing:1.4px}.hud-right{color:var(--muted);gap:11px!important;font-size:9px}.stage{aspect-ratio:3/4;position:relative;overflow:hidden;background:#142632;border:1px solid #78928c49;border-radius:16px;box-shadow:0 0 0 5px #ffffff03,0 28px 100px #0006}canvas{width:100%;height:100%;display:block;touch-action:none}.stage-grain{position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 70px #09121b42}#room-name{position:absolute;top:12px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:1px;color:#a4b8ae;pointer-events:none}#transition{position:absolute;inset:0;background:#d4f2aa;opacity:0;animation:pass .5s ease-in-out;pointer-events:none}#transition[hidden]{display:none}@keyframes pass{0%,100%{opacity:0}45%{opacity:.65}}.under-stage{height:29px;display:flex;align-items:center;justify-content:space-between;gap:8px}.text-button{font-size:10px;letter-spacing:.3px;background:none;padding:7px 0;color:var(--mint)}.text-button:disabled{opacity:.35}#save-label{font-size:8px;color:var(--muted)}.side{max-width:240px}.side.left{justify-self:end}.side.right{justify-self:start;padding-left:8px}.eyebrow{font-size:8px;letter-spacing:2px;color:var(--mint);line-height:1.8}.side h1{font-size:clamp(35px,4.3vw,64px);line-height:.95;letter-spacing:-3px;margin:24px 0}.side h1 em{font-style:normal;color:var(--mint)}.side p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.9}.chapter-list{display:grid;gap:5px;margin:29px 0}.chapter-link{display:flex;align-items:center;gap:12px;background:none;padding:8px 0;text-align:left;font-size:9px;color:var(--muted);border-bottom:1px solid var(--line)}.chapter-link b{font-size:10px;font-weight:400;opacity:.6}.chapter-link.active{color:var(--mint)}.chapter-link:disabled{opacity:.3}.side-caption{font-size:9px!important}.right>strong{display:block;font-size:45px;letter-spacing:-2px;font-weight:400;margin:14px 0 6px}.label{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.key-display{display:flex;gap:6px;margin:30px 0 13px}.key-display i{font-style:normal;color:#465954;border:1px solid #78928c32;border-radius:5px;width:24px;height:29px;display:grid;place-items:center}.key-display i.found{color:#edcb8d;border-color:#edcb8d70;background:#edcb8d0a}kbd{font:9px Arial;display:inline-block;padding:6px 7px;border:1px solid var(--line);border-bottom-width:3px;border-radius:5px;margin:4px 3px 4px 0}.desktop-controls{margin-top:25px;line-height:2.5}.desktop-controls span{font-size:9px;color:var(--muted);margin-left:8px}footer{display:flex;justify-content:space-between;align-items:center;max-width:1420px;margin:8px auto;font-size:7px;letter-spacing:2px;color:#657e80}#touch-controls{display:none}#overlay{position:fixed;inset:0;z-index:30;background:#101e29eb;backdrop-filter:blur(12px);display:grid;place-items:center;padding:22px}#overlay[hidden]{display:none}#dialog{width:min(650px,100%);max-height:90svh;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;background:#f1eee2;color:#1a3038;border-radius:20px;padding:clamp(24px,5vw,47px);box-shadow:0 40px 100px #0004;scrollbar-width:thin}#dialog .eyebrow{color:#6c846a;font-size:9px;letter-spacing:2px;margin:0 0 22px}.hero-title{font-size:clamp(32px,5vw,55px);font-weight:500;line-height:1.08;letter-spacing:-1.8px;margin:0 0 20px}.hero-title em{font-style:normal;color:#69866b}.copy{font-size:12px;line-height:1.9;color:#72817a;margin:12px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.primary,.secondary{padding:13px 21px;border-radius:8px;font-size:11px;min-height:43px}.primary{background:#223c3c;color:#edf3d9;min-width:145px;display:flex;align-items:center;justify-content:space-between;gap:25px}.secondary{background:#e1e4d8;color:#344d48}.metrics{display:flex;gap:35px;margin-top:35px;padding-top:22px;border-top:1px solid #263a321c}.metrics b{display:block;font-size:29px;font-weight:400}.metrics span{font-size:9px;color:#76877a}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.dialog-top h2{font-size:27px;font-weight:400;margin:0}.dialog-top button{background:none;color:#59746e;font-size:22px;width:35px;height:35px}.world-title{font-size:11px;font-weight:400;letter-spacing:.5px;margin:23px 0 10px}.room-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.room-tile{background:#e7e7dc;border:1px solid #d5dacd;border-radius:7px;min-height:51px;color:#456057;font-size:15px;position:relative}.room-tile small{display:block;font-size:7px;color:#74816e;margin-top:4px}.room-tile.chosen{border-color:#597e6b;box-shadow:inset 0 0 0 1px #597e6b}.room-tile.cleared{background:#dbe5d0}.room-tile:disabled{opacity:.35}.room-tile.key:after{content:'⚿';position:absolute;right:5px;top:4px;font-size:10px;color:#b0863c}.secret-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:15px}.record-number{font-size:48px;letter-spacing:-2px;margin:18px 0 7px;display:block}.hint-copy{font-size:19px;line-height:1.8;color:#566f5f}.badges{display:flex;gap:8px;margin:15px 0}.badge{font-size:9px;padding:7px 9px;border-radius:5px;background:#dbe5d0}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,15px);max-width:90%;background:#d4f2aa;color:#273e35;border-radius:20px;padding:9px 17px;font-size:11px;opacity:0;z-index:45;pointer-events:none;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%,0)}#game-seo-info{display:none!important}
@media(pointer:coarse),(max-width:700px){#touch-controls{display:flex;justify-content:space-between;align-items:center;width:min(100%,520px);height:99px;margin:auto;padding:0 22px;touch-action:none}#jump{width:77px;height:77px;flex-shrink:0;border-radius:50%;background:linear-gradient(160deg,#d4f2aa,#b3d39a);box-shadow:inset 0 0 0 5px #ffffff16,0 5px 0 #637f64;color:#263c36;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;touch-action:none}#jump svg{width:29px;height:29px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}#jump span{font-size:8px;letter-spacing:1px}#jump.active{transform:translateY(3px);box-shadow:inset 0 0 0 5px #ffffff16,0 2px 0 #637f64}#stick{position:relative;width:142px;height:67px;flex-shrink:0;border-radius:40px;background:#c4dec50a;border:1px solid #b7d7c52e;box-shadow:inset 0 3px 12px #07131c66;touch-action:none}#stick-thumb{position:absolute;width:57px;height:57px;top:4px;left:calc(50% - 28.5px);border-radius:50%;background:linear-gradient(145deg,#6d898d,#38515e);box-shadow:inset 0 0 0 4px #a9c6bf15,0 3px 8px #0004;border:1px solid #a5c1b947;pointer-events:none;will-change:transform}.stick-arrow{position:absolute;top:16px;color:#a9c6b74d;font-size:26px;pointer-events:none}.left-arrow{left:14px}.right-arrow{right:14px}}
@media(max-width:900px){.side{display:none}main{display:flex;justify-content:center;margin-top:3px}#app{padding:9px 14px 0}header{height:44px}.brand b{font-size:11px;letter-spacing:1.5px}.brand small{font-size:7px;letter-spacing:1.4px}.brand img{width:30px;height:30px}.tools{gap:5px}.icon{width:31px;height:31px}.icon svg{width:15px;height:15px}.game{width:min(calc(100vw - 28px),calc((100svh - 210px - env(safe-area-inset-bottom))* .75))}.hud{height:29px}.stage{border-radius:12px}.under-stage{height:25px}.under-stage button{font-size:9px}#save-label{font-size:7px}#touch-controls{height:94px;padding-inline:calc(22px + env(safe-area-inset-left))}footer{margin-top:0;padding-bottom:calc(6px + env(safe-area-inset-bottom));font-size:6px;letter-spacing:1.2px}#room-name{font-size:8px;top:9px}#dialog{padding:25px;max-height:91svh}.metrics{gap:24px;margin-top:25px}.metrics b{font-size:25px}.hero-title{font-size:38px}.copy{font-size:11px}.actions{margin-top:22px}.room-grid{gap:6px}.room-tile{min-height:46px}.world-title{font-size:10px}.secret-grid{grid-template-columns:repeat(3,1fr)}}
@media(pointer:coarse) and (min-width:901px){.game{width:min(43vw,calc((100svh - 230px)*.75))}#touch-controls{height:87px}#jump{width:69px;height:69px}footer{margin-top:0}.side{max-width:195px}}
@media(max-height:520px) and (orientation:landscape){#app{padding:4px 13px 0}header{height:35px}.brand img{width:26px;height:26px}.brand small{display:none}.icon{width:28px;height:28px}.game{width:calc((100svh - 94px)*.75)}main{margin-top:0}.hud{height:25px}.stage{border-radius:8px}.under-stage{height:24px}.hud-right{font-size:8px;gap:7px!important}.hud b{font-size:9px}#touch-controls{position:absolute;bottom:35px;left:0;right:0;width:100%;height:80px;padding-inline:calc(8vw + env(safe-area-inset-left));pointer-events:none}#touch-controls>*{pointer-events:auto}#jump{width:72px;height:72px}footer{display:none}.side{display:none}.hero-title{font-size:31px}.metrics{display:none}.actions{margin-top:15px}.copy{margin:8px 0}#dialog{max-height:93svh;padding:25px}.dialog-top h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.key-display svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}.room-tile.key:after{content:"◆"}
