/* ==========================================================================
   杂志亮色 —— 米白纸感 + 左侧竖排导航 + 衬线刊头 + 横向图文卡片
   ========================================================================== */

:root{
  --mg-bg:#f4f1ea;
  --mg-paper:#fbf9f5;
  --mg-surface:#ffffff;
  --mg-ink:#1b1a17;
  --mg-muted:#6f6a60;
  --mg-line:#e3ded2;
  --mg-accent:#b23a2e;
  --mg-serif:Georgia,"Songti SC","Noto Serif SC",serif;
  --mg-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
body.mg{margin:0;background:var(--mg-bg);color:var(--mg-ink);font:15px/1.75 var(--mg-sans)}
body.mg img{max-width:100%;display:block}
body.mg a{color:inherit;text-decoration:none}
body.mg a:hover{color:var(--mg-accent)}
body.mg ul,body.mg ol{list-style:none;margin:0;padding:0}
body.mg figure{margin:0}
body.mg p{margin:0 0 10px}

/* ---------- 骨架：左侧栏 + 内容 ---------- */
.mg-shell{display:flex;min-height:100vh}
.mg-side{flex:0 0 252px;width:252px;background:var(--mg-paper);border-right:1px solid var(--mg-line);padding:30px 22px;position:sticky;top:0;align-self:flex-start;max-height:100vh;overflow:auto}
.mg-body{flex:1;min-width:0;display:flex;flex-direction:column}
.mg-main{flex:1;width:100%;max-width:1180px;padding:34px 42px 60px}

/* ---------- 刊头 / 导航 ---------- */
.mg-brand{display:block;font-family:var(--mg-serif);font-size:30px;letter-spacing:2px;line-height:1.2}
.mg-brand em{font-style:normal;color:var(--mg-accent)}
.mg-brand-sub{margin:8px 0 22px;font-size:12px;line-height:1.6;color:var(--mg-muted)}
.mg-nav{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--mg-line);padding-top:14px}
.mg-nav a{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:9px 10px;font-size:15px;border-radius:3px}
.mg-nav a b{font-weight:400}
.mg-nav a span{font:10px/1 var(--mg-serif);letter-spacing:1.6px;text-transform:uppercase;color:var(--mg-muted)}
.mg-nav a:hover{background:#f1ebdf}
.mg-nav a.is-active{background:var(--mg-ink);color:#fff}
.mg-nav a.is-active span{color:rgba(255,255,255,.55)}
.mg-search{display:flex;margin:20px 0 0;background:#fff;border:1px solid var(--mg-line)}
.mg-search input{flex:1;min-width:0;border:0;background:transparent;padding:9px 10px;font:14px/1.4 var(--mg-sans);color:inherit}
.mg-search input:focus{outline:none}
.mg-search button{border:0;background:var(--mg-ink);color:#fff;padding:0 14px;font:12px/1 var(--mg-sans);letter-spacing:1px;cursor:pointer}
.mg-search button:hover{background:var(--mg-accent)}
.mg-side-foot{margin:24px 0 0;padding-top:14px;border-top:1px solid var(--mg-line);font-size:11px;color:var(--mg-muted)}
.mg-side-foot a{display:block;margin-top:4px}

/* ---------- 刊头（首页）/ 页面头 ---------- */
.mg-masthead{border-bottom:3px double var(--mg-line);padding-bottom:18px;margin-bottom:26px}
.mg-masthead h1{font-family:var(--mg-serif);font-size:44px;line-height:1.15;margin:0 0 8px;letter-spacing:1px;font-weight:400}
.mg-masthead-sub{color:var(--mg-muted);font-size:15px}
.mg-masthead-meta{margin:12px 0 0;font:11px/1.6 var(--mg-serif);letter-spacing:1.8px;text-transform:uppercase;color:var(--mg-muted)}
.mg-page-head{border-bottom:2px solid var(--mg-ink);padding-bottom:14px;margin-bottom:22px}
.mg-page-head h1{font-family:var(--mg-serif);font-size:32px;font-weight:400;margin:0;letter-spacing:.5px}
.mg-page-head p{margin:8px 0 0;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--mg-muted)}

/* ---------- 区块 ---------- */
.mg-section{margin-top:36px}
.mg-section-title{display:flex;align-items:baseline;gap:10px;font-family:var(--mg-serif);font-size:22px;font-weight:400;margin:0 0 16px;padding-bottom:9px;border-bottom:1px solid var(--mg-line)}
.mg-section-title span{font:10px/1 var(--mg-serif);letter-spacing:2.2px;text-transform:uppercase;color:var(--mg-muted)}
.mg-section-title a{margin-left:auto;font:12px/1 var(--mg-sans);color:var(--mg-accent)}

/* ---------- 头条 ---------- */
.mg-lead{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
.mg-lead-main figure{margin:0 0 14px;background:var(--mg-surface);border:1px solid var(--mg-line);padding:8px}
.mg-lead-main figure img{width:100%;aspect-ratio:16/9;object-fit:cover}
.mg-lead-main h2{font-family:var(--mg-serif);font-size:27px;font-weight:400;line-height:1.35;margin:0 0 8px}
.mg-lead-main .mg-lead-sum{color:var(--mg-muted);font-size:14px}
.mg-lead-side li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--mg-line)}
.mg-lead-side .n{font-family:var(--mg-serif);font-size:20px;color:var(--mg-accent);min-width:24px}
.mg-lead-side h3{font-size:15px;font-weight:400;margin:0 0 2px;line-height:1.5}
.mg-lead-side small{color:var(--mg-muted);font-size:12px}

/* ---------- 卡片（横向图文）---------- */
.mg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mg-card{background:var(--mg-surface);border:1px solid var(--mg-line);transition:transform .18s,box-shadow .18s,border-color .18s}
.mg-card:hover{transform:translateY(-2px);border-color:var(--mg-accent);box-shadow:0 10px 24px rgba(27,26,23,.09)}
.mg-card-link{display:flex;gap:14px;padding:12px;height:100%}
.mg-card-poster{flex:0 0 96px;height:138px;background:#eee center/cover no-repeat;border:1px solid var(--mg-line)}
.mg-card-text{min-width:0;display:flex;flex-direction:column}
.mg-card-title{font-family:var(--mg-serif);font-size:17px;font-weight:400;line-height:1.45;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mg-card-meta{margin:0 0 7px;font-size:12px;color:var(--mg-muted);letter-spacing:.3px}
.mg-card-score{font-weight:700;color:var(--mg-accent)}
.mg-card-sum{margin:0;font-size:13px;line-height:1.65;color:var(--mg-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- 榜单卡片 ---------- */
.mg-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mg-subject{display:block;background:var(--mg-surface);border:1px solid var(--mg-line)}
.mg-subject img{width:100%;aspect-ratio:3/2;object-fit:cover;filter:sepia(.12) saturate(1.05)}
.mg-subject figcaption{display:flex;align-items:baseline;gap:10px;padding:10px 12px;font-family:var(--mg-serif);font-size:16px}
.mg-subject figcaption small{margin-left:auto;font:12px/1.6 var(--mg-sans);color:var(--mg-muted)}
.mg-subject:hover{border-color:var(--mg-accent)}

/* ---------- 排行列表 ---------- */
.mg-ranklist li{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px dashed var(--mg-line)}
.mg-ranklist .n{font-family:var(--mg-serif);color:var(--mg-muted);min-width:26px}
.mg-ranklist .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mg-ranklist .s{color:var(--mg-accent);font-weight:700;font-size:13px}

/* ---------- 按钮 ---------- */
/* 按钮选择器带 body.mg 前缀：通用规则 body.mg a{color:inherit} 的特异性高于单类选择器，
   否则按钮文字会继承深色，与深色底同色（文字看不见） */
body.mg .mg-btn{display:inline-block;padding:10px 22px;margin:0 10px 0 0;border:1px solid var(--mg-ink);background:var(--mg-ink);color:#fff;font-size:13px;letter-spacing:1px}
body.mg .mg-btn:hover{background:var(--mg-accent);border-color:var(--mg-accent);color:#fff}
.mg-btn-ghost{background:transparent;color:var(--mg-ink)}
.mg-btn-ghost:hover{color:#fff}
.mg-actions{margin-top:22px}

/* ---------- 筛选 ---------- */
.mg-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px 18px;background:var(--mg-paper);border:1px solid var(--mg-line)}
.mg-filter{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.mg-filter-label{font-family:var(--mg-serif);font-size:13px;color:var(--mg-muted);min-width:46px;padding-top:4px}
.mg-chip{display:inline-block;padding:3px 10px;font-size:13px;color:var(--mg-muted);border:1px solid transparent}
.mg-chip:hover{background:#fff;border-color:var(--mg-line);color:var(--mg-ink)}
.mg-chip.is-on{background:var(--mg-ink);border-color:var(--mg-ink);color:#fff}

/* ---------- 分页 ---------- */
.mg-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:34px 0 0}
.mg-pager a,.mg-pager b{padding:6px 12px;font-size:13px;background:#fff;border:1px solid var(--mg-line)}
.mg-pager b{background:var(--mg-ink);border-color:var(--mg-ink);color:#fff}
.mg-pager a:hover{border-color:var(--mg-accent);color:var(--mg-accent)}
.mg-pager .dotted{align-self:center;color:var(--mg-muted)}

/* ---------- 详情 ---------- */
.mg-crumb{font-size:12px;letter-spacing:.4px;color:var(--mg-muted);margin-bottom:18px}
.mg-crumb a{color:var(--mg-muted)}
.mg-detail-top{display:grid;grid-template-columns:236px minmax(0,1fr);gap:28px;padding-bottom:26px;border-bottom:1px solid var(--mg-line)}
.mg-detail-poster{margin:0;padding:8px;background:var(--mg-surface);border:1px solid var(--mg-line)}
.mg-detail-head h1{font-family:var(--mg-serif);font-size:34px;font-weight:400;line-height:1.25;margin:0 0 10px}
.mg-detail-meta{font-size:13px;color:var(--mg-muted)}
.mg-score{font:700 27px/1 var(--mg-serif);color:var(--mg-accent);margin-right:8px;vertical-align:-2px}
.mg-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 18px;margin:18px 0 0;font-size:13px}
.mg-facts dt{color:var(--mg-muted);white-space:nowrap}
.mg-facts dd{margin:0}
.mg-block{margin-top:32px}
.mg-block h2{font-family:var(--mg-serif);font-size:21px;font-weight:400;margin:0 0 14px;padding-bottom:9px;border-bottom:1px solid var(--mg-line)}
.mg-prose{font-size:15px;line-height:2;color:#332f29}
.mg-dl{border-top:1px solid var(--mg-line)}
.mg-dl li{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--mg-line);font-size:14px}
.mg-dl .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mg-dl .sz{font-size:12px;color:var(--mg-muted);white-space:nowrap}
.mg-note{font-size:12px;color:var(--mg-muted);margin:14px 0 0}
.mg-player{position:relative;height:0;padding-bottom:56.25%;overflow:hidden;background:#000;border:1px solid var(--mg-line)}
.mg-player iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* ---------- 文章 ---------- */
.mg-articles{max-width:860px}
.mg-post{display:block;padding:20px 0;border-bottom:1px solid var(--mg-line)}
.mg-post h2{font-family:var(--mg-serif);font-size:21px;font-weight:400;margin:0 0 8px}
.mg-post p{color:var(--mg-muted);font-size:14px;margin:0 0 10px}
.mg-post-meta{font-size:12px;letter-spacing:.4px;color:var(--mg-muted)}
.mg-tag{display:inline-block;margin-right:8px;padding:1px 8px;border:1px solid var(--mg-line);font-size:11px;color:var(--mg-accent)}
.mg-article{max-width:780px}
.mg-article h1{font-family:var(--mg-serif);font-size:33px;font-weight:400;line-height:1.35;margin:0 0 12px}
.mg-article .mg-post-meta{display:block;padding-bottom:18px;border-bottom:1px solid var(--mg-line);margin-bottom:22px}
.mg-body-text{font-size:16px;line-height:2.1;color:#332f29}
.mg-body-text h2,.mg-body-text h3{font-family:var(--mg-serif);font-weight:400;margin:26px 0 12px}
.mg-body-text img{margin:16px 0}
.mg-body-text blockquote{margin:18px 0;padding:4px 0 4px 18px;border-left:3px solid var(--mg-accent);color:var(--mg-muted)}

/* ---------- 留言板 ---------- */
.mg-gbook{max-width:860px}
.mg-msg{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--mg-line)}
.mg-msg img{width:42px;height:42px;border-radius:50%;border:1px solid var(--mg-line)}
.mg-msg-name{font-family:var(--mg-serif);font-size:16px}
.mg-msg-time{font-size:12px;color:var(--mg-muted);margin-left:10px}
.mg-msg-body{margin:6px 0}
.mg-reply{margin:8px 0 0;padding:8px 12px;background:#f6efe4;border-left:3px solid var(--mg-accent);font-size:14px}
.mg-reply b{color:var(--mg-accent);font-weight:400}

/* ---------- 表单 / 提示 ---------- */
.mg-form{max-width:640px;margin-top:30px;padding:22px;background:var(--mg-surface);border:1px solid var(--mg-line)}
.mg-form h2{font-family:var(--mg-serif);font-size:20px;font-weight:400;margin:0 0 16px}
.mg-field{margin-bottom:14px}
.mg-field label{display:block;font-size:13px;color:var(--mg-muted);margin-bottom:6px}
.mg-field input,.mg-field textarea{width:100%;border:1px solid var(--mg-line);background:#fff;padding:9px 11px;font:14px/1.6 var(--mg-sans);color:inherit}
.mg-field textarea{min-height:110px;resize:vertical}
.mg-field input:focus,.mg-field textarea:focus{outline:none;border-color:var(--mg-accent)}
.mg-alert{margin:0 0 18px;padding:12px 16px;border:1px solid var(--mg-line);background:var(--mg-paper);font-size:14px}
.mg-alert-ok{border-color:#b7cdb0;background:#f0f5ec}
.mg-alert-err{border-color:#e0b4ae;background:#fbf0ee}

/* ---------- 通用单页（关于 / 磁力 / 404）---------- */
.mg-page{max-width:780px}
.mg-page h1{font-family:var(--mg-serif);font-size:32px;font-weight:400;margin:0 0 18px}
.mg-page .mg-prose a{border-bottom:1px solid var(--mg-accent)}
.mg-page-actions{margin-top:26px}
.mg-empty{padding:52px 0;text-align:center;color:var(--mg-muted)}

/* ---------- 页脚 ---------- */
.mg-foot{border-top:1px solid var(--mg-line);background:var(--mg-paper);padding:22px 42px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:var(--mg-muted)}
.mg-foot-links{display:flex;gap:16px;margin-left:auto}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .mg-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .mg-shell{display:block}
  .mg-side{position:static;width:auto;max-height:none;border-right:0;border-bottom:1px solid var(--mg-line);padding:20px 18px}
  .mg-brand{font-size:26px}
  .mg-brand-sub{margin-bottom:14px}
  .mg-nav{flex-direction:row;flex-wrap:wrap;border-top:0;padding-top:0;gap:6px}
  .mg-nav a{flex:0 0 auto;border:1px solid var(--mg-line);background:#fff}
  .mg-nav a span{display:none}
  .mg-search{margin-top:14px}
  .mg-side-foot{display:none}
  .mg-main{padding:22px 18px 46px}
  .mg-lead{grid-template-columns:1fr;gap:18px}
  .mg-detail-top{grid-template-columns:1fr;gap:20px}
  .mg-detail-poster{max-width:220px}
  .mg-foot{padding:18px}
  .mg-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .mg-grid,.mg-grid-3,.mg-subjects{grid-template-columns:1fr}
  .mg-masthead h1{font-size:32px}
  .mg-detail-head h1{font-size:26px}
  .mg-article h1{font-size:26px}
  .mg-card-poster{flex-basis:84px;height:120px}
  .mg-foot-links{margin-left:0}
}
