* {
  box-sizing: border-box;
}

html, body {
  overflow-x: hidden;
}

body { margin:auto; font-size:16px; background-color:#f0f2f5; color:#333; font-weight:normal;}
table { width:100%; max-width:100%; border:0; margin:auto;}

a:link { color:#1890ff; text-decoration: none; }
a:visited { color:#1890ff; text-decoration: none;}
a:active { color:#1890ff; text-decoration: none;}
a:hover { color:#40a9ff; text-decoration: underline;}

#banner{ font-size:28px; color:#fff; font-family:"宋体"; padding:20px; background:linear-gradient(135deg, #1565C0 0%, #0D47A1 100%); width:100%; max-width:1002px; height:auto; min-height:80px; margin:auto; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(0,0,0,0.1);}
#print{ font-size:28px; color:#333; font-family:"宋体"; height:60px; text-align:center; padding-top:10px;}
#pname{ font-size:16px; color:#333; height:40px; text-align:center;}
#menu { font-size:14px; color:#fff; font-weight:bold; text-align:center; background:linear-gradient(90deg, #1565C0 0%, #0D47A1 100%); height:auto; min-height:41px; padding:10px 0; margin:10px auto; box-shadow:0 2px 8px rgba(13,71,161,0.3);}
#menu a { padding:5px 10px; display:inline-block; color:#fff;}
#menu a:hover { color:#ffe58f;}
#input { font-size:16px; color:#fff; font-weight:bold; border:0; background:none;}
#info { font-size:14px; background:#e6f7ff; height:32px; padding-left:18px; border-left:4px solid #1890ff;}
#BigTitle { font-size:18px; font-weight:bold; line-height:25px; padding:12px 15px; background:#E3F2FD; color:#1565C0; border-left:4px solid #1E88E5; margin:15px 0; border-radius:0 8px 8px 0; box-shadow:0 2px 6px rgba(0,0,0,0.04);}
.opt{ color:#37474F; padding:4px 15px 4px 30px; vertical-align:middle; font-size:14px; background:#fff; margin:0; font-weight:normal;}
.opt:hover, .opbt:hover { background:#F8FBFF; }
.opbt{color:#37474F; padding:10px 14px; height:auto; font-size:14px; font-weight:normal; background:#fff; border-radius:8px; margin-bottom:6px;}
.opst{color:#37474F; padding-left:6px;height:30px; font-size:14px; font-weight:normal;}

#Notice { background:#fff; width:100%; max-width:350px; height:auto; text-align:left; margin:auto; padding:30px; border-radius:12px; box-shadow:0 4px 16px rgba(0,0,0,0.1);}
#Noticeb{ margin:0; color:#333; font-size:15px; font-weight:normal; line-height:1.8;}
#Notice a { color:#1890ff; text-decoration:none;}
#Notice a:hover { color:#40a9ff; text-decoration: underline;}

#nopaper{ color:#ff4d4f; font-size:16px; font-weight:bold; line-height:40px;}

img { vertical-align:middle; display:inline-block; max-width:100%;}

/* 试题表格样式 - 类似WORD普通表格 */
.content-table,
.opbt table,
.memorize-analysis table,
.wrong-topic table,
.wrong-answer table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 15px 0 !important;
  background: #fff !important;
}
.content-table th,
.content-table td,
.opbt table th,
.opbt table td,
.memorize-analysis table th,
.memorize-analysis table td,
.wrong-topic table th,
.wrong-topic table td,
.wrong-answer table th,
.wrong-answer table td {
  padding: 8px 10px !important;
  border: 1px solid #000 !important;
  text-align: left !important;
  vertical-align: top !important;
  font-size: 14px !important;
}
.content-table th,
.opbt table th,
.memorize-analysis table th,
.wrong-topic table th,
.wrong-answer table th {
  background: #fff !important;
  font-weight: bold !important;
}


/* 通用按钮样式 */
.btn { padding:10px 24px; font-size:16px; background:linear-gradient(135deg, #1565C0 0%, #0D47A1 100%); color:#fff; font-weight:bold; letter-spacing:0.5px; border:1px solid rgba(255,255,255,0.12); border-radius:8px; cursor:pointer; transition:all 0.3s; box-shadow:0 4px 12px rgba(13,71,161,0.35); text-shadow:0 1px 3px rgba(0,0,0,0.25);}
.btn:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(13,71,161,0.5);}
.btn:active { transform:translateY(0);}

/* 卡片样式 */
.card { background:#e3eeb3; border-radius:12px; padding:20px; margin:15px 0; box-shadow:0 4px 16px rgba(0,0,0,0.06);}

/* 移动端适配 */
@media screen and (max-width: 768px) {
    body { font-size:15px; }
    #banner{ font-size:20px; padding:15px; min-height:60px; border-radius:0;}
    #print{ font-size:18px; height:50px;}
    #menu a { padding:8px 12px; display:inline-block;}
    .opt{ font-size:15px; padding:12px;}
    input[type="text"], textarea, select { font-size:16px; padding:12px; width:100%; box-sizing:border-box; border:1px solid #d9d9d9; border-radius:8px;}
    input[type="radio"], input[type="checkbox"] { width:22px; height:22px;}
    .btn { padding:14px 28px; font-size:16px; width:100%;}
}

@media screen and (max-width: 480px) {
    body { font-size:14px; }
    #banner{ font-size:18px; padding:12px;}
    #print{ font-size:16px; height:45px;}
    .opt{ font-size:14px; padding:10px;}
}