/* 响应式调整 */
/* 响应式调整 */
/* 平板设备适配 (768px - 1024px) */
@media (max-width: 1024px) {
    body {
        padding: 15px;
        font-size: 15px;
    }

    #ButtonInputMartix {
        padding: 14px 28px;
        font-size: 16px;
        margin-bottom: 20px;
    }

    #window {
        width: 350px;
        height: 350px;
        grid-template-columns: repeat(10, 35px);
        grid-template-rows: repeat(10, 35px);
    }

    .grid-cell {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }

    .grid-cell-input {
        width: 50px;
        height: 45px;
        font-size: 15px;
    }

    #InputMatrix {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .assist-group {
        margin-left: 0;
        width: 100%;
        max-width: 300px;
        align-items: center;
    }

    .action-button {
        padding: 14px 28px;
        font-size: 15px;
        min-width: 120px;
        width: 100%;
        margin-bottom: 8px;
    }

    #coordinates {
        font-size: 16px;
        margin-top: 20px;
        margin-bottom: 15px;
    }


}

/* 手机设备适配 (480px - 768px) */
@media (max-width: 768px) {
    body {
        padding: 10px;
        font-size: 14px;
    }

    #ButtonInputMartix {
        padding: 12px 24px;
        font-size: 15px;
        width: 100%;
        margin-bottom: 15px;
    }

    #window {
        width: 300px;
        height: 300px;
        grid-template-columns: repeat(10, 30px);
        grid-template-rows: repeat(10, 30px);
    }

    .grid-cell {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    .grid-cell-input {
        width: 45px;
        height: 40px;
        font-size: 14px;
        padding: 0 3px;
    }

    #InputMatrix {
        gap: 12px;
    }

    .assist-group {
        max-width: 280px;
        gap: 8px;
    }

    .action-button {
        padding: 12px 20px;
        font-size: 14px;
        min-width: 100px;
    }

    #coordinates {
        font-size: 15px;
        margin-top: 15px;
        margin-bottom: 12px;
    }


}

/* 小屏手机适配 (320px - 480px) */
@media (max-width: 480px) {
    body {
        padding: 8px;
        font-size: 13px;
    }

    #ButtonInputMartix {
        padding: 10px 20px;
        font-size: 14px;
        margin-bottom: 12px;
    }

    #window {
        width: 280px;
        height: 280px;
        grid-template-columns: repeat(10, 28px);
        grid-template-rows: repeat(10, 28px);
    }

    .grid-cell {
        width: 28px;
        height: 28px;
        font-size: 11px;
    }

    .grid-cell-input {
        width: 40px;
        height: 35px;
        font-size: 13px;
        padding: 0 2px;
        max-width: 3;
    }

    #InputMatrix {
        gap: 10px;
    }

    .assist-group {
        max-width: 260px;
        gap: 6px;
    }

    .action-button {
        padding: 10px 16px;
        font-size: 13px;
        min-width: 90px;
    }

    #coordinates {
        font-size: 14px;
        margin-top: 12px;
        margin-bottom: 10px;
    }

    #tip {
        font-size: 12px;
        line-height: 1.3;
    }
}

/* 超小屏手机适配 (小于320px) */
@media (max-width: 320px) {
    body {
        padding: 5px;
        font-size: 12px;
    }

    #ButtonInputMartix {
        padding: 8px 16px;
        font-size: 13px;
        margin-bottom: 10px;
    }

    #window {
        width: 250px;
        height: 250px;
        grid-template-columns: repeat(10, 25px);
        grid-template-rows: repeat(10, 25px);
    }

    .grid-cell {
        width: 25px;
        height: 25px;
        font-size: 10px;
    }

    .grid-cell-input {
        width: 35px;
        height: 30px;
        font-size: 12px;
        padding: 0 1px;
        max-width: 240px;
    }

    #InputMatrix {
        gap: 8px;
    }

    .assist-group {
        max-width: 240px;
        gap: 4px;
    }

    .action-button {
        padding: 8px 12px;
        font-size: 12px;
        min-width: 80px;
    }

    #coordinates {
        font-size: 13px;
        margin-top: 10px;
        margin-bottom: 8px;
    }


}

/* 横屏模式适配 */
@media (max-height: 500px) and (orientation: landscape) {
    #InputMatrix {
        flex-direction: row;
        justify-content: center;
    }

    .assist-group {
        margin-left: 20px;
        width: 180px;
    }

    #window {
        width: 280px;
        height: 280px;
    }
}

/* 高DPI屏幕适配 */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
    .grid-cell {
        border-width: 0.5px;
    }

    .grid-cell-input {
        border-width: 1px;
    }
}

/* 触摸设备优化 */
@media (hover: none) and (pointer: coarse) {
    .action-button:hover {
        transform: none;
        box-shadow: none;
    }

    .grid-cell:hover {
        background-color: #d3d3d3;
    }

    .action-button:active {
        transform: scale(0.98);
    }

    .grid-cell-input {
        font-size: 16px;
        /* 增大触摸设备上的字体 */
    }
}

/* 暗色模式支持 */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #1a1a1a;
        color: #ffffff;
    }

    #window {
        background-color: #2d2d2d;
        border-color: #555;
    }

    .grid-cell {
        background-color: #3d3d3d;
        border-color: #666;
        color: #ffffff;
    }

    .grid-cell-input {
        background-color: #2d2d2d;
        border-color: #4a90e2;
        color: #ffffff;
    }

    .grid-cell-input:focus {
        border-color: #1e6fbb;
    }
}