  :root{
    /* 暖奶油 · 浅色相册风 */
    --bg:#FDF6F2;
    --bg-2:#FFF9F6;
    --surface:#FFFFFF;
    --surface-2:#FFFDFC;
    --surface-3:#F7EEE9;
    --line:#F3E5DD;
    --line-strong:#EAD8CD;
    --text:#3A2A22;
    --text-2:#6E5A4E;
    --text-3:#9C8A80;
    --violet:#F2875C;      /* 主色：珊瑚橙 */
    --indigo:#E4734A;
    --cyan:#B79CF0;        /* 辅助：淡紫 */
    --coral:#E35D3D;
    --gold:#F5A623;
    --pink:#E9A0C8;
    --radius-l:16px;
    --radius-m:16px;
    --radius-s:10px;
    --card-ratio: 2 / 3;   /* 照片区 宽:高 = 2:3，即高是宽的 1.5 倍（竖版） */
    --shadow:0 12px 26px -20px rgba(160,110,80,.45);
  }

  *{ box-sizing:border-box; }
  html{ -webkit-text-size-adjust:100%; }
  body{
    margin:0;
    min-height:100vh;
    background:var(--bg);
    color:var(--text);
    font-family:"Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
    font-feature-settings:"ss01" 1;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    position:relative;
  }
  img{ display:block; max-width:100%; }
  button{ font:inherit; color:inherit; border:0; background:none; cursor:pointer; }
  a{ color:inherit; text-decoration:none; }
  ::selection{ background:rgba(242,135,92,.25); }

  .wrap{ width:min(1240px, 100% - 48px); margin-inline:auto; }

  /* ───────── 顶栏 ───────── */
  .topbar{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  .topbar-inner{
    display:flex; align-items:center; gap:16px;
    height:60px;
  }
  .brand{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
  .brand-mark{
    width:40px; height:36px; border-radius:11px;
    background:#fff; border:1px solid var(--line);
    display:grid; place-items:center;
    overflow:hidden; flex:none;
    padding:3px;
    box-shadow:0 2px 6px rgba(180,130,100,.10);
  }
  .brand-mark svg,
  .brand-mark img{ width:100%; height:100%; display:block; object-fit:cover; border-radius:8px; }
  .brand-name{
    font-size:19px; font-weight:800; letter-spacing:.02em; line-height:1;
    display:flex; align-items:baseline; gap:8px;
    color:var(--text);
  }
  .search{
    margin-left:auto;
    display:flex; align-items:center; gap:9px;
    flex:1 1 auto; min-width:0; max-width:440px;
    height:40px; padding:0 14px;
    background:#fff;
    border:1px solid #00010a;
    border-radius:999px;
    transition:border-color .2s, box-shadow .2s;
  }
  .search:focus-within{
    border-color:#F0C4AE;
    box-shadow:0 0 0 3px rgba(242,135,92,.12);
  }
  .search svg{ width:16px; height:16px; flex:none; color:#B9A8A0; }
  .search input{
    flex:1; min-width:0; height:100%;
    background:none; border:0; outline:0;
    font-size:13.5px; color:var(--text);
  }
  .search input::placeholder{ color:#B9A8A0; }
  /* 去掉 iOS/Chrome 原生搜索控件（自带放大镜、清除按钮），只保留自定义图标 */
  .search input[type="search"]{
    -webkit-appearance:none; appearance:none;
  }
  .search input::-webkit-search-decoration,
  .search input::-webkit-search-cancel-button,
  .search input::-webkit-search-results-button,
  .search input::-webkit-search-results-decoration{
    -webkit-appearance:none; display:none;
  }
  /* 搜索按钮（在搜索框右侧外部） */
  .search-btn{
    flex:none;
    height:40px; padding:0 20px;
    border-radius:999px;
    background:var(--violet); color:#fff;
    font-size:13.5px; font-weight:500; line-height:1;
    white-space:nowrap;
    transition:background .18s ease;
  }
  .search-btn:hover{ background:var(--indigo); }
  .search-btn:active{ transform:scale(.97); }

  /* ───────── 顶部提示横幅（橙色通栏） ───────── */
  .hero{ padding:0; }
  .hero .wrap{ width:100%; }
  .slides{ display:grid; }
  .slide{
    grid-area:1 / 1;
    display:grid;
    grid-template-columns:1fr;
    align-items:center;      /* 垂直居中 */
    justify-items:center;    /* 水平居中 */
    gap:0;
    min-height:0;
    padding:14px 20px;
    border-radius:0;
    border:0;
    background:#F5A02A;
    opacity:0; visibility:hidden; transform:translateY(4px);
    transition:opacity .25s ease, transform .25s ease, visibility .25s;
    pointer-events:none;
  }
  .slide.is-active{ opacity:1; visibility:visible; transform:none; pointer-events:auto; }
  /* 无配图时：文案占满整行并居中 */
  .slide-copy:only-child{ grid-column:1 / -1; text-align:center; }

  .slide h1{
    margin:0;
    font-size:clamp(14px, 3.4vw, 17px);
    line-height:1.45; letter-spacing:.08em; font-weight:700;
    text-align:center;
    color:#fff;
  }
  .slide h1 .grad{
    background:none; -webkit-background-clip:initial; background-clip:initial;
    color:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    flex-wrap:wrap; gap:.4em; max-width:100%;
  }
  .slide h1 .warn-ico{
    width:1.15em; height:1.15em; flex:none;
    color:#fff;
  }
  /* ───────── 分区标题 ───────── */
  .sec-head{
    display:flex; align-items:center; justify-content:space-between;
    gap:16px; margin:26px 0 14px;
  }
  .sec-head h2{
    margin:0; font-size:18px; font-weight:800; letter-spacing:.01em;
    display:flex; align-items:center; gap:9px;
    color:var(--text);
  }
  .sec-head h2 span{
    width:4px; height:18px; border-radius:2px;
    background:#E6D9D2;
  }
  /* ───────── 分类 ───────── */
  .cats{ padding:0; }
  .cat-row{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(112px, 1fr));
    gap:10px;
  }
  .cat-row > a{ display:block; min-width:0; }
  .cat{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    width:100%; height:40px; padding:0 12px;
    border-radius:999px;
    font-size:13px; font-weight:500; color:var(--text);
    border:0;
    background:#FCEBE4;
    transition:background .18s ease, transform .18s ease;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .cat:hover{ background:#F9DCD0; transform:translateY(-1px); }
  /* 当前分类高亮：珊瑚橙实底 + 柔光 + 白字 */
  .cat.on{
    color:#fff; font-weight:700;
    background:linear-gradient(135deg, #F5A27E 0%, var(--violet) 100%);
    box-shadow:0 8px 18px -10px rgba(242,135,92,.95), inset 0 1px 0 rgba(255,255,255,.35);
    transform:translateY(-1px);
  }
  .cat.on:hover{ background:linear-gradient(135deg, #F1926B 0%, var(--indigo) 100%); }
  .cat.on i{ color:#fff; background:rgba(0,0,0,.14); }

  /* ───────── 相册栅格 ───────── */
  .gallery{ padding:0; }
  .grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
  }
  .card{
    background:var(--surface);
    border:1px solid #F7E9E1;
    border-radius:var(--radius-m);
    padding:6px 6px 10px;
    box-shadow:0 2px 10px rgba(180,130,100,.06);
    transition:box-shadow .2s ease, transform .2s ease;
    animation:rise .35s both;
  }
  @keyframes rise{
    from{ opacity:0; transform:translateY(8px); }
    to{ opacity:1; transform:none; }
  }
  .card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px -14px rgba(180,130,100,.45);
  }
  .thumb{
    position:relative;
    aspect-ratio:var(--card-ratio);
    border-radius:11px; overflow:hidden;
    background:#F7EEE9;
  }
  .thumb img{
    width:100%; height:100%; object-fit:cover;
    transition:transform .4s ease;
  }
  .card:hover .thumb img{ transform:scale(1.03); }
  .thumb::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(60,35,25,.28), rgba(60,35,25,0) 42%);
    pointer-events:none;
  }
  .chip{
    position:absolute; z-index:2;
    font-size:11px; font-weight:500; letter-spacing:0;
    padding:3px 9px; border-radius:999px;
    color:#8A5B45;
    background:#FCEBE2;
    border:0;
  }
  /* 推荐角标：珊瑚橙实色胶囊 */
  .chip.rec-chip{
    left:8px; top:8px;
    font-size:11px; font-weight:600; letter-spacing:.02em; line-height:1;
    padding:4px 10px;
    color:#fff;
    background:#f54fa1;
    border:0;
    box-shadow:none;
  }
  .meta{ padding:9px 4px 0; }
  .meta h3{
    margin:0; font-size:14px; font-weight:600; line-height:1.45;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    color:#2E211B;
  }
  .tags{ display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
  .tag{
    --tag-h: 235;
    font-size:11px; line-height:1.6;
    padding:2px 9px; border-radius:999px;
    color:hsl(var(--tag-h), 52%, 34%);
    background:hsl(var(--tag-h), 78%, 94%);
    border:0;
    transition:background .18s;
  }
  .card:hover .tag{ background:hsl(var(--tag-h), 78%, 87%); }

  /* ───────── 分页（适配迅睿默认分页配置 config/page/pc|mobile/page.php） ───────── */
  .pager{
    display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
    margin:30px 0 0; padding:0 0 4px;
  }
  .pager a{ display:inline-flex; text-decoration:none; }
  /* 桌面：上一页 / 下一页（div.infinite-scroll-button） */
  .pager .infinite-scroll-button{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    width:170px; height:44px; padding:0 24px;
    border-radius:10px; font-size:14px; font-weight:500;
    color:var(--text-2);
    border:1px solid var(--line);
    background:#fff;
    box-shadow:none;
    transition:background .18s, color .18s, border-color .18s;
  }
  .pager .infinite-scroll-button:hover{
    color:#8A5B45; border-color:#F5D8C8; background:#FCEBE4;
  }
  .pager > a:first-child:not(:last-child) .infinite-scroll-button::before{
    content:""; width:7px; height:7px; border-radius:1px;
    border-left:2px solid currentColor; border-top:2px solid currentColor;
    transform:rotate(-45deg);
  }
  .pager > a:last-child:not(:first-child) .infinite-scroll-button::after{
    content:""; width:7px; height:7px; border-radius:1px;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform:rotate(-45deg);
  }
  /* 手机：默认配置输出 ul.pagination */
  .pager ul.pagination{
    display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
    gap:8px; list-style:none; margin:0; padding:0;
  }
  .pager ul.pagination li a{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:36px; height:36px; padding:0 10px;
    border-radius:999px; font-size:13px; font-weight:500;
    color:var(--text-2);
    border:1px solid var(--line);
    background:#fff;
    transition:background .18s, color .18s, border-color .18s;
  }
  .pager ul.pagination li a:hover{
    color:#8A5B45; border-color:#F5D8C8; background:#FCEBE4;
  }
  .pager ul.pagination li.active a{
    color:#fff; border-color:transparent;
    background:var(--violet);
  }
  .pg{
    min-width:116px; height:42px; padding:0 20px;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    border-radius:999px; font-size:13.5px; font-weight:500;
    color:var(--text-2);
    border:1px solid var(--line);
    background:#fff;
    transition:background .18s, color .18s, border-color .18s;
  }
  .pg:hover:not(:disabled){ color:#8A5B45; border-color:#F5D8C8; background:#FCEBE4; }
  .pg:disabled{ opacity:.4; cursor:not-allowed; }
  .pg svg{ width:14px; height:14px; }

  /* ───────── 底部 ───────── */
  .footer{
    margin-top:44px;
    border-top:1px solid var(--line);
    background:transparent;
  }
  .footer-bottom{
    padding:22px 0 28px;
    display:flex; align-items:center; justify-content:center;
    font-size:12px; color:var(--text-3); letter-spacing:.02em;
    text-align:center;
  }

  /* ───────── 回到顶部 ───────── */
  .to-top{
    position:fixed; right:18px; bottom:22px; z-index:60;
    width:44px; height:44px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    padding:0; margin:0; line-height:0;
    -webkit-appearance:none; appearance:none;
    -webkit-tap-highlight-color:transparent;
    background:#fff; color:#1877F2;
    border:1px solid #1877F2;
    box-shadow:0 8px 20px -12px rgba(24,119,242,.45);
    opacity:0; visibility:hidden; transform:translateY(10px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease, background .18s ease;
  }
  .to-top.show{ opacity:1; visibility:visible; transform:none; }
  .to-top:hover{ background:#EAF3FF; border-color:#1877F2; }
  .to-top svg{ display:block; width:23px; height:23px; }

  /* ───────── 深色模式切换按钮（位于返回顶部上方） ───────── */
  .theme-toggle{
    position:fixed; left:18px; bottom:22px; z-index:60;
    width:44px; height:44px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    padding:0; margin:0; line-height:0;
    -webkit-appearance:none; appearance:none;
    -webkit-tap-highlight-color:transparent;
    background:#fff; color:#1877F2;
    border:1px solid #1877F2;
    box-shadow:0 8px 20px -12px rgba(24,119,242,.45);
    transition:background .18s ease, border-color .18s ease, color .18s ease;
  }
  .theme-toggle:hover{ background:#EAF3FF; border-color:#1877F2; }
  .theme-toggle svg{ display:block; width:23px; height:23px; }
  .theme-toggle .ico-sun{ display:none; }
  html[data-theme="dark"] .theme-toggle .ico-sun{ display:block; }
  html[data-theme="dark"] .theme-toggle .ico-moon{ display:none; }
  html[data-theme="dark"] .theme-toggle{ background:var(--surface-2); border-color:var(--line); color:var(--gold); box-shadow:0 10px 22px -12px rgba(0,0,0,.8); }
  html[data-theme="dark"] .theme-toggle:hover{ background:#33261F; border-color:#4A3A31; }

  /* ───────── 响应式 ───────── */
  @media (max-width:1080px){
    .grid{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; }
    .slide{ padding:14px 20px; gap:0; }
    .post-inner{ max-width:100%; }
  }

  @media (max-width:900px){
    .slide{ grid-template-columns:1fr; gap:0; padding:13px 18px; }
    .slide h1{ margin-top:0; }
  }

  @media (max-width:719px){
    .wrap{ width:calc(100% - 24px); }
    .topbar-inner{ height:56px; gap:10px; }
    .brand{ gap:8px; }
    .brand-mark{ width:36px; height:34px; border-radius:10px; padding:2px; }
    .brand-name{ font-size:17px; letter-spacing:.01em; }
    .brand-name em{ display:none; }
    .search{ height:38px; padding:0 12px; gap:8px; }
    /* ≥16px 才能避免 iOS 聚焦输入框时自动放大页面 */
    .search input{ font-size:16px; }
    .search input::placeholder{ font-size:12.5px; }
    .search-btn{ height:38px; padding:0 14px; font-size:13px; }

    .hero{ padding:0; }
    .slide{ padding:13px 16px; border-radius:0; min-height:0; }
    .slide h1{ line-height:1.6; }

    .sec-head{ margin:10px 0 10px; }
    .sec-head h2{ font-size:17px; }
    .sec-head h2 span{ height:16px; }
    .sec-head p{ font-size:12px; }

    .cat-row{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px; }
    .cat{ height:36px; padding:0 6px; font-size:12.5px; }
    .cat i{ font-size:10px; padding:1px 5px; }

    .grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
    .card{ padding:5px 5px 9px; border-radius:14px; }
    .thumb{ border-radius:10px; }
    .meta{ padding:8px 3px 0; }
    .meta h3{ font-size:13.5px; }
    .tags{ gap:5px; margin-top:6px; }
    .tag{ font-size:11px; padding:2px 8px; line-height:1.7; }
    .chip{ font-size:10.5px; padding:3px 8px; }
    .chip.rec-chip{ font-size:15px; padding:3px 8px; left:6px; top:6px; }

    .pager{ gap:10px; margin-top:24px; }
    .pager > a{ flex:1 1 0; max-width:none; }
    .pager .infinite-scroll-button{ width:100%; min-width:0; height:44px; padding:0 12px; font-size:14px; border-radius:10px; }
    .pager ul.pagination{ gap:6px; }
    .pager ul.pagination li a{ min-width:32px; height:32px; padding:0 8px; font-size:12px; }
    .pg{ min-width:0; flex:1 1 0; max-width:150px; height:38px; padding:0 12px; font-size:12.5px; }

    .footer{ margin-top:40px; }
    .footer-bottom{ font-size:11.5px; padding:20px 0 24px; }

    .to-top{ right:calc(14px + env(safe-area-inset-right, 0px)); bottom:calc(16px + env(safe-area-inset-bottom, 0px)); width:40px; height:40px; }
    .to-top svg{ width:21px; height:21px; }
    .theme-toggle{ left:calc(14px + env(safe-area-inset-left, 0px)); bottom:calc(16px + env(safe-area-inset-bottom, 0px)); width:40px; height:40px; }
    .theme-toggle svg{ width:21px; height:21px; }

    .readbar{ top:56px; }
    .post{ padding-top:10px; }
    .post-head{ margin-top:4px; }
    .post-head-row{ min-height:32px; }
    .back-btn{ height:28px; font-size:14px; }
    .back-btn svg{ width:16px; height:16px; }
    .post h1{ font-size:22px; padding-inline:78px; }
    .figures{ margin-top:24px; gap:14px; }
    .fig figcaption{ padding:9px 12px; font-size:11px; }
    .video{ margin-top:28px; }
    .mt-video{ max-height:58vh; border-radius:12px; }
    .post-nav{ margin-top:30px; grid-template-columns:1fr; gap:10px; }
    .more{ margin-top:34px; }
  }

  @media (max-width:360px){
    .brand-name{ display:none; }
  }

  @media (prefers-reduced-motion:reduce){
    *{ animation-duration:.001s !important; transition-duration:.001s !important; }
  }

  /* ══════════════ 内容页（原 show.html 内联样式） ══════════════ */
  /* ── 内容页专用样式（公共样式见 /static/meinv/css/style.css） ── */
  .readbar{
    position:fixed; left:0; top:60px; z-index:60;
    height:3px; width:0;
    background:linear-gradient(90deg, #F5A27E, var(--violet));
    transition:width .12s linear;
    border-radius:0 3px 3px 0;
  }

  .post{ padding:14px 0 0; }
  .post-inner{ max-width:880px; margin-inline:auto; }
  .post-head{ margin-top:4px; text-align:center; position:relative; }

  /* 标题行：返回按钮与标题同一行 */
  .post-head-row{
    position:relative;
    display:flex; align-items:center; justify-content:center;
    min-height:38px;
  }

  /* 返回上一页（纯文字箭头链接） */
  .back-btn{
    position:absolute; left:0; top:50%; transform:translateY(-50%);
    display:inline-flex; align-items:center; gap:4px;
    height:32px; padding:0;
    font-size:15px; font-weight:500; line-height:1;
    color:#000000; background:transparent; border:0;
    transition:opacity .15s;
  }
  .back-btn:hover{ opacity:.72; }
  .back-btn:active{ opacity:.5; }
  .back-btn svg{ width:18px; height:18px; flex:none; }

  .post h1{
    margin:0;
    padding-inline:110px;
    font-size:clamp(23px, 4vw, 36px);
    line-height:1.32; font-weight:800; letter-spacing:.01em;
    color:var(--text);
  }
  .post h1 .grad{ color:var(--violet); }

  .post-tags{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:20px; }
  .post-tags a{
    display:inline-flex; align-items:center; gap:7px;
    font-size:12.5px; padding:5px 14px; border-radius:999px;
    color:hsl(var(--tag-h, 235), 52%, 34%);
    background:hsl(var(--tag-h, 235), 78%, 94%);
    transition:background .18s;
  }
  .post-tags a::before{
    content:""; width:5px; height:5px; border-radius:50%;
    background:hsl(var(--tag-h, 235), 62%, 58%); flex:none;
  }
  .post-tags a:hover{ background:hsl(var(--tag-h, 235), 78%, 87%); }

  /* 图片（高度自适应） */
  .figures{ margin-top:30px; display:grid; gap:16px; }
  .fig{
    margin:0; border-radius:14px; overflow:hidden;
    border:1px solid #F7E9E1; background:#fff;
  }
  .fig-media{ overflow:hidden; background:#F7EEE9; }
  .fig-media img{
    width:100%; height:auto; display:block;
    transition:transform .5s ease;
  }
  .fig:hover .fig-media img{ transform:scale(1.02); }
  .fig figcaption{
    display:flex; align-items:center; gap:9px;
    padding:10px 14px; font-size:12px; color:var(--text-3);
    border-top:1px solid #F7E9E1;
  }
  .fig figcaption b{ font-weight:600; color:var(--violet); font-size:11px; }

  /* 视频 */
  .video{ margin:34px 0 0; }
  /* 播放器：限制最大高度，竖屏超长视频不会占满整屏，内容保持完整（黑边填充） */
  .mt-video{
    display:block;
    width:100%;
    max-height:78vh;
    background:#000;
    border-radius:14px;
    object-fit:contain;
  }

  /* 上一篇 / 下一篇 */
  .post-nav{ margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .pn{
    display:flex; align-items:center; gap:12px;
    padding:12px; border-radius:14px;
    border:1px solid #F7E9E1; background:#fff;
    transition:transform .2s, box-shadow .2s;
  }
  .pn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px -14px rgba(180,130,100,.45);
  }
  .pn img{
    width:56px; height:56px; border-radius:10px; object-fit:cover;
    flex:none; background:#F7EEE9;
  }
  .pn-txt{ min-width:0; flex:1 1 auto; }
  .pn-label{
    display:flex; align-items:center; gap:6px;
    font-size:11px; color:var(--text-3);
  }
  .pn-label svg{ width:11px; height:11px; }
  .pn-title{
    margin-top:6px; font-size:14px; font-weight:600; color:var(--text);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .pn.next{ flex-direction:row-reverse; text-align:right; }
  .pn.next .pn-label{ justify-content:flex-end; }

  .more{ margin-top:44px; }

  /* ══════════════ 访问密码页（原内联样式，已用 .pwd-body 作用域隔离） ══════════════ */
  .pwd-body{
    /* 暖奶油 + 橙色系 */
    --bg:#FDEEE1;
    --surface:#FFFFFF;
    --surface-2:#FDF5EC;
    --line:#F2E4D6;
    --line-strong:#EAD9C8;
    --text:#2B1B12;
    --text-2:#5C4636;
    --text-3:#8E7A6A;
    --violet:#EE7E62;      /* 主色：珊瑚橙 */
    --indigo:#E06E52;
    --cyan:#F5A623;        /* 辅助：橙 */
    --coral:#D9532F;       /* 错误色 */
    --gold:#F5A623;
    --pink:#EE7E62;
    --radius-l:24px;
    --shadow:0 24px 48px -28px rgba(163,109,63,.45);
    margin:0; min-height:100vh;
    background:var(--bg); color:var(--text);
    font-family:"Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden; position:relative;
    display:flex; flex-direction:column;
  }

  :focus-visible{ outline:2px solid var(--violet); outline-offset:3px; }

  .pwd-body .stage{
    flex:1 1 auto;
    display:flex; align-items:center; justify-content:center;
    padding:clamp(28px, 6vh, 64px) 20px clamp(24px, 5vh, 48px);
  }

  .pwd-body .card{
    position:relative;
    width:min(460px, 100%);
    /* 视觉上整体上移：flex 居中对齐时，下外边距会使卡片上移约一半距离 */
    margin-bottom:clamp(40px, 9vh, 80px);
    padding:clamp(26px, 5vw, 40px);
    border-radius:var(--radius-l);
    border:1px solid #F7EADF;
    background:var(--surface);
    box-shadow:var(--shadow);
    overflow:hidden;
    animation:pwd-rise .5s cubic-bezier(.22,.8,.3,1) both;
  }

  .pwd-body .card:hover{ transform:none; box-shadow:var(--shadow); }

  @keyframes pwd-rise{
    from{ opacity:0; transform:translateY(12px); }
    to{ opacity:1; transform:none; }
  }

  .pwd-body .badge{
    position:relative; z-index:1;
    width:100px; height:100px;
    display:grid; place-items:center;
    margin-inline:auto;
    background:none;
    border:0;
    box-shadow:none;
  }

  .pwd-body .badge svg{ width:44px; height:44px; }

  .pwd-body .badge img{ display:block; width:100%; height:100%; object-fit:contain; border:0; border-radius:0; }

  .pwd-body h1{
    position:relative; z-index:1;
    margin:20px 0 0; font-size:clamp(23px, 5.6vw, 29px);
    font-weight:700; letter-spacing:.01em; line-height:1.3;
    text-align:center; color:var(--text);
  }

  .pwd-body .sub{
    position:relative; z-index:1;
    margin:10px 0 0; font-size:13.5px; line-height:1.75; color:var(--text-3);
    text-align:center;
  }

  .pwd-body .sub b{ color:var(--text-2); font-weight:600; }

  .pwd-body form{ position:relative; z-index:1; margin-top:26px; }

  .pwd-body .field{
    display:flex; align-items:center; gap:11px;
    height:54px; padding:0 8px 0 15px;
    border-radius:12px;
    background:var(--surface-2);
    border:1px solid #F1E1D2;
    transition:border-color .2s, box-shadow .2s, background .2s;
  }

  .pwd-body .field:focus-within{
    border-color:#F2A583;
    background:#FFFBF6;
    box-shadow:0 0 0 4px rgba(238,126,98,.14);
  }

  .pwd-body .field .ico{ color:#A9927F; display:grid; place-items:center; transition:color .2s; }

  .pwd-body .field:focus-within .ico{ color:var(--violet); }

  .pwd-body .field .ico svg{ width:17px; height:17px; }

  .pwd-body .field input{
    flex:1 1 auto; min-width:0; height:100%;
    background:none; border:0; outline:none;
    color:var(--text); font:inherit; font-size:16px;
    letter-spacing:.02em;
  }

  .pwd-body .field input::placeholder{ color:#B29C89; letter-spacing:0; }

  .pwd-body .field input:-webkit-autofill{
    -webkit-text-fill-color:var(--text);
    -webkit-box-shadow:0 0 0 40px #FDF5EC inset;
  }

  .pwd-body .eye{
    flex:none; width:38px; height:38px; border-radius:9px;
    display:grid; place-items:center; color:#A9927F;
    transition:color .2s, background .2s;
  }

  .pwd-body .eye:hover{ color:var(--text); background:rgba(238,126,98,.10); }

  .pwd-body .eye svg{ width:18px; height:18px; }

  .pwd-body .eye .slash{ display:none; }

  .pwd-body .eye.is-on .slash{ display:inline; }

  .pwd-body .field.is-err{
    border-color:#E9724F;
    box-shadow:0 0 0 4px rgba(217,83,47,.12);
    animation:shake .38s cubic-bezier(.36,.07,.19,.97);
  }

  .pwd-body .field.is-err .ico{ color:var(--coral); }

  @keyframes shake{
    10%,90%{ transform:translateX(-2px); }
    30%,70%{ transform:translateX(4px); }
    50%{ transform:translateX(-4px); }
  }

  .pwd-body .msg{
    margin:10px 2px 0; min-height:17px;
    font-size:12.5px; line-height:1.5; color:var(--coral);
    display:flex; align-items:center; gap:6px;
    opacity:0; transform:translateY(-3px); transition:opacity .2s, transform .2s;
  }

  .pwd-body .msg.show{ opacity:1; transform:none; }

  .pwd-body .msg svg{ width:13px; height:13px; flex:none; }

  .pwd-body .cta{
    position:relative;
    display:flex; align-items:center; justify-content:center; gap:9px;
    width:100%; height:54px; margin-top:10px;
    border-radius:12px;
    font-size:15.5px; font-weight:700; letter-spacing:.04em; color:#fff;
    background:var(--violet);
    box-shadow:0 14px 26px -14px rgba(238,126,98,.85);
    transition:background .18s, box-shadow .18s, transform .18s;
  }

  .pwd-body .cta:hover:not(:disabled){
    background:var(--indigo);
    box-shadow:0 18px 30px -14px rgba(224,110,82,.9);
  }

  .pwd-body .cta:active:not(:disabled){ transform:translateY(1px); }

  .pwd-body .cta:disabled{ cursor:progress; opacity:.85; }

  .pwd-body .cta svg{ width:16px; height:16px; }

  .pwd-body .cta .arrow{ transition:transform .22s; }

  .pwd-body .cta:hover:not(:disabled) .arrow{ transform:translateX(3px); }

  .pwd-body .spin{
    display:none; width:17px; height:17px; border-radius:50%;
    border:2px solid rgba(255,255,255,.35); border-top-color:#fff;
    animation:spin .7s linear infinite;
  }

  @keyframes spin{ to{ transform:rotate(360deg); } }

  .pwd-body .cta.is-loading .spin{ display:block; }

  .pwd-body .cta.is-loading .arrow{ display:none; }

  .pwd-body .hint{
    margin:14px 0 0; text-align:center;
    font-size:11.5px; letter-spacing:.04em; color:#B29C89;
  }

  .pwd-body .hint kbd{
    font:inherit; font-size:10.5px; padding:2px 6px; border-radius:6px;
    border:1px solid var(--line-strong); background:#FFF8F1; color:var(--text-2);
  }

  .pwd-body .legal{
    padding:0 0 26px; text-align:center;
    font-size:11.5px; letter-spacing:.03em; color:#A9988A;
  }

  @media (max-width:640px){
    .pwd-body .stage{ align-items:center; padding:clamp(20px, 4vh, 34px) 16px; }
    .pwd-body .card{ width:100%; border-radius:22px; }
    .pwd-body .badge{ width:88px; height:88px; }
    .pwd-body .badge svg{ width:38px; height:38px; }
    .pwd-body h1{ margin-top:18px; }
    .pwd-body .sub{ font-size:13px; margin-top:8px; }
    .pwd-body form{ margin-top:22px; }
    .pwd-body .field{ height:52px; border-radius:12px; }
    .pwd-body .cta{ height:52px; border-radius:12px; font-size:15px; }
    .pwd-body .hint{ display:none; }
  }

  @media (prefers-reduced-motion:reduce){
    .pwd-body *{ animation-duration:.001s !important; animation-iteration-count:1 !important; transition-duration:.001s !important; }
  }

  /* ══════════════ 深色模式 ══════════════ */
  html[data-theme="dark"]{
    --bg:#141110;
    --bg-2:#191514;
    --surface:#1E1917;
    --surface-2:#241E1B;
    --surface-3:#2B2421;
    --line:#332B27;
    --line-strong:#463C37;
    --text:#EFE6E0;
    --text-2:#BBACA2;
    --text-3:#8E8079;
    --violet:#FF9268;
    --indigo:#FF7D50;
    --cyan:#C6AEF2;
    --coral:#FF6B4A;
    --gold:#FFB63D;
    --pink:#F0A9CF;
    --shadow:0 12px 26px -20px rgba(0,0,0,.85);
    color-scheme:dark;
  }

  /* 顶栏 / 搜索 */
  html[data-theme="dark"] .topbar{ background:rgba(24,20,18,.92); }
  html[data-theme="dark"] .brand-mark{ background:var(--surface-2); box-shadow:none; }
  html[data-theme="dark"] .search{ background:var(--surface-2); border-color:var(--line); }
  html[data-theme="dark"] .search:focus-within{ border-color:#6E4632; box-shadow:0 0 0 3px rgba(255,146,104,.14); }
  html[data-theme="dark"] .search svg,
  html[data-theme="dark"] .search input::placeholder{ color:var(--text-3); }

  /* 分类胶囊 */
  html[data-theme="dark"] .cat{ background:#2A2220; }
  html[data-theme="dark"] .cat:hover{ background:#362B27; }

  /* 卡片 */
  html[data-theme="dark"] .card{ border-color:var(--line); box-shadow:0 2px 10px rgba(0,0,0,.35); }
  html[data-theme="dark"] .card:hover{ box-shadow:0 10px 24px -14px rgba(0,0,0,.75); }
  html[data-theme="dark"] .thumb{ background:var(--surface-3); }
  html[data-theme="dark"] .meta h3{ color:var(--text); }
  html[data-theme="dark"] .chip{ color:#F6EDE7; background:rgba(18,14,12,.66); }
  html[data-theme="dark"] .chip.rec-chip{ color:#fff; background:#E63E8C; box-shadow:0 2px 8px rgba(230,62,140,.4); }

  /* 标签：保留色相，明度反转 */
  html[data-theme="dark"] .tag{ color:hsl(var(--tag-h), 72%, 79%); background:hsl(var(--tag-h), 40%, 19%); }
  html[data-theme="dark"] .card:hover .tag{ background:hsl(var(--tag-h), 40%, 25%); }

  /* 分区标题竖条 */
  html[data-theme="dark"] .sec-head h2 span{ background:var(--line-strong); }

  /* 分页 */
  html[data-theme="dark"] .pager .infinite-scroll-button{ background:var(--surface-2); border-color:var(--line); }
  html[data-theme="dark"] .pager .infinite-scroll-button:hover{ color:var(--violet); background:#33261F; border-color:#4A3A31; }
  html[data-theme="dark"] .pg{ background:var(--surface-2); border-color:var(--line); }
  html[data-theme="dark"] .pg:hover:not(:disabled){ color:var(--violet); background:#33261F; border-color:#4A3A31; }

  /* 返回顶部 */
  html[data-theme="dark"] .to-top{ background:var(--surface-2); border-color:var(--line); color:var(--violet); box-shadow:0 10px 22px -12px rgba(0,0,0,.8); }
  html[data-theme="dark"] .to-top:hover{ background:#33261F; border-color:#4A3A31; }

  /* 详情页 */
  html[data-theme="dark"] .back-btn{ color:#F2E9E3; }
  html[data-theme="dark"] .post-tags a{ color:hsl(var(--tag-h, 235), 72%, 79%); background:hsl(var(--tag-h, 235), 40%, 19%); }
  html[data-theme="dark"] .post-tags a:hover{ background:hsl(var(--tag-h, 235), 40%, 25%); }
  html[data-theme="dark"] .fig,
  html[data-theme="dark"] .pn{ background:var(--surface); border-color:var(--line); }
  html[data-theme="dark"] .fig-media,
  html[data-theme="dark"] .pn img{ background:var(--surface-3); }
  html[data-theme="dark"] .fig figcaption{ border-top-color:var(--line); }
  html[data-theme="dark"] .pn:hover{ box-shadow:0 10px 24px -14px rgba(0,0,0,.75); }

  /* 访问密码页 */
  html[data-theme="dark"] .pwd-body{
    --bg:#141110;
    --surface:#1E1917;
    --surface-2:#241E1B;
    --line:#332B27;
    --line-strong:#463C37;
    --text:#EFE6E0;
    --text-2:#BBACA2;
    --text-3:#8E8079;
  }
  html[data-theme="dark"] .pwd-body .field{ border-color:var(--line); }
  html[data-theme="dark"] .pwd-body .field:focus-within{ border-color:#7A4A35; background:#2A211D; }
  html[data-theme="dark"] .pwd-body .field .ico,
  html[data-theme="dark"] .pwd-body .eye{ color:var(--text-3); }
  html[data-theme="dark"] .pwd-body .field input:-webkit-autofill{
    -webkit-box-shadow:0 0 0 40px var(--surface-2) inset;
  }
