        * {
            user-select: none;
            box-sizing: border-box;
            -webkit-tap-highlight-color: transparent;
        }
        html, body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
            background: #ededed;
            font-family: Arial, sans-serif;
        }

        #gameContainer {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            align-items: center;
            padding: 6px;
            gap: 6px;
        }

        #topSection {
            width: 100%;
            max-width: 480px;
            flex: 0 0 auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 6px;
        }
        #status {
    width: 100%;
    height: 60px; /* 你的容器高度 */
    color: #aaa;
    font-size: 18px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateY(-200px); /* 往上微调 */
        }
        #progress {
            width: 90%;
            height: 12px;
        }
        #screen {
            position: relative;
            width: 100%;
            aspect-ratio: 3/4;
            max-height: 60vh;
        }
        #canvas {
            width: 100%;
            height: 100%;
            background: #ededed;
            display: block;
        }
        #dialog {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #fff;
            visibility: hidden;
            display: flex;
            flex-direction: column;
        }
        #dialog h1 {
            margin: 0;
            padding: 8px;
            font-size: 16px;
            text-align: center;
            border-bottom: 1px solid #ccc;
        }
        #dialog textarea {
            flex: 1;
            padding: 8px;
            border: none;
            outline: none;
            resize: none;
        }
        #dialog .control {
            display: flex;
            justify-content: space-between;
            padding: 6px 10px;
            border-top: 1px solid #ccc;
        }
        #dialogInfo {
            font-size: 12px;
            line-height: 30px;
        }

        /* 键盘整体：左右严格对齐 */
        #keymap {
            width: 100%;
            max-width: 480px;
            flex: 0 0 auto;
            display: flex;
            gap: 10px;
            padding: 6px;
            align-items: flex-start;
        }

        /* 左右区域宽度、行高完全一致 */
        .keyleft, .keyright {
            width: 50%;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 6px;
        }

        /* 左边：3行，高度和右边前3行完全一样 */
        .keyleft {
            grid-template-rows: repeat(3, 1fr);
        }

        /* 右边：4行，每行高度和左边一致 */
        .keyright {
            grid-template-rows: repeat(4, 1fr);
        }

        #keymap button {
            width: 100%;
            aspect-ratio: 1/1;
            font-size: clamp(14px, 3.5vw, 18px);
            border: none;
            border-radius: 6px;
            background: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            touch-action: manipulation;
        }
        #keymap button:active {
            background: #ccc;
        }
        .hidden {
            visibility: hidden;
            pointer-events: none;
        }