@charset "UTF-8";
/* ==========================================================================
   classic-22 主题专属布局补丁（layout-fix.css）
   --------------------------------------------------------------------------
   为什么单独一个文件？
     主题的视觉基础层是 static/css/ui.css，它与插件目录里的 ui.css 是同一份
     基础层；而插件在「安装主题资源」时（Plugin.php）每次升级都会把插件自带的
     ui.css 无条件覆盖到主题目录，用来保证基础样式随插件一起更新。

     这样一来，凡是写进主题 ui.css 的「主题专属补丁」（页脚固定、动态视口、
     老浏览器回退等）都会在插件下一次升级时被整份覆盖掉 —— 历史事故：
     页脚不再 fixed、拉到底底部多出 64px 空白、左侧分类栏不再吸顶。

     所以这些补丁从 ui.css 里搬到这里：
       · ui.css        = 纯基础层（= 插件版，插件覆盖它是无副作用的空操作）
       · layout-fix.css = 主题专属补丁（插件从不读写这个文件，升级不受影响）
     由 header.php 在 ui.css 之后引入，靠源码顺序覆盖同名声明。

   维护约定：
     1) 新增「通用组件」样式 → 写进 ui.css（插件版与主题版保持同一份）；
     2) 新增「只有本主题需要」的样式（依赖主题的 .site-footer / main.container /
        .site-navbar 结构、或要做老浏览器兜底）→ 写进本文件；
     3) 本文件必须排在 ui.css 之后，且其中的 clamp() 声明要自带「固定值回退行」
        并写在 clamp 行之前（见下），否则老浏览器整条声明失效。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1) 页脚固定在视口底部（1.9.121 加固）
   版权 / 底部导航 / 标语始终可见；内容让位由 footer.php 的小脚本按页脚实际
   高度写 body 的 padding-bottom，窄屏换行变高也能兜住。
   层级压在顶部导航（z-index 60）与各弹窗（1200+）之下。
   -------------------------------------------------------------------------- */
.site-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    /* clamp() 固定值回退行先行（老浏览器兜底），clamp 行殿后覆盖：
       iPhone 底部小白条（Home Indicator）会压住页脚内容，支持 safe-area
       的设备在底部追加安全区距离；footer.php 量的是 offsetHeight，会把
       这段自动算进 body 的 padding-bottom。 */
    padding: 12px 16px 14px;
    padding: 12px clamp(16px, 3.4vw, 34px) 14px;
    padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -4px 14px rgba(0, 0, 0, .05);
}

/* --------------------------------------------------------------------------
   2) body 撑满动态视口（1.9.126 / 1.9.128）
   body 是 flex 列（基础层里已声明），内容短时页脚贴底；100dvh 让 iOS Safari
   在地址栏收展时按「可见高度」算，不支持的环境忽略本行、回落 100vh。
   -------------------------------------------------------------------------- */
body {
    min-height: 100dvh;
}

/* --------------------------------------------------------------------------
   3) 主题通用页 main.container 的内边距回退（1.9.126）
   iOS 13.3- 不支持 clamp() 时，整条声明会被丢弃 —— 左右内边距归零、内容
   直接贴边。先给固定值，再让支持 clamp 的浏览器覆盖成随视口缩放的版本。
   -------------------------------------------------------------------------- */
main.container:not(.un-shell):not(.sq-shell):not(.st-shell) {
    padding: 30px 16px 64px;
    padding: 30px clamp(16px, 3.4vw, 34px) 64px;
}

/* --------------------------------------------------------------------------
   4) 顶部导航的兼容与内边距回退（1.9.126）
   -webkit-sticky：iOS 12 / Safari 12 及更早不支持无前缀写法；
   内边距同样先给固定值，再由 clamp 行覆盖。
   -------------------------------------------------------------------------- */
.site-navbar {
    position: -webkit-sticky;
    position: sticky;
    padding: 0 16px;
    padding: 0 clamp(16px, 3.4vw, 34px);
}

/* --------------------------------------------------------------------------
   5) 卡片中心图章（1.9.290）：好文 / 热议 / 好博
   直接盖在卡片正中央（绝对定位 + rotate），不占布局空间；
   pointer-events:none 保证不挡卡片上任何链接和按钮的点击。
   1.9.296：浅色模式透明度 .22 → .34（用户反馈不够显眼）；
   深色模式单独配色 —— 深底上原来的深红/深青/深紫几乎看不见，
   换亮红/亮青/亮紫并加深透明度，两种模式都清楚可辨。
   -------------------------------------------------------------------------- */
.ru-stamp {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-14deg);
    z-index: 6;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
    white-space: nowrap;
    padding: 5px 12px;
    border: 2px solid currentColor;
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px currentColor;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 6px;
    text-indent: 6px;
    opacity: .34;
}
.ru-stamp--wen   { color: #d64550; }  /* 好文：印泥红 */
.ru-stamp--re    { color: #0e8f8f; }  /* 热议：青 */
.ru-stamp--bo    { color: #7a5af5; }  /* 好博：紫 */

/* 深色模式（1.9.296）：跟随系统的自动深色 + 手动切到深色两种路径都覆盖。
   主题深色底是 #13171f，深色印章色在上面对比度不足，换亮色版 */
@media (prefers-color-scheme: dark) {
    .ru-stamp {
        opacity: .55;
    }

    .ru-stamp--wen { color: #ff8a93; }  /* 好文：亮红 */
    .ru-stamp--re  { color: #4fd8d0; }  /* 热议：亮青 */
    .ru-stamp--bo  { color: #b39dff; }  /* 好博：亮紫 */
}

/* 手动深色（html[data-theme="dark"]，见 dark-theme.css 的强制深色覆盖） */
[data-theme="dark"] .ru-stamp {
    opacity: .55;
}

[data-theme="dark"] .ru-stamp--wen { color: #ff8a93; }
[data-theme="dark"] .ru-stamp--re  { color: #4fd8d0; }
[data-theme="dark"] .ru-stamp--bo  { color: #b39dff; }

/* 手动浅色时强制回浅色配色（浏览器系统是深色但用户切了浅色主题） */
[data-theme="light"] .ru-stamp {
    opacity: .34;
}

[data-theme="light"] .ru-stamp--wen { color: #d64550; }
[data-theme="light"] .ru-stamp--re  { color: #0e8f8f; }
[data-theme="light"] .ru-stamp--bo  { color: #7a5af5; }

/* 图章要盖在卡片正中，卡片宿主必须有定位上下文 */
.hot-card,
.hbo-card,
.st-post,
.un-art,
.sq-card {
    position: relative;
}
