/* 公开刷题页面：以方向、题库和题目为首屏内容的紧凑布局。 */
:root{background:#f6f7f9;color:#203047}
.bank-shell{width:min(1220px,calc(100% - 48px))}
.bank-header{box-shadow:0 1px 0 #e6e9ed}
.header-row{min-height:62px;gap:30px}
.bank-brand{font-size:18px}
.bank-brand span{width:34px;height:34px;border-radius:9px}
.header-row nav a{padding:20px 0}
.plaza-main,.catalog-main,.bank-detail-main{padding-bottom:44px}
.eyebrow{letter-spacing:.1em;color:#4b79b0}
.plaza-heading,.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:30px 0 18px}
.plaza-heading h1,.catalog-heading h1{font-size:clamp(28px,3vw,38px);letter-spacing:-.035em;line-height:1.25;margin:0 0 7px}
.plaza-heading p:not(.eyebrow),.catalog-heading p:not(.eyebrow){color:#687789;line-height:1.65;font-size:14px;margin:0}
.plaza-heading .eyebrow,.catalog-heading .eyebrow{margin-bottom:7px}
.plaza-heading .search-row{margin:0;flex:0 1 380px;box-shadow:none;border-radius:10px}
.plaza-heading .search-row input{padding:9px 12px;font-size:14px}
.plaza-heading .search-row button{padding:9px 16px;white-space:nowrap}
.topic-panel{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:24px;padding:21px 26px;border:1px solid #f2dfbb;border-radius:14px;background:linear-gradient(115deg,#fff9ea,#fff4db 68%,#fff8e9)}
.topic-panel-title{display:grid;gap:6px}
.topic-panel-title strong{font-size:18px}
.topic-panel-title span{font-size:12px;line-height:1.5;color:#887657}
.topic-panel .direction-tabs{margin:0;gap:8px}
.topic-panel .direction-tabs button{background:#fff;border-color:#f1e3ca;color:#526071;padding:8px 16px;font-size:13px}
.topic-panel .direction-tabs button:hover{border-color:#9ab9df;color:#1b61ba}
.topic-panel .direction-tabs button.active{background:#276ec5;color:white;border-color:#276ec5}
.bank-section{border-radius:14px;border-color:#e8ecf1;padding:26px 28px;margin:20px 0;box-shadow:0 2px 12px #21344905}
.plaza-section{margin-top:20px}
.section-title{align-items:center}
.section-title .eyebrow{margin-bottom:6px}
.section-title h2{font-size:24px;letter-spacing:-.02em}
.section-title h2 span{font-size:16px;font-weight:600;margin-left:3px}
.section-title>a{font-size:13px}
.bank-status{min-height:0;margin:14px 0 0}
.bank-status:empty{display:none}
.bank-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.bank-card{min-height:142px;padding:18px;gap:16px;border-color:#e7ebf0;border-radius:12px;box-shadow:0 1px 4px #24334b05}
.bank-card:hover{transform:translateY(-2px);border-color:#b8cfea;box-shadow:0 10px 24px #173e6820}
.bank-card-head{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.bank-mark{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:#e7f1ff;color:#1e66bd;font-size:17px;font-weight:800}
.bank-card:nth-child(4n+2) .bank-mark{background:#e4f4f0;color:#078571}
.bank-card:nth-child(4n+3) .bank-mark{background:#f1eaff;color:#7557b3}
.bank-card:nth-child(4n) .bank-mark{background:#fff0e3;color:#b66e22}
.bank-card-copy{min-width:0}
.bank-card h3{font-size:16px;line-height:1.4;margin:0 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bank-card p{font-size:12px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#7a8795}
.bank-card .card-foot{border-top:1px solid #eef0f3;padding-top:11px;align-items:center;font-size:12px}
.bank-pager{margin-top:19px;font-size:13px}
.bank-pager button{padding:7px 11px}
.discovery-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:18px}
.featured-section{margin:0}
.featured-list{margin-top:16px;border-top:1px solid #e9edf2}
.featured-question{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:14px;align-items:center;padding:15px 2px;border-bottom:1px solid #eef0f3;font-size:14px}
.featured-question:hover .featured-stem{color:#2268c9}
.featured-stem{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.featured-meta{font-size:12px;color:#8a98a8;white-space:nowrap}
.featured-arrow{color:#276ec5;font-size:17px}
.discovery-aside{background:#fff;border:1px solid #e8ecf1;border-radius:14px;padding:24px;box-shadow:0 2px 12px #21344905}
.discovery-aside h2{font-size:18px;margin:0 0 10px}
.discovery-aside p{font-size:13px;color:#708095;line-height:1.7;margin:0 0 15px}
.discovery-aside a{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid #eef0f3;color:#315f91;font-size:13px;font-weight:700}
.discovery-aside a span{font-size:16px}
.catalog-heading>a{font-size:13px;color:#246bc7;font-weight:700;white-space:nowrap}
.catalog-section{margin-top:18px}
.catalog-section .filter-bar,.bank-detail-main .filter-bar{margin:22px 0 16px;gap:10px;grid-template-columns:minmax(160px,2fr) repeat(3,minmax(100px,1fr)) auto}
.filter-bar label{font-size:12px;color:#53677d;font-weight:600}
.filter-bar input,.filter-bar select{border-color:#dce3eb;font-weight:400}
.filter-bar input:focus,.filter-bar select:focus{outline:2px solid #a7c8f0;outline-offset:0}
.filter-bar button{background:#276ec5}
.question-list-head{display:flex;justify-content:space-between;padding:10px 14px;background:#f5f7fa;border-top:1px solid #e9edf2;border-bottom:1px solid #e9edf2;color:#8a98a8;font-size:12px}
.question-list-head span:last-child{padding-right:56px}
.bank-question-list{gap:0}
.bank-question,.catalog-section .bank-question{border:0;border-bottom:1px solid #edf0f3;border-radius:0;padding:15px 14px;background:#fff}
.bank-question:hover,.catalog-section .bank-question:hover{background:#f9fbfe;border-color:#e0e9f2}
.bank-question h3,.catalog-question-body h3{font-size:15px;line-height:1.55;margin:0 0 7px;font-weight:650}
.bank-question small,.catalog-question-body small{font-size:12px;color:#8795a6}
.catalog-question-body{display:flex;flex-direction:column-reverse;justify-content:center;gap:4px}
.catalog-question-body h3{margin:0}
.question-actions,.catalog-question-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;white-space:nowrap}
.question-actions a,.catalog-question-actions a{font-size:13px;color:#276ec5;font-weight:700}
.question-actions a:hover,.catalog-question-actions a:hover{text-decoration:underline}
.catalog-question-actions a:first-child{padding:0;background:none}
.detail-hero{background:#fff;border:1px solid #e8ecf1;border-radius:14px;margin:14px 0 18px;padding:27px 28px}
.detail-hero h1{font-size:32px;letter-spacing:-.03em;margin-bottom:7px}
.detail-hero>p:not(.eyebrow){font-size:14px;margin:0}
.detail-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:15px}
.detail-meta-row .progress{margin:0;font-size:13px}
.detail-meta-row .bank-meta{font-size:13px}
.bank-detail-main .back-link{margin-top:18px;font-size:13px}
.bank-detail-main .bank-section{margin-top:0}
.bank-detail-main .filter-bar{grid-template-columns:minmax(160px,2fr) repeat(3,minmax(100px,1fr)) auto}
.question-detail-main{padding-bottom:56px}
.question-detail-panel{max-width:900px;margin:0 auto;background:#fff;border:1px solid #e8ecf1;border-radius:14px;padding:35px 42px;box-shadow:0 2px 12px #21344905}
.question-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.question-detail-meta span{background:#edf4fc;color:#3268a2;border-radius:5px;padding:6px 10px;font-size:12px;font-weight:700}
.question-detail-bookmark{display:grid;place-items:center;margin-left:auto;width:38px;height:38px;padding:0;border:1px solid #d5deec;border-radius:10px;background:#fff;color:#6b7d9d}
.question-detail-bookmark:hover:not(:disabled),.question-detail-bookmark.saved{color:#4f669b;border-color:#9eb0d3;background:#edf2fb}
.question-detail-bookmark.saved svg{fill:#b7c9ec}
.question-detail-bookmark svg{width:20px;height:20px}
.question-detail-bookmark:disabled{opacity:.6;cursor:wait}
.question-bookmark-status{margin:8px 0 0;color:#a45151;font-size:13px}
.question-detail-panel h1{font-size:clamp(25px,3vw,34px);line-height:1.45;letter-spacing:-.025em;margin:20px 0 24px;overflow-wrap:anywhere}
.question-detail-panel .seo-options{padding:16px 22px 16px 43px;background:#f8fafc;border:1px solid #e7ecf2;border-radius:10px;line-height:1.9}
.question-detail-panel section{border-top:1px solid #e9edf2;padding:23px 0}
.question-detail-panel section h2{font-size:18px;margin:0 0 12px}
.question-detail-panel section p{color:#4a5d70;line-height:1.85;white-space:pre-wrap;margin:0;overflow-wrap:anywhere}
.question-detail-panel .embedded-image{display:block;max-width:100%;height:auto;margin:12px 0;border-radius:8px}
.question-detail-actions{border-top:1px solid #e9edf2;padding-top:23px}
.question-detail-actions a{display:inline-flex;background:#276ec5;color:#fff;padding:11px 19px;border-radius:8px;font-size:14px;font-weight:700}
.bank-footer{font-size:12px}
@media(max-width:1050px){
  .bank-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .discovery-layout{grid-template-columns:minmax(0,1fr) 230px}
}
@media(max-width:800px){
  .bank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .topic-panel{grid-template-columns:1fr;gap:14px}
  .topic-panel-title{display:flex;align-items:baseline;gap:12px}
  .discovery-layout{grid-template-columns:1fr}
  .discovery-aside{display:none}
  .catalog-section .filter-bar,.bank-detail-main .filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-section .filter-bar label:first-child,.bank-detail-main .filter-bar label:first-child{grid-column:1/-1}
  .catalog-section .filter-bar button,.bank-detail-main .filter-bar button{grid-column:1/-1}
}
@media(max-width:600px){
  .bank-shell{width:min(100% - 24px,1220px)}
  .header-row{min-height:58px}
  .plaza-heading,.catalog-heading{display:block;margin:22px 0 16px}
  .plaza-heading .search-row{max-width:none;margin-top:18px}
  .plaza-heading h1,.catalog-heading h1{font-size:29px}
  .catalog-heading>a{display:inline-block;margin-top:12px}
  .topic-panel{padding:18px}
  .topic-panel-title{display:grid;gap:3px}
  .topic-panel .direction-tabs{gap:7px}
  .topic-panel .direction-tabs button{padding:7px 12px}
  .bank-section{padding:20px 16px}
  .section-title h2{font-size:21px}
  .bank-grid{grid-template-columns:1fr}
  .bank-card{min-height:122px;padding:16px}
  .featured-question{grid-template-columns:minmax(0,1fr) 18px}
  .featured-meta{display:none}
  .detail-hero{padding:20px 18px}
  .detail-hero h1{font-size:27px}
  .question-detail-panel{padding:23px 18px}
  .bank-question,.catalog-section .bank-question{flex-direction:column;align-items:stretch;gap:10px;padding:14px 7px}
  .question-actions,.catalog-question-actions{justify-content:flex-start}
  .question-list-head span:last-child{display:none}
}
/* 首访选择与个人中心共享同一领域卡片。 */
.domain-pending main{visibility:hidden}
.domain-gate[hidden]{display:none}
.domain-gate{position:fixed;inset:0;z-index:100;background:rgba(14,35,53,.72);display:grid;place-items:center;padding:20px;overflow:auto}
.domain-gate-card{width:min(760px,100%);background:#fff;border-radius:24px;padding:clamp(24px,5vw,48px);box-shadow:0 24px 80px rgba(0,0,0,.22)}
.domain-gate-card h2{font-size:clamp(26px,4vw,40px);margin:8px 0 12px;color:#133449}
.domain-gate-card>p:not(.eyebrow){color:#577183}
.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.domain-card{min-height:76px;padding:14px;border:1px solid #c8d9e1;border-radius:13px;background:#f8fbfc;color:#163c50;font:inherit;font-weight:700;text-align:center;cursor:pointer}
.domain-card:hover,.domain-card:focus-visible,.domain-card.selected{border-color:#188c91;background:#e8f7f6;color:#12686f;outline:none}
.domain-card:disabled{opacity:.65;cursor:wait}
.profile-main{padding-top:52px;padding-bottom:80px}
.profile-main .bank-section{margin-top:24px}
.profile-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.profile-actions a{display:inline-block;padding:12px 18px;border-radius:10px;border:1px solid #bcd7df;color:#12686f;text-decoration:none;font-weight:700}
.profile-hero{display:flex;align-items:center;gap:24px;min-height:150px}
.profile-hero h1{margin:5px 0 6px}
.profile-avatar{width:82px;height:82px;border-radius:22px;flex:none;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#5473b8,#98b0df);color:#fff;font-size:31px;font-weight:800}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}
.profile-layout .bank-section{margin-top:10px}
.profile-side .profile-actions{display:grid}
.profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0;padding:18px;background:#f5f8fd;border-radius:12px}
.profile-facts div{display:grid;gap:6px}.profile-facts span{font-size:12px;color:#6d7d94}.profile-facts strong{font-size:15px}
#profileForm{display:grid;gap:12px;max-width:590px}#profileForm>label{font-size:13px;font-weight:700}#profileNickname,#profileBio{border:1px solid #cbd7e8;border-radius:9px;padding:12px 14px;font:inherit}#profileBioFields:not([hidden]){display:grid;gap:8px}#profileBioFields label{font-size:13px;font-weight:700}#profileBio{width:100%;resize:vertical}#publicBio{white-space:pre-wrap;overflow-wrap:anywhere}
.profile-avatar-edit{display:flex;align-items:center;gap:18px;margin:5px 0}.profile-avatar-edit .profile-avatar{width:68px;height:68px;border-radius:18px;font-size:25px}.profile-avatar-edit>div:last-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-avatar-edit p{width:100%;font-size:12px;color:#6d7d94;margin:0}
.profile-upload,.profile-text-button{border:1px solid #c4d2e8;border-radius:8px;background:#f4f7fc;color:#4f669b;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}.profile-text-button{background:#fff}
.profile-form-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.profile-form-footer>button:first-child{border:0;border-radius:9px;background:#4f669b;color:#fff;padding:11px 18px;font-weight:700}.profile-form-footer>button:disabled{opacity:.5}.profile-form-footer span{font-size:12px;color:#64758f}
@media(max-width:780px){.profile-layout{grid-template-columns:1fr}.profile-side .profile-actions{display:flex}.profile-hero{gap:15px}.profile-avatar{width:64px;height:64px;border-radius:17px;font-size:24px}}
@media(max-width:480px){.profile-facts{grid-template-columns:1fr}.profile-avatar-edit{align-items:flex-start}}
@media(max-width:650px){.domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-gate-card{padding:24px}}

/* 题库详情和全部题目共用的可展开筛选菜单。 */
.question-title-link{color:inherit;text-decoration:none;border-radius:3px}
.question-title-link:hover{color:var(--theme-accent,#4f669b);text-decoration:underline;text-underline-offset:3px}
.question-title-link:focus-visible{outline:2px solid var(--theme-accent,#4f669b);outline-offset:3px}
.filter-bar .filter-field{position:relative;min-width:0}
.filter-bar .filter-field-label{display:block;font-size:12px;font-weight:600;color:var(--theme-muted,#627188)}
.filter-bar select.filter-native{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none;clip-path:inset(50%)}
.filter-bar .filter-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:46px;margin-top:6px;padding:0 14px;border:1px solid var(--theme-line,#dce4ef);border-radius:10px;background:linear-gradient(180deg,#fff,#fbfcff);color:var(--theme-ink,#263449);font-size:14px;font-weight:600;text-align:left;box-shadow:0 2px 8px #26344908}
.filter-bar .filter-select-trigger:hover{border-color:#a8b9db;background:#f9fbff}
.filter-bar .filter-select-trigger:focus-visible,.filter-bar .filter-dropdown.open .filter-select-trigger{outline:none;border-color:var(--theme-accent,#4f669b);box-shadow:0 0 0 3px #4f669b20}
.filter-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-select-chevron{flex:none;width:8px;height:8px;border-right:2px solid #6b7fa7;border-bottom:2px solid #6b7fa7;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.filter-dropdown.open .filter-select-chevron{transform:translateY(2px) rotate(225deg)}
.filter-bar .filter-select-menu[hidden]{display:none}
.filter-bar .filter-select-menu{position:absolute;inset:calc(100% + 7px) 0 auto;z-index:20;max-height:250px;overflow:auto;padding:6px;border:1px solid #d9e3f1;border-radius:12px;background:#fff;box-shadow:0 14px 32px #2634491c}
.filter-bar .filter-dropdown.open-up .filter-select-menu{inset:auto 0 calc(100% + 7px)}
.filter-bar .filter-select-option{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;height:auto;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#46556f;font-size:13px;font-weight:500;text-align:left;box-shadow:none}
.filter-bar .filter-select-option:hover,.filter-bar .filter-select-option:focus-visible{outline:none;background:#edf3fc;color:#35599d}
.filter-bar .filter-select-option[aria-selected="true"]{background:#e9effb;color:#35599d;font-weight:700}
.filter-bar .filter-select-option[aria-selected="true"]::after{content:'✓';margin-left:8px;font-size:15px}
.filter-bar .filter-select-option:disabled{opacity:.45;cursor:not-allowed}
.filter-bar > button[type="submit"]{height:46px}
@media(max-width:600px){.filter-bar .filter-field:nth-child(4){grid-column:1/-1}}
