/*
Theme Name: 逆战未来百科 (NZWL Core)
Version: 0.7.0 — Studio Canvas liquid glass (ported from reference)
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: nzwl-core
*/

/* ===== Design tokens (from reference web/src/styles/tokens.css) ===== */
:root{
  --ink:#14171c;
  --ink-soft:#3a404a;
  --ink-mute:#6a7280;
  --ink-faint:#9aa3af;

  --paper:#f3f2ef;
  --paper-deep:#e9e7e2;
  --snow:#fffcf8;
  --snow-glass:rgba(255,252,248,.72);
  --snow-glass-strong:rgba(255,252,248,.86);
  --glass-border:rgba(255,255,255,.72);
  --glass-highlight:rgba(255,255,255,.88);
  --glass-refract-cool:rgba(148,176,210,.16);
  --glass-refract-warm:rgba(214,190,150,.14);
  --glass-blur:14px;
  --glass-saturate:1.12;
  --line:rgba(20,23,28,.08);

  --accent:#243041;
  --accent-hover:#1a2330;
  --accent-soft:rgba(36,48,65,.08);
  --cool-glow:rgba(132,156,186,.14);
  --warm-glow:rgba(196,164,118,.16);

  --ok:#2f7d57; --warn:#b7791f; --danger:#c2414b;

  --radius-sm:12px; --radius-md:16px; --radius-lg:22px; --radius-pill:999px;

  --shadow-float:0 1px 2px rgba(20,23,28,.04),0 10px 28px rgba(20,23,28,.045);
  --shadow-lift:0 4px 12px rgba(20,23,28,.05),0 18px 40px rgba(20,23,28,.06);
  --shadow-glass:
    0 1px 0 var(--glass-highlight) inset,
    0 -1px 0 rgba(20,23,28,.035) inset,
    1px 0 0 var(--glass-refract-cool) inset,
    -1px 0 0 var(--glass-refract-warm) inset,
    0 1px 2px rgba(20,23,28,.03),
    0 14px 34px rgba(20,23,28,.06);

  --ease-soft:cubic-bezier(.33,1,.68,1);
  --nav-h:68px;
  --font-sans:"Plus Jakarta Sans","Noto Sans SC","PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;

  /* aliases used by existing markup */
  --nzwl-accent:var(--accent);
  --nzwl-accent-hover:var(--accent-hover);
  --nzwl-accent2:#334155;
  --nzwl-accent-soft:var(--accent-soft);
  --nzwl-radius:var(--radius-md);
  --nzwl-radius-sm:var(--radius-sm);
  --nzwl-bg:var(--paper);
  --nzwl-card:var(--snow-glass);
  --nzwl-card-solid:var(--snow-glass-strong);
  --nzwl-text:var(--ink);
  --nzwl-muted:var(--ink-mute);
  --nzwl-border:var(--glass-border);
  --nzwl-border-soft:var(--line);
  --nzwl-shadow:var(--shadow-float);
  --nzwl-shadow-hover:var(--shadow-lift);
  --nzwl-glass-blur:var(--glass-blur);
  --nzwl-font:var(--font-sans);

  /* grain — same technique as reference */
  --grain:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}

*{box-sizing:border-box}
html{background:#efece7;scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden;
  color:var(--ink);font-family:var(--font-sans);line-height:1.65;
  letter-spacing:-.011em;-webkit-font-smoothing:antialiased;
  /* Soft mesh + grain — EXACT recipe from reference base.css */
  background-color:#e6e0d6;
  background-image:
    var(--grain),
    radial-gradient(ellipse 70% 54% at 4% -8%, rgba(98,136,186,.34), transparent 62%),
    radial-gradient(ellipse 60% 48% at 98% -2%, rgba(214,164,96,.30), transparent 60%),
    radial-gradient(ellipse 48% 42% at 82% 104%, rgba(124,148,184,.18), transparent 64%),
    radial-gradient(ellipse 40% 34% at 12% 96%, rgba(186,150,132,.14), transparent 60%),
    linear-gradient(168deg, #f4efe6 0%, #ebe3d7 40%, #e2dbd1 100%);
  background-size:140px 140px, auto, auto, auto, auto, auto;
  background-attachment:scroll;
  position:relative;
}
/* Ambient wash on top of page (like .studio::before) */
body::before{
  content:"";position:fixed;inset:0 0 auto 0;height:min(62vh,600px);
  z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 76% 88% at 14% -8%, rgba(112,150,198,.28), transparent 66%),
    radial-gradient(ellipse 62% 78% at 92% 0%, rgba(224,180,108,.22), transparent 64%);
}
body > *{position:relative;z-index:1}
a{color:var(--accent);text-decoration:none;transition:color 160ms var(--ease-soft)}
a:hover{color:var(--accent-hover)}
img{max-width:100%;height:auto}
::selection{color:var(--ink);background:rgba(36,48,65,.12)}

/*
  Liquid glass WITHOUT heavy per-card backdrop-filter
  (reference surface-glass): translucent gradient + specular rim + sheen
*/
.nzwl-glass,
.nzwl-card,
.nzwl-side-card,
.nzwl-pcard,
.nzwl-catcard,
.nzwl-lrow,
.nzwl-ld,
.nzwl-share-form,
.nzwl-share-item,
.nzwl-gentry-chip,
.nzwl-sc-card,
.nzwl-sc-tip,
.nzwl-sc-fold{
  position:relative;isolation:isolate;overflow:hidden;
  border:1px solid rgba(255,255,255,.82);
  border-radius:var(--radius-md);
  background:
    linear-gradient(128deg, rgba(255,255,255,.66) 0%, rgba(255,255,255,.22) 38%, rgba(255,250,244,.42) 100%),
    linear-gradient(38deg, rgba(148,176,210,.14), transparent 50%),
    linear-gradient(210deg, rgba(214,190,150,.10), transparent 44%);
  box-shadow:var(--shadow-glass);
}
.nzwl-glass::before,
.nzwl-card::before,
.nzwl-side-card::before,
.nzwl-pcard::before,
.nzwl-catcard::before,
.nzwl-ld::before,
.nzwl-share-form::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:
    radial-gradient(120% 72% at 12% -14%, rgba(255,255,255,.88), transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,.06) 34%, transparent 56%);
}
.nzwl-glass::after,
.nzwl-card::after,
.nzwl-side-card::after,
.nzwl-ld::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:.85;
  background:
    linear-gradient(90deg, transparent 10%, rgba(255,255,255,.55) 50%, transparent 90%),
    linear-gradient(118deg, transparent 36%, rgba(255,255,255,.28) 48%, transparent 58%);
  background-size:100% 1px, 100% 100%;
  background-position:center 0, center;
  background-repeat:no-repeat;
}
.nzwl-card > *,
.nzwl-side-card > *,
.nzwl-pcard > *,
.nzwl-catcard > *,
.nzwl-ld > *,
.nzwl-share-form > *,
.nzwl-share-item > *,
.nzwl-glass > *{position:relative;z-index:1}

.nzwl-container{max-width:1200px;margin:0 auto;padding:0 24px}
.nzwl-content-wrap{padding:28px 0 48px}

/* ===== Nav chrome — only place with real backdrop-filter ===== */
.nzwl-site-header{
  position:sticky;top:0;z-index:50;
  min-height:var(--nav-h);
  display:flex;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.45);
  background:linear-gradient(180deg, rgba(255,255,255,.40) 0%, rgba(255,252,248,.28) 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset, 0 10px 28px rgba(20,23,28,.04);
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));
}
.nzwl-header-inner{
  display:grid;
  grid-template-columns:minmax(140px,auto) minmax(0,1fr) minmax(160px,auto);
  align-items:center;gap:20px;width:100%;min-height:var(--nav-h);
}
.nzwl-brand{
  display:inline-flex;align-items:center;gap:10px;min-width:0;
  font-weight:650;font-size:16px;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;
}
.nzwl-logo,.nzwl-logo-img{height:36px;width:auto;display:block;border-radius:10px}
.nzwl-nav{justify-self:center}
.nzwl-nav ul,.nzwl-nav .menu{
  display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:4px;
  gap:2px;align-items:center;
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,252,248,.35));
  border:1px solid rgba(255,255,255,.7);
  border-radius:var(--radius-pill);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 8px 20px rgba(20,23,28,.04);
}
.nzwl-nav ul a{
  color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:550;
  padding:9px 18px;border-radius:var(--radius-pill);transition:all 160ms var(--ease-soft);display:block;
}
.nzwl-nav ul a:hover,.nzwl-nav .current-menu-item>a{
  color:var(--ink);background:rgba(255,255,255,.82);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 2px 8px rgba(20,23,28,.05);
}
.nzwl-header-tools{justify-self:end;display:flex;align-items:center;gap:10px}
.nzwl-search-form{
  display:flex;align-items:center;padding:4px 6px 4px 14px;border-radius:var(--radius-pill);
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,252,248,.35));
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
  transition:box-shadow 160ms var(--ease-soft);
}
.nzwl-search-form:focus-within{
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 4px 16px rgba(20,23,28,.06);
}
.nzwl-search-input{
  border:0;background:transparent;outline:none;font-size:13.5px;width:120px;
  color:var(--ink);padding:4px 0;
}
.nzwl-search-input::placeholder{color:var(--ink-faint)}
.nzwl-search-btn{
  width:32px;height:32px;border:0;border-radius:50%;cursor:pointer;
  background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px rgba(20,23,28,.16);transition:background 160ms var(--ease-soft);
}
.nzwl-search-btn:hover{background:var(--accent-hover)}
.nzwl-dark-toggle{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  font-size:15px;text-decoration:none;color:var(--ink-mute);border-radius:50%;
  background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.7);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;transition:all 160ms var(--ease-soft);
}
.nzwl-dark-toggle:hover{background:rgba(255,255,255,.85);color:var(--ink)}
.nzwl-site-header.is-wide .nzwl-container{max-width:none}

/* Content cards */
.nzwl-card{padding:22px 24px;margin-bottom:18px;transition:box-shadow 180ms var(--ease-soft),border-color 180ms var(--ease-soft)}
.nzwl-card:hover{
  border-color:rgba(255,255,255,.85);
  box-shadow:
    0 1px 0 rgba(255,255,255,.92) inset,
    0 -1px 0 rgba(20,23,28,.03) inset,
    1px 0 0 rgba(148,176,210,.18) inset,
    -1px 0 0 rgba(214,190,150,.14) inset,
    0 12px 32px rgba(20,23,28,.07);
}
.nzwl-post-title{margin:0 0 10px;font-size:18px;font-weight:650}
.nzwl-post-title a{color:var(--ink)}
.nzwl-post-title a:hover{color:var(--accent)}
.nzwl-page-title,.nzwl-single-title{font-size:28px;margin:0 0 8px;font-weight:650;letter-spacing:-.02em;line-height:1.3}
.nzwl-page-content,.nzwl-single-content{line-height:1.8;color:var(--ink-soft)}
.nzwl-single{padding:28px 30px}
.nzwl-single-content p{margin:0 0 1em}
.nzwl-single-content h2,.nzwl-single-content h3{margin:1.4em 0 .6em;font-weight:650}

/* Footer */
.nzwl-site-footer{
  margin-top:48px;padding:32px 0 28px;text-align:center;color:var(--ink-mute);
  border-top:1px solid rgba(255,255,255,.45);
  background:linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,252,248,.40));
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));
}
.nzwl-friendlinks{margin-bottom:12px;font-size:13px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.nzwl-friendlinks .nzwl-fl-label{font-weight:550;color:var(--ink-mute)}
.nzwl-friendlinks a{
  padding:5px 12px;border-radius:var(--radius-pill);
  background:rgba(255,252,248,.72);border:1px solid rgba(255,255,255,.72);
  color:var(--ink-mute);box-shadow:var(--shadow-glass);
}
.nzwl-friendlinks a:hover{color:var(--ink);border-color:rgba(255,255,255,.9)}
.nzwl-beian-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:12px;margin-bottom:8px}
.nzwl-beian-row a,.nzwl-beian a{color:var(--ink-faint)}
.nzwl-footer-copy{font-size:13px;margin:6px 0 0;color:var(--ink-faint)}

/* Dark */
html.nzwl-dark,html.nzwl-dark body{
  --ink:#e8ecf4; --ink-soft:#c5cddb; --ink-mute:#8b93a3; --ink-faint:#6a7280;
  --paper:#12151a; --paper-deep:#0e1116; --snow:#1a1f28;
  --snow-glass:rgba(26,31,40,.72); --snow-glass-strong:rgba(26,31,40,.86);
  --glass-border:rgba(255,255,255,.10); --glass-highlight:rgba(255,255,255,.12);
  --accent:#c5d0e0; --accent-hover:#e8ecf4; --accent-soft:rgba(197,208,224,.10);
  --nzwl-text:var(--ink); --nzwl-muted:var(--ink-mute); --nzwl-accent:var(--accent);
}
html.nzwl-dark body{
  background-color:#0e1116;
  background-image:
    var(--grain),
    radial-gradient(ellipse 70% 54% at 4% -8%, rgba(98,136,186,.22), transparent 62%),
    radial-gradient(ellipse 60% 48% at 98% -2%, rgba(214,164,96,.14), transparent 60%),
    linear-gradient(168deg, #12151a 0%, #0e1116 100%);
  background-size:140px 140px, auto, auto, auto;
}
html.nzwl-dark .nzwl-site-header{
  background:linear-gradient(180deg, rgba(30,36,48,.55) 0%, rgba(20,24,32,.42) 100%);
  border-bottom-color:rgba(255,255,255,.08);
}
html.nzwl-dark .nzwl-nav ul a{color:var(--ink-soft)}
html.nzwl-dark .nzwl-nav ul a:hover{background:rgba(255,255,255,.08);color:var(--ink)}
html.nzwl-dark .nzwl-search-form{background:rgba(30,36,48,.5);border-color:rgba(255,255,255,.1)}
html.nzwl-dark .nzwl-search-input{color:var(--ink)}
html.nzwl-dark .nzwl-search-btn{background:var(--ink);color:#111}
html.nzwl-dark .nzwl-page-content,html.nzwl-dark .nzwl-single-content{color:var(--ink-soft)}

/* Popup / float / video */
.nzwl-popup-overlay{
  position:fixed;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(20,23,28,.48);
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
}
.nzwl-popup-box{
  width:min(100%,480px);max-width:calc(100vw - 32px);position:relative;padding:0;border-radius:var(--radius-lg,22px);
  background:rgba(255,252,248,.93)!important;
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 18px 48px rgba(20,23,28,.20);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  overflow:hidden;
}
.nzwl-popup-close{
  position:absolute!important;top:12px!important;right:12px!important;left:auto!important;
  z-index:5;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(36,48,65,.08);border:0;border-radius:10px;
  font-size:22px;line-height:1;color:var(--ink,#14171c);cursor:pointer;padding:0;
}
.nzwl-popup-close:hover{background:rgba(36,48,65,.14)}
.nzwl-popup-content{padding:28px 26px 8px;padding-right:44px;color:var(--ink,#14171c)}
.nzwl-popup-content h1,.nzwl-popup-content h2,.nzwl-popup-content h3{color:var(--ink,#14171c);margin-top:0}
.nzwl-popup-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 26px 22px;gap:12px}
.nzwl-popup-foot label{font-size:13px;color:var(--ink-mute);display:flex;align-items:center;gap:6px}
.nzwl-popup-ok{background:var(--accent);color:#fff;border:0;border-radius:12px;padding:10px 22px;cursor:pointer;font-size:14px;font-weight:600;box-shadow:0 8px 18px rgba(20,23,28,.16)}
.nzwl-floatad{position:fixed;top:50%;transform:translateY(-50%);z-index:9990;max-width:150px}
.nzwl-floatad-left{left:14px}.nzwl-floatad-right{right:14px}
.nzwl-floatad img{width:100%;border-radius:14px;display:block;box-shadow:var(--shadow-lift)}
.nzwl-floatad-close{position:absolute;top:-9px;right:-9px;width:22px;height:22px;border-radius:50%;border:0;background:var(--accent);color:#fff;cursor:pointer;line-height:1}
@media(max-width:980px){.nzwl-floatad{display:none}}

.nzwl-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius-md);margin:18px 0;box-shadow:var(--shadow-float);background:#14171c;border:1px solid var(--line)}
.nzwl-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* Shortcodes */
.nzwl-sc{margin:16px 0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line)}
.nzwl-sc-title{padding:10px 16px;font-weight:650;font-size:15px;color:#fff}
.nzwl-sc-title.blue{background:var(--accent)}
.nzwl-sc-title.green{background:var(--ok)}
.nzwl-sc-title.yellow{background:var(--warn);color:var(--ink)}
.nzwl-sc-title.red{background:var(--danger)}
.nzwl-sc-title.purple{background:#531dab}
.nzwl-sc-body{padding:14px 16px}
.nzwl-sc-tip{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-sm);margin:16px 0}
.nzwl-sc-tip .ico{flex:0 0 28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;background:var(--accent)}
.nzwl-sc-tip.success .ico{background:var(--ok)}
.nzwl-sc-tip.warning .ico{background:var(--warn)}
.nzwl-sc-tip.danger .ico{background:var(--danger)}
.nzwl-sc-fold{margin:16px 0;border-radius:var(--radius-sm);overflow:hidden}
.nzwl-sc-fold summary{padding:12px 16px;cursor:pointer;font-weight:600;list-style:none}
.nzwl-sc-fold summary::-webkit-details-marker{display:none}
.nzwl-sc-fold summary::before{content:"▸ ";color:var(--ink-mute)}
.nzwl-sc-fold[open] summary::before{content:"▾ "}
.nzwl-sc-fold .nzwl-sc-fold-body{padding:0 16px 14px;border-top:1px solid var(--line)}
.nzwl-sc-hide{margin:16px 0;border-radius:var(--radius-sm);border:1px dashed var(--line);padding:14px 16px}
.nzwl-sc-hide-btn{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:9px 18px;cursor:pointer;font-size:13px;font-weight:600}
.nzwl-sc-hide-body{display:none;margin-top:12px}
.nzwl-sc-hide.is-open .nzwl-sc-hide-body{display:block}
.nzwl-sc-card{display:block;padding:16px 18px;border-radius:var(--radius-sm);margin:12px 0;text-decoration:none;color:inherit;transition:box-shadow 180ms var(--ease-soft)}
.nzwl-sc-card:hover{box-shadow:var(--shadow-lift);color:inherit}
.nzwl-sc-card .t{font-weight:650;font-size:15px}
.nzwl-sc-card .d{font-size:13px;color:var(--ink-mute);margin-top:4px}
.nzwl-sc-nav{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.nzwl-sc-nav a{padding:10px 16px;border-radius:var(--radius-pill);text-decoration:none;color:var(--ink);font-size:13px;font-weight:550;transition:all 160ms var(--ease-soft)}
.nzwl-sc-nav a:hover{background:var(--accent);color:#fff;border-color:transparent}

/* Responsive */
.nzwl-nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:none;border:0;cursor:pointer;padding:9px;border-radius:10px;z-index:60;position:relative}
.nzwl-nav-toggle span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px;transition:.2s}
.nzwl-nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nzwl-nav-toggle.is-open span:nth-child(2){opacity:0}
.nzwl-nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nzwl-nav-mask{display:none}
.nzwl-nav-drawer-head{display:none}

@media(max-width:900px){
  .nzwl-home-cols{flex-direction:column}
  .nzwl-home-side{width:auto;flex:none}
  .nzwl-ld-cols{grid-template-columns:1fr}
  .nzwl-slides{aspect-ratio:16/9}
  .nzwl-catcards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
  .nzwl-header-inner{grid-template-columns:1fr auto;gap:12px}
}
@media(max-width:820px){
  .nzwl-container{padding:0 18px}
  .nzwl-header-inner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;min-height:60px;gap:8px}
  .nzwl-nav-toggle{display:flex;order:3;flex:0 0 auto}
  .nzwl-header-tools{order:2;margin-left:auto;margin-right:0;flex:0 0 auto}
  .nzwl-search-input{width:90px}
  .nzwl-brand{order:1;flex:1;min-width:0}
  .nzwl-nav-mask{
    display:block;position:fixed;inset:0;z-index:200;
    background:rgba(20,23,28,.45);opacity:0;pointer-events:none;
    transition:opacity .22s ease;
  }
  .nzwl-nav-mask.is-on{opacity:1;pointer-events:auto}
  /* 侧边抽屉：固定覆盖，不顶布局；菜单项强制可见 */
  .nzwl-nav{
    position:fixed!important;top:0;right:0;bottom:0;
    width:min(300px,84vw);max-width:320px;
    z-index:210;order:unset!important;
    display:flex!important;flex-direction:column!important;
    padding:0!important;margin:0!important;
    background:#fffcf8!important;
    border:0!important;border-left:1px solid rgba(20,23,28,.08)!important;
    border-radius:0!important;
    box-shadow:-16px 0 48px rgba(20,23,28,.18);
    transform:translate3d(105%,0,0);
    transition:transform .26s cubic-bezier(.33,1,.68,1);
    overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;
    pointer-events:none;visibility:hidden;
  }
  .nzwl-nav.open{
    transform:translate3d(0,0,0);
    pointer-events:auto;
    visibility:visible;
  }
  .nzwl-nav-drawer-head{
    display:flex!important;align-items:center;justify-content:space-between;
    flex:0 0 auto;padding:16px 18px;
    font-weight:700;font-size:16px;color:#14171c!important;
    background:#fffcf8;
    border-bottom:1px solid rgba(20,23,28,.08);
    position:sticky;top:0;z-index:2;
  }
  .nzwl-nav-drawer-close{
    width:36px;height:36px;border:0;border-radius:10px;cursor:pointer;
    background:rgba(36,48,65,.08);color:#14171c;font-size:22px;line-height:1;
  }
  .nzwl-nav > ul,
  .nzwl-nav ul.menu,
  .nzwl-nav .menu{
    display:flex!important;flex-direction:column!important;
    flex:1 1 auto;width:100%!important;max-width:none!important;
    list-style:none!important;margin:0!important;
    padding:12px 14px 28px!important;gap:4px!important;
    background:transparent!important;border:0!important;box-shadow:none!important;
    border-radius:0!important;align-items:stretch!important;
  }
  .nzwl-nav ul li{width:100%!important;display:block!important;margin:0!important}
  .nzwl-nav ul li a{
    display:block!important;width:100%!important;
    border-radius:12px!important;padding:14px 16px!important;
    font-size:16px!important;font-weight:600!important;
    color:#14171c!important;background:transparent!important;
    text-decoration:none!important;box-shadow:none!important;
  }
  .nzwl-nav ul li a:hover,
  .nzwl-nav ul li.current-menu-item > a{
    background:rgba(36,48,65,.08)!important;color:#14171c!important;
  }
  .nzwl-logo{height:32px}
  .nzwl-brand{font-size:15px}
  .nzwl-content-wrap{padding:18px 0}
  html.nzwl-nav-lock,html.nzwl-nav-lock body{overflow:hidden;}
}
@media(max-width:600px){
  .nzwl-container{padding:0 16px}
  .nzwl-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nzwl-search-input{width:70px;font-size:12px}
  .nzwl-item-main{padding:16px;gap:16px}
  .nzwl-item-img{flex:0 0 100%;max-width:100%}
  .nzwl-single{padding:18px}
  .nzwl-page-title,.nzwl-single-title{font-size:22px}
  .nzwl-ld-plugs{grid-template-columns:repeat(2,1fr)!important}
  .nzwl-page{padding:0 2px}
}

.nzwl-side-card a.nzwl-share-cardlink,.nzwl-side-card a.nzwl-more{position:relative;z-index:8}

/* popup mobile */
@media(max-width:600px){
  .nzwl-popup-overlay{padding:16px;align-items:center}
  .nzwl-popup-box{
    width:100%!important;max-width:calc(100vw - 32px)!important;
    background:rgba(255,252,248,.96)!important;
  }
  .nzwl-popup-content{padding:24px 20px 8px;padding-right:40px}
  .nzwl-popup-foot{padding:10px 20px 20px;flex-wrap:wrap}
}

/* dark glass 0.8.5 */
html.nzwl-dark .nzwl-card,
html.nzwl-dark .nzwl-side-card,
html.nzwl-dark .nzwl-pcard,
html.nzwl-dark .nzwl-lrow,
html.nzwl-dark .nzwl-catcard,
html.nzwl-dark .nzwl-share-form,
html.nzwl-dark .nzwl-share-item,
html.nzwl-dark .nzwl-gentry-chip,
html.nzwl-dark .nzwl-popup-box,
html.nzwl-dark .nzwl-nav.open,
html.nzwl-dark .nzwl-nav-drawer-head{
  background:rgba(26,31,40,.88)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:var(--ink,#e8ecf4);
}
html.nzwl-dark .nzwl-mod-head h2,
html.nzwl-dark .nzwl-side-title,
html.nzwl-dark .nzwl-pcard-t,
html.nzwl-dark .nzwl-lrow-t,
html.nzwl-dark .nzwl-author-name,
html.nzwl-dark .nzwl-nav ul li a{
  color:var(--ink,#e8ecf4)!important;
}
html.nzwl-dark .nzwl-more,
html.nzwl-dark .nzwl-lrow-x,
html.nzwl-dark .nzwl-author-desc,
html.nzwl-dark .nzwl-cm-text,
html.nzwl-dark .nzwl-share-empty{
  color:var(--ink-mute,#8b93a3)!important;
}
html.nzwl-dark .nzwl-banner-seg{
  background:rgba(26,31,40,.7)!important;
  border-color:rgba(255,255,255,.10)!important;
}
html.nzwl-dark .nzwl-dark-toggle{color:var(--ink);background:rgba(255,255,255,.08)}
html.nzwl-dark .nzwl-popup-box{background:rgba(26,31,40,.96)!important}
html.nzwl-dark .nzwl-popup-content{color:var(--ink)!important}
html.nzwl-dark .nzwl-nav.open{background:#1a1f28!important}
html.nzwl-dark .nzwl-nav-drawer-head{background:#1a1f28!important;color:var(--ink)!important;border-bottom-color:rgba(255,255,255,.08)}
html.nzwl-dark .nzwl-nav-drawer-close{background:rgba(255,255,255,.08);color:var(--ink)}
html.nzwl-dark .nzwl-nav ul li a:hover,
html.nzwl-dark .nzwl-nav ul li.current-menu-item > a{background:rgba(255,255,255,.08)!important}

/* consolidated 0.8.8 */
html,body{overflow-x:hidden}
.nzwl-header-tools{display:flex;align-items:center;gap:8px;position:relative;z-index:80;justify-self:end}
.nzwl-dark-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  position:relative;z-index:90;pointer-events:auto;touch-action:manipulation;cursor:pointer;
  width:40px;height:40px;padding:0;border:0;border-radius:50%;font-size:16px;line-height:1;
  color:var(--ink);background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}
.nzwl-dark-toggle:hover{background:rgba(255,255,255,.9)}
.nzwl-nav-toggle{pointer-events:auto;touch-action:manipulation;cursor:pointer;z-index:90;position:relative}
.nzwl-side-card a.nzwl-share-cardlink,.nzwl-side-card a.nzwl-more{position:relative;z-index:8}

/* Desktop: top bar = brand | nav | tools */
@media(min-width:821px){
  .nzwl-header-inner{
    display:grid!important;
    grid-template-columns:minmax(140px,auto) minmax(0,1fr) minmax(160px,auto)!important;
    align-items:center;gap:20px;width:100%;
  }
  .nzwl-nav{
    position:static!important;transform:none!important;visibility:visible!important;
    pointer-events:auto!important;display:block!important;
    width:auto!important;max-width:none!important;height:auto!important;
    background:transparent!important;border:0!important;box-shadow:none!important;
    overflow:visible!important;padding:0!important;margin:0!important;justify-self:center;
  }
  .nzwl-nav-drawer-head,.nzwl-nav-toggle,.nzwl-nav-mask{display:none!important}
  .nzwl-nav ul,.nzwl-nav .menu{
    display:flex!important;flex-direction:row!important;flex-wrap:wrap;
    list-style:none;margin:0;padding:4px;gap:2px;align-items:center;
    background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,252,248,.35));
    border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-pill,999px);
    box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 8px 20px rgba(20,23,28,.04);
  }
  .nzwl-nav ul li{width:auto!important}
  .nzwl-nav ul li a{
    display:block!important;width:auto!important;
    color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:550;
    padding:9px 18px;border-radius:var(--radius-pill,999px);
  }
  .nzwl-nav ul li a:hover,.nzwl-nav .current-menu-item>a{
    color:var(--ink);background:rgba(255,255,255,.82);
  }
  .nzwl-container{max-width:1200px;margin:0 auto}
  .nzwl-content-wrap.nzwl-container{max-width:1200px}
}

html.nzwl-dark .nzwl-dark-toggle{
  background:rgba(255,255,255,.1);color:var(--ink);border-color:rgba(255,255,255,.15)
}

/* === NZWL mobile drawer hard fix (2026-07-18) === */
@media (max-width: 820px) {
  .nzwl-nav-toggle {
    display: flex !important;
    z-index: 220 !important;
  }
  .nzwl-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(300px, 86vw) !important;
    max-width: 320px !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 230 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fffcf8 !important;
    color: #14171c !important;
    transform: translate3d(105%, 0, 0) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 1 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .nzwl-nav.open {
    transform: translate3d(0, 0, 0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .nzwl-nav-drawer-head {
    display: flex !important;
    color: #14171c !important;
    background: #fffcf8 !important;
  }
  .nzwl-nav > ul,
  .nzwl-nav ul.menu,
  .nzwl-nav .menu,
  .nzwl-nav ul {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px 40px !important;
    gap: 4px !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .nzwl-nav ul li {
    display: block !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
  }
  .nzwl-nav ul li a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #14171c !important;
    background: transparent !important;
    text-decoration: none !important;
  }
  html.nzwl-dark .nzwl-nav.open,
  html.nzwl-dark .nzwl-nav {
    background: #1a1f28 !important;
    color: #e8ecf4 !important;
  }
  html.nzwl-dark .nzwl-nav-drawer-head {
    background: #1a1f28 !important;
    color: #e8ecf4 !important;
  }
  html.nzwl-dark .nzwl-nav ul li a {
    color: #e8ecf4 !important;
  }
  html.nzwl-dark .nzwl-nav ul li a:hover,
  html.nzwl-dark .nzwl-nav ul li.current-menu-item > a {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
  }
  .nzwl-nav-mask {
    z-index: 220 !important;
  }
  .nzwl-nav-mask.is-on {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* === 0.9.2 mobile menu click fix: mask under drawer, links always tappable === */
@media (max-width: 820px) {
  .nzwl-nav-mask {
    z-index: 200 !important;
    pointer-events: none !important;
  }
  .nzwl-nav-mask.is-on {
    pointer-events: auto !important;
  }
  .nzwl-nav,
  .nzwl-nav.open {
    z-index: 250 !important;
    pointer-events: auto !important;
  }
  .nzwl-nav.open ul,
  .nzwl-nav.open ul li,
  .nzwl-nav.open ul li a {
    pointer-events: auto !important;
    position: relative !important;
    z-index: 2 !important;
    -webkit-tap-highlight-color: rgba(47, 111, 237, 0.25);
    touch-action: manipulation !important;
  }
  /* header tools must not cover drawer when open */
  .nzwl-header-tools {
    z-index: 90;
  }
  html.nzwl-nav-lock .nzwl-header-tools {
    pointer-events: none;
  }
  html.nzwl-nav-lock .nzwl-nav-toggle {
    pointer-events: auto !important;
    z-index: 260 !important;
  }
}

/* === 0.9.3 REAL FIX: drawer above full-screen mask; no gray dead layer === */
html.nzwl-nav-lock,
html.nzwl-nav-lock body {
  overflow: hidden !important;
  /* CRITICAL: do not set  — it blocks taps on iOS */
  touch-action: auto !important;
  height: 100%;
}

@media (max-width: 820px) {
  /* Mask: dim page only, NEVER above drawer */
  #nzwl-nav-mask.nzwl-nav-mask,
  .nzwl-nav-mask {
    display: none;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10040 !important;
    background: rgba(15, 18, 24, 0.48) !important;
    opacity: 0;
    pointer-events: none !important;
    transition: opacity .2s ease;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .nzwl-nav-mask.is-on {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Drawer ported to body gets this class too */
  #nzwl-nav.nzwl-nav,
  .nzwl-nav.nzwl-nav-ported {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(300px, 86vw) !important;
    max-width: 320px !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 10050 !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    /* solid panel — not translucent gray glass */
    background: #fffcf8 !important;
    color: #14171c !important;
    border: 0 !important;
    border-left: 1px solid rgba(20, 23, 28, 0.1) !important;
    border-radius: 0 !important;
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.22) !important;
    transform: translate3d(105%, 0, 0);
    transition: transform .26s cubic-bezier(.33, 1, .68, 1);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    pointer-events: none;
    visibility: hidden;
    opacity: 1 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  #nzwl-nav.nzwl-nav.open,
  .nzwl-nav.open {
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }

  .nzwl-nav-drawer-head {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px !important;
    font-weight: 700;
    font-size: 16px;
    color: #14171c !important;
    background: #fffcf8 !important;
    border-bottom: 1px solid rgba(20, 23, 28, 0.08) !important;
  }
  .nzwl-nav-drawer-close {
    width: 40px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: rgba(36, 48, 65, 0.1) !important;
    color: #14171c !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  /* Kill transparent-header inline style killing menu contrast */
  .nzwl-site-header .nzwl-nav ul,
  .nzwl-nav.open ul,
  .nzwl-nav.open ul.menu,
  .nzwl-nav.open .menu,
  body > .nzwl-nav ul {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 12px 40px !important;
    gap: 4px !important;
    list-style: none !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: auto !important;
  }
  body > .nzwl-nav ul li,
  .nzwl-nav.open ul li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }
  body > .nzwl-nav ul li a,
  .nzwl-nav.open ul li a {
    display: block !important;
    width: 100% !important;
    padding: 15px 16px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #14171c !important;
    background: #fff !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: rgba(47, 111, 237, 0.35);
    position: relative !important;
    z-index: 2 !important;
  }
  body > .nzwl-nav ul li a:active,
  .nzwl-nav.open ul li a:active {
    background: rgba(47, 111, 237, 0.12) !important;
  }

  html.nzwl-dark #nzwl-nav.nzwl-nav,
  html.nzwl-dark .nzwl-nav.open {
    background: #1a1f28 !important;
    color: #e8ecf4 !important;
  }
  html.nzwl-dark .nzwl-nav-drawer-head {
    background: #1a1f28 !important;
    color: #e8ecf4 !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  }
  html.nzwl-dark body > .nzwl-nav ul li a,
  html.nzwl-dark .nzwl-nav.open ul li a {
    color: #e8ecf4 !important;
    background: rgba(255, 255, 255, 0.04) !important;
  }

  /* Toggle stays tappable above everything */
  .nzwl-nav-toggle {
    z-index: 10060 !important;
    position: relative !important;
  }
  html.nzwl-nav-lock .nzwl-header-tools {
    pointer-events: none;
  }
  html.nzwl-nav-lock .nzwl-nav-toggle {
    pointer-events: auto !important;
  }
}
