/* =========================================================
   国学术数馆 · 国风水墨 / 宣纸古籍风  PbootCMS 主题样式
   配色：宣纸米黄底 · 墨色字 · 朱砂红点缀 · 描金细线
   ========================================================= */
:root{
  --paper:#f7f3ea;          /* 宋版素白底 */
  --paper-2:#fbf8f0;        /* 卡片底（更亮一档） */
  --paper-3:#efe9da;        /* 深一档 */
  --ink:#1c1a17;            /* 墨色主文字 */
  --ink-2:#46413a;          /* 次级文字 */
  --ink-3:#8a8276;          /* 弱化文字 */
  --cinnabar:#9e2b25;       /* 朱砂红（版框/栏线） */
  --cinnabar-d:#7d211c;     /* 深朱砂 */
  --gold:#a8884e;           /* 描金（少量点缀） */
  --gold-soft:#bfa063;
  --line:#cdbfa0;           /* 分割线 */
  --jade:#3a5a40;           /* 竹青（点缀） */
  --shadow:0 6px 22px rgba(60,45,20,.12);
  --serif:"Source Han Serif SC","Noto Serif SC","Songti SC","STSong","SimSun",serif;
  --kai:"Kaiti SC","STKaiti","KaiTi","楷体",serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--serif);
  color:var(--ink);
  background-color:var(--paper);
  background-image:
    radial-gradient(circle at 12% 18%, rgba(176,141,87,.06) 0, transparent 38%),
    radial-gradient(circle at 88% 8%, rgba(158,43,37,.05) 0, transparent 32%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='120' height='120' filter='url(%23n)' opacity='0.035'/></svg>");
  font-size:16px;line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px;}

/* 顶部匾额 */
.topbar{background:linear-gradient(180deg,#2a2622,#211d19);color:#e9dcc0;border-bottom:3px solid var(--gold);}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;}
.brand{display:flex;align-items:center;gap:14px;}
.brand .seal{
  width:46px;height:46px;flex:none;border-radius:6px;
  background:var(--cinnabar);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:13px;line-height:1.05;text-align:center;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.35);letter-spacing:1px;
}
.brand .name{font-size:23px;letter-spacing:3px;color:#f3e9d2;font-weight:600;}
.brand .name b{color:var(--gold-soft);}
.brand .sub{font-size:12px;color:#b9a877;letter-spacing:2px;margin-top:2px;}
.topbar .tools{font-size:13px;color:#c7b78c;display:flex;gap:18px;}
.topbar .tools a:hover{color:#fff;}
/* B案 · 細線雅籤：訪客登錄/註冊 + 登錄態（dot/署名/我的館/退出） */
.topbar .tk-guest{display:inline-flex;align-items:center;gap:10px;}
.topbar .tk-guest .l2{font-family:var(--serif);font-size:13px;letter-spacing:2.5px;color:#d9c08a;
  border:1px solid rgba(214,178,106,.4);padding:3px 15px;border-radius:5px;transition:.2s;text-decoration:none;}
.topbar .tk-guest .l2:hover{border-color:var(--gold-soft);color:#f0dfae;background:rgba(214,178,106,.08);}
.topbar .tk-guest .reg{font-family:var(--serif);font-size:13px;letter-spacing:2.5px;color:#9b8f78;transition:.2s;text-decoration:none;}
.topbar .tk-guest .reg:hover{color:#f0dfae;}
.topbar .tk-user{display:inline-flex;align-items:center;line-height:1;}
.topbar .tk-user .dot{width:8px;height:8px;border-radius:50%;background:var(--cinnabar);margin-right:8px;flex:none;}
.topbar .tk-user .unm{font-family:var(--serif);font-size:14px;letter-spacing:2px;color:#f0dfae;margin-right:10px;}
.topbar .tk-user .mine{font-family:var(--serif);font-size:13px;letter-spacing:2px;color:#e8b3a6;transition:.2s;text-decoration:none;}
.topbar .tk-user .mine:hover{color:#fff;}
.topbar .tk-user .tsep{width:1px;height:13px;background:rgba(255,255,255,.14);margin:0 12px;flex:none;display:inline-block;}
.topbar .tk-user .out{font-family:var(--serif);font-size:12px;letter-spacing:1px;color:#8f8268;transition:.2s;text-decoration:none;}
.topbar .tk-user .out:hover{color:#e8b3a6;}
.topbar .tools .legacy{font-family:var(--serif);font-size:13px;letter-spacing:2.5px;color:#d9c08a;border:1.5px solid #a8884e;padding:5px 16px;border-radius:5px;transition:.2s;text-decoration:none;background:transparent;line-height:1;}
.topbar .tools .legacy:hover{background:rgba(214,178,106,.12);color:#f0dfae;border-color:var(--gold-soft);}
.topbar .tools .legacy .lg-ic{display:none;}
@media(max-width:480px){
  .topbar .wrap{height:56px;}
  .brand{gap:10px;}
  .brand .seal{width:36px;height:36px;font-size:11px;}
  .brand .name{font-size:16px;letter-spacing:2px;}
  .brand .sub{display:none;}
  .topbar .tools{gap:10px;}
  .topbar .tk-guest{gap:8px;}
  .topbar .tk-guest .l2{font-size:12px;padding:3px 10px;letter-spacing:1.5px;}
  .topbar .tk-guest .reg,.topbar .tk-user .out{font-size:11.5px;}
  .topbar .tools .legacy{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;}
  .topbar .tools .legacy .lg-tx{display:none;}
  .topbar .tools .legacy .lg-ic{display:block;font-size:13px;letter-spacing:0;}
}

/* 导航 */
.nav{background:var(--paper-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;box-shadow:var(--shadow);}
.nav .wrap{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;position:relative;}
.nav>a,.nav-item>a{display:block;padding:18px 18px;line-height:1.5;font-size:16px;letter-spacing:2px;color:var(--ink);position:relative;transition:.2s;white-space:nowrap;}
.nav>a::after,.nav-item>a::after{content:"";position:absolute;left:18px;right:18px;bottom:8px;height:2px;background:var(--cinnabar);transform:scaleX(0);transition:.22s;}
.nav>a:hover,.nav-item>a:hover,.nav>a.on,.nav-item>a.on{color:var(--cinnabar);}
.nav>a:hover::after,.nav-item>a:hover::after,.nav>a.on::after,.nav-item>a.on::after{transform:scaleX(1);}

/* 导航下拉 */
.nav-item{position:relative;}
.nav-item.has-sub>a{padding-right:30px;}
.nav-item.has-sub>a::before{content:"▾";position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--ink-3);transition:.22s;}
.nav-item.has-sub:hover>a::before{color:var(--cinnabar);transform:translateY(-50%) rotate(180deg);}
.subnav{position:absolute;top:100%;left:0;min-width:184px;background:var(--paper-2);border:1px solid var(--line);border-top:2px solid var(--cinnabar);border-radius:0 0 10px 10px;box-shadow:var(--shadow);padding:6px 0;display:none;z-index:50;}
.nav-item:hover .subnav{display:block;}
/* 漢堡按鈕（桌面隱藏，≤768px 顯示） */
.nav-burger{display:none;flex:none;width:44px;height:44px;margin-left:auto;flex-direction:column;justify-content:center;align-items:center;gap:7px;background:none;border:none;cursor:pointer;padding:0;}
.nav-burger span{display:block;width:26px;height:2px;background:var(--ink);border-radius:1px;transition:.25s;}
.nav-burger span:nth-child(2){width:19px;margin-right:7px;}
.nav-burger:active span{background:var(--cinnabar);}
.nav.open .nav-burger span{background:var(--ink);}
.nav.open .nav-burger span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.nav.open .nav-burger span:nth-child(2){opacity:0;}
.nav.open .nav-burger span:nth-child(2){width:26px;margin-right:0;}
.nav.open .nav-burger span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}
.subnav a{display:block;padding:11px 20px;font-size:15px;letter-spacing:1px;color:var(--ink-2);white-space:nowrap;border-left:3px solid transparent;transition:.18s;}
.subnav a::after{display:none;}
.subnav a:hover{color:var(--cinnabar);background:rgba(176,141,87,.08);border-left-color:var(--cinnabar);}

/* 水墨 banner（真画） */
.banner{position:relative;overflow:hidden;border-bottom:1px solid var(--line);height:480px;background:#1d1a16;}
.banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
  filter:saturate(.95) contrast(1.02);}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.32) 0%,rgba(0,0,0,.10) 46%,rgba(0,0,0,.64) 100%);pointer-events:none;}
.banner .cap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#f3e9d2;text-shadow:0 2px 18px rgba(0,0,0,.55);padding:0 24px;}
.banner .cap h1{font-family:var(--serif);font-size:50px;letter-spacing:14px;margin:0 0 10px;font-weight:600;}
.banner .cap .lead{font-size:16px;letter-spacing:5px;color:#ece0c6;margin:0 0 28px;}
.banner .cap .stamp{display:none;}
/* 大气国风搜索框 */
.searchbar{display:flex;width:min(660px,92%);margin:0 auto;border:1px solid var(--gold-soft);background:rgba(255,255,255,.95);border-radius:34px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.34);transition:.2s;}
.searchbar:focus-within{border-color:var(--gold);box-shadow:0 14px 44px rgba(0,0,0,.45);}
.searchbar .ico{display:flex;align-items:center;padding-left:22px;color:var(--ink-3);font-size:18px;}
.searchbar input{flex:1;border:0;outline:0;padding:17px 18px;font-size:16px;background:transparent;font-family:var(--serif);color:#2a2622;letter-spacing:1px;}
.searchbar input::placeholder{color:#a99c88;}
.searchbar button{flex:0;border:0;background:var(--cinnabar);color:#fff;padding:0 36px;font-family:var(--serif);font-size:19px;letter-spacing:5px;cursor:pointer;transition:.2s;}
.searchbar button:hover{background:var(--cinnabar-d);}
.hotwords{margin-top:20px;font-size:13px;color:#ece0c6;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;align-items:center;}
.hotwords .lab{color:var(--gold-soft);letter-spacing:4px;}
.hotwords a{color:#ece0c6;border-bottom:1px dashed rgba(236,224,198,.45);padding-bottom:1px;letter-spacing:2px;}
.hotwords a:hover{color:#fff;border-color:#fff;}

/* 区块标题 */
.sec{margin:42px 0 8px;}
.sec .hd{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.sec .hd .bar{width:6px;height:26px;background:var(--cinnabar);border-radius:2px;}
.sec .hd h2{font-family:var(--serif);font-size:24px;letter-spacing:4px;margin:0;color:var(--ink);}
.sec .hd .en{font-size:12px;color:var(--ink-3);letter-spacing:3px;margin-left:4px;}
.sec .hd .more{margin-left:auto;font-size:13px;color:var(--ink-3);border:1px solid var(--line);padding:4px 12px;border-radius:14px;}
.sec .hd .more:hover{color:var(--cinnabar);border-color:var(--cinnabar);}

/* 四大栏目卡片 */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cats-nine{grid-template-columns:repeat(5,1fr);}
.cats-nine .cat{padding:18px 14px 16px;text-align:center;}
.cats-nine .cat .ico{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:50%;background:var(--paper);border:1px solid var(--line);font-family:var(--serif);font-size:24px;color:var(--cinnabar);margin:0 auto 10px;overflow:hidden;line-height:1;}
.cats-nine .cat .ico::first-letter{font-size:24px;}
.cats-nine .cat h3{font-size:16px;letter-spacing:2px;margin:0 0 4px;}
.cats-nine .cat p{font-size:12px;line-height:1.55;margin:0;}
.cat{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:22px 20px;position:relative;overflow:hidden;transition:.25s;}
.cat:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold);}
.cat .ico{font-family:var(--serif);font-size:30px;color:var(--cinnabar);margin-bottom:8px;}
.cat h3{margin:0 0 6px;font-size:20px;letter-spacing:3px;}
.cat p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.7;}
.cat .tag{position:absolute;right:-26px;top:14px;background:var(--gold);color:#fff;font-size:11px;padding:3px 30px;transform:rotate(40deg);letter-spacing:2px;}

/* 资源网格（4 列卡片） */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:.25s;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold);}
.card .cover{aspect-ratio:3/2;background:#fbf8f0;position:relative;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);overflow:hidden;}
.card .cover .cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.card .cover:has(.cover-img)::after,.card .cover:has(.cover-img)::before{display:none;}
.card .cover::after{content:"";position:absolute;inset:14px;border:2px double var(--cinnabar);pointer-events:none;}
.card .cover::before{content:"";position:absolute;left:50%;top:14px;bottom:14px;width:1px;background:rgba(158,43,37,.35);}
.card .cover .bk{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--serif);font-size:26px;letter-spacing:8px;color:#1c1a17;max-height:82%;line-height:1.5;padding:0;}
.card .cover .free{position:absolute;left:8px;top:12px;background:var(--jade);color:#fff;font-size:10px;padding:2px 7px;border-radius:8px;letter-spacing:1px;z-index:2;}
.card .cover .vip{position:absolute;left:8px;top:12px;background:var(--cinnabar);color:#fff;font-size:10px;padding:2px 7px;border-radius:8px;letter-spacing:1px;z-index:2;}
.card .body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;flex:1;}
.card .body h4{margin:0;font-size:14px;line-height:1.45;letter-spacing:1px;font-weight:600;}
.card .body .meta{font-size:11px;color:var(--ink-3);display:flex;gap:8px;flex-wrap:wrap;}
.card .body .desc{font-size:12px;color:var(--ink-2);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card .body .act{margin-top:auto;display:flex;gap:6px;align-items:center;justify-content:flex-end;}

/* 首頁 2×5 書架（最新上架） */
.shelf{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.shelf-empty{grid-column:1/-1;text-align:center;color:var(--ink-3);padding:34px 16px;font-size:13px;letter-spacing:1px;}

/* 首頁 熱門下載 · 朱砂榜單（兩列：左 1–5 / 右 6–10） */
.C-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;}
.C-col{display:flex;flex-direction:column;gap:7px;}
.C-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-decoration:none;color:inherit;transition:.18s;}
.C-row:hover{border-color:var(--gold-soft);box-shadow:var(--shadow);}
.C-rank{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--cinnabar);width:26px;text-align:center;flex:0 0 26px;}
.C-rank.top{color:#fff;background:var(--cinnabar);border-radius:6px;line-height:28px;height:28px;font-size:15px;}
.C-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.C-info .t{font-size:14.5px;font-weight:600;line-height:1.3;}
.C-info .sub{font-size:12px;color:var(--ink-3);margin-top:2px;}
.C-hot{flex:0 0 auto;text-align:right;font-size:11px;color:var(--gold);font-family:var(--serif);letter-spacing:1px;}
.C-hot b{font-size:14px;}

.card .cover .hot{position:absolute;right:8px;top:12px;background:var(--gold);color:#3a2a10;font-size:10px;padding:2px 7px;border-radius:8px;letter-spacing:1px;z-index:2;}
.btn{display:inline-block;padding:5px 12px;border-radius:14px;font-size:12px;letter-spacing:1px;transition:.2s;cursor:pointer;border:1px solid var(--cinnabar);}
.btn.go{background:var(--cinnabar);color:#fff;}
.btn.go:hover{background:var(--cinnabar-d);}
.btn.ghost{color:var(--cinnabar);}
.btn.ghost:hover{background:rgba(158,43,37,.08);}
/* 書目卡「詳情」：無框純文字 + >> 箭頭 */
.card .act .btn.ghost{padding:0;border:none;border-radius:0;background:none;font-size:13px;letter-spacing:1px;color:var(--cinnabar);}
.card .act .btn.ghost::after{content:">>";margin-left:3px;letter-spacing:0;transition:margin-left .2s;}
.card .act .btn.ghost:hover{background:none;color:var(--cinnabar-d);}
.card .act .btn.ghost:hover::after{margin-left:6px;}

/* 馆藏统计 */
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:linear-gradient(180deg,var(--paper-2),var(--paper));border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:18px;box-shadow:var(--shadow);}
.stats .st{padding:22px 14px;text-align:center;border-right:1px solid var(--line);position:relative;}
.stats .st:last-child{border-right:0;}
.stats .st b{display:block;font-family:var(--serif);font-size:32px;color:var(--cinnabar);letter-spacing:2px;line-height:1;font-weight:600;}
.stats .st span{display:block;margin-top:8px;font-size:13px;color:var(--ink-2);letter-spacing:3px;}
.stats .st .zi{position:absolute;left:8px;top:6px;font-family:var(--serif);font-size:11px;color:var(--gold);}

/* 站务声明 */
.notice{margin-top:18px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:22px 26px 20px 32px;position:relative;overflow:hidden;}
.notice::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--cinnabar),var(--gold));}
.notice h3{margin:0 0 12px;font-family:var(--serif);font-size:19px;letter-spacing:4px;color:var(--ink);display:flex;align-items:center;gap:10px;}
.notice h3::after{content:"";flex:1;height:1px;background:var(--line);margin-left:10px;}
.notice p{margin:0 0 8px;font-size:13.5px;color:var(--ink-2);line-height:1.9;letter-spacing:1px;}
.notice p:last-child{margin-bottom:0;}
.notice p strong{color:var(--cinnabar);font-weight:600;}
.notice a.fb,.pd-notice a.fb{color:var(--cinnabar);text-decoration:underline;text-underline-offset:3px;}
.notice a.fb:hover,.pd-notice a.fb:hover{color:#7a1f1a;}

/* 讨论列表 */
/* 首頁 討論交流：圖片 + 標題 + 簡述 列表式 */
.talk-list{display:flex;flex-direction:column;gap:0;}
.talk-item{display:flex;gap:14px;align-items:flex-start;padding:13px 4px;border-bottom:1px dashed var(--line);text-decoration:none;color:inherit;}
.talk-item:last-child{border-bottom:0;}
.talk-item .thumb{width:88px;height:62px;flex:0 0 88px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:var(--paper-2);}
.talk-item .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.talk-item .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.talk-item .ti{font-size:15.5px;line-height:1.45;font-weight:600;color:var(--ink);letter-spacing:.5px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.talk-item .de{font-size:13px;line-height:1.6;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.talk-item:hover .ti{color:var(--cinnabar);}

/* 布局：列表页 */
.layout{display:grid;grid-template-columns:1fr 240px;gap:30px;margin:30px 0;}
.layout--side-left{grid-template-columns:240px 1fr;}
.side{background:var(--paper-2);border:1px solid var(--line);border-radius:2px;padding:10px;align-self:start;position:sticky;top:64px;box-shadow:0 6px 22px rgba(60,45,20,.1);}
.side .inner{border:1px solid rgba(158,43,37,.45);}
.side h3{margin:0;padding:15px 12px;font-family:var(--serif);font-size:17px;letter-spacing:5px;color:var(--ink);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:10px;}
.side .ico-cat{flex:none;width:30px;height:30px;color:var(--cinnabar);display:flex;align-items:center;justify-content:center;}
.side .ico-cat svg{width:22px;height:22px;}
.side a{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:14px;letter-spacing:2px;color:var(--ink-2);border-bottom:1px solid rgba(205,191,160,.5);transition:.2s;}
.side a::after{content:"›";color:var(--gold-soft);font-size:15px;}
.side a:hover,.side a.on{color:var(--cinnabar);background:rgba(158,43,37,.04);}
.side a.on::after{color:var(--cinnabar);}
.side .side-tags h3{padding:13px 14px 10px;font-size:14px;letter-spacing:4px;color:var(--ink-3);border-bottom:none;display:block;}
.side .side-tags .tagcloud{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px;}
.side .side-tags .tag{display:inline-block;padding:3px 8px;font-size:12px;font-family:var(--serif);letter-spacing:1px;color:var(--ink-2);background:var(--paper-3);border-radius:2px;transition:.2s;}
.side .side-tags .tag:hover{color:#fff;background:var(--cinnabar);}
.side .side-tags .tag .n{font-size:10px;}
/* 列表頁側欄：多卡式（同詳情頁右欄風格） */
.side-cards{display:flex;flex-direction:column;background:none;border:none;border-radius:0;padding:0;box-shadow:none;}
.side-cards .sw{background:#fff;border:1px solid #d8c89a;margin-bottom:18px;padding:16px;}
.side-cards .sw h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e8dcb6;font-family:var(--serif);font-size:14px;font-weight:700;letter-spacing:1px;color:#2a221a;}
.side-cards .ico-cat{width:20px;height:20px;color:var(--cinnabar);display:flex;align-items:center;}
.side-cards .ico-cat svg{width:20px;height:20px;}
.side-cards .sw-nav a{display:flex;align-items:center;justify-content:space-between;padding:9px 2px;font-size:14px;letter-spacing:2px;color:var(--ink-2);border-bottom:1px dashed rgba(216,200,154,.55);text-decoration:none;}
.side-cards .sw-nav a::after{content:"›";color:#c19a3d;font-size:15px;}
.side-cards .sw-nav a:hover,.side-cards .sw-nav a.on{color:var(--cinnabar);}
.side-cards .sw-nav a.on::after{color:var(--cinnabar);}
.side-cards .sw-search{display:flex;}
.side-cards .sw-search input{flex:1;min-width:0;border:1px solid #d8c89a;background:#f3ead6;padding:9px 10px;font-family:var(--serif);font-size:13px;outline:none;color:var(--ink);}
.side-cards .sw-search button{background:#c19a3d;border:none;color:#fff;padding:0 14px;cursor:pointer;letter-spacing:2px;}
.side-cards .sw-search button:hover{background:var(--cinnabar);}
.side-cards .sw-tags{display:flex;flex-wrap:wrap;gap:8px;}
.side-cards .sw-tags a{display:inline-block;padding:4px 10px;font-size:12.5px;letter-spacing:1px;color:#6b5d4a;background:#f3ead6;border:1px solid #e8dcb6;}
.side-cards .sw-tags a::after{content:none;}
.side-cards .sw-tags a:hover{border-color:#c19a3d;color:#c19a3d;}

/* 内容页 */
.crumb{font-size:13px;color:var(--ink-3);padding:18px 0 6px;letter-spacing:1px;}
.crumb a:hover{color:var(--cinnabar);}
.article{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:34px 40px;margin-bottom:26px;overflow:hidden;}
.article h1{font-family:var(--serif);font-size:30px;letter-spacing:3px;margin:0 0 6px;text-align:center;}
.article .ainfo{text-align:center;color:var(--ink-3);font-size:13px;margin-bottom:22px;letter-spacing:1px;}
.article .ainfo span{margin:0 8px;}
.article .lead{background:var(--paper-3);border-left:4px solid var(--gold);padding:14px 18px;border-radius:6px;color:var(--ink-2);font-size:15px;margin-bottom:22px;}
.article p{margin:0 0 16px;text-indent:2em;color:var(--ink);}

/* 内容页封面 hero（A4 竖版大图 + 书名区） */
.post-head{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center;margin:-34px -40px 28px;padding:32px 40px 26px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--paper-3),var(--paper-2));}
.post-head .cv{width:200px;}
.post-head .cv img{width:100%;aspect-ratio:210/297;object-fit:cover;border:8px solid #fff;box-shadow:0 6px 20px rgba(60,45,20,.16);display:block;background:var(--paper-3);}
.post-head .cv .tag{margin-top:10px;text-align:center;font-family:var(--serif);font-size:12px;letter-spacing:3px;color:#fff;background:var(--cinnabar);padding:5px 0;border-radius:4px;}
.post-head .meta{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:14px;}
.post-head .meta h1{text-align:left;font-family:var(--serif);font-size:26px;letter-spacing:2px;margin:0;line-height:1.4;}
.post-head .meta .ai{font-size:12.5px;color:var(--ink-3);letter-spacing:1px;}
.post-head .meta .ai span{margin-right:16px;}
.post-head .meta .acts{display:flex;gap:10px;flex-wrap:wrap;}
.post-head .meta .acts .note{font-size:12px;color:var(--ink-3);align-self:center;}

/* 正文插图 */
.illu{margin:22px 0;}
.illu img{width:100%;border:1px solid var(--line);border-radius:6px;display:block;background:var(--paper-3);}
.illu figcaption{text-align:center;font-size:12.5px;color:var(--ink-3);margin-top:9px;letter-spacing:2px;}
.illu.r{float:right;width:236px;margin:6px 0 16px 24px;clear:right;}
.illu.l{float:left;width:236px;margin:6px 24px 16px 0;clear:left;}
.illu.big{margin:26px 0;}
.illu.big img{max-height:340px;object-fit:contain;margin:0 auto;}
.article .links{margin-top:26px;padding-top:20px;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.article .links .lab{font-family:var(--serif);color:var(--cinnabar);letter-spacing:2px;}
.rel{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:20px 24px;}
.rel h3{font-family:var(--serif);font-size:19px;letter-spacing:3px;margin:0 0 12px;color:var(--cinnabar);}
.rel a{display:block;padding:8px 0;border-bottom:1px dashed var(--line);font-size:15px;color:var(--ink-2);}
.rel a:last-child{border-bottom:none;}
.rel a:hover{color:var(--cinnabar);}

/* 搜索 */
.searchbox{display:flex;gap:10px;max-width:520px;margin:8px 0 24px;}
.searchbox input{flex:1;padding:11px 16px;border:1px solid var(--line);border-radius:22px;background:var(--paper);font-family:var(--serif);font-size:15px;outline:none;}
.searchbox input:focus{border-color:var(--gold);}
.searchbox button{padding:0 22px;border:none;border-radius:22px;background:var(--cinnabar);color:#fff;font-family:var(--serif);letter-spacing:2px;cursor:pointer;}
.searchbox button:hover{background:var(--cinnabar-d);}

/* 页脚 */
.foot{background:linear-gradient(180deg,#2a2622,#211d19);color:#c7b78c;margin-top:54px;border-top:3px solid var(--gold);}
.foot .wrap{padding:40px 26px 30px;display:grid;grid-template-columns:1.55fr 1.7fr 1fr;gap:32px 48px;align-items:start;}
.foot h4{color:var(--gold-soft);font-family:var(--serif);letter-spacing:2px;font-size:15px;margin:0 0 14px;padding-left:12px;position:relative;word-break:keep-all;}
.foot h4::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:2px;background:var(--cinnabar);}
.foot p{font-size:13px;line-height:1.9;color:#b9a877;}
.foot a{font-size:13px;color:#b9a877;}
.foot a:hover{color:#f0dfae;}
/* 左：馆名大字 + 简介 + 朱印 */
.foot .about .brand{font-family:var(--serif);font-size:28px;letter-spacing:6px;color:#f0dfae;line-height:1.5;text-shadow:0 0 20px rgba(212,175,55,.16);word-break:keep-all;}
.foot .about .desc{margin:8px 0 0;color:#a89a6f;line-height:2.05;}
.foot .sealrow{margin-top:16px;display:flex;align-items:center;gap:12px;}
.foot .seal{flex:none;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--cinnabar);color:#fff;font-family:var(--serif);font-size:20px;border-radius:6px;box-shadow:0 2px 9px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.16);transform:rotate(-3deg);line-height:1;}
.foot .slogan{font-size:12px;letter-spacing:3px;color:#97885e;word-break:keep-all;}
/* 中：馆藏分类 单列竖排（7 项整齐） */
.foot ul.nav2col,.foot ul.ln{list-style:none;padding:0;margin:0;}
.foot .cats ul.nav2col{display:flex;flex-direction:column;gap:3px;}
.foot .cats ul.nav2col li a,.foot .links ul.ln li a{display:block;padding:3px 0;line-height:1.6;font-size:13px;color:#b9a877;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.foot .cats ul.nav2col li a:hover,.foot .links ul.ln li a:hover{color:#f0dfae;}
.foot .disc{grid-column:1/-1;font-size:12px;color:#8f8268;border-top:1px solid #3a342c;padding-top:15px;margin-top:8px;line-height:1.8;}
.foot .disc a.fbl{font-size:12px;color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px;margin:0 1px;}
.foot .disc a.fbl:hover{color:#f0dfae;}
.foot .copy{grid-column:1/-1;text-align:center;font-size:12px;color:#7d7260;margin-top:2px;letter-spacing:1px;}

/* ===== 首页「最新發布」資訊流 ===== */
.newsfeed{display:flex;flex-direction:column;gap:0;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.nitem{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;padding:13px 18px;border-bottom:1px dashed var(--line);transition:.2s;}
.nitem:last-child{border-bottom:none;}
.nitem:hover{background:var(--paper-3);}
.nitem .thumb{width:72px;height:96px;border-radius:4px;border:1px solid var(--line);background:var(--paper-3);display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;font-family:var(--serif);font-size:13px;color:var(--ink-2);letter-spacing:2px;overflow:hidden;padding:4px;}
.nitem .info{min-width:0;display:flex;flex-direction:column;gap:6px;}
.nitem .info h4{margin:0;font-size:16px;line-height:1.45;letter-spacing:1px;font-weight:600;}
.nitem .info h4 a:hover{color:var(--cinnabar);}
.nitem .info .meta{font-size:12px;color:var(--ink-3);display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.nitem .info .meta .tag-free{background:var(--jade);color:#fff;font-size:10px;padding:2px 7px;border-radius:8px;}
.nitem .info .meta .tag-vip{background:var(--cinnabar);color:#fff;font-size:10px;padding:2px 7px;border-radius:8px;}
.nitem .go{margin-left:auto;}

/* ===== 多分類板塊（首頁聚合） ===== */
.boards{display:flex;flex-direction:column;gap:10px;}

/* ===== 討論列表（blog 式） ===== */
.posts{display:flex;flex-direction:column;gap:18px;}
.post{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:20px 24px;transition:.2s;}
.post:hover{box-shadow:var(--shadow);border-color:var(--gold);}
.post h3{margin:0 0 8px;font-family:var(--serif);font-size:21px;letter-spacing:2px;line-height:1.4;}
.post h3 a:hover{color:var(--cinnabar);}
.post .pmeta{font-size:12px;color:var(--ink-3);display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px;letter-spacing:1px;}
.post .pmeta .c{color:var(--cinnabar);}
.post .ex{font-size:14px;color:var(--ink-2);line-height:1.85;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.post .more{font-size:13px;color:var(--cinnabar);letter-spacing:1px;}

/* ===== 搜索結果 ===== */
.results{display:flex;flex-direction:column;gap:0;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:6px 0;}
.ritem{display:flex;align-items:flex-start;gap:16px;padding:14px 20px;border-bottom:1px dashed var(--line);}
.ritem:last-child{border-bottom:none;}
.ritem .rpic{flex:0 0 108px;width:108px;aspect-ratio:3/2;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper-3);position:relative;}
.ritem .rpic img{width:100%;height:100%;object-fit:cover;display:block;}
.ritem .rpic .mark{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;letter-spacing:2px;color:var(--cinnabar);}
.ritem .rpic.nopic .mark{display:flex;}
.ritem .rbody{flex:1;min-width:0;}
.ritem h3{margin:0 0 6px;font-size:16.5px;letter-spacing:1px;font-weight:600;line-height:1.5;}
.ritem h3 a:hover{color:var(--cinnabar);}
.ritem .rmeta{font-size:12px;color:var(--ink-3);display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;letter-spacing:1px;}
.ritem .ex{font-size:13.5px;color:var(--ink-2);line-height:1.8;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ritem .cat{color:var(--cinnabar);}
@media (max-width:480px){.ritem{gap:12px;padding:12px 14px;}.ritem .rpic{flex-basis:88px;width:88px;}}

/* ===== 標簽雲 ===== */
.tagcloud{display:flex;flex-wrap:wrap;gap:10px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:20px 22px;}
.tag{display:inline-block;padding:5px 14px;border:1px solid var(--line);border-radius:18px;background:var(--paper);font-size:13px;color:var(--ink-2);letter-spacing:1px;transition:.2s;}
.tag:hover{border-color:var(--cinnabar);color:var(--cinnabar);background:rgba(158,43,37,.06);}
.tag .n{font-size:11px;color:var(--ink-3);margin-left:4px;}

/* 首页 熱門分科 标签栏 */
.chips{display:flex;flex-wrap:wrap;gap:12px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:18px 22px;}
.chips .chip{display:inline-flex;align-items:center;padding:8px 18px;border:1px solid var(--line);border-radius:22px;background:var(--paper);font-size:15px;letter-spacing:2px;color:var(--ink-2);transition:.2s;}
.chips .chip:hover{border-color:var(--cinnabar);color:var(--cinnabar);background:rgba(158,43,37,.06);transform:translateY(-2px);}

/* 資訊流/討論/搜索/標簽 響應式 */
@media(max-width:560px){
  .nitem{grid-template-columns:56px 1fr;gap:12px;padding:11px 14px;}
  .nitem .thumb{width:56px;height:76px;font-size:11px;}
  .nitem .go{display:none;}
  .post{padding:16px 16px;}
  .post h3{font-size:19px;}
}

/* 中檔寬度導航等比縮小（769px–1280px，防溢出） */
@media(min-width:769px) and (max-width:1280px){
  .nav>a,.nav-item>a{padding:16px 12px;font-size:15px;letter-spacing:1px;}
  .nav-item.has-sub>a{padding-right:26px;}
  .nav-item.has-sub>a::before{right:9px;}
}
@media(min-width:769px) and (max-width:1080px){
  .nav>a,.nav-item>a{padding:14px 8px;font-size:14px;letter-spacing:.5px;}
  .nav-item.has-sub>a{padding-right:22px;}
  .nav-item.has-sub>a::before{right:7px;font-size:10px;}
  .subnav a{padding:10px 14px;font-size:13.5px;}
}
@media(min-width:769px) and (max-width:880px){
  .nav>a,.nav-item>a{padding:13px 6px;font-size:13.5px;letter-spacing:0;}
  .nav-item.has-sub>a{padding-right:18px;}
  .brand .name{font-size:17px;}
}
/* 响应式 */
@media(max-width:900px){
  .cats{grid-template-columns:repeat(2,1fr);}
  .grid{grid-template-columns:repeat(2,1fr);}
  .shelf{grid-template-columns:repeat(3,1fr);}
  .stats{grid-template-columns:repeat(3,1fr);}
  .stats .st:nth-child(3){border-right:0;}
  .stats .st:nth-child(4),.stats .st:nth-child(5){border-top:1px solid var(--line);}
  .layout{grid-template-columns:1fr;}
  .side{position:static;}
  .foot .wrap{grid-template-columns:1fr;gap:28px;}
  .foot .cats ul.nav2col{flex-direction:column;}
  .banner{height:400px;}
  .banner .cap h1{font-size:28px;letter-spacing:6px;}
  .banner .cap .lead{font-size:13px;margin-bottom:18px;}
  .searchbar{width:94%;}
  .searchbar input{padding:13px 14px;font-size:15px;}
  .searchbar button{padding:0 22px;font-size:15px;letter-spacing:2px;}
  .searchbar .ico{display:none;}
  .hotwords{gap:12px;margin-top:14px;}
  .article{padding:24px 20px;}
  .post-head{grid-template-columns:1fr;margin:-24px -20px 22px;padding:22px 20px;text-align:center;}
  .post-head .cv{width:150px;margin:0 auto 14px;}
  .post-head .meta{align-items:center;}
  .post-head .meta h1{text-align:center;}
  .post-head .meta .acts{justify-content:center;}
  .illu.r,.illu.l{float:none;width:100%;margin:18px 0;}
}
@media(max-width:768px){
  .cats,.grid{grid-template-columns:1fr;}
  .shelf{grid-template-columns:repeat(2,1fr);}
  .nav{position:relative;padding:2px 0;min-height:48px;}
  .nav-burger{display:flex;position:absolute;right:12px;top:50%;transform:translateY(-50%);margin-left:0;}
  .nav .wrap{display:none;flex-direction:column;align-items:stretch;padding:4px 12px 12px;}
  .nav.open .wrap{display:flex;}
  .nav .wrap>a{border-bottom:1px dashed var(--line);}
  .stats{grid-template-columns:repeat(2,1fr);}
  .stats .st{border-right:1px solid var(--line) !important;border-top:1px solid var(--line);}
  .stats .st:nth-child(2n){border-right:0 !important;}
  .stats .st:nth-child(-n+2){border-top:0;}
  .stats .st b{font-size:26px;}
  .nav a{padding:12px 12px;font-size:15px;}
  .nav-item{position:static;}
  .nav-item.has-sub>a::before{right:9px;}
  .subnav{position:static;min-width:0;width:100%;border:0;border-top:1px dashed var(--line);border-radius:0;box-shadow:none;display:none;padding:0;}
  .nav-item:hover .subnav{display:none;}
  .nav-item.exp .subnav{display:flex;flex-wrap:wrap;}
  .nav-item.exp>a::before{transform:translateY(-50%) rotate(180deg);}
  .subnav a{padding:10px 14px;border-left:0;font-size:14px;}
  .brand .name{font-size:19px;}
}

@media(max-width:480px){
  .shelf{grid-template-columns:1fr;}
  .C-cols{grid-template-columns:1fr;}
}

/* =========================================================
   討論交流 · 列表（左圖右文，對齊原站 .post.list 卡片布局）
   ========================================================= */
.tlst{display:flex;flex-direction:column;gap:18px;}
.tlst-item{display:flex;gap:22px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:18px 20px;transition:.22s;align-items:flex-start;}
.tlst-item:hover{box-shadow:var(--shadow);border-color:var(--gold);}
.tlst-item .pic{flex:none;width:200px;position:relative;}
.tlst-item .pic>a{display:block;}
.tlst-item .pic img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:var(--paper-3);}
.tlst-item .con{min-width:0;flex:1;display:flex;flex-direction:column;gap:8px;}
.tlst-item .con h3{margin:0;font-family:var(--serif);font-size:21px;letter-spacing:2px;line-height:1.45;}
.tlst-item .con h3 a:hover{color:var(--cinnabar);}
.tlst-item .cat{position:absolute;top:8px;left:8px;z-index:2;margin:0;line-height:1;}
.tlst-item .cat a{display:inline-block;background:var(--cinnabar);color:#fff;padding:3px 9px;border-radius:4px;letter-spacing:1.5px;font-family:var(--serif);font-size:12px;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s;}
.tlst-item .cat a:hover{background:#a33529;color:#fff;}
.tlst-item .desc{margin:0;font-size:14px;color:var(--ink-2);line-height:1.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.tlst-item .list-meta{font-size:12px;color:var(--ink-3);display:flex;gap:14px;flex-wrap:wrap;align-items:center;letter-spacing:1px;margin-top:2px;}
.tlst-item .list-meta .views{color:var(--gold);}
.tlst-item .list-meta .meta-cat{margin-right:4px;}
.tlst-item .list-meta .meta-cat a{display:inline-block;background:rgba(158,43,37,0.08);color:var(--cinnabar);padding:2px 10px;border:1px solid rgba(158,43,37,0.25);border-radius:10px;letter-spacing:1.5px;font-family:var(--serif);font-size:12px;line-height:1.6;transition:.2s;}
.tlst-item .list-meta .meta-cat a:hover{background:var(--cinnabar);color:#fff;border-color:var(--cinnabar);}

/* =========================================================
   討論交流 · 詳情（對齊原站 single-content 結構：標題+meta→正文→標籤→上下篇→評論→右欄）
   風格用宋版書風，不帶書籍封面/網盤引鏈/會員專享
   ========================================================= */
.talk-article{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:34px 40px;margin-bottom:26px;overflow:hidden;}
.talk-head{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px;}
.talk-head h1{font-family:var(--serif);font-size:30px;letter-spacing:3px;margin:0 0 12px;line-height:1.4;color:var(--ink);}
.talk-meta{font-size:13px;color:var(--ink-3);display:flex;gap:18px;flex-wrap:wrap;letter-spacing:1px;}
.talk-body{font-size:16px;line-height:1.95;color:var(--ink);}
.talk-body p{margin:0 0 16px;text-indent:2em;}
.talk-body img{max-width:100%;border:1px solid var(--line);border-radius:6px;display:block;margin:14px auto;}
.talk-body h2,.talk-body h3,.talk-body h4{font-family:var(--serif);color:var(--cinnabar);letter-spacing:2px;margin:22px 0 12px;}
.talk-body blockquote{margin:0 0 16px;padding:12px 18px;border-left:4px solid var(--gold);background:var(--paper-3);color:var(--ink-2);border-radius:0 6px 6px 0;}
.talk-body table{border-collapse:collapse;width:100%;margin:0 0 16px;font-size:14px;}
.talk-body table th,.talk-body table td{border:1px solid var(--line);padding:8px 12px;}
.talk-body table th{background:var(--paper-3);color:var(--cinnabar);}
.talk-tags{margin-top:24px;padding-top:18px;border-top:1px dashed var(--line);font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.talk-tags .lab{font-family:var(--serif);color:var(--cinnabar);letter-spacing:2px;}
.talk-tags a{display:inline-block;padding:4px 13px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink-2);transition:.2s;}
.talk-tags a:hover{border-color:var(--cinnabar);color:var(--cinnabar);background:rgba(158,43,37,.06);}
.talk-nav{display:flex;justify-content:space-between;gap:16px;margin-top:22px;padding:16px 0;border-top:1px dashed var(--line);font-size:14px;}
.talk-nav .pn{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}
.talk-nav .pn.next{text-align:right;align-items:flex-end;}
.talk-nav .lab{font-family:var(--serif);color:var(--ink-3);letter-spacing:2px;font-size:12px;}
.talk-nav a{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.talk-nav a:hover{color:var(--cinnabar);}
.talk-nav .none{color:var(--ink-3);}
.talk-comments{margin-top:8px;padding-top:20px;border-top:1px solid var(--line);}
.talk-comments h3{font-family:var(--serif);font-size:19px;letter-spacing:3px;margin:0 0 14px;color:var(--cinnabar);}
.talk-comments .cmt{padding:14px 0;border-bottom:1px dashed var(--line);}
.talk-comments .cmt-h{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.talk-comments .cmt-h .cn{font-weight:600;color:var(--ink);}
.talk-comments .cmt-h .cd{font-size:12px;color:var(--ink-3);}
.talk-comments .cmt-b{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8;}

/* 討論詳情右欄卡片（對齊原站側欄 widget） */
.tk-author{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:22px 20px;text-align:center;margin-bottom:18px;}
.tk-author .av{width:62px;height:62px;border-radius:50%;margin:0 auto 12px;background:var(--cinnabar);color:#fff;font-family:var(--serif);font-size:30px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 2px rgba(255,255,255,.4);}
.tk-author .nm{font-size:18px;letter-spacing:2px;color:var(--ink);}
.tk-author .role{font-size:12px;color:var(--gold);letter-spacing:2px;margin:4px 0 10px;}
.tk-author .desc{font-size:13px;color:var(--ink-2);line-height:1.8;margin:0;}
.tk-box{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-bottom:18px;}
.tk-box h3{font-family:var(--serif);font-size:18px;letter-spacing:3px;margin:0 0 12px;color:var(--cinnabar);border-bottom:1px solid var(--line);padding-bottom:10px;}
.tk-box a{display:block;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px;color:var(--ink-2);letter-spacing:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tk-box a:last-child{border-bottom:none;}
.tk-box a:hover{color:var(--cinnabar);}

/* 討論列表/詳情 移動端 */
@media(max-width:900px){
  .tlst-item{flex-direction:column;gap:12px;}
  .tlst-item .pic{width:100%;}
  .tlst-item .pic img{aspect-ratio:16/9;}
  .talk-article{padding:24px 18px;}
  .talk-head h1{font-size:24px;}
}

/* ============================================================
   .talk-source · 文末版權條（宋版書風，朱砂細线 + 宣紙底）
   ============================================================ */
.talk-source{
  margin:28px 0 0;
  padding:14px 18px;
  background:rgba(192,64,39,0.04);
  border-left:3px solid #C04027;
  border-radius:0 4px 4px 0;
  font-size:14px;
  color:#6b5a45;
  line-height:1.8;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.talk-source .lab{
  color:#C04027;
  font-weight:600;
  letter-spacing:0.5px;
}
.talk-source .brand{
  color:#6b5a45;
  font-weight:600;
  letter-spacing:1px;
}
.talk-source a{
  color:#6b5a45;
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(192,64,39,0.4);
  transition:color .2s;
}
.talk-source a:hover{color:#C04027;}
.talk-source .sep{color:#b9a684;}
.talk-source .note{color:#8c7a5e;}
@media(max-width:900px){
  .talk-source{font-size:13px;padding:12px 14px;gap:6px;}
}

/* ---------- 分页（宋版书风 · 共用） ---------- */
nav.pager{margin:48px 0 36px;padding:0;border:0;text-align:center;font-family:var(--serif);}
nav.pager a,nav.pager span{display:inline-block;min-width:36px;height:34px;line-height:32px;margin:0 3px;padding:0 12px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);font-size:14px;letter-spacing:1.5px;border-radius:4px;box-sizing:border-box;transition:all .2s ease;}
nav.pager a:hover{border-color:var(--cinnabar);color:var(--cinnabar);background:var(--paper-1);}
nav.pager .page-num-current,nav.pager .page-num-current:hover{background:var(--cinnabar);border-color:var(--cinnabar);color:#fff;font-weight:600;cursor:default;}
nav.pager .page-edge{min-width:72px;padding:0 14px;font-size:13px;color:#6b5a45;}
nav.pager .page-edge:hover{color:var(--cinnabar);}
nav.pager span.page-num{cursor:default;color:#b9a684;border-color:transparent;background:transparent;}
@media(max-width:600px){
  nav.pager{margin:32px 0 24px;}
  nav.pager a,nav.pager span{min-width:32px;height:30px;line-height:28px;margin:0 2px;padding:0 8px;font-size:13px;}
  nav.pager .page-edge{min-width:54px;padding:0 10px;font-size:12px;}
}

/* ============ 產品詳情頁 ============ */
.product{max-width:100%;}
.prod-tags{margin:6px 0 18px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:#666;}
.prod-tags .chip{padding:3px 10px;border-radius:4px;font-weight:700;font-size:12px;line-height:1.4;display:inline-block;}
.prod-tags .chip.free{background:#52c41a;color:#fff;}
.prod-tags .chip.vip{background:#fa8c16;color:#fff;}
.prod-tags .chip.normal{background:#8c8c8c;color:#fff;}
.prod-tags .info-item{color:#666;}
.prod-tags .info-item a{color:#9e2b25;text-decoration:none;}
.prod-tags .info-item a:hover{text-decoration:underline;}

.info-card{background:#fafafa;border:1px solid #ececec;border-radius:6px;padding:18px 22px;margin:18px 0 24px;}
.info-card .info-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 36px;}
.info-card .info-cell{display:flex;align-items:baseline;gap:6px;font-size:14px;line-height:1.7;}
.info-card .lab{color:#999;flex-shrink:0;min-width:64px;}
.info-card .val{color:#333;}

.prod-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:8px 0 22px;}
.prod-actions .btn-go{display:inline-block;background:#52c41a;color:#fff;padding:11px 28px;border-radius:5px;font-size:16px;font-weight:700;text-decoration:none;line-height:1.2;border:1px solid #49a917;transition:background .15s;cursor:pointer;}
.prod-actions .btn-go:hover{background:#49a917;}
.prod-actions .btn-locked{display:inline-block;background:#fff;color:#9e2b25;padding:11px 22px;border-radius:5px;font-size:14px;text-decoration:none;line-height:1.2;border:1px dashed #9e2b25;cursor:pointer;}
.prod-actions .btn-locked b{color:#d4380d;text-decoration:underline;margin:0 2px;}
.prod-actions .btn-locked:hover{background:#fff5f4;}
.prod-actions .note{color:#999;font-size:14px;}

.prod-disclaimer{background:#fff7e6;border-left:3px solid #fa8c16;padding:14px 18px;margin:18px 0 26px;border-radius:0 4px 4px 0;}
.prod-disclaimer p{margin:0;color:#874d00;font-size:13px;line-height:1.8;}
.prod-disclaimer strong{color:#9e2b25;}

.book-content{margin-top:24px;line-height:1.85;color:#444;font-size:15px;}
.book-content h2{font-size:20px;color:#9e2b25;margin:24px 0 12px;padding-bottom:6px;border-bottom:1px solid #e8d8c0;}
.book-content h3{font-size:17px;color:#7a3a35;margin:20px 0 10px;}
.book-content img{max-width:100%;height:auto;display:block;margin:14px auto;border:1px solid #ececec;border-radius:3px;}
.book-content p{margin:10px 0;}

@media(max-width:760px){
  .info-card .info-row{grid-template-columns:1fr;gap:10px;}
  .prod-actions .btn-go{padding:10px 22px;font-size:15px;}
  .prod-actions .btn-locked{padding:10px 18px;font-size:13px;}
}

/* ============================================================
   會員中心 · 書齋
============================================================ */
.ucr{max-width:1060px;margin:0 auto;padding:10px 0 34px;}
.u-toast{position:fixed;left:50%;top:22px;transform:translateX(-50%) translateY(-16px);z-index:999;background:var(--cinnabar);color:#fff;font-size:14px;letter-spacing:1px;padding:11px 22px;border-radius:10px;box-shadow:0 8px 22px rgba(60,30,10,.28);opacity:0;transition:.3s;font-family:var(--serif);pointer-events:none;}
.u-toast.ok{background:#4a6b2a;}
.u-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
/* 身份横幅 */
.u-hero{background:linear-gradient(160deg,#3a2a1c 0%,#5a3f28 60%,#6f5133 100%);border-radius:12px;padding:22px 26px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;position:relative;overflow:hidden;box-shadow:0 8px 22px rgba(60,45,20,.16);}
.u-hero::after{content:"藏書齋";position:absolute;right:-10px;bottom:-28px;font-family:var(--serif);font-size:120px;color:rgba(255,255,255,.05);letter-spacing:8px;pointer-events:none;}
.u-ava{width:74px;height:74px;border-radius:50%;background:var(--paper-2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:30px;color:var(--cinnabar);border:2px solid var(--gold);box-shadow:0 0 0 4px rgba(191,160,99,.22);position:relative;z-index:1;flex:0 0 74px;overflow:hidden;}
.u-who{flex:1;min-width:230px;position:relative;z-index:1;}
.u-nm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--serif);font-size:23px;letter-spacing:3px;color:#f7efda;}
.u-lv{font-size:11.5px;background:var(--gold);color:#3a2a1c;padding:2px 11px;border-radius:10px;letter-spacing:2px;font-weight:700;font-family:var(--serif);}
.u-lv.r2{background:#7f6a4c;color:#f0e6d2;}
.u-lv.r3{background:#a8884e;color:#fff;}
.u-lv.r4{background:#6d5a86;color:#f0ebf7;}
.u-lv.r5{background:#7d211c;color:#ffe;}
.u-mq{font-size:13px;color:#d9c9a8;margin-top:7px;letter-spacing:1px;}
.u-mq b{color:#ffd98e;font-family:var(--serif);font-size:16px;}
.u-mq b.hl{color:#ffb0a8;}
.u-bar{height:7px;border-radius:4px;background:rgba(255,255,255,.14);margin-top:12px;overflow:hidden;}
.u-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#c9a75f,#ecd39a);transition:width .6s;}
.u-sign{position:relative;z-index:1;text-align:center;}
.u-sbtn{font-family:var(--serif);font-size:15.5px;letter-spacing:3px;color:#fff;background:var(--cinnabar);border:none;padding:12px 24px;border-radius:10px;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.28);transition:.2s;}
.u-sbtn:hover{background:#b3392f;transform:translateY(-1px);}
.u-sbtn.done{background:rgba(255,255,255,.14);box-shadow:none;cursor:default;transform:none;}
.u-sd{font-size:11.5px;color:#d9c9a8;margin-top:8px;letter-spacing:1px;}
.u-sd b{color:#ffd98e;}
/* 四格 */
.u-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;}
@media(max-width:760px){.u-cards{grid-template-columns:repeat(2,1fr)}}
.u-card{background:var(--paper-2);border:1px solid var(--line);border-radius:11px;padding:14px 18px;box-shadow:0 3px 10px rgba(60,45,20,.05);}
.u-card .k{font-size:12px;color:var(--ink-3);letter-spacing:2px;}
.u-card .v{font-family:var(--serif);font-size:27px;color:var(--cinnabar);margin-top:3px;line-height:1.15;}
/* 主體 */
.u-main{display:grid;grid-template-columns:1fr 320px;gap:16px;margin-top:16px;align-items:start;}
@media(max-width:880px){.u-main{grid-template-columns:1fr}}
.u-box{background:var(--paper-2);border:1px solid var(--line);border-radius:11px;padding:17px 20px;box-shadow:0 3px 10px rgba(60,45,20,.05);}
.u-box + .u-box{margin-top:16px;}
.u-t{display:flex;align-items:baseline;gap:10px;margin:0 0 10px;font-family:var(--serif);font-size:16.5px;letter-spacing:2px;color:var(--ink);}
.u-t::before{content:"";align-self:center;width:5px;height:16px;background:var(--cinnabar);border-radius:2px;flex:0 0 5px;}
.u-t small{font-family:var(--serif);font-size:11.5px;color:var(--ink-3);letter-spacing:.5px;font-weight:400;}
/* 足跡 */
.u-rbook{display:flex;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px dashed var(--line);}
.u-rbook:last-child{border-bottom:none;}
.u-cov{flex:0 0 62px;width:62px;aspect-ratio:3/2;background:var(--paper-3);border:1px solid var(--line);border-radius:5px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;}
.u-cov img{width:100%;height:100%;object-fit:cover;display:block;}
.u-cov i{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-style:normal;font-family:var(--serif);font-size:10.5px;color:var(--cinnabar);text-align:center;line-height:1.5;padding:0 3px;}
.u-cov.no img{display:none;}
.u-rbook .u-t{flex:1;min-width:0;display:block;margin:0;}
.u-rbook .u-t em{display:block;font-style:normal;font-size:14.5px;letter-spacing:.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.u-rbook:hover .u-t em{color:var(--cinnabar);}
.u-rbook .u-t small{font-size:11.5px;color:var(--ink-3);}
.u-rbook .u-d{font-size:11px;color:var(--ink-3);white-space:nowrap;font-weight:400;}
.u-empty{font-size:13px;color:var(--ink-3);line-height:1.8;letter-spacing:.5px;margin:4px 0;}
.u-empty a{color:var(--cinnabar);border-bottom:1px dashed var(--cinnabar);}
/* 日課 */
.u-task{display:flex;align-items:center;gap:11px;padding:9.5px 2px;border-bottom:1px dashed var(--line);}
.u-task:last-child{border-bottom:none;}
.u-task .ck{width:21px;height:21px;flex:0 0 21px;border-radius:6px;border:1px solid var(--line);background:var(--paper-2);display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;transition:.2s;}
.u-task .tx{font-size:14px;color:var(--ink-2);letter-spacing:.5px;}
.u-task .rw{margin-left:auto;font-size:11.5px;color:var(--ink-3);white-space:nowrap;letter-spacing:.5px;}
.u-task .rw a{color:var(--cinnabar);border-bottom:1px dashed var(--cinnabar);}
.u-task.done .ck{background:var(--gold);border-color:var(--gold);}
.u-task.done .tx{color:var(--ink-3);}
/* 簽到週期 */
.u-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.u-wk{text-align:center;font-family:var(--serif);font-size:14px;color:var(--ink-2);padding:9px 2px;border-radius:8px;border:1px solid transparent;}
.u-wk.on{background:#f0e6cd;color:var(--cinnabar);border-color:var(--gold-soft);}
.u-wk.next{background:var(--cinnabar);color:#fff;box-shadow:0 2px 8px rgba(158,43,37,.3);}
.u-week small{display:block;font-family:var(--serif);font-size:9px;color:inherit;opacity:.75;margin-top:1px;}
.u-hint{font-size:12px;color:var(--ink-3);line-height:1.9;letter-spacing:.5px;margin:12px 0 0;}
.u-hint b{color:var(--gold);}
/* 鈐印行 */
.u-favrow{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13.5px;color:var(--ink-2);letter-spacing:.5px;}
.u-favrow:last-child{border-bottom:none;}
.u-favrow i{font-style:normal;font-family:var(--serif);font-size:11px;color:#fff;background:var(--cinnabar);border-radius:4px;padding:1px 5px;flex:0 0 auto;}
.u-favrow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.u-favrow b{margin-left:auto;font-weight:400;font-size:11px;color:var(--ink-3);white-space:nowrap;}
.u-favrow:hover span{color:var(--cinnabar);}
/* 勳印 */
.u-medal{display:flex;gap:9px;flex-wrap:wrap;padding-top:2px;}
.u-md{width:58px;height:58px;border-radius:50%;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:12px;color:var(--ink-3);text-align:center;line-height:1.45;letter-spacing:1px;transition:.3s;}
.u-md.got{border-style:solid;border-color:var(--gold);background:linear-gradient(150deg,#faf3e0,#f0e2be);color:#7a5b22;box-shadow:0 2px 8px rgba(168,136,78,.22);}
/* 底部操作 */
.u-ops{display:flex;gap:10px;margin-top:16px;justify-content:center;}
.u-op{font-size:13.5px;letter-spacing:2px;color:var(--ink-2);border:1px solid var(--line);border-radius:20px;padding:8px 20px;background:var(--paper-2);}
.u-op:hover{color:var(--cinnabar);border-color:var(--cinnabar);}
.u-op.out{color:var(--ink-3);}

/* ============ 書頁 · 鈐印藏書按鈕 ============ */
.pd-fav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);}
/* 封面下方的鈐印位（pd-cover 窄欄版）：居中、去虛線 */
.pd-fav.pd-fav-cover{margin:12px 0 0;padding:0;border-top:0;justify-content:center;}
.pd-fav.pd-fav-cover .pd-favbtn{flex:1;white-space:nowrap;}
.pd-favbtn{font-family:var(--serif);font-size:13.5px;letter-spacing:2px;color:var(--cinnabar);background:transparent;border:1px solid var(--cinnabar);border-radius:7px;padding:7px 18px;cursor:pointer;transition:.2s;}
.pd-favbtn:hover{background:var(--cinnabar);color:#fff;}
.pd-favbtn.on{background:var(--cinnabar);color:#fff;}
.pd-favbtn:disabled{cursor:default;opacity:.7;}
.pd-favtip{font-size:11.5px;color:var(--ink-3);letter-spacing:.5px;}

/* ============ 書友回響（評論區 · 審核制）============ */
.cmt-sec{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);}
.cmt-hd{font-family:var(--serif);font-size:21px;letter-spacing:4px;margin:0 0 4px;color:var(--ink);display:flex;align-items:baseline;gap:8px;}
.cmt-hd .t{color:var(--cinnabar);}
.cmt-hd .n{font-family:var(--serif);font-size:13px;color:var(--ink-3);letter-spacing:1px;}
.cmt-tip{font-size:12.5px;color:var(--ink-3);letter-spacing:1px;margin:0 0 16px;}
.cmt-form{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:16px 18px 13px;}
.cmt-ta{width:100%;box-sizing:border-box;background:#fffdf8;border:1px solid var(--line);border-radius:7px;
  padding:10px 13px;font-family:var(--serif);font-size:14.5px;line-height:1.8;color:var(--ink);
  resize:vertical;min-height:66px;}
.cmt-ta:focus{outline:none;border-color:var(--gold-soft);}
.cmt-code{display:flex;align-items:center;gap:12px;margin-top:11px;}
.cmt-cc{width:110px;box-sizing:border-box;background:#fffdf8;border:1px solid var(--line);border-radius:7px;
  padding:6px 10px;font-family:var(--serif);font-size:14.5px;letter-spacing:3px;color:var(--ink);}
.cmt-cc:focus{outline:none;border-color:var(--gold-soft);}
.cmt-code img{height:34px;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:#fffdf8;}
.cmt-code img:hover{border-color:var(--gold-soft);}
.cmt-login-only{margin:2px 0 14px;padding:14px 18px;background:var(--paper-2);border:1px dashed var(--line);
  border-radius:10px;font-family:var(--serif);font-size:14px;color:var(--ink-3);letter-spacing:1px;}
.cmt-login-only a{color:var(--cinnabar);text-decoration:underline;text-underline-offset:3px;}

/* 登錄 / 註冊 彈窗（書友回響·遊客點評觸發） */
.auth-mask{position:fixed;inset:0;z-index:9999;background:rgba(38,26,10,.55);display:flex;align-items:center;justify-content:center;padding:18px;}
.auth-mask[hidden]{display:none;}
.auth-box{width:380px;max-width:94vw;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(40,24,8,.35);overflow:hidden;}
.auth-hd{display:flex;align-items:center;justify-content:space-between;padding:15px 20px 8px;}
.auth-t{font-family:var(--serif);font-size:20px;letter-spacing:5px;color:var(--cinnabar);font-weight:700;}
.auth-x{border:0;background:none;font-size:16px;color:var(--ink-3);cursor:pointer;padding:2px 6px;line-height:1;}
.auth-x:hover{color:var(--cinnabar);}
.auth-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 20px;gap:28px;}
.auth-tabs button{flex:0 0 auto;border:0;background:none;font-family:var(--serif);font-size:16px;letter-spacing:6px;color:var(--ink-3);cursor:pointer;padding:8px 2px 10px;border-bottom:2px solid transparent;margin-bottom:-1px;}
.auth-tabs button.on{color:var(--cinnabar);border-bottom-color:var(--cinnabar);font-weight:700;}
.auth-pane{display:none;padding:20px;flex-direction:column;gap:12px;}
.auth-pane.on{display:flex;}
.auth-pane input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:7px;background:#fffdf8;padding:9px 12px;font-family:var(--serif);font-size:14.5px;color:var(--ink);letter-spacing:1px;}
.auth-pane input:focus{outline:none;border-color:var(--gold-soft);}
.auth-code{display:flex;gap:10px;align-items:center;}
.auth-code input{flex:1;}
.auth-code img{height:36px;width:96px;flex:0 0 96px;object-fit:cover;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:#fffdf8;}
.auth-err{min-height:18px;margin:0;font-size:12.5px;color:var(--cinnabar);letter-spacing:.5px;}
.auth-ok{min-height:18px;margin:0 0 -2px;font-size:12.5px;color:#3d7a54;letter-spacing:.5px;}
.auth-sub{border:0;background:var(--cinnabar);color:#fff;font-family:var(--serif);font-size:16px;letter-spacing:8px;border-radius:8px;padding:9px 0;cursor:pointer;transition:.2s;margin-top:2px;}
.auth-sub:hover{background:var(--cinnabar-d);}
.auth-sub:disabled{opacity:.6;cursor:wait;}
.auth-alt{margin:2px 0 0;font-size:12.5px;color:var(--ink-3);text-align:center;}
.auth-alt a{color:var(--cinnabar);}
.cmt-bar{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap;}
.cmt-hint{font-size:12px;color:var(--ink-3);letter-spacing:1px;}
.cmt-sp{flex:1;}
.cmt-who{font-family:var(--serif);font-size:13px;color:var(--ink-3);letter-spacing:1px;}
.cmt-login{font-size:12.5px;color:var(--ink-3);}
.cmt-login a{color:var(--cinnabar);}
.cmt-list{margin-top:20px;}
.cmt{padding:15px 2px;border-bottom:1px dashed var(--line);}
.cmt:last-child{border-bottom:none;}
.cmt-h{display:flex;align-items:baseline;gap:14px;margin-bottom:7px;}
.cmt-h .cn{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--ink);letter-spacing:1px;}
.cmt-h .cd{font-size:11.5px;color:var(--ink-3);letter-spacing:1px;}
.cmt-b{margin:0;font-size:14.5px;color:var(--ink-2);line-height:1.95;white-space:pre-wrap;word-break:break-word;}
.cmt-none{padding:24px 2px;color:var(--ink-3);font-family:var(--serif);font-size:14px;letter-spacing:2px;text-align:center;}

/* ---------- 意見反饋表單 ---------- */
.fb-box{position:relative;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;
  padding:26px 30px 28px;margin-top:26px;box-shadow:var(--shadow);}
.fb-box::before{content:"";position:absolute;inset:7px;border:1px dashed var(--gold-soft);border-radius:8px;pointer-events:none;}
.fb-hd{font-family:var(--serif);font-size:18px;letter-spacing:3px;color:var(--ink);padding-left:13px;margin:0 0 18px;
  border-left:3px solid var(--cinnabar);position:relative;}
.fb-row{display:flex;align-items:center;gap:12px;margin-bottom:15px;position:relative;}
.fb-row .fb-lb{flex:none;font-size:13px;color:var(--ink-2);letter-spacing:1px;width:56px;}
.fb-opt{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:14px;color:var(--ink-2);
  border:1px solid var(--line);border-radius:7px;padding:5px 15px;cursor:pointer;transition:.18s;background:var(--paper);font-family:var(--serif);letter-spacing:1px;}
.fb-opt input{display:none;}
.fb-opt.on{color:#f6efe2;background:var(--cinnabar);border-color:var(--cinnabar);}
.fb-cols{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;margin-bottom:15px;position:relative;}
.fb-f label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:6px;letter-spacing:1px;}
.fb-f label i{font-style:normal;font-size:11px;color:var(--ink-3);}
.fb-f input,.fb-code input,.fb-row textarea{width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:8px;
  background:#fffdf8;font-family:var(--serif);font-size:14.5px;color:var(--ink);transition:.2s;}
.fb-f input:focus,.fb-code input:focus,.fb-row textarea:focus{outline:none;border-color:var(--cinnabar);box-shadow:0 0 0 3px rgba(158,43,37,.08);}
.fb-row.fb-txt{display:block;}
.fb-row.fb-txt>label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:6px;letter-spacing:1px;}
.fb-row textarea{resize:vertical;line-height:1.8;}
.req{color:var(--cinnabar);font-weight:700;}
.fb-count{text-align:right;font-size:11.5px;color:var(--ink-3);margin-top:4px;}
.fb-code{display:flex;gap:12px;align-items:center;}
.fb-code input{max-width:220px;}
.fb-code img{height:42px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:var(--paper);}
.fb-bar{display:flex;align-items:center;gap:16px;margin-top:20px;position:relative;}
.fb-err{flex:1;font-size:13px;color:var(--cinnabar);letter-spacing:1px;}
.fb-btn{flex:none;font-family:var(--serif);font-size:16px;letter-spacing:6px;padding:11px 38px;border:none;border-radius:9px;
  background:var(--cinnabar);color:#f6efe2;cursor:pointer;transition:.2s;box-shadow:0 3px 10px rgba(158,43,37,.25);}
.fb-btn:hover{background:var(--cinnabar-d);}
.fb-btn:disabled{opacity:.6;cursor:wait;}
.fb-done{position:relative;text-align:center;padding:14px 0 6px;}
.fb-done .fb-seal{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:10px;
  background:var(--cinnabar);color:#f6efe2;font-family:var(--serif);font-size:24px;letter-spacing:2px;transform:rotate(-4deg);
  box-shadow:0 4px 14px rgba(158,43,37,.3),inset 0 0 0 1px rgba(255,255,255,.2);margin-bottom:14px;}
.fb-done .fb-ok{font-family:var(--serif);font-size:18px;letter-spacing:2px;color:var(--ink);margin:0 0 6px;}
.fb-done .fb-sub{font-size:13px;color:var(--ink-3);letter-spacing:1px;margin:0;}
.fb-done[hidden]{display:none;}
@media(max-width:560px){.fb-box{padding:20px 16px 22px;}.fb-cols{grid-template-columns:1fr;}.fb-code input{max-width:100%;}}

/* ===== 站務公告通欄（head.html #siteNotice，後台開關/編輯） ===== */
.site-notice{background:linear-gradient(180deg,#fbf3e2,#f6ecd4);border-bottom:1px solid #e2cfa0;position:relative;}
.site-notice::before{content:"";display:block;height:2px;background:linear-gradient(90deg,transparent,#b8924a 20%,#b8924a 80%,transparent);}
.site-notice .wrap{max-width:1200px;margin:0 auto;padding:9px 18px;display:flex;align-items:flex-start;justify-content:center;gap:10px;line-height:1.7;font-size:13.5px;color:#4a3f2c;letter-spacing:.5px;}
.site-notice .nt-label{flex:none;font-family:var(--serif);font-size:12px;letter-spacing:3px;color:#f6efe2;background:var(--cinnabar);
  padding:2px 10px;border-radius:4px;margin-top:2px;box-shadow:0 1px 4px rgba(158,43,37,.3);}
.site-notice .nt-txt{color:#5a4c33;white-space:pre-line;text-align:left;}
.site-notice .nt-txt a{color:var(--cinnabar);text-decoration:underline;text-underline-offset:3px;}
.site-notice .nt-txt a:hover{color:var(--cinnabar-d);}
