
/* ===== PURPLE THEME — 范文之家 · 文档工具风 ===== */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#7c3aed;--primary-dark:#6d28d9;--primary-light:#ede9fe;--accent:#8b5cf6;--border:#ddd6fe;--text:#1e1b4b;--muted:#6b7280;--card:#fff;--bg:#f8f9fa;--sidebar-bg:#1e1b4b}
body{font-family:-apple-system,"Microsoft YaHei",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.8}
a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark);text-decoration:underline}

/* ——— 整体骨架：左侧200px固定+右内容 ——— */
.page-shell{display:flex;min-height:100vh}

/* ——— 左侧固定垂直导航 ——— */
.left-nav{width:200px;flex-shrink:0;background:var(--sidebar-bg);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.nav-logo{padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.nav-logo a{color:#c4b5fd;font-size:16px;font-weight:700;display:block}
.nav-logo span{display:block;font-size:11px;color:#6d6d9e;margin-top:2px}
.nav-section{padding:12px 0}
.nav-section-title{font-size:11px;color:#6d6d9e;text-transform:uppercase;letter-spacing:.8px;padding:6px 16px}
.nav-link{display:block;padding:8px 16px 8px 20px;font-size:13px;color:#a5b4fc;border-left:3px solid transparent;transition:all .15s}
.nav-link:hover{background:rgba(255,255,255,.06);color:#e9d5ff;border-left-color:var(--accent);text-decoration:none}
.nav-footer{margin-top:auto;padding:14px 16px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:#6d6d9e}

/* ——— 右侧内容区 ——— */
.right-content{flex:1;min-width:0;display:flex;flex-direction:column}

/* ——— 顶部工具栏 ——— */
.top-bar{background:#fff;border-bottom:1px solid var(--border);padding:0 24px;height:48px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px rgba(0,0,0,.06);flex-shrink:0}
.top-bar-title{font-size:15px;font-weight:600;color:var(--text)}
.top-bar-breadcrumb{font-size:13px;color:var(--muted)}
.top-bar-breadcrumb a{color:var(--muted)}.top-bar-breadcrumb a:hover{color:var(--primary)}

/* ——— 主内容区 ——— */
.content-area{flex:1;padding:24px;overflow:auto}

/* ——— 首页：分类概览 ——— */
.cat-section{margin-bottom:28px}
.cat-section-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:12px;padding-left:10px;border-left:3px solid var(--primary)}
.cat-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cat-ov-card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:14px;transition:border-color .2s}
.cat-ov-card:hover{border-color:var(--primary);text-decoration:none}
.cat-ov-card-name{font-size:14px;font-weight:600;color:var(--primary);display:block;margin-bottom:4px}
.cat-ov-card-count{font-size:12px;color:var(--muted)}

/* ——— 首页：最新范文 ——— */
.latest-panel{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:16px}
.panel-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.latest-doc-list{list-style:none}
.latest-doc-list li{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #f3f4f6}
.latest-doc-list li:last-child{border:none}
.doc-icon{width:24px;height:24px;background:var(--primary-light);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:10px;font-size:11px;color:var(--primary);font-weight:700}
.latest-doc-list a{flex:1;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.latest-doc-list a:hover{color:var(--primary)}

/* ——— 分类页：表格式 ——— */
.page-header{margin-bottom:20px}
.page-header h1{font-size:20px;font-weight:700;color:var(--text)}
.page-header .sub{font-size:13px;color:var(--muted);margin-top:4px}
.sub-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.sub-nav a{border:1px solid var(--border);padding:4px 12px;border-radius:4px;font-size:13px;color:var(--muted);background:var(--card)}
.sub-nav a:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}
.doc-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:6px;overflow:hidden;border:1px solid var(--border)}
.doc-table thead{background:var(--primary-light)}
.doc-table th{text-align:left;padding:10px 16px;font-size:13px;font-weight:600;color:var(--primary-dark);border-bottom:2px solid var(--border)}
.doc-table td{padding:10px 16px;border-bottom:1px solid #f3f4f6;font-size:13px;vertical-align:middle}
.doc-table tr:last-child td{border:none}
.doc-table tr:hover td{background:#faf5ff}
.doc-table td a{color:var(--text)}.doc-table td a:hover{color:var(--primary)}
.doc-table .td-num{color:var(--muted);font-size:12px;width:40px;text-align:center}
.doc-table .td-date{color:var(--muted);font-size:12px;width:90px;text-align:right;white-space:nowrap}

/* ——— 分页 ——— */
.pager{display:flex;justify-content:center;gap:6px;padding:20px 0;flex-wrap:wrap}
.pager a,.pager span{padding:6px 14px;border-radius:4px;font-size:13px;border:1px solid var(--border);background:var(--card);color:var(--text)}
.pager a:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}
.pager .cur{background:var(--primary);color:#fff;border-color:var(--primary)}

/* ——— 文章页 ——— */
.article-doc{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:28px}
.article-title{font-size:22px;font-weight:700;color:var(--text);margin-bottom:12px;line-height:1.4}
.article-meta{display:flex;gap:20px;font-size:12px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:20px}
.article-intro{background:var(--primary-light);border-radius:4px;padding:12px 14px;font-size:13px;color:var(--primary-dark);margin-bottom:20px}
.article-body{font-size:14px;line-height:1.95}
.article-body p{text-indent:2em;margin-bottom:9px}
.article-body h2,.article-body h3{text-indent:0;margin:22px 0 9px;color:var(--primary-dark);font-size:16px}
.article-outro{margin-top:20px;background:#f5f3ff;border-radius:4px;padding:12px 14px;font-size:13px;color:var(--muted)}
.related-panel{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:16px;margin-top:16px}
.related-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.related-list li{padding:6px 8px;background:#faf5ff;border-radius:4px;font-size:13px}
.related-list a{color:var(--text)}.related-list a:hover{color:var(--primary)}

/* ——— Footer ——— */
.site-footer{background:var(--card);border-top:1px solid var(--border);padding:16px 24px;font-size:12px;color:var(--muted);flex-shrink:0}

/* ——— 404 ——— */
.err-page{text-align:center;padding:80px 20px}
.err-box{display:inline-block;background:var(--primary-light);border:2px dashed var(--border);border-radius:12px;padding:40px 60px}
.err-box .err-code{font-size:80px;font-weight:900;color:var(--primary);line-height:1}
.err-box h2{font-size:20px;color:var(--text);margin:12px 0 8px}
.err-box p{color:var(--muted);font-size:14px;margin-bottom:20px}
.btn-doc{display:inline-block;background:var(--primary);color:#fff;padding:9px 26px;border-radius:4px;font-size:14px}
.btn-doc:hover{background:var(--primary-dark);text-decoration:none;color:#fff}

@media(max-width:768px){
  .page-shell{flex-direction:column}
  .left-nav{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap}
  .nav-logo{border-bottom:none;padding:12px 16px}
  .nav-section{display:flex;flex-wrap:wrap;padding:4px 8px}
  .nav-link{padding:6px 10px;border-left:none;border-bottom:2px solid transparent}
  .nav-section-title{display:none}
  .cat-overview-grid{grid-template-columns:repeat(2,1fr)}
  .related-list{grid-template-columns:1fr}
  .article-doc{padding:16px}
  .article-title{font-size:18px}
  .doc-table .td-date{display:none}
  .top-bar{padding:0 12px}
}

/* 移动端导航优化 */
@media(max-width:768px){
  .site-nav,.nav,.top-nav{
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    padding:8px 10px;
    scrollbar-width:none;
  }
  .site-nav::-webkit-scrollbar,.nav::-webkit-scrollbar,.top-nav::-webkit-scrollbar{display:none}
  .site-nav a,.nav a,.top-nav a{
    display:inline-block;
    white-space:nowrap;
    padding:4px 10px;
    font-size:13px;
  }
}

/* 移动端首页分类数量限制 */
@media(max-width:768px){
  .card:nth-child(n+6),.cat-card:nth-child(n+6),.mag-card:nth-child(n+7),.cat-section:nth-child(n+6),.feed-section:nth-child(n+6){
    display:none;
  }
}

/* purple移动端特殊处理 */
@media(max-width:768px){
  .left-nav{
    position:static;
    width:100%;
    height:auto;
    overflow-x:auto;
    white-space:nowrap;
    display:flex;
    flex-wrap:nowrap;
    padding:10px;
  }
  .left-nav .nav-logo,.left-nav .nav-footer,.left-nav .nav-section-title{display:none}
  .left-nav .nav-section{display:flex;gap:5px}
  .left-nav .nav-link{
    display:inline-block;
    white-space:nowrap;
    padding:4px 10px;
    font-size:13px;
  }
  .right-content{margin-left:0}
  .page-shell{flex-direction:column}
}

/* 移动端防溢出 */
html,body{overflow-x:hidden;max-width:100vw}
.article-body,.art-content,.content-body,.article-body-wrap{overflow-x:auto;word-break:break-word;overflow-wrap:break-word}
.article-body table{max-width:100%;overflow-x:auto;display:block}
.article-body img{max-width:100%;height:auto}
.article-body pre,.article-body code{white-space:pre-wrap;word-break:break-all;max-width:100%}
.wrap,.container{max-width:100%;overflow-x:hidden}
@media(max-width:768px){
  .article-layout,.page-body,.page-shell{flex-direction:column}
  .article-sidebar,.side-col,.left-nav{width:100%!important;position:static!important}
  .article-main,.main-col,.right-content{width:100%!important;margin:0!important}
}

/* 悬浮复制按钮 */
.copy-btn{
  position:fixed;
  right:20px;
  bottom:80px;
  background:#7c3aed;
  color:#fff;
  padding:10px 16px;
  border-radius:30px;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
  z-index:999;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  white-space:nowrap;
  flex-wrap:nowrap;
  transition:all .3s;
  user-select:none;
}
.copy-btn:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.25)}
.copy-btn.copied{background:#16a34a}
.copy-icon{font-size:18px}
@media(max-width:768px){
  .copy-btn{
    right:12px;
    bottom:20px;
    padding:10px 14px;
    font-size:13px;
    border-radius:25px;
  }
}
