* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .game-container {
            background: white;
            border-radius: 20px;
            padding: 30px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
            max-width: 900px;
            width: 100%;
        }

        .game-header {
            text-align: center;
            margin-bottom: 30px;
        }

        .game-title {
            font-size: 2.5em;
            font-weight: 700;
            color: #2c3e50;
            margin-bottom: 10px;
        }

        .game-subtitle {
            color: #7f8c8d;
            font-size: 1.1em;
        }

        .board {
            width: 600px;
            height: 600px;
            border: 4px solid #2c3e50;
            position: relative;
            margin: 0 auto 30px;
            background: #ecf0f1;
        }

        .property {
            position: absolute;
            background: white;
            border: 2px solid #34495e;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            font-size: 10px;
            font-weight: bold;
            color: #2c3e50;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .property:hover {
            background: #f8f9fa;
            transform: scale(1.05);
        }

        /* 棋盘布局 */
        .property-0 { width: 80px; height: 80px; bottom: 0; right: 0; } /* 起点 */
        .property-1 { width: 60px; height: 80px; bottom: 0; right: 80px; }
        .property-2 { width: 60px; height: 80px; bottom: 0; right: 140px; }
        .property-3 { width: 60px; height: 80px; bottom: 0; right: 200px; }
        .property-4 { width: 60px; height: 80px; bottom: 0; right: 260px; }
        .property-5 { width: 60px; height: 80px; bottom: 0; right: 320px; }
        .property-6 { width: 60px; height: 80px; bottom: 0; right: 380px; }
        .property-7 { width: 60px; height: 80px; bottom: 0; right: 440px; }
        .property-8 { width: 60px; height: 80px; bottom: 0; right: 500px; }
        .property-9 { width: 80px; height: 80px; bottom: 0; left: 0; } /* 监狱 */
        
        .property-10 { width: 80px; height: 60px; left: 0; bottom: 80px; }
        .property-11 { width: 80px; height: 60px; left: 0; bottom: 140px; }
        .property-12 { width: 80px; height: 60px; left: 0; bottom: 200px; }
        .property-13 { width: 80px; height: 60px; left: 0; bottom: 260px; }
        .property-14 { width: 80px; height: 60px; left: 0; bottom: 320px; }
        .property-15 { width: 80px; height: 60px; left: 0; bottom: 380px; }
        .property-16 { width: 80px; height: 60px; left: 0; bottom: 440px; }
        .property-17 { width: 80px; height: 60px; left: 0; bottom: 500px; }
        .property-18 { width: 80px; height: 80px; top: 0; left: 0; } /* 免费停车 */
        
        .property-19 { width: 60px; height: 80px; top: 0; left: 80px; }
        .property-20 { width: 60px; height: 80px; top: 0; left: 140px; }
        .property-21 { width: 60px; height: 80px; top: 0; left: 200px; }
        .property-22 { width: 60px; height: 80px; top: 0; left: 260px; }
        .property-23 { width: 60px; height: 80px; top: 0; left: 320px; }
        .property-24 { width: 60px; height: 80px; top: 0; left: 380px; }
        .property-25 { width: 60px; height: 80px; top: 0; left: 440px; }
        .property-26 { width: 60px; height: 80px; top: 0; left: 500px; }
        .property-27 { width: 80px; height: 80px; top: 0; right: 0; } /* 进监狱 */
        
        .property-28 { width: 80px; height: 60px; right: 0; top: 80px; }
        .property-29 { width: 80px; height: 60px; right: 0; top: 140px; }
        .property-30 { width: 80px; height: 60px; right: 0; top: 200px; }
        .property-31 { width: 80px; height: 60px; right: 0; top: 260px; }
        .property-32 { width: 80px; height: 60px; right: 0; top: 320px; }
        .property-33 { width: 80px; height: 60px; right: 0; top: 380px; }
        .property-34 { width: 80px; height: 60px; right: 0; top: 440px; }
        .property-35 { width: 80px; height: 60px; right: 0; top: 500px; }

        .player {
            position: absolute;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            z-index: 10;
            transition: all 0.5s ease;
            border: 2px solid white;
            box-shadow: 0 2px 4px rgba(0,0,0,0.3);
        }

        .player-1 { background: #e74c3c; }
        .player-2 { background: #3498db; }
        .player-3 { background: #2ecc71; }
        .player-4 { background: #f39c12; }

        .game-info {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin-bottom: 20px;
        }

        .player-info {
            background: #f8f9fa;
            padding: 15px;
            border-radius: 10px;
            border: 2px solid #dee2e6;
        }

        .player-info.current {
            border-color: #007bff;
            background: #e3f2fd;
        }

        .player-name {
            font-weight: bold;
            color: #2c3e50;
            margin-bottom: 5px;
        }

        .player-money {
            color: #27ae60;
            font-size: 1.1em;
            font-weight: bold;
        }

        .game-controls {
            text-align: center;
            margin-bottom: 20px;
        }

        .btn {
            background: #007bff;
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 8px;
            font-size: 1em;
            font-weight: 600;
            cursor: pointer;
            margin: 0 10px;
            transition: all 0.3s ease;
        }

        .btn:hover {
            background: #0056b3;
            transform: translateY(-2px);
        }

        .btn:disabled {
            background: #6c757d;
            cursor: not-allowed;
            transform: none;
        }

        .dice-result {
            display: inline-block;
            background: #fff;
            color: #333;
            padding: 8px 16px;
            border-radius: 8px;
            margin: 0 10px;
            font-weight: bold;
            border: 2px solid #007bff;
        }

        .property-info {
            background: #f8f9fa;
            padding: 15px;
            border-radius: 10px;
            margin-top: 20px;
            border: 2px solid #dee2e6;
        }

        .property-color {
            width: 100%;
            height: 20px;
            margin-bottom: 10px;
            border-radius: 4px;
        }

        .owned {
            opacity: 0.8;
        }

        .house {
            position: absolute;
            width: 8px;
            height: 8px;
            background: #27ae60;
            border-radius: 2px;
            z-index: 5;
        }

        .hotel {
            position: absolute;
            width: 12px;
            height: 8px;
            background: #e74c3c;
            border-radius: 2px;
            z-index: 5;
        }

        @media (max-width: 768px) {
            .board {
                width: 400px;
                height: 400px;
            }
            
            .property {
                font-size: 8px;
            }
            
            .property-0, .property-9, .property-18, .property-27 { 
                width: 53px; height: 53px; 
            }
            
            .property-1, .property-2, .property-3, .property-4, .property-5, .property-6, .property-7, .property-8,
            .property-19, .property-20, .property-21, .property-22, .property-23, .property-24, .property-25, .property-26 { 
                width: 40px; height: 53px; 
            }
            
            .property-10, .property-11, .property-12, .property-13, .property-14, .property-15, .property-16, .property-17,
            .property-28, .property-29, .property-30, .property-31, .property-32, .property-33, .property-34, .property-35 { 
                width: 53px; height: 40px; 
            }

            /* 重新定位移动端属性 */
            .property-1 { right: 53px; }
            .property-2 { right: 93px; }
            .property-3 { right: 133px; }
            .property-4 { right: 173px; }
            .property-5 { right: 213px; }
            .property-6 { right: 253px; }
            .property-7 { right: 293px; }
            .property-8 { right: 333px; }
            
            .property-10 { bottom: 53px; }
            .property-11 { bottom: 93px; }
            .property-12 { bottom: 133px; }
            .property-13 { bottom: 173px; }
            .property-14 { bottom: 213px; }
            .property-15 { bottom: 253px; }
            .property-16 { bottom: 293px; }
            .property-17 { bottom: 333px; }
            
            .property-19 { left: 53px; }
            .property-20 { left: 93px; }
            .property-21 { left: 133px; }
            .property-22 { left: 173px; }
            .property-23 { left: 213px; }
            .property-24 { left: 253px; }
            .property-25 { left: 293px; }
            .property-26 { left: 333px; }
            
            .property-28 { top: 53px; }
            .property-29 { top: 93px; }
            .property-30 { top: 133px; }
            .property-31 { top: 173px; }
            .property-32 { top: 213px; }
            .property-33 { top: 253px; }
            .property-34 { top: 293px; }
            .property-35 { top: 333px; }
        }