:root{--paper:#f7f2e8;--ink:#494b38;--muted:#7b8069;--green:#d6e7af;--green-dark:#536e42;--pink:#edb9ad;--line:#dcdcc8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #a57244;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}.site-header{max-width:1120px;margin:auto;padding:25px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:800;letter-spacing:-1px}.brand-mark{font-size:32px;color:var(--green-dark)}.brand-sub{font-size:11px;letter-spacing:1px;font-weight:400;margin-left:12px;color:var(--muted)}.demo-tag{font-size:11px;border:1px solid #c2c7ac;border-radius:20px;padding:7px 13px;color:#697453}.layout{max-width:1060px;margin:42px auto 0;padding:0 28px;display:grid;grid-template-columns:1fr 420px;gap:30px 80px;align-items:start}.intro{padding-top:38px}.eyebrow{font-size:12px;letter-spacing:3px;color:#75815b}.intro h1{font-size:70px;line-height:1.22;letter-spacing:-3px;margin:22px 0 19px}.intro h1>span{position:relative;color:#67814f}.title-star{position:absolute;font-size:40px;right:-43px;top:-12px;transform:rotate(12deg);color:#c79555}.lede{font-size:17px;line-height:1.8;color:#7a806b;letter-spacing:2px}.howto{display:grid;grid-template-columns:29px 1fr;align-items:start;gap:22px 12px;margin:34px 0}.howto-number{width:26px;height:26px;border:1px solid #c6cbb1;border-radius:50%;display:grid;place-items:center;font-size:10px;background:#e8edda}.howto p{margin:0}.howto strong{display:block;font-size:14px;font-weight:600;margin:2px 0 6px}.howto p span{font-size:12px;color:var(--muted)}.goal-note{display:flex;align-items:center;gap:12px;border-top:1px dashed #b9c0a3;border-bottom:1px dashed #b9c0a3;padding:18px 0;max-width:335px}.goal-note>span{font-size:27px;color:#9ba76b}.goal-note p{font-size:11px;color:var(--muted);margin:0}.goal-note strong{display:block;color:var(--ink);font-size:14px;margin-top:6px}.goal-note img{object-fit:contain;margin-left:auto}.keyboard-note{font-size:10px;color:var(--muted);margin-top:20px;line-height:1.8}.game{width:100%;max-width:420px;min-width:0}.scoreboard{display:flex;align-items:center;gap:22px;padding:0 5px 15px}.scoreboard>div{min-width:85px}.scoreboard span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.scoreboard strong{font-size:35px;font-family:Georgia,serif;line-height:1.1;font-weight:500}.scoreboard .best{margin-right:auto}.best strong{color:#899375}.best i{font-style:normal}.icon-button{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid #c5cbb5;border-radius:50%;background:#fdfbf4;font-size:19px}.icon-button[aria-pressed=false]{opacity:.6}.play-area{position:relative;isolation:isolate;background:#eef1df;border:2px solid #758161;border-radius:26px 26px 35px 35px;overflow:hidden;box-shadow:0 7px 0 #d9dfc6}.play-area:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#c6cdb4 1px,transparent 1px);background-size:21px 21px;opacity:.5;pointer-events:none;z-index:-1}canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}.queue-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 6px 9px}.queue-row>span{font-size:10px;color:#8b9579}.next{display:grid;grid-template-columns:auto 42px;grid-template-rows:20px 18px;align-items:center;gap:0 9px;font-size:10px;pointer-events:none}.next span{color:#788363}.next img{grid-column:2;grid-row:1/3;object-fit:contain}.next b{font-size:10px;font-weight:500;color:#687653}.floor-label{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2px;color:#9ca389;pointer-events:none}.empty-hint{position:absolute;top:43%;width:100%;text-align:center;pointer-events:none;color:#879572;display:grid;gap:9px;transition:opacity .2s}.empty-hint>span{font-size:35px;font-weight:300;color:#a3b38b}.empty-hint strong{font-size:15px;font-weight:500}.empty-hint small{font-size:11px;opacity:.8}.empty-hint.hidden{opacity:0}.overlay{position:absolute;inset:0;z-index:3;background:#f1f2e8d9;display:grid;place-items:center;padding:22px;backdrop-filter:blur(5px)}[hidden]{display:none!important}.overlay-card{width:100%;max-width:290px;text-align:center;padding:25px 20px;background:#fffdf5;border:1.5px solid #7d8869;border-radius:28px;box-shadow:4px 5px 0 #9fab802b}.overlay-flower{font-size:36px;color:#94a56f}.overlay h2{font-size:23px;margin:13px 0}.overlay p{font-size:13px;line-height:1.8;color:var(--muted);white-space:pre-line}.primary{display:block;width:100%;min-height:46px;margin:22px auto 10px;background:var(--green);border:1.5px solid #687a4d;border-radius:16px;box-shadow:0 3px 0 #687a4d;font-weight:600}.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #687a4d}.text-button{background:none;border:0;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.game-bottom{display:flex;align-items:center;gap:10px;margin-top:11px;padding:0 4px}.game-bottom p{font-size:11px;color:#788264;flex:1;line-height:1.6;min-height:18px;margin:0}.game-bottom button{flex-shrink:0}.mobile-help{display:none}.collection{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;margin-top:4px}.collection-heading{display:flex;justify-content:space-between;align-items:center}.collection-heading h2{font-size:14px;font-weight:600;margin:0}.collection-heading span{font-size:10px;color:var(--muted)}.collection ol{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:0;list-style:none;gap:14px;margin:24px 0 0}.collection li{position:relative;text-align:center;min-width:0}.collection li:not(:last-child):after{content:'›';position:absolute;top:31px;right:-11px;color:#b3ba9e;font-size:21px}.collection img{width:100%;height:73px;object-fit:contain;transition:transform .2s}.collection .reached img{transform:translateY(-4px)}.collection small{display:block;font-family:Georgia,serif;color:#959d7f;font-size:11px;margin:8px 0 5px}.collection b{font-size:12px;font-weight:500}.collection .reached small{color:#587c40}.collection .reached small:after{content:' · 已见面';font-family:inherit;font-size:8px}footer{max-width:1060px;margin:35px auto 0;padding:20px 28px 25px;display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#939880;border-top:1px solid var(--line)}footer a{margin-left:auto}footer small{width:100%;color:#a06d48}.play-area.danger{border-color:#b97567}.play-area.danger .floor-label{color:#b97567}@media(max-width:850px){.layout{grid-template-columns:1fr 380px;gap:28px 35px;padding:0 22px}.intro h1{font-size:56px}.game{max-width:380px}.lede{font-size:15px}.howto{gap:18px 10px}.goal-note{gap:8px}.goal-note strong{font-size:12px}.goal-note img{width:50px}.brand-sub{display:none}}@media(max-width:680px){.site-header{padding:12px 18px}.brand{font-size:21px}.brand-mark{font-size:25px}.demo-tag{font-size:10px;padding:5px 9px}.layout{display:flex;flex-direction:column;gap:16px;margin:18px auto 0;padding:0 16px;max-width:450px}.intro{padding:0;width:100%}.intro .eyebrow,.intro .lede,.howto,.goal-note,.keyboard-note{display:none}.intro h1{font-size:27px;line-height:1.2;letter-spacing:-1px;margin:0}.intro h1 br{display:none}.title-star{font-size:21px;right:-29px;top:0}.game{max-width:420px;align-self:center}.scoreboard{gap:15px;padding-bottom:12px}.scoreboard>div{min-width:77px}.scoreboard strong{font-size:29px}.scoreboard span{font-size:10px}.icon-button{min-width:40px;height:40px}.play-area{max-width:calc((100svh - 280px)*420/610);min-width:250px;margin:auto}.game-bottom{max-width:420px;margin:8px auto 0}.mobile-help{display:block;font-size:10px;text-align:center;color:#8b9278;line-height:1.6;margin-top:3px}.collection{width:100%;margin-top:2px;padding-top:15px}.collection ol{gap:6px;margin-top:15px}.collection img{height:42px}.collection li:not(:last-child):after{top:17px;right:-5px;font-size:15px}.collection small{font-size:9px;margin:5px 0}.collection b{font-size:10px}.collection .reached small:after{content:''}.collection-heading span{font-size:9px}footer{margin-top:24px;padding:15px 18px;justify-content:center;font-size:9px}footer span{display:none}footer a{margin-left:0}.next{grid-template-columns:auto 34px}.next img{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
