:root{--primary:#337ab7;--primary-d:#286090;--info:#5bc0de;--ok:#3c763d;--warn:#a94442;--line:#e3e8ee;--text:#333;--muted:#777;--bg:#f6f8fa}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.7 "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif}
a{color:var(--primary);text-decoration:none}a:hover{color:#23527c;text-decoration:underline}
.container{max-width:1170px;margin:0 auto;padding:0 15px 40px;background:#fff;min-height:100vh;box-shadow:0 0 18px rgba(0,0,0,.04)}
.header{padding:18px 0 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.navbar-brand{font-size:21px;font-weight:700;color:#2b5b84;white-space:nowrap}
.brand-mark{display:inline-block;width:30px;height:30px;line-height:30px;text-align:center;background:var(--primary);color:#fff;border-radius:6px;font-size:17px;margin-right:4px}
.nav{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap}
.nav a{display:block;padding:7px 11px;border-radius:4px;color:#4a6b87}
.nav a:hover{background:#eef4fa;text-decoration:none}
.nav .active a{background:var(--primary);color:#fff}
.alert{padding:10px 14px;border-radius:4px;margin:14px 0;border:1px solid transparent}
.alert-info{background:#eaf4fb;border-color:#c6e2f2;color:#31708f}
.alert-danger{background:#f2dede;border-color:#ebccd1;color:var(--warn)}
.alert-warning{background:#fcf8e3;border-color:#faebcc;color:#8a6d3b}
.user-bar{display:flex;align-items:center;justify-content:space-between;padding:2px 0 10px;font-size:13px;color:var(--muted);border-bottom:1px dashed var(--line);margin-bottom:18px}
.user-chip em{font-style:normal;padding:1px 7px;border-radius:10px;background:#eee;color:#666;font-size:12px;margin-left:6px}
.user-chip em.vip{background:#fff3cd;color:#8a6d3b}
.btn{display:inline-block;padding:8px 16px;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:14px;text-align:center;text-decoration:none!important;line-height:1.5}
.btn:hover{text-decoration:none!important}
.btn-primary{background:var(--primary);border-color:#2e6da4;color:#fff}.btn-primary:hover{background:var(--primary-d);color:#fff}
.btn-info{background:#5bc0de;border-color:#46b8da;color:#fff}.btn-info:hover{background:#31b0d5;color:#fff}
.btn-success{background:#5cb85c;border-color:#4cae4c;color:#fff}.btn-success:hover{background:#449d44;color:#fff}
.btn-default{background:#fff;border-color:#ccc;color:#333}.btn-default:hover{background:#e6e6e6}
.btn-lg{padding:12px 16px;font-size:16px}.btn-sm{padding:4px 10px;font-size:12px}.btn-block{width:100%}
.btn:disabled{opacity:.55;cursor:not-allowed}
.home-actions{display:flex;gap:14px;margin:22px 0 26px;flex-wrap:wrap}
.home-actions .col-4{flex:1 1 210px}.home-actions .btn{width:100%}
.panel{border:1px solid var(--line);border-radius:5px;margin-bottom:20px;background:#fff}
.panel-heading{background:#f7f9fb;border-bottom:1px solid var(--line);padding:10px 15px}
.panel-title{margin:0;font-size:16px;color:#2b5b84}.panel-body{padding:6px 15px 15px}
.tab-group{margin-top:10px}
.tab-labels{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.tab-label{display:inline-block;padding:6px 15px;cursor:pointer;border:1px solid var(--line);border-bottom:none;border-radius:4px 4px 0 0;background:#f7f9fb;color:#555;font-weight:600}
.tab-radio:checked+.tab-label{background:#fff;color:var(--primary);border-bottom:1px solid #fff;margin-bottom:-1px;position:relative;z-index:1}
.tab-panels{padding-top:6px}
.tab-panel{padding-top:2px}
.table{width:100%;border-collapse:collapse;margin:10px 0}
.table th,.table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table th{background:#f7f9fb;color:#555;font-weight:600}
.paper-table tr:hover{background:#fafcfe}
.paper-table .date{width:110px;text-align:right;color:#999;white-space:nowrap}
.tag{display:inline-block;font-size:11px;padding:1px 7px;border-radius:3px;background:#eef2f6;color:#5a7185;margin-left:6px}
.tag-local{background:#e8f5e9;color:#3c763d}.tag-ok{background:#e8f5e9;color:#3c763d}
.tag-warn{background:#fcf8e3;color:#8a6d3b}.tag-vip{background:#fff3cd;color:#8a6d3b}
.empty{padding:26px;text-align:center;color:#999;background:#fafbfc;border:1px dashed var(--line);border-radius:4px;margin:12px 0}
.empty.big h2{color:#666}
.page-title{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--primary);padding-bottom:8px;margin-bottom:14px}
.page-title h1{margin:0;font-size:20px;color:#2b5b84}.page-title h2{margin:0;font-size:20px;color:#2b5b84}.page-title span{color:#999;font-size:13px}
/* 首页 h1：既有语义又不太抢视觉 */
.page-h1{font-size:17px;color:#2b5b84;margin:14px 0 10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.page-h1 span{font-size:12px;color:#8b98a8;font-weight:400}
.chips{margin:10px 0}.chip{display:inline-block;padding:4px 11px;margin:0 6px 6px 0;border:1px solid var(--line);border-radius:14px;color:#5a7185;background:#fff;font-size:13px}
.chip.on,.chip:hover{background:var(--primary);border-color:var(--primary);color:#fff;text-decoration:none}
.search-bar{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}
.search-bar input,.form-control,.inline-form input{padding:7px 10px;border:1px solid #ccd4dd;border-radius:4px;font-size:14px;flex:1 1 200px;min-width:120px;font-family:inherit}
.search-bar input.short,.inline-form input.short{flex:0 1 150px}
.pager{margin:18px 0;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.page{padding:5px 11px;border:1px solid var(--line);border-radius:3px;background:#fff;color:#5a7185;white-space:nowrap}
.page.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.page.disabled{opacity:.45;pointer-events:none}
.page-gap{padding:5px 2px;color:#999}
.jump{display:flex;gap:6px;align-items:center;margin-left:8px;flex-wrap:wrap;font-size:13px;color:#888}
.jump input{width:72px;flex:0 0 72px;padding:5px 8px;border:1px solid #ccd4dd;border-radius:3px;font-size:13px;font-family:inherit}
.jump .btn{padding:5px 10px}
.catalog-stat{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f4f8fc;border:1px solid #dbe7f1;border-radius:4px;padding:10px 14px;margin:12px 0;font-size:14px}
.catalog-stat b{color:var(--primary);font-size:16px}
.catalog-stat .btn{margin-left:auto}
.catalog-stat.slim{margin:0 0 8px;padding:8px 12px;font-size:13px}
.catalog-stat.slim .muted{margin-left:auto}
.catalog-stat.slim .btn{margin-left:0;flex:0 0 auto}
.list-tools .chips{margin:8px 0}
.size-bar .chip{font-size:12px;padding:3px 10px}
.tab-more{text-align:right;padding:6px 4px 2px;color:#888;font-size:13px;border-top:1px dashed var(--line);margin-top:4px}
.tag-ready{background:#e8f5e9;color:#2f7a34}
.tag-wait{background:#f2f4f6;color:#98a4ae}
.breadcrumb{list-style:none;display:flex;gap:0;padding:9px 12px;background:#f7f9fb;border:1px solid var(--line);border-radius:4px;margin:0 0 14px;flex-wrap:wrap;font-size:13px}
.breadcrumb li+li:before{content:"/";padding:0 9px;color:#bbb}
.breadcrumb .cur a{color:#fff;background:var(--primary);padding:2px 8px;border-radius:3px}
.paper-title{text-align:center;font-size:19px;margin:16px 0 6px;color:#2b3d4f}
/* 详情页尾部的同分类内链：既是收录路径，也让访客顺着卷子往下翻 */
.related{margin:26px 0 6px;border-top:1px solid var(--line);padding-top:16px}
.related h2{font-size:16px;color:#2b5b84;margin:0 0 10px}
.related ul{list-style:none;padding:0;margin:0}
.related li{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px dashed #eef0f5;font-size:14px}
.related li a{flex:1;min-width:0;color:#33415c;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.related li a:hover{color:var(--primary)}
.related li span{flex:none;font-size:12px;color:#98a2b3}
.related-more{margin:10px 0 0;font-size:13px}
.paper-meta{text-align:center;color:#888;font-size:13px;margin:0 0 16px}
.paper-body{padding:0 4px}
.section-title{background:#eef4fa;border-left:4px solid var(--primary);padding:8px 12px;margin:18px 0 8px;font-weight:700;color:#2b5b84}
.q-row,.ans-row{display:flex;gap:12px;padding:10px 6px;border-bottom:1px solid #f0f3f6}
.q-no,.ans-no{flex:0 0 34px;text-align:center;color:#fff;background:#8aa8c4;border-radius:3px;height:22px;line-height:22px;font-size:12px;font-weight:700}
.q-body{flex:1;min-width:0}.q-body p{margin:2px 0}.q-opt{color:#4a5b6b;padding-left:8px}
.q-img{color:#999;font-style:italic}
.q-img-ph{color:#999;font-size:12px;font-style:italic}
.q-body .q-line{margin:2px 0}
.q-body img.q-img{display:block;max-width:100%;height:auto;margin:8px 0;border:0}
.q-body img.tex{display:inline;height:1.15em;width:auto;max-width:none;margin:0 2px;vertical-align:-0.2em}
.ans-txt{flex:1;font-weight:600;color:#2b5b84}
.ans-grid{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0}
.ans-cell{display:inline-flex;align-items:center;gap:7px;min-width:92px;padding:6px 9px;border:1px solid var(--line);border-radius:4px;background:#fafcfe;font-weight:600;color:#2b5b84}
.ans-cell i{font-style:normal;font-weight:400;color:#8896a4;min-width:26px;text-align:right}
.answer-free{margin-top:8px}
.progress{height:10px;margin:12px 0;border-radius:5px;background:#eef2f6;overflow:hidden}
.progress>div{height:100%;background:linear-gradient(90deg,#4a90d9,#2b6cb0);transition:width .4s ease}
.q-no-cell{color:#888;white-space:nowrap}
.paywall{text-align:center;padding:34px 20px;border:1px solid var(--line);border-radius:6px;background:#fbfcfe;margin:16px 0}
.paywall .lock{font-size:38px}.paywall h2{margin:6px 0 12px;color:#2b5b84}
.muted{color:var(--muted)}.small{font-size:12px}
.plans,.plan-select{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:22px 0}
.plan{border:1px solid var(--line);border-radius:6px;padding:18px 22px;min-width:190px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.plan.hot{border-color:var(--primary);box-shadow:0 3px 14px rgba(51,122,183,.18)}
.plan-name{font-size:15px;font-weight:700;color:#2b5b84}
.plan-price{font-size:15px;color:#d9534f;margin:8px 0}.plan-price b{font-size:30px}
.plan-desc{color:#888;font-size:12px;min-height:34px}.plan .btn{margin-top:8px;width:100%}
.plan-plan{display:flex;flex-direction:column;border:2px solid var(--line);border-radius:6px;padding:14px 20px;min-width:180px;cursor:pointer}
.plan-plan.on{border-color:var(--primary);background:#f4f9fe}.plan-plan input{margin-bottom:4px}
.explain-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.explain-box{background:#fff}
.exp-item{border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:4px;padding:12px 16px;margin-bottom:12px}
.exp-no{font-weight:700;color:#2b5b84;margin-bottom:4px}.exp-ans{color:#3c763d}.exp-kp{font-size:12px;color:#8a6d3b;margin:3px 0}
.exp-txt{color:#444;line-height:1.8}.loading{padding:34px;text-align:center;color:#777}
.auth-card{max-width:430px;margin:30px auto;padding:26px 30px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 3px 16px rgba(0,0,0,.04)}
.auth-card h2{margin:0 0 18px;font-size:20px;color:#2b5b84;text-align:center}
.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:5px;color:#555;font-weight:600}
.form-group .form-control{width:100%;flex:none}
.auth-form{max-width:380px}.amount{color:#d9534f;font-size:18px;font-weight:700}
.pay-mock .table td:first-child{width:90px;color:#888}
.qr{text-align:center;margin:16px 0}.qr img{max-width:220px;border:1px solid var(--line);padding:6px;border-radius:4px}
.ucenter{display:flex;gap:24px;align-items:flex-start}
.uc-menu{flex:0 0 180px;border:1px solid var(--line);border-radius:4px;padding:12px;background:#fafcfe}
.uc-menu h3{font-size:13px;color:#999;margin:12px 0 6px;text-transform:uppercase}.uc-menu h3:first-child{margin-top:0}
.uc-menu a{display:block;padding:5px 8px;border-radius:3px;color:#4a6b87}.uc-menu a:hover{background:#eef4fa;text-decoration:none}
.uc-main{flex:1;min-width:0}.uc-main h2{font-size:20px;color:#2b5b84;margin:0 0 14px}.uc-main h3{font-size:16px;margin-top:24px}
.info-card{background:#f7f9fb;border:1px solid var(--line);border-radius:4px;padding:12px 16px}.info-card p{margin:5px 0}
.vip-text{color:#d9534f}
.doc{background:#fff;border:1px solid var(--line);border-radius:5px;padding:18px 22px;margin-bottom:18px}
.doc h1,.doc h2{font-size:19px;color:#2b5b84;margin:0 0 12px}.doc pre{background:#f5f7f9;border:1px solid var(--line);padding:12px;border-radius:4px;overflow:auto;font-size:13px}
.doc code{background:#f2f5f8;padding:1px 5px;border-radius:3px;color:#c7254e}
.status-box{display:flex;gap:22px;flex-wrap:wrap;background:#f7f9fb;border:1px solid var(--line);border-radius:4px;padding:12px 16px;margin:12px 0;font-size:13px}
.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
/* 申论 / 材料题长文（无题号网格） */
.free-html{max-width:100%;font-size:15px;line-height:2;color:#333}
.free-html p{margin:0 0 14px;text-indent:2em}
.free-html h2{font-size:18px;color:#2b5b84;border-left:4px solid var(--primary);padding-left:10px;margin:22px 0 14px}
.free-html h3,.free-html h4{font-size:16px;color:#2b5b84;margin:18px 0 10px}
.free-html .q-line{text-indent:2em;margin-bottom:10px}
.free-html .q-img,.free-html .tex{max-width:100%;height:auto}
.answer-free{line-height:1.9}.answer-free p{margin:0 0 10px}
.footer{margin-top:36px;padding-top:14px;border-top:1px solid var(--line);color:#aaa;font-size:12px;text-align:center}
@media(max-width:768px){.container{padding:0 10px 30px}.header{justify-content:center}.nav{justify-content:center}.nav a{padding:5px 7px;font-size:13px}
.ucenter{flex-direction:column}.uc-menu{flex:none;width:100%;display:flex;flex-wrap:wrap;gap:4px}.uc-menu h3{width:100%}
.home-actions .col-4{flex:1 1 44%}.q-row{gap:7px}.breadcrumb{font-size:12px}}
@media print{.header,.user-bar,.alert,.footer,.breadcrumb,.explain-head button{display:none!important}.container{box-shadow:none}}
