/* csmmm.top · I社模組研究所 — 明亮「杂志档案」风：暖白底 + 青绿主色 + 珊瑚强调 */
:root{--bg:#f5f4ef;--card:#fff;--ink:#16202e;--mut:#5b6573;--line:#e4e2d9;--pri:#0f8b6d;--pri2:#0b6e57;--acc:#ff6b4a;--gold:#f2b134;--r:16px;--sh:0 1px 2px rgba(22,32,46,.06),0 8px 24px rgba(22,32,46,.06)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
a{color:var(--pri2);text-decoration:none}a:hover{color:var(--acc)}img{max-width:100%;height:auto;display:block}
h1,h2,h3{line-height:1.35;margin:0 0 .6em}h2{font-size:1.4rem}h3{font-size:1.1rem}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}.narrow{max-width:860px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.notice{background:var(--ink);color:#cfd8e3;font-size:12.5px;text-align:center;padding:5px 12px}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;gap:10px;align-items:center;color:var(--ink)}.brand b{display:block;font-size:1.12rem;letter-spacing:.5px}.brand small{display:block;color:var(--mut);font-size:12px;line-height:1.2}
.top-cta{background:var(--acc);color:#fff;padding:8px 16px;border-radius:999px;font-weight:600;font-size:14px}.top-cta:hover{color:#fff;background:#e85434}
.nav{border-top:1px solid var(--line);background:#fff}.nav-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-top:6px;padding-bottom:6px}.nav-in::-webkit-scrollbar{display:none}
.nav a{white-space:nowrap;padding:6px 12px;border-radius:999px;color:var(--ink);font-size:14.5px}.nav a:hover{background:#eef7f3}.nav a[aria-current]{background:var(--pri);color:#fff}
.btn{display:inline-block;background:var(--pri);color:#fff;padding:10px 20px;border-radius:12px;font-weight:600;border:2px solid var(--pri);transition:.2s}.btn:hover{background:var(--pri2);border-color:var(--pri2);color:#fff;transform:translateY(-1px)}
.btn-lg{padding:13px 26px;font-size:1.05rem}.btn-ghost{background:transparent;color:var(--pri2)}.btn-ghost:hover{background:#e6f3ee;color:var(--pri2)}
.btn-w{background:#fff;color:var(--pri2);border-color:#fff}.btn-w:hover{background:#fff3ee;color:var(--acc);border-color:#fff3ee}
/* hero */
.hero{background:radial-gradient(900px 400px at 85% 10%,#dff3ea 0,transparent 60%),radial-gradient(700px 360px at 0 100%,#ffe9e1 0,transparent 60%),var(--bg);padding:48px 0 36px}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.kick{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}.kick span{font-size:12.5px;font-weight:700;letter-spacing:1px;color:var(--pri2);background:#fff;border:1px solid #cfe8de;border-radius:999px;padding:3px 10px}
.hero h1{font-size:2.6rem;margin:0 0 14px;letter-spacing:1px}.hero h1 span{display:block;font-size:1.08rem;font-weight:600;color:var(--mut);margin-top:10px;letter-spacing:0}
.lede{color:#36404d;font-size:1.04rem;margin:0 0 22px}.lede strong{color:var(--pri2)}
.hero-a{display:flex;gap:12px;flex-wrap:wrap}
.stats{list-style:none;display:flex;gap:28px;padding:0;margin:26px 0 0}.stats b{display:block;font-size:1.8rem;color:var(--acc);line-height:1}.stats span{font-size:13px;color:var(--mut)}
.mosaic{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr .9fr;gap:12px;aspect-ratio:5/4}.mosaic a.m3{grid-column:1/-1}
.mosaic a{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);background:#ddd}.mosaic a.m0{grid-row:span 2}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:.4s}.mosaic a:hover img{transform:scale(1.04)}
.mosaic span{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);color:var(--ink);font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
/* sections */
.sec{padding:34px 20px 8px}.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;border-bottom:2px solid var(--ink);padding-bottom:8px}.sec-h h2{margin:0;font-size:1.5rem}.sec-h p{margin:0;color:var(--mut);font-size:14px}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;color:var(--ink);transition:.2s;border-top:4px solid var(--c)}.tile:hover{transform:translateY(-3px);box-shadow:var(--sh);color:var(--ink)}
.tile b{display:block;margin-top:10px}.tile small{color:var(--mut);font-size:12.5px;line-height:1.4;display:block}
.t-ic{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 6px;border-radius:12px;background:var(--c,var(--pri));color:#fff;font-weight:800;font-size:14px;letter-spacing:.5px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;transition:.2s}.card:hover{transform:translateY(-3px)}
.card-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:#e9e7df}.card-img img{width:100%;height:100%;object-fit:cover}
.chip{position:absolute;left:10px;top:10px;background:var(--c);color:#fff;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px}
.card-b{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}.card h3{font-size:1rem;margin:4px 0 6px}.card h3 a{color:var(--ink)}.card h3 a:hover{color:var(--c)}
.meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--mut);margin:0}.meta a{color:var(--c,var(--pri2));font-weight:600}
.ex{font-size:13.5px;color:var(--mut);margin:0 0 10px;line-height:1.6}
.tgs{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.tg{font-size:12px;background:#f1f0ea;color:#3d4653;border-radius:6px;padding:1px 8px}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.col{background:#fff;border-radius:var(--r);padding:18px;box-shadow:var(--sh);border-top:4px solid var(--c)}
.col header{display:flex;gap:12px;align-items:center;margin-bottom:8px}.col h3{margin:0}.col h3 a{color:var(--ink)}.col small{color:var(--mut)}.col p{font-size:13.5px;color:var(--mut);margin:0 0 8px}
.col ul{list-style:none;padding:0;margin:0}.col li a{display:block;padding:7px 0;border-bottom:1px dashed var(--line);color:var(--ink);font-size:14px;line-height:1.5}.col li a:hover{color:var(--c)}
.col time{color:var(--c);font-weight:700;margin-right:8px;font-size:12.5px}
.more{display:inline-block;margin-top:10px;font-weight:600}
.split{display:grid;grid-template-columns:1fr 1.3fr;gap:24px}
.years,.hot{background:#fff;border-radius:var(--r);padding:20px;box-shadow:var(--sh)}
.years ol{list-style:none;padding:0;margin:0;border-left:3px solid var(--pri);margin-left:8px}
.years li{position:relative;padding:5px 0 5px 18px;font-size:14px}.years li:before{content:"";position:absolute;left:-7px;top:13px;width:11px;height:11px;border-radius:50%;background:#fff;border:3px solid var(--acc)}
.years b{color:var(--pri2);margin-right:10px;font-variant-numeric:tabular-nums}
.cloud{display:flex;flex-wrap:wrap;gap:8px}.cloud a,.cloud span{background:#f1f7f4;border:1px solid #d5ebe2;border-radius:999px;padding:4px 12px;font-size:13.5px;color:var(--pri2)}.cloud a:hover{background:var(--pri);color:#fff}
.cloud.sm a{font-size:12.5px;padding:3px 10px}.mt{margin-top:22px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;padding:10px 14px}.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 2px;color:#3d4653;font-size:14.5px}
.faq.big details{padding:14px 18px}
/* band/footer */
.band{margin-top:48px;background:linear-gradient(120deg,var(--pri2),var(--pri) 55%,#13a184);color:#fff}
.band-in{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:36px 20px;flex-wrap:wrap}.band h2{margin:4px 0 8px}.band p{margin:0;color:#d9f2ea;max-width:680px}.band-k{font-size:13px;letter-spacing:1px;opacity:.85}
.foot{background:var(--ink);color:#b8c2cf;padding:36px 0 18px;font-size:14px}.foot a{color:#dfe6ee}.foot a:hover{color:var(--gold)}
.foot-in{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}.foot h3{color:#fff;font-size:15px}.foot ul{list-style:none;padding:0;margin:0}.foot li{padding:3px 0}.foot .brand b{color:#fff}.foot .brand small{color:#8a96a5}
.copy{border-top:1px solid #2b3647;margin-top:22px;padding-top:14px;font-size:12.5px;color:#8a96a5}
/* crumbs */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;padding:0;margin:16px 0;font-size:13px;color:var(--mut)}.crumbs li:not(:last-child):after{content:"›";margin-left:6px}.crumbs li[aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}
/* article */
.art-grid,.hub-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.art{background:#fff;border-radius:var(--r);padding:28px 32px;box-shadow:var(--sh)}
.chip-l{display:inline-block;background:var(--c);color:#fff;font-size:12.5px;font-weight:700;padding:2px 12px;border-radius:999px;margin-bottom:10px}.chip-l:hover{color:#fff}
.art h1{font-size:1.65rem}.art .meta{margin-bottom:16px}.art .meta span{background:#f4f3ee;padding:1px 10px;border-radius:6px}
.lead{background:#f1f8f5;border-left:4px solid var(--pri);border-radius:0 12px 12px 0;padding:14px 18px;margin:0 0 18px}.lead b{display:inline-block;background:var(--pri);color:#fff;font-size:12px;border-radius:6px;padding:0 8px;margin-right:8px}
.cover img{border-radius:12px;width:100%}figure{margin:16px 0}figcaption{font-size:12.5px;color:var(--mut);text-align:center;margin-top:6px}
.info{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px}.info th,.info td{border:1px solid var(--line);padding:8px 12px;text-align:left}.info th{background:#f7f6f1;width:70px;white-space:nowrap;color:var(--mut);font-weight:600}
.cta-box{display:flex;gap:16px;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#fff3ee,#fff);border:1px solid #ffd3c6;border-radius:14px;padding:16px 20px;margin:18px 0 26px;flex-wrap:wrap}.cta-box b{display:block}.cta-box span{font-size:14px;color:var(--mut)}.cta-box .btn{background:var(--acc);border-color:var(--acc)}
.orig h2,.tips h2,.rs h2,.hubs-l h2{border-left:5px solid var(--c);padding-left:12px;margin-top:30px}
.orig h3{margin-top:22px;color:var(--c)}.orig p{margin:0 0 12px;color:#27313d}.orig .dt{display:inline-block;background:#f1f0ea;font-weight:700;font-size:13.5px;padding:1px 10px;border-radius:6px;margin:14px 0 4px}
.src-note,.empty{font-size:13.5px;color:var(--mut);background:#faf9f5;border:1px dashed var(--line);border-radius:10px;padding:8px 12px}
.orig figure img{border-radius:10px;margin:0 auto}
.tips ol{padding-left:22px}.tips li{margin-bottom:6px}
.hl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hl a{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--ink);font-weight:600;font-size:14.5px}.hl a:hover{border-color:var(--c)}
.hl b{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 4px;border-radius:9px;background:var(--c);color:#fff;font-size:12px}.hl.col1{grid-template-columns:1fr}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.pn a{background:#f7f6f1;border-radius:12px;padding:12px 14px;color:var(--ink);font-size:14px;line-height:1.5}.pn small{display:block;color:var(--mut)}.pn .nx{text-align:right}
.side{position:sticky;top:120px;display:flex;flex-direction:column;gap:16px}
.s-cta{background:linear-gradient(150deg,var(--pri2),var(--pri));color:#fff;border-radius:var(--r);padding:20px}.s-cta b{font-size:1.15rem}.s-cta p{color:#d9f2ea;font-size:14px}.s-cta .btn{background:#fff;color:var(--pri2);border-color:#fff;width:100%;text-align:center}
.s-box{background:#fff;border-radius:var(--r);padding:16px;box-shadow:var(--sh)}.s-box h2{font-size:1rem}
.minis{list-style:none;padding:0;margin:0}.minis a{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);color:var(--ink);font-size:13.5px;line-height:1.45}.minis img{width:96px;border-radius:8px;flex:none;object-fit:cover;aspect-ratio:16/9}
.mbar{display:none}
/* category/hub */
.cat-h,.hub-h{display:flex;gap:18px;align-items:flex-start;background:#fff;border-radius:var(--r);padding:24px;box-shadow:var(--sh);border-left:6px solid var(--c);margin-bottom:22px}.cat-h p,.hub-h p{margin:0;color:#3d4653}.cat-h h1,.hub-h h1{font-size:1.6rem}
.kick2{font-size:12.5px;font-weight:700;letter-spacing:1px;color:var(--c)!important;margin-bottom:4px!important}
.cat-cta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin-top:26px}.cat-cta p{margin:0;font-weight:600}
.prose{background:#fff;border-radius:var(--r);padding:24px 28px;box-shadow:var(--sh);margin-top:22px}.hub-grid .prose{margin-top:0}.prose h2{margin-top:26px;border-left:5px solid var(--pri);padding-left:12px}.prose h2:first-child{margin-top:0}.prose p{color:#2f3946}
.tbl{overflow-x:auto;margin:12px 0}.tbl table{border-collapse:collapse;width:100%;font-size:14px;min-width:560px}.tbl th,.tbl td{border:1px solid var(--line);padding:7px 10px;text-align:left}.tbl thead th{background:var(--ink);color:#fff}.tbl tbody th{font-weight:600}
.lede2{color:var(--mut)}.e404{text-align:center;padding:40px 20px}.big404{font-size:6rem;font-weight:800;color:var(--acc);margin:0;line-height:1}.e404 .hl{margin:20px 0;text-align:left}
@media(max-width:1020px){.tiles{grid-template-columns:repeat(3,1fr)}.cols{grid-template-columns:1fr}.art-grid,.hub-grid{grid-template-columns:1fr}.side{position:static}.foot-in{grid-template-columns:1fr 1fr}}
@media(max-width:760px){body{font-size:15.5px}.hero{padding:26px 0 20px}.hero-in{grid-template-columns:1fr;gap:22px}.hero h1{font-size:1.9rem}.stats{gap:20px}
 .tiles{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.art{padding:18px 16px}.art h1{font-size:1.32rem}.hl{grid-template-columns:1fr 1fr}
 .info th{width:56px}.info th,.info td{padding:6px 8px}.top-in{height:56px}.brand small{display:none}.top-cta{padding:6px 12px;font-size:13px}
 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ink);color:#fff;justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px}.mbar a{background:var(--acc);color:#fff;padding:6px 14px;border-radius:999px;font-weight:600}
 body:has(.mbar){padding-bottom:56px}.pn{grid-template-columns:1fr}.pn .nx{text-align:left}.foot-in{grid-template-columns:1fr}.cat-h,.hub-h{flex-direction:column;padding:18px}.prose{padding:18px}}
