/* ----- 全局变量与深色基调 ----- */
        * {
            box-sizing: border-box;
        }
        body {
            margin: 0;
            padding-top: 4.5rem;          /* 为固定导航留出空间 */
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            background: #0b0c15;            /* 深色底 */
            min-height: 100vh;
            position: relative;
            color: #e9e9f0;
        }
        /* 背景图片层 + 深色叠加 */
        body::before {
            content: '';
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background: url('https://rice.cab/static/background.jpg') center/cover no-repeat fixed;
            /* background: url('../static/endfield/0133.111c07.jpg') center/cover no-repeat fixed; */
            background-blend-mode: overlay;
            opacity: 0.9;
            z-index: -2;
        }
        /* 径向渐变遮罩，加深边缘，聚焦中央 */
        body::after {
            content: '';
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background: radial-gradient(circle at 30% 40%, rgba(15,20,35,0.1) 0%, #06070e 90%);
            z-index: -1;
            pointer-events: none;
        }

        /* ----- 导航栏 (毛玻璃) ----- */
        .navbar.bg-dark {
            background: rgba(8, 10, 18, 0.85) !important;
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 4px 20px rgba(0,0,0,0.5);
        }
        .navbar-dark .navbar-brand {
            font-weight: 700;
            letter-spacing: -0.02em;
            color: #ffffff;
        }
        .navbar-dark .navbar-brand i {
            color: #ffd966;
            margin-right: 6px;
        }
        .navbar-dark .navbar-nav .nav-link {
            font-weight: 500;
            font-size: 0.95rem;
            padding: 0.5rem 1rem;
            transition: 0.2s;
            color: rgba(255,255,255,0.75);
        }
        .navbar-dark .navbar-nav .nav-link:hover {
            color: white;
            background: rgba(255,255,255,0.05);
        }

        /* 下拉菜单毛玻璃 */
        .dropdown-menu {
            background: rgba(18, 22, 35, 0.95);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.6);
        }
        .dropdown-item {
            color: #cfd5e6;
            font-weight: 500;
            padding: 0.6rem 1.5rem;
        }
        .dropdown-item:hover {
            background: rgba(90, 130, 255, 0.2);
            color: white;
        }

        /* ----- 主容器 (毛玻璃卡片) ----- */
        .container {
            margin-top: 30px;
            margin-bottom: 40px;
            padding: 30px 25px 35px 25px;
            background: rgba(18, 22, 38, 0.7);        /* 深色半透明 */
            backdrop-filter: blur(14px);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 36px;
            box-shadow: 0 25px 45px -10px rgba(0,0,0,0.6), inset 0 1px 1px rgba(255,255,255,0.08);
            animation: fade-in 0.6s cubic-bezier(0.23, 1, 0.32, 1);
        }
        @keyframes fade-in {
            0% { opacity: 0; transform: translateY(12px); }
            100% { opacity: 1; transform: translateY(0); }
        }

        /* ----- 消息闪现 (深色主题alert) ----- */
        .alert {
            background: rgba(30, 35, 55, 0.8);
            backdrop-filter: blur(8px);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 10px;
            color: #f0f2fa;
            font-weight: 500;
            padding: 1rem 1.5rem;
            margin-bottom: 1.5rem;
            box-shadow: 0 6px 14px rgba(0,0,0,0.4);
            animation: slideDown 0.3s;
        }
        @keyframes slideDown {
            from { opacity: 0; transform: translateY(-20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .alert-danger {
            background: rgba(180, 60, 80, 0.7);
            border-left: 6px solid #ff7b7b;
        }
        .alert-success {
            background: rgba(40, 100, 70, 0.7);
            border-left: 6px solid #6cdb9b;
        }
        .alert .close {
            color: white;
            text-shadow: 0 1px 2px rgba(0,0,0,0.5);
            opacity: 0.8;
        }
        .alert .close:hover {
            opacity: 1;
        }

        /* ----- 通用文字/链接样式 ----- */
        a:not(.btn):not(.nav-link):not(.dropdown-item) {
            color: #9bbaff;
            transition: 0.2s;
        }
        a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
            color: #c6dcff;
            text-decoration: none;
        }

        /* ----- 表格美化 (供继承页面使用，与之前B50风格一致) ----- */
        .table {
            color: #e2e6f0;
            border-collapse: separate;
            border-spacing: 0;
            width: 100%;
        }
        .table thead th {
            background: rgba(10, 15, 30, 0.7);
            border: none;
            font-weight: 600;
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 0.03em;
            color: #9aabdb;
            padding: 16px 12px;
            border-bottom: 1px solid rgba(255,255,255,0.1);
            white-space: nowrap;
        }
        .table tbody tr {
            background: rgba(30, 35, 55, 0.45);
            transition: 0.2s;
            backdrop-filter: blur(4px);
            border: 1px solid transparent;
        }
        .table tbody tr:hover {
            background: rgba(45, 52, 82, 0.7);
            border-color: rgba(130, 170, 255, 0.3);
            transform: scale(1.002);
            box-shadow: 0 6px 18px rgba(0, 20, 50, 0.5);
        }
        .table td {
            padding: 16px 12px;
            border: none;
            vertical-align: middle;
            font-size: 0.95rem;
            color: #f0f2fa;
        }
        .table td:first-child {
            border-top-left-radius: 0px;
            border-bottom-left-radius: 0px;
        }
        .table td:last-child {
            border-top-right-radius: 0px;
            border-bottom-right-radius: 0px;
        }

        /* 难度标签示例 (子页面可自行使用) */
        .difficulty-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 40px;
            font-size: 0.8rem;
            font-weight: 700;
            text-align: center;
            min-width: 68px;
            background: rgba(20, 25, 45, 0.8);
            border: 1px solid rgba(255,255,255,0.15);
            color: white;
            box-shadow: 0 2px 5px rgba(0,0,0,0.3);
        }
        .diff-grv { background: linear-gradient(145deg, #6b3f9f, #452c6b); }
        .diff-mxm { background: linear-gradient(145deg, #b13e3e, #7a2626); }
        .diff-exh { background: linear-gradient(145deg, #c97e2e, #8e551b); }
        .diff-vvd { background: linear-gradient(145deg, #2f8f8f, #1d5a5a); }

        /* 工具提示 (深色) */
        .tooltip-inner {
            background: #131a2b;
            color: #eef3ff;
            border: 1px solid #3b4a6b;
            box-shadow: 0 8px 20px black;
            font-weight: 500;
            padding: 8px 16px;
            border-radius: 8px;
            /* backdrop-filter: blur(4px); */
        }
        .tooltip.bs-tooltip-auto .arrow::before,
        .tooltip.bs-tooltip-top .arrow::before {
            border-top-color: #3b4a6b;
        }
		.tooltip {
			opacity: 1 !important;
		}
		.tooltip.show {
			opacity: 1 !important;
		}
		.tooltip-inner {
			background: #131a2b !important;
			backdrop-filter: none !important;
			opacity: 1 !important;
		}
        /* 响应式辅助 */
        .table-responsive-custom {
            overflow-x: auto;
            border-radius: 20px;
        }
        select.form-control {
			background-color: #1e2438;
			color: #fff;
			border-color: #3a4055;
		}
		
		/* 暗色输入框通用样式 */
		.textarea,
		.form-control,
		.custom-select,
		.form-control-file,
		.form-control-range,
		select.form-control,
		textarea.form-control,
		input[type="text"],
		input[type="password"],
		input[type="email"],
		input[type="number"],
		input[type="search"],
		input[type="tel"],
		input[type="url"] {
			background-color: #1e2438 !important;      /* 深蓝灰背景 */
			border: 1px solid #3a4055 !important;      /* 稍亮边框 */
			color: #f0f2fa !important;                 /* 浅色文字 */
			border-radius: 12px;                        /* 圆角与整体风格匹配 */
			padding: 0.5rem 1rem;
			transition: all 0.2s ease;
		}

		/* 聚焦状态 */
		.form-control:focus,
		.custom-select:focus,
		select.form-control:focus,
		textarea.form-control:focus,
		input:focus {
			background-color: #282f44 !important;
			border-color: #6a8cff !important;           /* 亮蓝色边框 */
			box-shadow: 0 0 0 0.2rem rgba(106, 140, 255, 0.25) !important;
			color: #ffffff !important;
			outline: none;
		}

		/* 悬停效果 */
		.form-control:hover,
		.custom-select:hover,
		select.form-control:hover,
		textarea.form-control:hover,
		input:hover {
			border-color: #5f73b0 !important;
		}

		/* 占位符颜色 */
		.form-control::placeholder,
		input::placeholder,
		textarea::placeholder {
			color: #8a94b0 !important;
			opacity: 0.7;
		}

		/* 针对 select 下拉箭头（部分浏览器可自定义） */
		.custom-select {
			background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23c0caf0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") !important;
		}

		/* 禁用状态 */
		.form-control:disabled,
		.form-control[readonly] {
			background-color: #2a2f42 !important;
			border-color: #4b5168 !important;
			color: #a9b0c5 !important;
			opacity: 0.8;
		}
		
		/* 针对所有 textarea，无论是否带 form-control 类 */
		textarea,
		textarea.form-control {
			background-color: #1e2438 !important;
			border: 1px solid #3a4055 !important;
			color: #f0f2fa !important;
			border-radius: 12px;
			padding: 0.6rem 1rem;          /* 稍大的内边距，更适合多行输入 */
			resize: vertical;               /* 允许垂直调整大小，保留可用性 */
			transition: all 0.2s ease;
		}

		textarea:focus,
		textarea.form-control:focus {
			background-color: #282f44 !important;
			border-color: #6a8cff !important;
			box-shadow: 0 0 0 0.2rem rgba(106, 140, 255, 0.25) !important;
			color: #ffffff !important;
			outline: none;
		}

		/* 占位符样式 */
		textarea::placeholder {
			color: #8a94b0 !important;
			opacity: 0.7;
		}
		.navbar-dark .navbar-nav .show > .nav-link,
		.navbar-dark .navbar-nav .active > .nav-link,
		.navbar-dark .navbar-nav .nav-link.show,
		.navbar-dark .navbar-nav .nav-link.active {
			color: #ffd966;
			background: transparent !important;
			border-bottom: 3px solid #ffd966;
			border-radius: 0; /* 可选，取消圆角使下划线横贯整个宽度 */
			padding-bottom: calc(0.5rem - 3px); /* 调整内边距补偿边框高度 */
		}
