html,body{margin:0;padding:0;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}[data-game-host],[data-game-host] canvas{touch-action:none}html.cursor-hidden,html.cursor-hidden *{cursor:none!important}nav{background:#eee;display:flex}a{padding:10px;text-decoration:none;color:#000}a:hover{background-color:#a9a9a9}.active{background-color:#d3d3d3}.join-popup-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000b3}.join-popup{min-width:480px;padding:32px 48px;border:4px solid #00ffff;border-radius:16px;background:#1a1a2e;color:#fff;font-family:system-ui,sans-serif;text-align:center}.join-popup h2{margin:0 0 24px;font-size:36px}.join-list{margin:0;padding:0;list-style:none}.join-item{display:flex;gap:14px;align-items:center;justify-content:center;padding:8px 16px;font-size:28px;border-radius:8px}.join-item.selected{background:#ffffff1f;color:#0ff;font-weight:700}.join-item .dot{width:22px;height:22px;border-radius:50%;flex:0 0 auto}.color-row{display:flex;gap:16px;justify-content:center;margin:16px 0}.color-row .color-dot{width:44px;height:44px;border-radius:50%;border:4px solid transparent}.color-row .color-dot.selected{border-color:#fff;transform:scale(1.2)}.name-editor{display:flex;gap:8px;justify-content:center;margin:16px 0}.name-editor .name-char{width:44px;height:56px;line-height:56px;font-size:36px;font-family:monospace;background:#ffffff14;border-bottom:4px solid transparent}.name-editor .name-char.cursor{border-bottom-color:#0ff;color:#0ff}.popup-hint{margin-top:24px;font-size:18px;color:#999}.touch-controls{position:fixed;inset:0;z-index:1100;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-family:system-ui,sans-serif}.touch-controls .tc-btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;border:2px solid rgba(255,255,255,.35);border-radius:50%;background:#141e3773;color:#fffc;font-family:inherit;font-weight:700;pointer-events:auto;touch-action:none;cursor:pointer}.touch-controls .tc-btn:active{background:#ffffff4d;border-color:#ffffffb3}.touch-controls .tc-start{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:44px;height:44px;font-size:18px}.touch-controls .tc-flick-cluster{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:8px}.touch-controls .tc-flick-cluster .tc-btn{width:44px;height:44px;font-size:16px}.touch-controls .tc-flick-cluster .tc-face-a{width:60px;height:60px;font-size:22px;border-color:#78ffa080}.touch-controls .tc-flick-cluster .tc-face-b{border-color:#ff828280}.touch-controls .tc-dpad,.touch-controls .tc-face{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:200px;height:200px}.touch-controls .tc-dpad{left:max(14px,env(safe-area-inset-left))}.touch-controls .tc-dpad .tc-btn{font-size:20px;border-radius:12px}.touch-controls .tc-dpad .tc-up{grid-area:1/2}.touch-controls .tc-dpad .tc-left{grid-area:2/1}.touch-controls .tc-dpad .tc-right{grid-area:2/3}.touch-controls .tc-dpad .tc-down{grid-area:3/2}.touch-controls .tc-face{right:max(14px,env(safe-area-inset-right))}.touch-controls .tc-face .tc-btn{font-size:20px}.touch-controls .tc-face .tc-face-d{grid-area:1/2}.touch-controls .tc-face .tc-face-c{grid-area:2/1}.touch-controls .tc-face .tc-face-b{grid-area:2/3;border-color:#ff828280}.touch-controls .tc-face .tc-face-a{grid-area:3/2;border-color:#78ffa080}
