:root{--clay:#d97757;--clay-deep:#b85c3e;--ink:#1d1320;--paper:#fff8ef;--cyan:#5ee1ff;--pink:#ff7eb6;--yellow:#ffd45e;--font-cute:"ZCOOL KuaiLe", "Noto Sans SC", "PingFang SC", sans-serif;--font-body:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-pixel:"Silkscreen", "Courier New", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{color:#fff;background:#04030a;width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;touch-action:none}#app{position:fixed;inset:0}#c{width:100%;height:100%;display:block;position:absolute;inset:0}button{font:inherit;cursor:pointer;border:none}.ui-hidden{opacity:0;pointer-events:none!important}.hidden{display:none!important}#hud{z-index:20;pointer-events:none;max-width:min(46vw,420px);transition:opacity .6s;position:absolute;top:18px;left:20px}.hud-k{font-family:var(--font-pixel);letter-spacing:.18em;color:#ffffffa0;font-size:10px}.hud-v{font-family:var(--font-cute);color:#fff;text-shadow:3px 3px 0 var(--clay-deep), 0 0 18px #ffb48a88;margin-top:4px;font-size:clamp(22px,3.2vw,34px);line-height:1.15}.hud-s{color:#ffe2cf;opacity:.85;margin-top:2px;font-size:13px}.hud-cap{color:#fff;opacity:0;background:#0008;border:1.5px solid #ffffff38;border-radius:10px;margin-top:10px;padding:6px 10px;font-size:12.5px;line-height:1.6;transition:all .4s;display:inline-block;transform:translateY(-4px)}.hud-cap.on{opacity:1;transform:none}.hud-cap b{color:var(--yellow)}.glitch{animation:.35s steps(2,end) glitch}@keyframes glitch{0%{filter:hue-rotate(90deg);transform:translate(2px,-1px)skew(-8deg)}50%{transform:translate(-2px,1px)skew(6deg)}to{filter:none;transform:none}}#controls{z-index:30;gap:8px;transition:opacity .6s;display:flex;position:absolute;top:16px;right:16px}#controls button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;border:1.5px solid #ffffff40;border-radius:999px;padding:7px 11px;font-size:12px;transition:all .2s}#controls button:hover{border-color:var(--clay);background:#d9775733;transform:translateY(-1px)}#controls button b{font-family:var(--font-pixel);color:var(--yellow);margin-left:2px;font-size:10px;font-weight:400}#timeline{z-index:25;width:min(520px,52vw);height:34px;transition:opacity .6s;position:absolute;top:62px;right:22px}.tl-track{background:#ffffff26;border-radius:3px;height:3px;position:absolute;top:9px;left:6px;right:6px;overflow:hidden}.tl-fill{background:linear-gradient(90deg, var(--cyan), var(--pink), var(--clay));width:0;height:100%;transition:width 1s cubic-bezier(.6,0,.2,1)}.tl-nodes{justify-content:space-between;display:flex;position:absolute;inset:0}.tl-node{cursor:pointer;place-items:center;width:21px;height:21px;display:grid;position:relative}.tl-node:before{content:"";background:#2a2340;border:1.5px solid #ffffff70;border-radius:2px;width:9px;height:9px;transition:all .3s;transform:rotate(45deg)}.tl-node.done:before{background:#ffffffc0;border-color:#fff}.tl-node.on:before{background:var(--clay);width:13px;height:13px;box-shadow:0 0 12px var(--clay), 0 0 3px #fff;border-color:#fff}.tl-node .tl-lbl{white-space:nowrap;color:#ffffffb0;opacity:0;pointer-events:none;font-size:10.5px;font-family:var(--font-cute);transition:opacity .2s;position:absolute;top:22px;left:50%;transform:translate(-50%)}.tl-node:hover .tl-lbl,.tl-node.on .tl-lbl{opacity:1}.tl-node.on .tl-lbl{color:#fff}#dialog{left:50%;bottom:max(22px, env(safe-area-inset-bottom));z-index:40;width:min(860px,100vw - 32px);min-height:108px;color:var(--ink);border:3px solid var(--ink);background:linear-gradient(#fffaf2f2,#fff1e2f2);border-radius:18px 18px 18px 6px;padding:26px 30px 20px 26px;animation:.35s cubic-bezier(.2,1.4,.4,1) dlgIn;position:absolute;transform:translate(-50%);box-shadow:6px 6px #1d132099,0 0 0 6px #fff2}@keyframes dlgIn{0%{opacity:0;transform:translate(-50%,30px)scale(.96)}}.dlg-name{background:var(--clay);color:#fff;font-family:var(--font-cute);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:10px;align-items:center;gap:7px;padding:4px 16px 4px 10px;font-size:17px;display:flex;position:absolute;top:-18px;left:22px;transform:skew(-8deg)}.dlg-icon{width:26px;height:20px;display:inline-block}.dlg-icon svg{width:100%;height:100%;display:block}.dlg-text{letter-spacing:.02em;min-height:3.3em;font-size:clamp(15px,1.9vw,19px);font-weight:500;line-height:1.75}.dlg-text .hl{color:#c4502d;font-weight:900}.dlg-next{color:var(--clay);opacity:0;font-size:14px;animation:.8s ease-in-out infinite bob;position:absolute;bottom:10px;right:18px}.dlg-next.on{opacity:1}@keyframes bob{50%{transform:translateY(4px)}}#hint{z-index:35;pointer-events:none;font-family:var(--font-cute);color:#fff;white-space:nowrap;background:linear-gradient(90deg,#ff7eb6dd,#d97757dd);border:3px solid #fff;border-radius:999px;padding:10px 22px;font-size:clamp(16px,2.2vw,22px);animation:1.4s ease-in-out infinite hintPulse;position:absolute;top:116px;left:50%;transform:translate(-50%);box-shadow:0 0 24px #ff7eb699,4px 4px #0006}@keyframes hintPulse{50%{transform:translate(-50%)scale(1.06);box-shadow:0 0 40px #ff7eb6cc,4px 4px #0006}}#tooltip{z-index:36;pointer-events:none;color:var(--ink);border:3px solid var(--ink);text-align:center;background:#fffaf2;border-radius:12px;min-width:170px;padding:8px 14px;animation:.25s cubic-bezier(.2,1.6,.4,1) pop;position:absolute;transform:translate(-50%,calc(-100% - 22px));box-shadow:4px 4px #0008}#tooltip:after{content:"";border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);background:#fffaf2;width:14px;height:14px;position:absolute;bottom:-11px;left:50%;transform:translate(-50%)rotate(45deg)}#tooltip .tt-n{font-family:var(--font-cute);color:var(--clay-deep);font-size:20px}#tooltip .tt-e{font-family:var(--font-pixel);color:#7a6a7a;letter-spacing:.1em;font-size:10px}#tooltip .tt-f{margin-top:4px;font-size:13px;line-height:1.5}@keyframes pop{0%{opacity:0;transform:translate(-50%,calc(-100% - 10px))scale(.6)}}#labels{pointer-events:none;z-index:15;position:absolute;inset:0}#chips{z-index:30;pointer-events:none;flex-wrap:nowrap;justify-content:center;gap:8px;width:min(900px,100vw - 24px);display:flex;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}.chip{text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d0a1dcc;border:2px solid #fff5;border-radius:12px;flex:0 120px;min-width:0;padding:6px 8px 7px;animation:.5s cubic-bezier(.2,1.5,.4,1) chipIn;position:relative}.chip.cur{border-color:var(--yellow);box-shadow:0 0 16px #ffd45e88}.chip .ci{font-size:22px;line-height:1.2}.chip .ct{font-family:var(--font-pixel);color:var(--cyan);letter-spacing:.04em;white-space:nowrap;font-size:9px}.chip .cn{font-family:var(--font-cute);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}@keyframes chipIn{0%{opacity:0;transform:translateY(30px)rotate(-8deg)scale(.5)}}#sfx-layer{pointer-events:none;z-index:34;position:absolute;inset:0;overflow:hidden}.sfx{font-family:var(--font-cute);white-space:nowrap;transform-origin:50%;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:6px 6px #1d1320aa;letter-spacing:-.02em;font-weight:900;position:absolute}#card{z-index:60;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.card-band{opacity:0;border-top:5px solid var(--clay);border-bottom:5px solid var(--clay);background:linear-gradient(90deg,#1d1320,#2b1a33 30%,#3a1f33 70%,#1d1320);width:130vw;padding:26px 0;position:relative;overflow:hidden;transform:rotate(-6deg)scaleY(0);box-shadow:0 0 0 4px #fff,0 20px 60px #000c}.card-stripes{opacity:.14;background:repeating-linear-gradient(115deg,#fff 0 14px,#0000 14px 38px);animation:2.2s linear infinite stripes;position:absolute;inset:0}@keyframes stripes{to{background-position:190px 0}}.card-inner{text-align:center;position:relative}.card-no{font-family:var(--font-pixel);letter-spacing:.5em;color:var(--yellow);font-size:13px}.card-title{font-family:var(--font-cute);color:#fff;text-shadow:4px 4px 0 var(--clay-deep), 8px 8px 0 #0008;font-size:clamp(36px,6.5vw,72px);line-height:1.2}.card-sub{font-family:var(--font-body);color:#ffd9c9;letter-spacing:.15em;margin-top:2px;font-size:clamp(13px,1.6vw,17px)}#fader{z-index:50;opacity:1;pointer-events:none;background:#000;position:absolute;inset:0}#title-screen{z-index:80;background:radial-gradient(at 50% 60%,#2a1a4a 0%,#0c0718 55%,#04030a 100%);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.ts-stars{opacity:.8;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff,#0000),radial-gradient(1px 1px at 70% 20%,#fff,#0000),radial-gradient(2px 2px at 40% 80%,#ffd6f0,#0000),radial-gradient(1px 1px at 85% 65%,#cfe0ff,#0000),radial-gradient(1.5px 1.5px at 10% 70%,#fff,#0000),radial-gradient(1px 1px at 55% 45%,#fff,#0000);background-size:240px 240px;animation:80s linear infinite drift;position:absolute;inset:-50%}@keyframes drift{to{transform:rotate(360deg)}}.ts-inner{text-align:center;padding:20px;position:relative}.ts-clawd{filter:drop-shadow(0 0 24px #d9775788);width:150px;height:112px;margin:0 auto 10px;animation:1.6s ease-in-out infinite tsBob}.ts-clawd svg{width:100%;height:100%}@keyframes tsBob{50%{transform:translateY(-10px)rotate(-3deg)}}.ts-kicker{font-family:var(--font-pixel);letter-spacing:.35em;color:var(--cyan);font-size:12px}.ts-title{font-family:var(--font-cute);margin:8px 0 4px;font-size:clamp(64px,13vw,150px);font-weight:400;line-height:1.05}.ts-title span{color:#fff;text-shadow:5px 5px 0 var(--clay), 10px 10px 0 #1d1320;animation:3s ease-in-out infinite tsLetter;display:inline-block}.ts-title span:nth-child(2){color:#ffe3d6;animation-delay:.15s}.ts-title span:nth-child(3){animation-delay:.3s}.ts-title span:nth-child(4){color:#ffe3d6;animation-delay:.45s}@keyframes tsLetter{0%,70%,to{transform:none}80%{transform:translateY(-12px)rotate(-4deg)}}.ts-sub{font-family:var(--font-cute);color:#ffd9c9;font-size:clamp(18px,2.4vw,26px)}#btn-start{font-family:var(--font-cute);color:#fff;background:linear-gradient(180deg, #ea8a69, var(--clay) 50%, var(--clay-deep));box-shadow:0 0 0 4px var(--ink), 6px 8px 0 4px #0009, 0 0 40px #d9775799;border:3px solid #fff;border-radius:999px;margin-top:34px;padding:14px 44px;font-size:24px;transition:transform .15s}#btn-start:hover{transform:translateY(-3px)scale(1.04)}#btn-start:active{transform:translateY(2px)scale(.98)}.ts-tips{color:#ffffffa8;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:28px;font-size:13px;display:flex}#ending{z-index:45;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}#ending>*{pointer-events:auto}.end-kicker{font-family:var(--font-pixel);letter-spacing:.45em;color:#fff;text-shadow:0 0 10px #ff7eb6,2px 2px #2a1f5e;background:#2a1f5e80;border-radius:999px;padding:4px 12px;font-size:13px}.end-title{font-family:var(--font-cute);margin:6px 0 10px;font-size:clamp(56px,11vw,132px);font-weight:400;line-height:1.1}.end-title span{color:#fff;text-shadow:5px 5px #ff7eb6,10px 10px #2a1f5e;display:inline-block}.end-sub{color:#fff;text-shadow:0 2px 8px #2a1f5e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2a1f5e8c;border:1.5px solid #ffffff30;border-radius:16px;max-width:640px;padding:10px 22px;font-size:clamp(15px,2vw,19px);line-height:1.9}.end-btns{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:28px;display:flex}.end-btns button{font-family:var(--font-cute);color:var(--ink);border:3px solid var(--ink);background:#fffaf2;border-radius:999px;padding:11px 28px;font-size:19px;transition:transform .15s;box-shadow:4px 5px #2a1f5ecc}.end-btns button:first-child{background:var(--clay);color:#fff}.end-btns button:hover{transform:translateY(-3px)}@media (width<=720px){#hud{max-width:60vw;top:12px;left:14px}#timeline{width:calc(100vw - 24px);top:96px;right:12px}.tl-node .tl-lbl{display:none}#controls{gap:5px;top:10px;right:10px}#controls button{padding:5px 8px;font-size:11px}#hint{white-space:normal;text-align:center;width:max-content;max-width:calc(100vw - 32px);font-size:15px;top:146px}#dialog{min-height:96px;padding:22px 18px 16px}#chips{bottom:140px}.chip{flex-basis:64px}.chip .cn{display:none}.ts-tips{flex-direction:column;gap:6px}}
