  * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            background-image: url("/static/images/background.webp");
            background-size: cover;           /* 背景图拉伸至完全覆盖容器 */
            background-position: calc(100% + 200px) center;      /* 居中显示背景图 */
            background-repeat: no-repeat;     /* 避免重复平铺 */
            background-attachment: fixed;     /* 固定背景图位置 */
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 100vh;                /* 最小高度等于视口高度 */
            margin: 0;
            padding: 0;
        }

        .container {
            background-color: rgba(255, 255, 255, 0.95);
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            width: 90%;
            max-width: 600px;
            padding: 30px;
            backdrop-filter: blur(5px);
        }

        .container {
            opacity: 0;
            animation: fadeIn 0.5s ease-in-out 2s forwards;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        header {
            text-align: center;
            margin-bottom: 30px;
        }

        header h1 {
            color: #333;
            font-size: 2rem;
            font-weight: bold;
        }

        .announcement-form {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .form-group {
            display: flex;
            flex-direction: column;
        }

        .form-group label {
            font-weight: bold;
            margin-bottom: 5px;
            color: #555;
        }

        .form-group input,
        .form-group textarea {
            padding: 12px;
            border: 2px solid #ddd;
            border-radius: 5px;
            font-size: 1rem;
            transition: border-color 0.3s;
        }

        .form-group input:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: #4CAF50;
        }

        .submit-btn {
            background-color: #4CAF50;
            color: white;
            padding: 12px 20px;
            border: none;
            border-radius: 5px;
            font-size: 1.1rem;
            cursor: pointer;
            transition: background-color 0.3s;
            font-weight: bold;
        }

        .submit-btn:hover {
            background-color: #45a049;
        }

        .message {
            margin-top: 20px;
            padding: 10px;
            border-radius: 5px;
            text-align: center;
            font-weight: bold;
            display: none;
        }

        .message.success {
            background-color: #dff0d8;
            color: #3c763d;
            border: 1px solid #d6e9c6;
        }

        .message.error {
            background-color: #f2dede;
            color: #a94442;
            border: 1px solid #ebccd1;
        }

        /* 公告栏样式 */
        .announcement-board {
            margin-top: 30px;
            padding: 20px;
            background-color: #f8f9fa;
            border-radius: 8px;
            border: 1px solid #e9ecef;
        }

        .announcement-board h2 {
            color: #333;
            margin-bottom: 15px;
            font-size: 1.3rem;
        }

        .announcements-list {
            max-height: 400px;
            overflow-y: auto;
        }

        .announcement-item {
            padding: 15px;
            margin-bottom: 15px;
            background-color: white;
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

        .announcement-item:last-child {
            margin-bottom: 0;
        }

        .announcement-header {
            display: flex;
            justify-content: space-between;
            margin-bottom: 10px;
            font-size: 0.9rem;
        }

        .player-name {
            font-weight: bold;
            color: #4CAF50;
        }

        .timestamp {
            color: #666;
        }

        .announcement-content {
            color: #333;
            line-height: 1.5;
        }

        .no-announcements {
            text-align: center;
            color: #666;
            font-style: italic;
            padding: 20px;
        }

        /* 移动端适配 */
        @media (max-width: 768px) {
            .container {
                width: 95%;
                padding: 20px;
            }

            header h1 {
                font-size: 1.5rem;
            }

            .form-group input,
            .form-group textarea {
                padding: 10px;
                font-size: 0.9rem;
            }

            .submit-btn {
                padding: 10px 15px;
                font-size: 1rem;
            }

            .announcement-board {
                padding: 15px;
            }

            .announcements-list {
                max-height: 300px;
            }

            .announcement-item {
                padding: 12px;
            }

            .announcement-header {
                flex-direction: column;
                gap: 5px;
            }
        }

        @media (max-width: 480px) {
            body {
                padding: 10px;
            }

            .container {
                padding: 15px;
            }

            header h1 {
                font-size: 1.3rem;
            }
        }