:root{color-scheme:light;background:var(--background, #16324a);color:#f4fbff;font-family:system-ui,-apple-system,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif;--design-w: 393;--design-h: 758;--ui-scale: 1;--start-btn-w: 220;--ok-btn-w: 220;--auth-w: 300;--allow-btn-w: 200;--notnow-btn-w: 32;--btn-bottom: 91;--notice-font: 11;--milky: #fff8f0;--brand-h: 80;--music-h: 72;--chrome-top: 54;--chrome-x: 56}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--background, #16324a);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}#app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;background:var(--background, #16324a)}canvas{position:absolute;top:0;left:0;z-index:0;display:block;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#status,#overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;box-sizing:border-box;padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left))}#status{z-index:4}#chrome{position:absolute;top:calc(var(--chrome-top) * var(--ui-scale) * 1px + env(safe-area-inset-top));right:calc(var(--chrome-x) * var(--ui-scale) * 1px + env(safe-area-inset-right));left:calc(var(--chrome-x) * var(--ui-scale) * 1px + env(safe-area-inset-left));z-index:5;display:flex;align-items:center;justify-content:space-between;pointer-events:none}#brand{display:block;height:calc(var(--brand-h) * var(--ui-scale) * 1px);width:auto}#music{pointer-events:auto;width:auto;height:calc(var(--brand-h) * var(--ui-scale) * 1px);padding:0;border:0;border-radius:0;background:transparent}#app:has(#intro:not([hidden]) #intro-cover:not([hidden])) #music{visibility:hidden;pointer-events:none}#music img{display:block;height:calc(var(--music-h) * var(--ui-scale) * 1px);width:auto}#status[hidden],#overlay[hidden],#intro[hidden],[hidden]{display:none!important}#intro{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3}#intro-cover,#intro-select,#intro-auth,#intro-wx{position:absolute;top:0;right:0;bottom:0;left:0}#intro:has(#intro-auth:not([hidden])),#intro:has(#intro-wx:not([hidden])){z-index:6}#intro-auth{z-index:6}#intro-wx{z-index:7}.intro-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.intro-stage{position:absolute;left:50%;top:50%;z-index:1;width:calc(var(--design-w) * 1px);height:calc(var(--design-h) * 1px);transform:translate(-50%,-50%) scale(var(--ui-scale));transform-origin:center center;pointer-events:none}.intro-btn{position:absolute;left:50%;bottom:calc(var(--btn-bottom) * 1px);z-index:1;display:block;width:calc(var(--start-btn-w) * 1px);padding:0;border:0;border-radius:0;background:transparent;transform:translate(-50%);pointer-events:auto}#intro-ok{width:calc(var(--ok-btn-w) * 1px)}.intro-btn img{display:block;width:100%;height:auto;pointer-events:none}.intro-auth-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c}#intro-auth-card{position:absolute;left:50%;top:46%;width:calc(var(--auth-w) * 1px);transform:translate(-50%,-50%);pointer-events:auto}#intro-auth-card>img{display:block;width:100%;height:auto;pointer-events:none}#intro-allow{bottom:58px;width:calc(var(--allow-btn-w) * 1px)}#intro-notnow{bottom:16px;width:calc(var(--notnow-btn-w) * 1px);padding:12px 20px;box-sizing:content-box}.intro-wx-dim{background:#00000059}.intro-wx-sheet{position:absolute;left:50%;top:46%;width:280px;transform:translate(-50%,-50%);overflow:hidden;border-radius:12px;background:#fff;color:#111;pointer-events:auto;box-shadow:0 12px 40px #00000047}.intro-wx-sheet h2,.intro-wx-sheet p{margin:0;text-align:center}.intro-wx-sheet h2{padding:22px 20px 0;font-size:17px;font-weight:650;line-height:1.35}.intro-wx-sheet p{padding:8px 20px 0;color:#888;font-size:13px;font-weight:400;line-height:1.4}.intro-wx-profile{display:flex;align-items:center;gap:10px;margin:18px 16px 16px;padding:10px 12px;border:1px solid #07c160;border-radius:8px;font-size:15px}.intro-wx-avatar{flex:0 0 36px;width:36px;height:36px;border-radius:6px;background:radial-gradient(circle at 50% 38%,#fff 0 5px,transparent 6px),radial-gradient(circle at 50% 78%,#fff 0 12px,transparent 13px),#07c160}.intro-wx-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ebebeb}#intro-wx-deny,#intro-wx-allow{width:auto;margin:0;padding:14px 8px;border-radius:0;background:transparent;color:#111;font-size:17px;font-weight:400}#intro-wx-allow{border-left:1px solid #ebebeb;color:#07c160;font-weight:650}#intro-notice{position:absolute;left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom));z-index:2;margin:0;padding:0 20px;background:none;color:#d8cfc4;font-size:calc(var(--notice-font) * var(--ui-scale) * 1px);font-weight:400;line-height:1.4;text-align:center;text-decoration:underline;text-underline-offset:2px;pointer-events:auto}#status.error,.warn{color:#9d2c2c}#score{position:absolute;z-index:2;margin:0;color:var(--milky);font-size:72px;font-weight:700;line-height:1;text-align:center;pointer-events:none}#fps{position:absolute;z-index:2;margin:0;color:#fff;font-size:14px;font-weight:600;line-height:1.35;text-align:right;white-space:pre;pointer-events:none;text-shadow:0 2px 0 #16324a}.card{display:flex;flex-direction:column;gap:12px;width:min(100%,360px);max-height:100%;box-sizing:border-box;margin:0;padding:22px;overflow:auto;border-radius:20px;background:#fffffff0;color:#16324a}.card h1,.card h2,.card p{margin:0}form,.card{touch-action:manipulation}input,button,a{font:inherit}input{box-sizing:border-box;width:100%;padding:12px 14px;border:0;border-radius:12px;background:#e7f4fb;color:inherit;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}#steer{position:absolute;z-index:2;display:flex;justify-content:center;align-items:center;gap:12px;pointer-events:none}#steer button{position:relative;display:grid;place-items:center;flex:0 0 120px;width:120px;height:120px;padding:0;border:0;background:transparent;box-shadow:none;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#steer .steer-arrow{display:block;width:120px;height:auto;pointer-events:auto;touch-action:none}#steer button.held{background:transparent;filter:brightness(.88)}button,#wechat-login{display:block;box-sizing:border-box;width:100%;padding:12px 14px;border:0;border-radius:999px;background:#16324a;color:#fff;text-align:center;text-decoration:none;-webkit-tap-highlight-color:transparent}button.ghost{background:#d7ebf6;color:#16324a}#intro .intro-btn{width:calc(var(--start-btn-w) * 1px);padding:0;border-radius:0;background:transparent}#intro #intro-ok{width:calc(var(--ok-btn-w) * 1px)}#intro #intro-allow{width:calc(var(--allow-btn-w) * 1px)}#intro #intro-notnow{width:calc(var(--notnow-btn-w) * 1px);padding:12px 20px;box-sizing:content-box}#intro #intro-wx-deny,#intro #intro-wx-allow{width:auto;padding:14px 8px;border-radius:0;background:transparent;color:#111}#intro #intro-wx-allow{color:#07c160}#chrome #music{width:auto;height:calc(var(--brand-h) * var(--ui-scale) * 1px);padding:0;border-radius:0;background:transparent}#board-list{display:flex;flex-direction:column;gap:8px;max-height:46vh;margin:0;padding:0;overflow:auto;list-style:none}#board-list li{display:grid;grid-template-columns:2rem 1fr auto;gap:8px;align-items:center}#board-list li.me{font-weight:700}
