:root{font-family:'Noto Sans TC','Microsoft JhengHei',sans-serif;color:#3d3832;background:#f7f4ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0;display:flex;justify-content:center;align-items:center;min-height:100dvh;gap:90px;background:radial-gradient(ellipse at 75% 20%,#e8ebdf88,transparent 55%),#f7f4ed}main{width:420px;padding:22px 20px 12px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}a{color:inherit;text-decoration:none;font-size:22px;font-weight:700;letter-spacing:3px}a span{display:block;font-size:9px;letter-spacing:3px;margin-top:5px;color:#8a8176}button{font:inherit;border:0;cursor:pointer;color:inherit;background:#eae7e1;border-radius:12px;min-height:44px;padding:10px 14px;transition:background .12s,transform .12s}button:hover{background:#dfdbd2}button:active{transform:translateY(2px)}button:focus-visible,a:focus-visible{outline:3px solid #8b9a7a;outline-offset:3px}header button{font-size:14px;padding:8px 10px;background:transparent}.stats{display:flex;align-items:center;margin-bottom:14px;gap:42px;font-size:13px;color:#777165}.stats strong{display:block;font-weight:500;color:#3d3832;margin-top:4px}.stats b{font-size:32px;font-weight:500;font-variant-numeric:tabular-nums}.stats small{font-size:13px;margin-left:6px}.best b{font-size:25px;color:#8a593b}#pause{margin-left:auto;font-size:19px;background:#ede9df}.stage{position:relative;height:min(54dvh,480px);min-height:260px;background:#e9eee5;border-radius:100px 100px 18px 18px;overflow:hidden;border:1px solid #dde2d7}canvas{width:100%;height:100%;display:block;touch-action:none}.tag{position:absolute;top:24px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:2px;color:#7f8b75;pointer-events:none}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f7f4ed55;padding:20px}.card{width:100%;padding:26px 24px;text-align:center;background:#faf8f1f2;border:1px solid #fff;border-radius:20px;box-shadow:0 8px 30px #6c735515}.card .eyebrow{font-size:11px;letter-spacing:3px;color:#8b9a7a}.card h2{font-size:25px;font-weight:500;margin:10px 0}.card p{font-size:14px;line-height:1.9;color:#7b7367}.card button{display:block;width:100%;margin-top:10px}.card .primary,#jump{background:#8a593b;color:#fff}.card .primary:hover,#jump:hover{background:#754a31}.card label{display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:15px}.card input{width:22px;height:22px;accent-color:#8b9a7a}#hint{position:absolute;bottom:18px;width:100%;text-align:center;font-size:12px;color:#666e5e;pointer-events:none}footer{padding-top:16px}.power{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:12px;color:#7b7367;gap:8px}.power>div{width:100%;height:5px;border-radius:5px;background:#e5e1d8;overflow:hidden}.power i{display:block;width:0;height:100%;background:#8b9a7a}#jump{width:100%;margin-top:12px;min-height:55px;touch-action:none;user-select:none;font-size:16px;letter-spacing:1px}#jump span{font-size:9px;opacity:.7;margin-left:12px}footer p{text-align:center;font-size:11px;color:#8d8579;margin:12px 0 0}aside{max-width:330px}aside>span{font-size:12px;color:#8b9a7a;letter-spacing:5px}h1{font-size:48px;font-weight:400;line-height:1.6;letter-spacing:7px;margin:20px 0}aside p{font-size:14px;line-height:2.2;letter-spacing:2px;color:#8b8172}.aside-line{height:1px;background:#d9d7cb;width:50px;margin:32px 0}aside small{font-size:11px;letter-spacing:2px;color:#9c9386}[hidden]{display:none!important}@media(max-width:850px){aside{display:none}main{width:100%;max-width:440px;padding-top:max(16px,env(safe-area-inset-top))}header{margin-bottom:14px}.stage{height:calc(100dvh - 316px);max-height:610px}body{align-items:flex-start}footer{padding-bottom:env(safe-area-inset-bottom)}}@media(max-height:600px) and (min-width:600px){main{width:380px}.stage{height:280px}body{align-items:flex-start}aside{margin-top:60px}}
.tag,#hint,.power,footer p,.stats,header button,.stats small,aside small{font-size:14px;color:#676454}.card p{font-size:16px}.card .eyebrow{font-size:14px}.card button{min-height:48px}button:disabled{opacity:.45;cursor:default;transform:none}.card{max-height:100%;overflow-y:auto}h1{font-size:32px}.tag{letter-spacing:0}#loadState{position:absolute;inset:0;z-index:4;background:#f7f4ed;display:grid;place-content:center;padding:24px;text-align:center}.site-back{display:block;text-align:center;font-size:14px;letter-spacing:0;margin-top:12px;text-decoration:underline}@media(max-width:850px){.stage{height:calc(100dvh - 355px)}}
#modeState{position:absolute;top:52px;left:50%;transform:translateX(-50%);background:#faf8f1e8;color:#655373;border:1px solid #cbbfd4;border-radius:12px;padding:5px 12px;font-size:14px;white-space:nowrap;pointer-events:none}header>div{display:flex;flex-wrap:wrap;gap:4px}#modeToggle{background:#e8e0ed;font-size:14px}#modeToggle:disabled{opacity:.7}.tag{top:18px}
.achievement-list{text-align:left;max-height:245px;overflow:auto;margin:12px 0}.achievement{padding:12px;border-bottom:1px solid #ded8ca;color:#746c60}.achievement strong{font-size:16px;display:block}.achievement small{font-size:14px}.achievement p{font-size:14px;margin:5px 0;line-height:1.6}.achievement.earned{background:#eaf0e3;border-radius:10px;color:#43583a}#achievementToast{position:absolute;bottom:32px;left:16px;right:16px;text-align:center;border-radius:12px;padding:12px;background:#faf8f1f5;border:1px solid #a7b597;color:#43583a;font-size:16px;pointer-events:none;z-index:2}

#modeState{display:none!important}


#achievementToast{top:24px;bottom:auto;z-index:8;padding:16px;background:#fff8e6;border:2px solid #b3945b;box-shadow:0 6px 20px #63533922;font-weight:600;line-height:1.6}

