:root{ --bg:#F5F2EA; --paper:#FFFDF8; --ink:#16283D; --ink2:#4B5A6A; --ink3:#8C95A0; --rule:#D8D1C1; --rule2:#E7E1D4; --accent:#9C3B2C; --accent-soft:#F3E4DF; --navy:#22344C; --max:1160px; --serif:"Songti SC","Noto Serif SC","Source Han Serif SC",Georgia,"Times New Roman",serif; --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; } *{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);font:15.5px/1.85 var(--sans);-webkit-font-smoothing:antialiased} a{color:inherit;text-decoration:none} h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:700;letter-spacing:.01em;line-height:1.35} .wrap{max-width:var(--max);margin:0 auto;padding:0 32px} .mono{font-variant-numeric:tabular-nums} /* header */ header{border-bottom:1px solid var(--rule);background:rgba(245,242,234,.92);position:sticky;top:0;z-index:40;backdrop-filter:blur(8px)} .hin{display:flex;align-items:center;gap:34px;height:66px} .brand{display:flex;align-items:baseline;gap:11px} .brand b{font-family:var(--serif);font-size:21px;letter-spacing:.16em} .brand span{font-size:11px;color:var(--ink3);letter-spacing:.08em;text-transform:uppercase} nav{display:flex;gap:30px;margin-left:auto;align-items:center} nav a{font-size:14px;color:var(--ink2);letter-spacing:.02em;padding:4px 0;border-bottom:1px solid transparent} nav a:hover{color:var(--ink);border-bottom-color:var(--accent)} nav a.on{color:var(--ink);border-bottom-color:var(--ink)} .hsearch{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--rule);padding:3px 0 5px;min-width:150px} .hsearch input{border:0;background:transparent;outline:0;font-size:13.5px;width:110px;font-family:var(--sans);color:var(--ink)} .hsearch input::placeholder{color:var(--ink3)} /* hero */ .hero{padding:70px 0 54px;border-bottom:1px solid var(--rule)} .hero-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:70px;align-items:start} .eyebrow{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:26px} .hero h1{font-size:50px;line-height:1.28;letter-spacing:.005em;font-weight:700} .hero h1 .thin{font-weight:400;color:var(--ink2)} .lede{margin:26px 0 0;max-width:560px;color:var(--ink2);font-size:15.5px;line-height:1.95} .hero form{display:flex;align-items:center;gap:0;margin-top:34px;border:1px solid var(--ink);background:var(--paper);max-width:520px} .hero form input{flex:1;border:0;outline:0;background:transparent;padding:15px 18px;font-size:14.5px;font-family:var(--sans);color:var(--ink)} .hero form input::placeholder{color:var(--ink3)} .hero form button{border:0;background:var(--ink);color:var(--paper);font-size:13.5px;letter-spacing:.1em;padding:15px 24px;cursor:pointer;font-family:var(--sans)} .hero form button:hover{background:var(--accent)} .filters{display:flex;flex-wrap:wrap;gap:0;margin-top:22px;font-size:13.5px;color:var(--ink2)} .filters a{padding:0 14px;border-right:1px solid var(--rule)} .filters a:first-child{padding-left:0} .filters a:last-child{border-right:0} .filters a:hover{color:var(--accent)} .stats{border-left:1px solid var(--rule);padding-left:38px;margin-top:6px} .stats .row{padding:16px 0;border-bottom:1px dashed var(--rule2)} .stats .row:last-child{border-bottom:0} .stats b{display:block;font-family:var(--serif);font-size:34px;font-weight:700;letter-spacing:.02em;line-height:1.2} .stats span{font-size:12.5px;color:var(--ink3);letter-spacing:.04em} .stats .note{margin-top:18px;font-size:12.5px;color:var(--ink3);line-height:1.8} /* sections */ section{padding:58px 0;border-bottom:1px solid var(--rule)} .shead{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:34px} .shead h2{font-size:26px;letter-spacing:.03em} .shead .sub{font-size:12.5px;color:var(--ink3);margin-top:8px;letter-spacing:.04em} .shead a{font-size:13px;color:var(--ink2);border-bottom:1px solid var(--rule);padding-bottom:2px} .shead a:hover{color:var(--accent);border-bottom-color:var(--accent)} /* tiers */ .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:0} .tier{padding:6px 30px 6px 0;border-right:1px solid var(--rule2)} .tier:last-child{border-right:0;padding-right:0} .tier .tag{font-size:11px;letter-spacing:.2em;color:var(--ink3);text-transform:uppercase} .tier h3{font-size:19px;margin:10px 0 12px} .tier p{margin:0;font-size:13.5px;color:var(--ink2);line-height:1.9} .tier .cnt{margin-top:14px;font-size:12.5px;color:var(--accent);letter-spacing:.04em} /* catalog list */ .rows{border-top:1px solid var(--ink)} .row{display:grid;grid-template-columns:52px 1fr 132px 108px 24px;gap:20px;align-items:center; padding:19px 6px;border-bottom:1px solid var(--rule2);transition:background .15s} .row:hover{background:var(--paper)} .row .no{font-family:var(--serif);font-size:13px;color:var(--ink3);letter-spacing:.06em} .row .ti{font-size:16.5px;font-family:var(--serif);font-weight:700;letter-spacing:.01em} .row .ti small{display:block;font-family:var(--sans);font-weight:400;font-size:12.5px;color:var(--ink3);margin-top:4px;letter-spacing:0} .row .meta{font-size:12.5px;color:var(--ink2);letter-spacing:.02em} .row .fmt{font-size:11.5px;letter-spacing:.12em;color:var(--accent);text-align:right} .row .arw{color:var(--ink3);text-align:right;font-size:15px} .row:hover .arw{color:var(--accent)} /* table */ table{width:100%;border-collapse:collapse;font-size:14px} th{text-align:left;font-weight:400;font-size:11.5px;letter-spacing:.16em;color:var(--ink3); text-transform:uppercase;padding:0 12px 12px 0;border-bottom:1px solid var(--ink)} td{padding:17px 12px 17px 0;border-bottom:1px solid var(--rule2);vertical-align:top} td.name{font-family:var(--serif);font-size:16px;font-weight:700} td.sm{font-size:13px;color:var(--ink2)} td.num{font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink2)} tr:hover td{background:var(--paper)} .tagline{display:inline-block;font-size:11.5px;letter-spacing:.06em;padding:2px 8px;border:1px solid var(--rule);color:var(--ink2)} .tagline.hot{border-color:var(--accent);color:var(--accent)} /* fields */ .fields{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--rule2);border-left:1px solid var(--rule2)} .fields a{flex:0 0 auto;padding:14px 26px;border-right:1px solid var(--rule2);border-bottom:1px solid var(--rule2); font-size:14px;color:var(--ink2);background:var(--paper)} .fields a b{font-family:var(--serif);font-size:15px;color:var(--ink);margin-right:8px} .fields a:hover{background:#fff;color:var(--accent)} /* quote */ .quote{border-left:2px solid var(--accent);padding:4px 0 4px 26px;max-width:760px} .quote p{font-family:var(--serif);font-size:19px;line-height:1.9;color:var(--ink);margin:0} .quote cite{display:block;margin-top:14px;font-style:normal;font-size:12.5px;color:var(--ink3);letter-spacing:.06em} /* footer */ footer{padding:52px 0 60px} .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px} footer h5{margin:0 0 14px;font-size:11.5px;letter-spacing:.16em;color:var(--ink3);text-transform:uppercase;font-weight:400} footer a,footer p{display:block;font-size:13px;color:var(--ink2);margin:0 0 9px;line-height:1.8} footer a:hover{color:var(--accent)} .fnote{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule);display:flex; justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12px;color:var(--ink3);letter-spacing:.03em} @media(max-width:980px){ .hero-grid{grid-template-columns:1fr;gap:40px} .stats{border-left:0;border-top:1px solid var(--rule);padding:24px 0 0} .stats .row{display:inline-block;width:32%;border-bottom:0;padding:0} .tiers{grid-template-columns:1fr} .tier{border-right:0;border-bottom:1px solid var(--rule2);padding:18px 0} .row{grid-template-columns:38px 1fr 92px;gap:12px} .row .fmt,.row .arw{display:none} .fgrid{grid-template-columns:1fr 1fr} nav{display:none} } @media(max-width:620px){ .hero{padding:44px 0 36px} .hero h1{font-size:32px} .stats .row{display:block;width:auto;padding:10px 0} table{font-size:13px} th:nth-child(4),td:nth-child(4){display:none} } /* 语义变量别名 · 让 inner.css 一套样式跑三站皮肤（高校站以直角细线为主，不用圆角与阴影） */ :root{ --brand: var(--accent); --brand-dk: #7A2D22; --brand-soft: var(--accent-soft); --surface: var(--paper); --bgp: var(--bg); --line: var(--rule); --line-soft: var(--rule2); --r: 0px; --sh-sm: none; } /* ============================================================ 素材站内页样式 · 三站共用（靠 alias.css 的语义变量换肤） 依赖：--brand --brand-dk --brand-soft --surface --bgp --ink --ink2 --ink3 --line --line-soft --r --sh-sm --max ============================================================ */ .pg{max-width:var(--max);margin:0 auto;padding:0 22px} /* 面包屑 */ .crumb{font-size:13px;color:var(--ink3);padding:22px 0 0;line-height:1.9} .crumb a{color:var(--ink3);text-decoration:none;border-bottom:1px solid transparent} .crumb a:hover{color:var(--brand);border-bottom-color:var(--brand)} .crumb i{font-style:normal;margin:0 7px;opacity:.55} /* 页头 */ .phead{padding:16px 0 22px;border-bottom:1px solid var(--line)} .phead h1{font-size:30px;line-height:1.42;letter-spacing:-.2px;margin:0 0 12px;color:var(--ink);font-weight:800} .phead .lede{font-size:15.5px;line-height:1.85;color:var(--ink2);margin:0 0 14px;max-width:760px} .metas{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;color:var(--ink2)} .metas span{background:var(--brand-soft);border-radius:999px;padding:4px 11px;line-height:1.6} .metas span.k{background:transparent;border:1px solid var(--line);color:var(--ink3)} /* 两栏：正文 + 侧栏 */ .cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start;padding:30px 0 60px} @media(max-width:900px){.cols{grid-template-columns:1fr;gap:26px;padding-bottom:40px}} /* 正文 */ .art{max-width:760px;font-size:16px;line-height:1.95;color:var(--ink)} .art h2{font-size:21px;line-height:1.5;margin:34px 0 12px;padding-left:12px;border-left:4px solid var(--brand);color:var(--ink);font-weight:800} .art h3{font-size:16.5px;margin:22px 0 8px;color:var(--ink);font-weight:700} .art p{margin:0 0 14px} .art ul,.art ol{margin:0 0 16px;padding-left:22px} .art li{margin:0 0 7px} .art li::marker{color:var(--brand)} .art strong{color:var(--ink);font-weight:700} .art blockquote{margin:16px 0;padding:12px 16px;background:var(--brand-soft);border-radius:var(--r);border-left:3px solid var(--brand);color:var(--ink2);font-size:15px} .art table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14.5px} .art th,.art td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top} .art th{background:var(--bgp);font-weight:700;color:var(--ink)} .art .lead-in{background:var(--bgp);border-radius:var(--r);padding:16px 18px;margin:0 0 24px;font-size:15.5px;line-height:1.9;color:var(--ink2)} /* 下载框 */ .dlbox{margin:26px 0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh-sm);overflow:hidden} .dlbox .dhd{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--bgp);border-bottom:1px solid var(--line)} .dlbox .dhd b{font-size:15px;color:var(--ink)} .dlbox .dhd em{font-style:normal;font-size:12.5px;color:var(--ink3);margin-left:auto} .dlbox .dbody{padding:16px 18px} .dlbox .dbody p{margin:0 0 12px;font-size:14px;line-height:1.85;color:var(--ink2)} .dlgrid{display:flex;flex-wrap:wrap;gap:10px} .btn-a{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 20px;border-radius:calc(var(--r) * .8);background:var(--brand);color:#fff;font-size:14.5px;font-weight:700;text-decoration:none;border:0} .btn-a:hover{background:var(--brand-dk)} .btn-b{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 20px;border-radius:calc(var(--r) * .8);background:transparent;color:var(--brand);font-size:14.5px;font-weight:700;text-decoration:none;border:1.5px solid var(--brand)} .btn-b:hover{background:var(--brand-soft)} .tiny{font-size:12.5px;color:var(--ink3);margin-top:10px;line-height:1.8} /* 侧栏 */ .side{position:sticky;top:18px;display:flex;flex-direction:column;gap:16px} @media(max-width:900px){.side{position:static}} .sbox{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh-sm);padding:16px 18px} .sbox h4{margin:0 0 12px;font-size:14px;color:var(--ink);letter-spacing:.02em} .sbox ol,.sbox ul{margin:0;padding-left:18px;font-size:13.5px;line-height:1.95;color:var(--ink2)} .sbox li{margin-bottom:6px} .sbox li a{color:var(--ink2);text-decoration:none} .sbox li a:hover{color:var(--brand)} .sbox .wx{font-size:14px;line-height:1.9;color:var(--ink)} .sbox .wx b{color:var(--brand);letter-spacing:.02em} /* 相关列表 */ .rel{margin-top:36px;padding-top:22px;border-top:1px solid var(--line)} .rel h3{font-size:16px;margin:0 0 14px} .rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px} .ritem{display:block;padding:13px 15px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;background:var(--surface)} .ritem:hover{border-color:var(--brand)} .ritem b{display:block;font-size:14px;color:var(--ink);line-height:1.6;margin-bottom:5px;font-weight:600} .ritem span{font-size:12px;color:var(--ink3)} /* 列表页 */ .cover{background:linear-gradient(140deg,var(--brand),var(--brand-dk))} .lbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:16px 0 4px} .lbar a{font-size:13px;padding:6px 13px;border-radius:999px;border:1px solid var(--line);color:var(--ink2);text-decoration:none} .lbar a.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700} .lbar a:hover{border-color:var(--brand)} .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:18px;padding:20px 0 60px} .rcard{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh-sm);text-decoration:none;overflow:hidden;display:flex;flex-direction:column} .rcard:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(80,60,40,.12)} .rcover{height:118px;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#fff;letter-spacing:.06em;background:var(--brand)} .rbody{padding:14px 16px 16px} .rbody h3{margin:0 0 7px;font-size:15px;line-height:1.6;color:var(--ink);font-weight:700} .rbody p{margin:0 0 10px;font-size:13px;line-height:1.8;color:var(--ink3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} .rbody .mt{font-size:12px;color:var(--ink3);display:flex;gap:10px;flex-wrap:wrap} .rbody .mt b{color:var(--brand);font-weight:600} /* 空状态 */ .empty{padding:70px 24px;text-align:center;border:1px dashed var(--line);border-radius:var(--r);color:var(--ink3);font-size:14px;line-height:2;margin:24px 0 60px} .empty b{display:block;font-size:16px;color:var(--ink2);margin-bottom:6px} /* 页尾 */ .pfoot{border-top:1px solid var(--line);padding:26px 0 40px;font-size:12.5px;color:var(--ink3);line-height:2} .pfoot a{color:var(--ink3);text-decoration:none;margin-right:14px} .pfoot a:hover{color:var(--brand)} 