/* OpenList 风格前台主题 */
:root{
  --ol-bg:#f5f6f8;
  --ol-card:#ffffff;
  --ol-text:#1f2937;
  --ol-muted:#6b7280;
  --ol-line:#e5e7eb;
  --ol-accent:#3b82f6;
  --ol-accent-hover:#2563eb;
  --ol-accent-soft:#eff6ff;
  --ol-radius:14px;
  --ol-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06);
}
html,body{height:100%}
body{
  background:var(--ol-bg)!important;
  color:var(--ol-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  min-height:100vh;
}
a{color:var(--ol-accent)}
a:hover{color:var(--ol-accent-hover)}

/* 顶栏 */
.ol-nav{
  position:sticky;top:0;z-index:1000;
  background:#fff;
  border-bottom:1px solid var(--ol-line);
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.ol-nav-inner{
  max-width:1120px;margin:0 auto;
  padding:0 16px;height:56px;
  display:flex;align-items:center;gap:12px;
}
.ol-brand{
  font-size:16px;font-weight:700;color:var(--ol-text)!important;
  text-decoration:none!important;margin-right:8px;white-space:nowrap;
}
.ol-brand:hover{color:var(--ol-accent)!important}
.ol-nav-links{display:flex;align-items:center;gap:4px;flex:1;min-width:0}
.ol-nav-link{
  display:inline-flex;align-items:center;gap:6px;
  height:36px;padding:0 12px;border-radius:10px;
  color:var(--ol-muted)!important;text-decoration:none!important;
  font-size:13px;white-space:nowrap;transition:.15s ease;
}
.ol-nav-link:hover{background:var(--ol-bg);color:var(--ol-text)!important}
.ol-nav-link.active{background:var(--ol-accent-soft);color:var(--ol-accent)!important;font-weight:600}
.ol-nav-right{display:flex;align-items:center;gap:6px;margin-left:auto}
.ol-nav-menu{
  display:flex;align-items:center;gap:4px;flex:1;min-width:0;
}
.ol-nav-menu .ol-nav-links{flex:1}
.ol-nav-toggle{
  display:none;border:1px solid var(--ol-line);background:#fff;
  width:40px;height:40px;border-radius:12px;color:var(--ol-muted);
  align-items:center;justify-content:center;flex-shrink:0;padding:0;
}
.ol-nav-toggle .icon-bar{
  display:block;width:16px;height:2px;background:currentColor;margin:3px auto;border-radius:1px;
  transition:transform .2s ease, opacity .2s ease;
}
.ol-nav.open .ol-nav-toggle .icon-bar:nth-child(1){transform:translateY(5px) rotate(45deg)}
.ol-nav.open .ol-nav-toggle .icon-bar:nth-child(2){opacity:0}
.ol-nav.open .ol-nav-toggle .icon-bar:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.ol-theme-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:10px;border:1px solid var(--ol-line);
  background:transparent;color:var(--ol-muted)!important;cursor:pointer;
  text-decoration:none!important;padding:0;flex-shrink:0;
}
.ol-theme-btn:hover{background:var(--ol-bg);color:var(--ol-text)!important}

/* 页面容器 */
.ol-page{max-width:1120px;margin:0 auto;padding:20px 16px 48px}
.ol-card{
  background:var(--ol-card);
  border:1px solid var(--ol-line);
  border-radius:var(--ol-radius);
  box-shadow:var(--ol-shadow);
  overflow:hidden;
}
.ol-card-pad{padding:18px 20px}
.ol-toolbar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:14px 18px;border-bottom:1px solid var(--ol-line);
}
.ol-toolbar h1{
  margin:0;font-size:16px;font-weight:600;flex:1;min-width:120px
}
.ol-toolbar .sub{font-size:12px;color:var(--ol-muted);font-weight:400;margin-left:8px}
.ol-search{
  display:flex;gap:8px;align-items:center;
}
.ol-search input{
  height:36px;border:1px solid var(--ol-line);border-radius:10px;
  padding:0 12px;min-width:200px;background:#f9fafb;font-size:13px;
  outline:none;
}
.ol-search input:focus{border-color:#93c5fd;background:#fff;box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.ol-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:36px;padding:0 14px;border-radius:10px;
  border:1px solid var(--ol-line);background:#fff;
  color:var(--ol-text);font-size:13px;text-decoration:none!important;
  cursor:pointer;transition:.15s ease;white-space:nowrap;
}
.ol-btn:hover{background:var(--ol-bg);color:var(--ol-text)}
.ol-btn-primary{background:var(--ol-accent);border-color:var(--ol-accent);color:#fff!important}
.ol-btn-primary:hover{background:var(--ol-accent-hover);border-color:var(--ol-accent-hover);color:#fff!important}
.ol-btn-soft{background:var(--ol-accent-soft);border-color:transparent;color:#1d4ed8!important}
.ol-btn-soft:hover{background:#dbeafe;color:#1e40af!important}
.ol-btn-lg{height:48px;padding:0 22px;font-size:15px;border-radius:12px}

/* 分类标签 */
.ol-cats{
  display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;
  padding:12px 16px;border-bottom:1px solid var(--ol-line);
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.ol-cats::-webkit-scrollbar{display:none}
.ol-cat{
  display:inline-flex;align-items:center;gap:6px;
  height:34px;padding:0 12px;border-radius:999px;
  border:1px solid var(--ol-line);background:#fff;
  color:var(--ol-muted)!important;text-decoration:none!important;
  font-size:13px;white-space:nowrap;flex-shrink:0;
  transition:.15s ease;
}
.ol-cat i{font-size:13px}
.ol-cat em{
  font-style:normal;font-size:11px;min-width:18px;height:18px;
  padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--ol-bg);color:var(--ol-muted);
}
.ol-cat:hover{background:var(--ol-bg);color:var(--ol-text)!important}
.ol-cat.active{
  background:var(--ol-accent-soft);border-color:#bfdbfe;color:var(--ol-accent)!important;font-weight:600
}
.ol-cat.active em{background:#fff;color:var(--ol-accent)}
.ol-tag{
  display:inline-flex;align-items:center;height:24px;padding:0 8px;
  border-radius:6px;font-size:12px;font-weight:500;
  background:var(--ol-bg);color:var(--ol-muted);
}
.ol-tag-image{background:#fdf2f8;color:#db2777}
.ol-tag-video{background:#f5f3ff;color:#7c3aed}
.ol-tag-audio{background:#ecfdf5;color:#059669}
.ol-tag-doc{background:#eff6ff;color:#2563eb}
.ol-tag-archive{background:#fff7ed;color:#ea580c}
.ol-tag-other{background:#f3f4f6;color:#6b7280}

/* 文件列表 — OpenList 表格式 */
.ol-file-table{width:100%;border-collapse:collapse}
.ol-file-table th{
  text-align:left;font-size:12px;font-weight:600;color:var(--ol-muted);
  padding:10px 16px;border-bottom:1px solid var(--ol-line);
  background:#fafbfc;white-space:nowrap;
}
.ol-file-table td{
  padding:12px 16px;border-bottom:1px solid var(--ol-line);
  font-size:13px;vertical-align:middle;
}
.ol-file-table tr:last-child td{border-bottom:0}
.ol-file-table tbody tr{transition:background .12s ease}
.ol-file-table tbody tr:hover{background:#f8fafc}
.ol-file-name{
  display:flex;align-items:center;gap:10px;min-width:0;
  color:var(--ol-text)!important;text-decoration:none!important;font-weight:500;
}
.ol-file-name:hover{color:var(--ol-accent)!important}
.ol-file-main{
  display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;
}
.ol-file-sub{
  display:none;font-size:12px;font-weight:400;color:var(--ol-muted);
  line-height:1.3;
}
.ol-file-icon{
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--ol-accent-soft);color:var(--ol-accent);font-size:16px;
}
.ol-file-icon.is-image{background:#fdf2f8;color:#db2777}
.ol-file-icon.is-video{background:#f5f3ff;color:#7c3aed}
.ol-file-icon.is-audio{background:#ecfdf5;color:#059669}
.ol-file-icon.is-archive{background:#fff7ed;color:#ea580c}
.ol-file-icon.is-doc{background:#eff6ff;color:#2563eb}
.ol-fname-text{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px
}
.ol-muted{color:var(--ol-muted)}
.ol-ops{display:flex;gap:6px;flex-wrap:nowrap}
.ol-ops a,.ol-ops .ol-btn{
  height:30px;padding:0 10px;font-size:12px;border-radius:8px
}
.ol-empty{
  padding:56px 20px;text-align:center;color:var(--ol-muted)
}
.ol-empty i{font-size:48px;color:#d1d5db;display:block;margin-bottom:12px}
.ol-pager{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:12px 16px;border-top:1px solid var(--ol-line);font-size:13px;color:var(--ol-muted)
}
.ol-pager ul{
  list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap
}
.ol-pager li a,.ol-pager li span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:32px;height:32px;padding:0 8px;border-radius:8px;
  border:1px solid var(--ol-line);background:#fff;color:var(--ol-text);
  text-decoration:none;font-size:12px;
}
.ol-pager li.active span,.ol-pager li a:hover{background:var(--ol-accent-soft);border-color:#bfdbfe;color:var(--ol-accent)}
.ol-pager li.disabled span{opacity:.45;cursor:default}

/* 上传页 */
.ol-upload-layout{
  display:grid;grid-template-columns:1.6fr .9fr;gap:16px;align-items:start
}
.ol-dropzone{
  min-height:360px;padding:28px 24px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;cursor:pointer;
  background:
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border:2px dashed #cbd5e1;border-radius:var(--ol-radius);
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.ol-dropzone:hover,.ol-dropzone.is-drag{
  border-color:var(--ol-accent);background:var(--ol-accent-soft);
  box-shadow:0 0 0 4px rgba(59,130,246,.08);
}
.ol-drop-icon{
  width:72px;height:72px;border-radius:20px;margin-bottom:16px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ol-accent-soft);color:var(--ol-accent);font-size:32px;
}
.ol-drop-title{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--ol-text)}
.ol-drop-desc{margin:0 0 20px;font-size:13px;color:var(--ol-muted)}
.ol-drop-desc-mob{display:none}
.ol-tip-ip{font-size:12px!important;opacity:.85}
.ol-upload-opts{
  margin-top:18px;width:100%;max-width:360px;text-align:left
}
.ol-check{
  display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px;color:var(--ol-text)
}
.ol-check input{margin:0}
.ol-upload-opts .form-control{
  height:38px;border-radius:10px;border:1px solid var(--ol-line);box-shadow:none
}
.ol-upload-progress{width:100%;max-width:520px;margin-bottom:16px}
.ol-upload-progress .progress{
  height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin-bottom:8px;box-shadow:none
}
.ol-upload-progress .progress-bar{
  background:linear-gradient(90deg,#60a5fa,#3b82f6);box-shadow:none
}
.ol-upload-meta{
  display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ol-muted)
}
.ol-side-card .item{
  padding:10px 0;border-bottom:1px solid var(--ol-line);
  font-size:13px;color:var(--ol-muted);line-height:1.55
}
.ol-side-card .item:last-child{border-bottom:0}
.ol-side-card .item b{color:var(--ol-text)}

/* 登录 */
.ol-login-wrap{
  max-width:420px;margin:48px auto 0
}
.ol-login-card{padding:36px 28px;text-align:center}
.ol-login-card h2{margin:0 0 8px;font-size:20px;font-weight:600}
.ol-login-card p{color:var(--ol-muted);font-size:13px;margin:0 0 24px}
.ol-login-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.ol-login-btns .loginbtn{
  width:56px;height:56px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;
  font-size:22px;color:#fff!important;text-decoration:none!important;border:0;
}
.ol-login-btns .btn-info{background:#12b7f5}
.ol-login-btns .btn-success{background:#07c160}

/* 页脚 */
.ol-footer{
  text-align:center;padding:24px 16px 32px;
  color:var(--ol-muted);font-size:12px
}
.ol-footer a{color:var(--ol-muted)}

/* 兼容旧 material 按钮色干扰 */
body .btn-raised.btn-primary{background:var(--ol-accent);box-shadow:none}
body .well{background:transparent;border:0;box-shadow:none;padding:0}
body .navbar{margin-bottom:0!important}
.table-responsive{border:0;margin:0}

/* —— 平板 —— */
@media (max-width:900px){
  .ol-upload-layout{grid-template-columns:1fr}
  .ol-page{padding:12px 12px 40px}
  .ol-toolbar{padding:12px 14px}
  .ol-toolbar h1{font-size:15px;width:100%;flex:none}
  .ol-toolbar .sub{display:block;margin:4px 0 0;margin-left:0}
  .ol-search{width:100%}
  .ol-search input{flex:1;min-width:0;width:100%}
  .ol-nav-inner{
    position:relative;
    padding:0 12px;
    justify-content:space-between;
  }
  .ol-brand{
    flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-right:12px
  }
  .ol-nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    margin-left:auto;flex-shrink:0;order:2;
  }
  .ol-nav-menu{
    display:none!important;
    position:absolute;top:calc(100% + 6px);left:12px;right:12px;
    z-index:1001;flex:none;order:3;
    background:#fff;border:1px solid var(--ol-line);border-radius:14px;
    box-shadow:0 12px 32px rgba(15,23,42,.12);
    padding:10px;flex-direction:column;align-items:stretch;gap:8px;
  }
  .ol-nav.open .ol-nav-menu{
    display:flex!important;
  }
  .ol-nav-links,.ol-nav-right{
    display:flex;flex-direction:column;align-items:stretch;gap:4px;
    margin:0;width:100%;flex:none;
  }
  .ol-nav-right{
    margin-left:0;padding-top:8px;border-top:1px solid var(--ol-line);
  }
  .ol-nav-link,.ol-theme-btn{
    width:100%;min-height:44px;height:auto;padding:10px 12px;font-size:15px;
    border-radius:12px;justify-content:flex-start;
    -webkit-tap-highlight-color:transparent;
  }
  .ol-theme-btn{width:100%}
  .ol-nav-link.active{
    background:var(--ol-accent-soft);color:var(--ol-accent)!important;font-weight:600;
  }
  .ol-dropzone{min-height:240px;padding:20px 14px}
  .ol-drop-title{font-size:17px}
  .ol-drop-icon{width:60px;height:60px;font-size:26px;border-radius:16px}
  .ol-btn,.ol-ops a,.ol-ops .ol-btn{min-height:36px}
  .ol-btn-lg{min-height:48px;width:100%;max-width:320px}
  .ol-login-wrap{margin:24px auto 0;padding:0 4px}
  .ol-login-card{padding:28px 18px}
  .ol-pager{justify-content:center;text-align:center}
  .ol-pager > div{width:100%}
  .ol-pager ul{justify-content:center;width:100%}
}

/* —— 手机：列表改卡片 —— */
@media (max-width:768px){
  .ol-file-table thead{display:none}
  .ol-file-table,
  .ol-file-table tbody{display:block;width:100%}
  .ol-file-table tr{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 12px;
    border-bottom:1px solid var(--ol-line);
  }
  .ol-file-table tr.ol-empty-row{
    display:block;padding:0;
  }
  .ol-file-table tr:active{background:#f8fafc}
  .ol-file-table td{
    display:block;padding:0;border:0;width:auto!important;
  }
  .ol-file-table td.col-desk{display:none!important}
  .ol-file-table td:first-child{flex:1;min-width:0}
  .ol-file-table td.ol-ops-cell{flex-shrink:0}
  .ol-file-sub{display:block}
  .ol-file-name{width:100%}
  .ol-fname-text{
    max-width:none;white-space:normal;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    line-height:1.35;
  }
  .ol-file-icon{width:44px;height:44px;font-size:18px;border-radius:12px}
  /* 操作改为横向，拇指更好点 */
  .ol-ops{
    flex-direction:row;gap:8px;align-items:center;
  }
  .ol-ops a,.ol-ops .ol-btn{
    height:36px;min-width:52px;padding:0 12px;justify-content:center;
    font-size:13px;border-radius:10px;
  }
  .ol-empty{padding:40px 16px}
  .ol-card{border-radius:14px}
  .ol-page{
    padding:10px 10px calc(28px + env(safe-area-inset-bottom,0px));
  }
  .ol-footer{
    padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));
  }
  .ol-nav{
    padding-top:env(safe-area-inset-top,0px);
  }
  .ol-toolbar{
    display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  }
  .ol-toolbar h1{width:auto;flex:1;min-width:0}
  .ol-toolbar .ol-search{order:2;width:100%}
  .ol-toolbar .ol-btn-primary{order:3;width:100%;height:44px;font-size:15px}
  .ol-toolbar > .ol-btn:not(.ol-btn-primary){
    height:36px;padding:0 12px;flex-shrink:0;
  }

  /* 分类条：更大触控、边缘渐隐提示可横滑 */
  .ol-cats{
    padding:10px 12px;
    gap:8px;
    -webkit-overflow-scrolling:touch;
    mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 24px),transparent 100%);
  }
  .ol-cat{
    height:38px;padding:0 14px;font-size:13px;
    border-radius:12px;
  }
  .ol-cat em{min-width:20px;height:20px}

  /* 上传页手机优化 */
  .ol-drop-desc-desk{display:none!important}
  .ol-drop-desc-mob{display:block!important;margin:0 0 16px}
  .ol-dropzone{
    min-height:0;padding:28px 16px 24px;
    border-radius:14px;
  }
  .ol-drop-icon{width:56px;height:56px;font-size:24px;border-radius:16px;margin-bottom:12px}
  .ol-drop-title{font-size:16px;margin-bottom:6px}
  .ol-btn-lg{
    width:100%;max-width:none;height:48px;font-size:15px;border-radius:12px;
  }
  .ol-upload-opts{max-width:none;margin-top:16px}
  .ol-check{
    min-height:40px;padding:4px 0;font-size:14px;
    -webkit-tap-highlight-color:transparent;
  }
  .ol-check input{width:18px;height:18px}
  .ol-side-card .ol-toolbar{padding:12px 14px}
  .ol-side-card .ol-toolbar h1{font-size:14px}
  .ol-upload-tips .item{padding:12px 0;font-size:13px}
  .ol-upload-layout{gap:12px}
  .ol-card-pad{padding:14px}
  .ol-theme-btn{width:40px;height:40px}
  .ol-pager{gap:10px;padding:14px 12px}
  .ol-pager li a,.ol-pager li span{
    min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
    padding:0 10px;
  }
}

@media (max-width:420px){
  .ol-brand{font-size:15px;max-width:52vw}
  .ol-ops a,.ol-ops .ol-btn{min-width:48px;padding:0 10px;font-size:12px}
  .ol-file-table tr{padding:12px 10px;gap:10px}
}

/* —— 暗色模式 —— */
html[data-theme="dark"]{
  --ol-bg:#0f1419;
  --ol-card:#171b22;
  --ol-text:#e8eaed;
  --ol-muted:#9aa3af;
  --ol-line:#2a313c;
  --ol-accent:#60a5fa;
  --ol-accent-hover:#93c5fd;
  --ol-accent-soft:#1e293b;
  --ol-shadow:0 1px 2px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.28);
  color-scheme:dark;
}
html[data-theme="dark"] body{background:var(--ol-bg)!important;color:var(--ol-text)}
html[data-theme="dark"] .ol-nav{background:rgba(23,27,34,.92);border-bottom-color:var(--ol-line)}
html[data-theme="dark"] .ol-brand{color:var(--ol-text)!important}
html[data-theme="dark"] .ol-nav-link:hover{background:#1e2530;color:var(--ol-text)!important}
html[data-theme="dark"] .ol-nav-link.active{background:var(--ol-accent-soft);color:var(--ol-accent)!important}
html[data-theme="dark"] .ol-nav-toggle{background:var(--ol-card);border-color:var(--ol-line);color:var(--ol-muted)}
html[data-theme="dark"] .ol-nav-menu{
  background:var(--ol-card);border-color:var(--ol-line);
  box-shadow:0 12px 32px rgba(0,0,0,.4);
}
html[data-theme="dark"] .ol-theme-btn{background:transparent;border-color:var(--ol-line);color:var(--ol-muted)!important}
html[data-theme="dark"] .ol-card{background:var(--ol-card);border-color:var(--ol-line)}
html[data-theme="dark"] .ol-btn{background:var(--ol-card);border-color:var(--ol-line);color:var(--ol-text)}
html[data-theme="dark"] .ol-btn:hover{background:#1e2530}
html[data-theme="dark"] .ol-btn-soft{background:var(--ol-accent-soft);color:var(--ol-accent)!important}
html[data-theme="dark"] .ol-btn-primary{background:var(--ol-accent);border-color:var(--ol-accent);color:#0b1220!important}
html[data-theme="dark"] .ol-cat{background:var(--ol-card);border-color:var(--ol-line)}
html[data-theme="dark"] .ol-cat:hover{background:#1e2530}
html[data-theme="dark"] .ol-cat.active{background:var(--ol-accent-soft);border-color:#334155;color:var(--ol-accent)!important}
html[data-theme="dark"] .ol-cat.active em{background:#0f1419;color:var(--ol-accent)}
html[data-theme="dark"] .ol-search input,
html[data-theme="dark"] .ol-input-row input,
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] textarea{
  background:#0f1419!important;border-color:var(--ol-line)!important;color:var(--ol-text)!important
}
html[data-theme="dark"] .ol-file-table thead th{background:#12171e;color:var(--ol-muted);border-color:var(--ol-line)}
html[data-theme="dark"] .ol-file-table td{border-color:var(--ol-line)}
html[data-theme="dark"] .ol-file-table tbody tr:hover{background:#1a222d}
html[data-theme="dark"] .ol-tag-image{background:#3b1829;color:#f9a8d4}
html[data-theme="dark"] .ol-tag-video{background:#2e1f4d;color:#c4b5fd}
html[data-theme="dark"] .ol-tag-audio{background:#14352a;color:#6ee7b7}
html[data-theme="dark"] .ol-tag-doc{background:#1e3a5f;color:#93c5fd}
html[data-theme="dark"] .ol-tag-archive{background:#3b2410;color:#fdba74}
html[data-theme="dark"] .ol-tag-other{background:#2a2f38;color:#9ca3af}
html[data-theme="dark"] .ol-footer{color:var(--ol-muted);border-top-color:var(--ol-line)}
html[data-theme="dark"] .ol-footer a{color:var(--ol-accent)}
html[data-theme="dark"] .ol-theme-btn{color:var(--ol-muted)!important}

.ol-theme-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:10px;border:1px solid var(--ol-line);
  background:transparent;color:var(--ol-muted)!important;cursor:pointer;
  text-decoration:none!important;padding:0;flex-shrink:0;
}
.ol-theme-btn:hover{background:var(--ol-bg);color:var(--ol-text)!important}

