/* 紫蓝霓虹 CRT 故障风：全局视觉色调覆盖 */
:root{
  --black-violet: #090424;
  --deep-indigo: #0f0569;
  --indigo-blue: #1909a2;
  --electric-violet: #2b14d3;
  --neon-purple: #5f32e8;
  --ultraviolet: #895ded;
  --lavender: #ba8cf5;
  --cold-white: #f2eaff;
  --glitch-cyan: #39ddff;
  --glitch-pink: #ff3f87;
  --signal-green: #39ff88;
  --muted-text: #a89ac7;
  --screen-bg:var(--black-violet);
  --screen-bg-2:var(--deep-indigo);
  --screen-panel:rgba(14,6,55,.76);
  --screen-panel-soft:rgba(18,8,70,.68);
  --bg:var(--black-violet);
  --bg-2:var(--deep-indigo);
  --card:rgba(14,6,55,.72);
  --line:rgba(137,93,237,.28);
  --text:var(--cold-white);
  --text-soft:var(--muted-text);
  --text-faint:rgba(168,154,199,.55);
  --accent:var(--glitch-cyan);
  --accent-deep:#23badb;
  --cool:var(--ultraviolet);
  --cool-deep:var(--electric-violet);
  --star:var(--lavender);
  --soda:var(--glitch-cyan);
  --lemon:var(--lavender);
  --coral:var(--glitch-pink);
  --twilight:linear-gradient(165deg,var(--black-violet) 0%,var(--deep-indigo) 34%,var(--electric-violet) 68%,var(--ultraviolet) 100%);
}

body{
  position:relative;
  background:
    radial-gradient(circle at 13% 16%,rgba(57,221,255,.2) 0 14%,transparent 18%),
    radial-gradient(circle at 84% 20%,rgba(255,63,135,.13) 0 10%,transparent 16%),
    radial-gradient(circle at 66% 78%,rgba(137,93,237,.18) 0 18%,transparent 26%),
    linear-gradient(145deg,var(--black-violet) 0%,var(--deep-indigo) 44%,#130540 72%,var(--black-violet) 100%),
    var(--bg);
  color:var(--text-soft);
}

body::before,
body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
}

body::before{
  z-index:1;
  opacity:.11;
  background:repeating-linear-gradient(180deg,rgba(242,234,255,.14) 0 1px,transparent 1px 5px);
  mix-blend-mode:overlay;
}

body::after{
  z-index:0;
  opacity:.07;
  background-image:
    repeating-radial-gradient(circle at 22% 18%,rgba(242,234,255,.72) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(115deg,transparent 0 9px,rgba(186,140,245,.18) 10px,transparent 11px);
  background-size:120px 120px,220px 220px;
}

body:not(.home):not(.blog)::before{
  opacity:.045;
}

body:not(.home):not(.blog)::after{
  opacity:.025;
}

.hero-cyber,
.marquee-band,
.section,
.gallery-section,
.reveal-section,
.favorites-section,
.footer{
  position:relative;
  z-index:2;
}

.hero-bg{
  filter:saturate(1.08) brightness(1.02);
}

.hero-bg::after{
  background:
    linear-gradient(180deg,rgba(242,234,255,.04) 0%,rgba(15,5,105,.58) 82%,var(--bg) 100%),
    var(--twilight);
  opacity:.82;
}

.hero-stars{
  opacity:.46;
  mix-blend-mode:screen;
}

.hero-aura{
  opacity:.45;
  border-color:rgba(186,140,245,.32);
  animation-duration:46s!important;
}

.hero-aura::before,
.hero-aura::after{
  width:6px;
  height:6px;
  background:var(--lemon);
  box-shadow:0 0 12px rgba(186,140,245,.42);
}

.hero-float{
  border-color:rgba(242,234,255,.42);
  box-shadow:0 16px 42px rgba(95,50,232,.16);
  animation-duration:11s!important;
}

.hero-float::before{
  background:linear-gradient(115deg,rgba(242,234,255,.28),transparent 48%,rgba(57,221,255,.18));
}

.hero-title{
  color:var(--cold-white);
  text-shadow:2px 0 rgba(255,63,135,.26),-2px 0 rgba(57,221,255,.28),0 0 24px rgba(95,50,232,.42);
}

.hero-eyebrow{
  color:var(--lavender);
}

.hero-eyebrow::before,
.hero-eyebrow::after,
.scroll-line{
  background:var(--lemon);
}

.hero-en,
.scroll-hint span{
  color:rgba(168,154,199,.84);
}

.hero-btn{
  background:linear-gradient(135deg,var(--glitch-cyan),var(--ultraviolet) 52%,var(--glitch-pink));
  color:var(--black-violet);
  box-shadow:0 8px 22px rgba(57,221,255,.18);
}

.hero-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(57,221,255,.26);
}

.marquee-band{
  isolation:isolate;
  padding:18px 0 20px;
  background:
    linear-gradient(90deg,rgba(255,63,135,.15),transparent 15%,transparent 83%,rgba(57,221,255,.18)),
    linear-gradient(180deg,var(--black-violet) 0%,#120848 48%,#07021b 100%);
  border-top:1px solid rgba(137,93,237,.42);
  border-bottom:1px solid rgba(57,255,136,.5);
  box-shadow:
    inset 0 1px 0 rgba(242,234,255,.06),
    inset 0 -1px 0 rgba(57,255,136,.18),
    0 -12px 32px rgba(9,4,36,.34),
    0 16px 42px rgba(9,4,36,.32);
}

.marquee-band::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.3;
  background:
    repeating-linear-gradient(180deg,rgba(242,234,255,.18) 0 1px,transparent 1px 4px),
    linear-gradient(90deg,transparent 0 5%,rgba(57,255,136,.12) 6%,transparent 7%,transparent 100%);
  mix-blend-mode:overlay;
}

.marquee-band::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--signal-green) 12%,rgba(57,221,255,.9) 18%,transparent 34%);
  box-shadow:0 0 14px rgba(57,255,136,.76),0 0 22px rgba(57,221,255,.28);
  transform:translateX(-36%);
  animation:marqueeSignalSweep 5.2s linear infinite;
}

.marquee-track{
  position:relative;
  z-index:2;
  animation-duration:36s;
  filter:contrast(1.06);
}

.marquee-track span{
  gap:34px;
  padding-right:34px;
}

.marquee-track .word{
  position:relative;
  color:var(--cold-white);
  font-size:12px;
  font-weight:900;
  letter-spacing:.32em;
  text-shadow:
    2px 0 rgba(255,63,135,.46),
    -2px 0 rgba(57,221,255,.52),
    0 0 14px rgba(137,93,237,.28);
  animation:marqueeTextGlitch 6.4s steps(2,end) infinite;
}

.marquee-track .word:nth-of-type(2n){
  color:var(--soda);
  animation-delay:-1.6s;
}

.marquee-track .word:nth-of-type(3n){
  color:var(--lavender);
  animation-delay:-3.1s;
}

.marquee-track .word .brand{
  color:var(--lavender);
  text-shadow:
    2px 0 rgba(255,63,135,.42),
    -2px 0 rgba(57,221,255,.42),
    0 0 18px rgba(186,140,245,.34);
}

.marquee-track .sep{
  color:var(--glitch-cyan);
  opacity:1;
  text-shadow:0 0 10px rgba(57,221,255,.58);
  transform:translateY(-1px) rotate(45deg);
}

@keyframes marqueeSignalSweep{
  from{transform:translateX(-36%);}
  to{transform:translateX(104%);}
}

@keyframes marqueeTextGlitch{
  0%,86%,100%{
    opacity:1;
    text-shadow:
      2px 0 rgba(255,63,135,.46),
      -2px 0 rgba(57,221,255,.52),
      0 0 14px rgba(137,93,237,.28);
  }
  88%{
    opacity:.84;
    text-shadow:
      3px 0 rgba(255,63,135,.62),
      -3px 0 rgba(57,221,255,.66),
      0 0 18px rgba(137,93,237,.36);
  }
  90%{
    opacity:1;
    text-shadow:
      -3px 0 rgba(255,63,135,.58),
      3px 0 rgba(57,221,255,.62),
      0 0 12px rgba(186,140,245,.28);
  }
}

@media (prefers-reduced-motion:reduce){
  .marquee-band::after,
  .marquee-track .word,
  .hero-cyber:not(.is-paused) .hero-visual-img-red,
  .hero-cyber:not(.is-paused) .hero-visual-img-blue,
  .hero-cyber:not(.is-paused) .hero-signal-line span,
  .hero-aura,
  .hero-float,
  .footer-card::after{
    animation:none;
  }

  .hero-visual-video{
    display:none;
  }

  .hero-cyber.has-hero-video .hero-visual-img-base{
    opacity:1;
  }
}

.section,
.reveal-section{
  background:
    linear-gradient(180deg,rgba(9,4,36,.96),rgba(15,5,105,.9)),
    radial-gradient(circle at 12% 0%,rgba(57,221,255,.13),transparent 34%);
  border-top:1px solid rgba(137,93,237,.18);
}

.section.alt,
.favorites-section{
  background:
    linear-gradient(180deg,rgba(15,5,105,.94),rgba(9,4,36,.96)),
    radial-gradient(circle at 82% 18%,rgba(255,63,135,.1),transparent 30%);
  border-top:1px solid rgba(57,221,255,.14);
}

.featured-inner,
.footer-card{
  box-shadow:0 22px 58px rgba(9,4,36,.44),0 0 30px rgba(95,50,232,.18);
}

.featured-img,
.hcard-img,
.pgrid-thumb,
.spotlight-img,
.reveal-frame{
  filter:saturate(1.02);
}

.hcard,
.pgrid-card,
.featured-info,
.footer-card{
  background:rgba(14,6,55,.74);
  border-color:rgba(137,93,237,.32);
  box-shadow:0 18px 42px rgba(9,4,36,.34),inset 0 0 0 1px rgba(242,234,255,.035);
}

.section::before,
.gallery-section::before,
.reveal-section::before{
  color:var(--neon-purple);
  opacity:.075;
  text-shadow:2px 0 rgba(255,63,135,.16),-2px 0 rgba(57,221,255,.14);
}

.sec-num,
.rev-num,
.favorites-kicker,
.feat-cat,
.pgrid-date,
.hcard-date{
  color:var(--lavender);
}

.sec-title,
.feat-title,
.pgrid-title,
.hcard-title,
.reveal-caption .ttl,
.footer-logo{
  color:var(--cold-white);
}

.sec-title .jp,
.feat-excerpt,
.footer-tagline,
.footer-copy,
.footer-made,
.pgrid-body,
.hcard-body{
  color:var(--muted-text);
}

.sec-more,
.feat-btn,
.rev-cat{
  color:var(--cold-white);
  border-color:rgba(57,221,255,.62);
  background:rgba(14,6,55,.45);
}

.sec-more:hover{
  background:var(--glitch-cyan);
  color:var(--black-violet);
}

.posts-grid{
  gap:20px;
}

.pgrid-card:hover,
.hcard:hover{
  border-color:var(--glitch-cyan);
  box-shadow:0 22px 54px rgba(9,4,36,.42),0 0 22px rgba(57,221,255,.18);
}

.pgrid-cat,
.hcard-cat{
  background:var(--glitch-cyan);
  color:var(--black-violet);
}

.pgrid-thumb,
.hcard-img,
.featured-img{
  background:linear-gradient(135deg,var(--black-violet),var(--indigo-blue));
}

.hi-1,
.hi-2,
.hi-3,
.hi-4,
.hi-5,
.hi-6{
  background:
    linear-gradient(135deg,rgba(43,20,211,.42),rgba(57,221,255,.18)),
    repeating-linear-gradient(180deg,rgba(242,234,255,.1) 0 1px,transparent 1px 5px);
}

.reveal-frame{
  border:1px solid rgba(137,93,237,.34);
  background:var(--black-violet);
  box-shadow:0 24px 64px rgba(9,4,36,.48),0 0 28px rgba(57,221,255,.1);
}

.reveal-img{
  filter:saturate(.92) contrast(1.1) brightness(.78);
}

.reveal-frame::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:repeating-linear-gradient(180deg,rgba(242,234,255,.1) 0 1px,transparent 1px 5px);
  opacity:.16;
  mix-blend-mode:overlay;
}

.cursor-stardust{
  opacity:.32;
}

.scroll-comet{
  right:18px;
  opacity:.72;
}

.scroll-comet .head{
  background:var(--cold-white);
  box-shadow:0 0 8px 1px var(--lavender),0 0 15px rgba(57,221,255,.42);
}

.scroll-comet .tail{
  height:34px;
  background:linear-gradient(to top,rgba(137,93,237,.72),transparent);
}

#kanban-doll{
  width:190px;
  max-width:28vw;
  opacity:.88;
}

.kanban-wrap{
  height:360px;
  filter:drop-shadow(0 10px 18px rgba(57,221,255,.16));
}

#kanban-doll.is-image .kanban-fallback,
#kanban-doll.is-fallback .kanban-fallback{
  animation-duration:6s!important;
}

.kanban-reopen{
  background:linear-gradient(135deg,var(--cool),var(--soda));
  box-shadow:0 8px 18px rgba(57,221,255,.18);
}

.footer{
  background:
    linear-gradient(180deg,var(--black-violet) 0%,var(--deep-indigo) 48%,#130540 100%),
    radial-gradient(circle at 80% 16%,rgba(57,221,255,.12),transparent 28%);
  border-top:1px solid rgba(57,221,255,.18);
}

.footer-card{
  background:rgba(14,6,55,.72);
  border-color:rgba(137,93,237,.28);
  backdrop-filter:blur(10px);
}

.footer-kicker,
.footer-status span{
  color:var(--signal-green);
}

.footer-status span{
  background:rgba(14,6,55,.72);
  border-color:rgba(57,255,136,.28);
  box-shadow:inset 0 0 0 1px rgba(242,234,255,.03),0 0 14px rgba(57,255,136,.08);
}

.footer-col-title,
.footer-saying,
.footer-social a:hover,
.footer-nav a:hover{
  color:var(--glitch-cyan);
}

.footer-social a{
  background:rgba(14,6,55,.76);
  border-color:rgba(137,93,237,.24);
  color:var(--muted-text);
}

.favorites-title{
  color:rgba(186,140,245,.1);
}

.favorites-subtitle,
.fav-label{
  color:var(--muted-text);
}

.fav-cover{
  background:linear-gradient(135deg,rgba(43,20,211,.28),rgba(14,6,55,.72));
  border:1px solid rgba(137,93,237,.26);
  box-shadow:0 18px 46px rgba(9,4,36,.34);
}

.fav-placeholder{
  color:var(--glitch-cyan);
}

@media (max-width:768px){
  #kanban-doll{
    width:132px;
    max-width:32vw;
  }

  .kanban-wrap{
    height:248px;
  }
}

/* ============ 首屏重构 · 二次元插画 / VHS / Glitch ============ */
.home .nav,
.blog .nav{
  display:none;
}

.hero-cyber{
  height:100vh;
  min-height:680px;
  position:relative;
  overflow:clip;
  isolation:isolate;
  background:linear-gradient(145deg,var(--black-violet),var(--deep-indigo) 52%,#130540);
  color:var(--cold-white);
  font-family:'Inter','Noto Sans SC',system-ui,sans-serif;
}

.hero-cyber::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:6;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,63,135,.11),transparent 18%,transparent 82%,rgba(57,221,255,.14)),
    radial-gradient(circle at 50% 52%,transparent 0 36%,rgba(15,5,105,.28) 78%,rgba(9,4,36,.62) 100%);
  mix-blend-mode:screen;
}

.hero-cyber-noise{
  position:absolute;
  inset:-20%;
  z-index:8;
  pointer-events:none;
  opacity:.12;
  background-image:
    repeating-radial-gradient(circle at 18% 24%,rgba(242,234,255,.78) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(115deg,transparent 0 7px,rgba(186,140,245,.2) 8px,transparent 9px);
  background-size:92px 92px,180px 180px;
}

.hero-cyber-scanline{
  position:absolute;
  inset:0;
  z-index:9;
  pointer-events:none;
  opacity:.24;
  background:repeating-linear-gradient(180deg,rgba(242,234,255,.14) 0 1px,transparent 1px 4px);
  mix-blend-mode:overlay;
}

.hero-visual-main{
  position:absolute;
  inset:-5vh -4vw;
  z-index:1;
}

.hero-visual-main::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(9,4,36,.22) 0%,rgba(15,5,105,.06) 46%,rgba(9,4,36,.72) 100%),
    linear-gradient(90deg,rgba(9,4,36,.46) 0%,transparent 28%,transparent 68%,rgba(9,4,36,.54) 100%);
}

.hero-visual-img,
.hero-visual-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.07);
  filter:saturate(1.08) contrast(1.05) brightness(.9);
}

.hero-visual-video{
  z-index:1;
  inset:5vh 4vw;
  width:auto;
  height:auto;
  object-fit:contain;
  transform:none;
  background:
    radial-gradient(circle at 50% 46%,rgba(57,221,255,.1),transparent 42%),
    rgba(9,4,36,.82);
  filter:saturate(1.04) contrast(1.02) brightness(.92);
  opacity:0;
  transition:opacity .55s ease;
}

.hero-cyber.has-hero-video .hero-visual-video{
  opacity:1;
}

.hero-cyber.has-hero-video .hero-visual-img-base{
  opacity:0;
}

.hero-cyber.has-hero-video-error .hero-visual-video{
  display:none;
}

.hero-visual-img-red{
  z-index:2;
  opacity:.14;
  mix-blend-mode:screen;
  transform:translate3d(2px,-1px,0) scale(1.07);
  filter:sepia(1) saturate(5) hue-rotate(300deg);
}

.hero-visual-img-blue{
  z-index:3;
  opacity:.13;
  mix-blend-mode:screen;
  transform:translate3d(-2px,1px,0) scale(1.07);
  filter:sepia(1) saturate(5) hue-rotate(165deg);
}

.hero-cyber:not(.is-paused) .hero-visual-img-red,
.hero-cyber:not(.is-paused) .hero-visual-img-blue{
  animation:heroGlitchDrift 9.5s steps(2,end) infinite;
}

@keyframes heroGlitchDrift{
  0%,90%,100%{clip-path:inset(0 0 0 0);}
  92%{clip-path:inset(16% 0 70% 0);transform:translate3d(3px,-1px,0) scale(1.07);}
  94%{clip-path:inset(64% 0 20% 0);transform:translate3d(-3px,1px,0) scale(1.07);}
  96%{clip-path:inset(36% 0 44% 0);}
}

.hero-ui{
  position:absolute;
  z-index:20;
  color:var(--cold-white);
  text-shadow:0 1px 14px rgba(9,4,36,.42);
}

.hero-categories{
  top:28px;
  left:34px;
  display:flex;
  gap:10px;
  align-items:center;
}

.hero-cat{
  border:1px solid rgba(186,140,245,.42);
  background:rgba(14,6,55,.46);
  color:var(--cold-white);
  padding:9px 13px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  cursor:pointer;
  backdrop-filter:blur(8px);
}

.hero-cat.is-active,
.hero-cat:hover{
  color:var(--black-violet);
  border-color:var(--glitch-cyan);
  background:linear-gradient(135deg,var(--glitch-cyan),var(--lavender));
}

.hero-main-nav{
  top:28px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:28px;
  align-items:center;
}

.hero-main-nav a,
.hero-social a{
  color:var(--cold-white);
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.hero-main-nav a:hover,
.hero-social a:hover{
  color:var(--glitch-cyan);
}

.hero-social{
  top:28px;
  right:34px;
  display:flex;
  gap:14px;
  align-items:center;
}

.hero-title-block{
  position:absolute;
  left:50%;
  top:50%;
  z-index:18;
  width:min(680px,72vw);
  transform:translate(-50%,-47%);
  text-align:center;
}

.hero-title-block .hero-eyebrow{
  margin-bottom:18px;
  color:var(--lavender);
  letter-spacing:.42em;
}

.hero-title-block .hero-title{
  position:relative;
  color:var(--cold-white);
  font-size:clamp(56px,9vw,132px);
  line-height:.88;
  letter-spacing:.08em;
  text-shadow:2px 0 rgba(255,63,135,.34),-2px 0 rgba(57,221,255,.34),0 0 32px rgba(95,50,232,.48);
}

.hero-title-block .hero-title::before,
.hero-title-block .hero-title::after{
  content:attr(data-text);
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.38;
}

.hero-title-block .hero-title::before{
  color:var(--glitch-pink);
  transform:translateX(3px);
  clip-path:inset(0 0 54% 0);
}

.hero-title-block .hero-title::after{
  color:var(--glitch-cyan);
  transform:translateX(-3px);
  clip-path:inset(48% 0 0 0);
}

.hero-title-block .hero-en{
  color:var(--muted-text);
  letter-spacing:.3em;
}

.hero-control{
  left:34px;
  bottom:42px;
  display:flex;
  gap:14px;
  align-items:center;
}

.hero-control-button{
  min-width:70px;
  height:36px;
  border:1px solid var(--glitch-cyan);
  background:rgba(14,6,55,.74);
  color:var(--glitch-cyan);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  cursor:pointer;
}

.hero-control-readout{
  display:flex;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(137,93,237,.34);
  background:rgba(14,6,55,.58);
  color:var(--muted-text);
  font-size:10px;
  letter-spacing:.14em;
  backdrop-filter:blur(8px);
}

.hero-control-readout strong{
  color:var(--signal-green);
}

.hero-info-card{
  right:34px;
  bottom:42px;
  width:min(340px,32vw);
  padding:22px 22px 20px;
  background:rgba(14,6,55,.78);
  border:1px solid rgba(137,93,237,.46);
  box-shadow:0 18px 42px rgba(9,4,36,.42),inset 0 0 0 1px rgba(242,234,255,.04);
  backdrop-filter:blur(10px);
}

.hero-info-kicker{
  color:var(--glitch-cyan);
  font-size:10px;
  font-weight:900;
  letter-spacing:.26em;
  margin-bottom:14px;
}

.hero-info-card h2{
  color:var(--cold-white);
  font-family:'Inter','Noto Sans SC',system-ui,sans-serif;
  font-size:24px;
  line-height:1.15;
  margin:0 0 10px;
}

.hero-info-card p{
  color:var(--muted-text);
  font-size:13px;
  line-height:1.7;
  margin:0;
}

.hero-info-card .hero-info-meta{
  color:var(--lavender);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  margin-bottom:12px;
}

.hero-signal-line{
  position:absolute;
  left:34px;
  right:34px;
  bottom:20px;
  z-index:22;
  height:2px;
  background:rgba(57,255,136,.18);
  overflow:hidden;
}

.hero-signal-line span{
  display:block;
  width:38%;
  height:100%;
  background:var(--signal-green);
  box-shadow:0 0 14px rgba(57,255,136,.72);
}

.hero-cyber:not(.is-paused) .hero-signal-line span{
  animation:signalSweep 4.2s linear infinite;
}

@keyframes signalSweep{
  from{transform:translateX(-105%);}
  to{transform:translateX(280%);}
}

.hero-cyber.is-paused .hero-visual-img-red,
.hero-cyber.is-paused .hero-visual-img-blue,
.hero-cyber.is-paused .hero-signal-line span{
  animation-play-state:paused;
}

.hero-cyber .scroll-hint,
.hero-cyber .hero-aura,
.hero-cyber .hero-visual,
.hero-cyber .hero-bg,
.hero-cyber .hero-vignette{
  display:none;
}

a,
.entry-content a,
.post-nav a,
.footer-logo,
.nav-links a{
  color:var(--glitch-cyan);
}

a:hover,
.entry-content a:hover,
.post-nav a:hover,
.footer-logo:hover,
.nav-links a:hover{
  color:var(--cold-white);
  text-shadow:0 0 12px rgba(57,221,255,.45);
}

.entry-content{
  color:var(--muted-text);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.page-hero-title,
.page-title{
  color:var(--cold-white);
  text-shadow:1px 0 rgba(255,63,135,.18),-1px 0 rgba(57,221,255,.2);
}

.entry-content blockquote{
  color:var(--lavender);
  border-left-color:var(--glitch-cyan);
  background:rgba(14,6,55,.52);
}

.entry-content code{
  color:var(--cold-white);
  background:rgba(14,6,55,.74);
  border:1px solid rgba(137,93,237,.24);
}

.entry-content pre{
  color:var(--cold-white);
  background:linear-gradient(135deg,rgba(9,4,36,.96),rgba(15,5,105,.86));
  border:1px solid rgba(137,93,237,.28);
}

.entry-content th{
  color:var(--cold-white);
  background:rgba(14,6,55,.72);
}

.entry-content td,
.entry-content th{
  border-color:rgba(137,93,237,.26);
}

.page-hero::after{
  background:
    radial-gradient(circle at 50% 25%,rgba(57,221,255,.14),transparent 32%),
    var(--twilight);
  opacity:.96;
}

.single .section,
.page .section,
.archive .section,
.search .section{
  background:
    linear-gradient(180deg,rgba(9,4,36,.94),rgba(15,5,105,.86)),
    radial-gradient(circle at 82% 0%,rgba(137,93,237,.1),transparent 34%);
}

.single .section::before,
.page .section::before,
.archive .section::before,
.search .section::before,
.single .reveal-frame::after,
.page .reveal-frame::after{
  opacity:.055;
}

.to-top{
  background:rgba(14,6,55,.84);
  color:var(--glitch-cyan);
  box-shadow:0 8px 24px rgba(9,4,36,.32),0 0 0 1px rgba(57,221,255,.24);
}

.to-top:hover{
  color:var(--cold-white);
  box-shadow:0 10px 30px rgba(57,221,255,.18),0 0 0 1px rgba(57,221,255,.42);
}

@media (max-width:900px){
  .hero-cyber{min-height:740px;}
  .hero-categories{left:20px;right:20px;top:20px;overflow-x:auto;}
  .hero-main-nav{top:74px;gap:18px;}
  .hero-social{right:20px;top:118px;}
  .hero-title-block{width:86vw;}
  .hero-control{left:20px;bottom:88px;}
  .hero-info-card{left:20px;right:20px;bottom:148px;width:auto;}
  .hero-signal-line{left:20px;right:20px;}
}

@media (max-width:560px){
  .hero-cyber{min-height:720px;}
  .hero-main-nav{width:100%;justify-content:center;gap:13px;}
  .hero-main-nav a,.hero-social a{font-size:9px;letter-spacing:.16em;}
  .hero-social{display:none;}
  .hero-title-block .hero-title{font-size:46px;}
  .hero-title-block .hero-en{font-size:10px;letter-spacing:.18em;}
  .hero-control{flex-direction:column;align-items:flex-start;gap:8px;}
  .hero-control-readout{flex-wrap:wrap;max-width:calc(100vw - 40px);}
}

/* ============ 收藏区 · 无限画布画廊 ============ */
.favorites-canvas-section{
  min-height:940px;
  padding:76px 28px 96px;
  background:
    radial-gradient(circle at 16% 18%,rgba(57,221,255,.12),transparent 26%),
    radial-gradient(circle at 82% 70%,rgba(255,63,135,.1),transparent 28%),
    linear-gradient(180deg,var(--deep-indigo) 0%,var(--black-violet) 58%,#12053f 100%);
  overflow:hidden;
}

.favorites-canvas-section::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.2;
  background:
    repeating-linear-gradient(180deg,rgba(242,234,255,.12) 0 1px,transparent 1px 5px),
    linear-gradient(90deg,rgba(57,221,255,.08),transparent 20%,transparent 78%,rgba(255,63,135,.08));
  mix-blend-mode:screen;
}

.favorites-canvas-section::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(137,93,237,.12) 1px,transparent 1px),
    linear-gradient(180deg,rgba(137,93,237,.1) 1px,transparent 1px);
  background-size:86px 86px;
  mask-image:radial-gradient(circle at center,#000 0 58%,transparent 78%);
}

.favorites-canvas-section .favorites-kicker,
.favorites-canvas-section .favorites-title,
.favorites-canvas-section .favorites-subtitle,
.favorites-toolbar,
.favorites-canvas-shell{
  position:relative;
  z-index:3;
}

.favorites-canvas-section .favorites-title{
  color:rgba(186,140,245,.12);
  letter-spacing:.04em;
}

.favorites-canvas-section .favorites-subtitle{
  margin-top:clamp(56px,7vw,78px);
  color:var(--muted-text);
}

.favorites-toolbar{
  width:min(1180px,100%);
  margin:24px auto 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

.favorites-filters,
.favorites-view-toggle{
  display:flex;
  gap:8px;
  align-items:center;
  padding:6px;
  border:1px solid rgba(137,93,237,.28);
  background:rgba(14,6,55,.56);
  backdrop-filter:blur(10px);
}

.fav-filter,
.fav-view{
  position:relative;
  border:0;
  min-height:34px;
  padding:8px 13px;
  background:transparent;
  color:var(--muted-text);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  cursor:pointer;
}

.fav-filter::after,
.fav-view::after{
  content:'';
  position:absolute;
  left:12px;
  right:12px;
  bottom:3px;
  height:1px;
  background:var(--glitch-cyan);
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .35s,transform .35s;
}

.fav-filter.is-active,
.fav-view.is-active,
.fav-filter:hover,
.fav-view:hover{
  color:var(--cold-white);
}

.fav-filter.is-active::after,
.fav-view.is-active::after{
  opacity:1;
  transform:scaleX(1);
}

.favorites-canvas-shell{
  width:min(1220px,100%);
  margin:0 auto;
}

.favorites-canvas{
  position:relative;
  height:clamp(620px,64vh,700px);
  overflow:hidden;
  cursor:grab;
  user-select:none;
  touch-action:none;
  border:1px solid rgba(137,93,237,.3);
  background:
    radial-gradient(circle at 50% 40%,rgba(57,221,255,.08),transparent 34%),
    rgba(9,4,36,.58);
  box-shadow:0 22px 68px rgba(9,4,36,.42),inset 0 0 0 1px rgba(242,234,255,.035);
}

.favorites-canvas:active{
  cursor:grabbing;
}

.favorites-canvas:focus-visible{
  outline:2px solid var(--glitch-cyan);
  outline-offset:4px;
}

.favorites-canvas-plane{
  position:absolute;
  inset:0;
}

.favorites-canvas-hint{
  position:absolute;
  z-index:8;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  padding:12px 18px;
  color:var(--cold-white);
  border:1px solid rgba(57,221,255,.42);
  background:rgba(14,6,55,.74);
  box-shadow:0 0 22px rgba(57,221,255,.16);
  font-size:11px;
  font-weight:900;
  letter-spacing:.28em;
  pointer-events:none;
  transition:opacity .35s,transform .35s;
}

.favorites-canvas-shell.has-explored .favorites-canvas-hint,
.favorites-canvas-shell.is-list-view .favorites-canvas-hint{
  opacity:0;
  transform:translate(-50%,-42%);
}

.fav-canvas-item{
  position:absolute;
  left:0;
  top:0;
  width:var(--fav-size,220px);
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  text-align:left;
  opacity:.75;
  cursor:pointer;
  will-change:transform,opacity;
  transition:opacity .35s,filter .35s;
}

.fav-canvas-item.is-filtered,
.fav-list-row.is-filtered{
  opacity:0;
  pointer-events:none;
}

.fav-canvas-card{
  position:relative;
  display:block;
  transform-origin:center;
  transition:transform .35s,filter .35s;
}

.fav-canvas-cover{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  border:1px solid rgba(137,93,237,.32);
  background:
    radial-gradient(circle at 25% 20%,rgba(57,221,255,.18),transparent 28%),
    linear-gradient(135deg,rgba(43,20,211,.48),rgba(14,6,55,.82));
  box-shadow:0 18px 48px rgba(9,4,36,.38);
}

.fav-canvas-cover img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  opacity:1;
  filter:brightness(.75) saturate(1);
  transition:filter .35s,transform .35s;
}

.fav-canvas-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--glitch-cyan);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-align:center;
  background:
    repeating-linear-gradient(180deg,rgba(242,234,255,.08) 0 1px,transparent 1px 5px),
    radial-gradient(circle at 72% 22%,rgba(255,63,135,.16),transparent 32%);
}

.fav-canvas-info{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  display:block;
  width:auto;
  margin-top:0;
  padding:12px 13px;
  background:rgba(14,6,55,.78);
  border:1px solid rgba(137,93,237,.26);
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s,transform .35s;
  pointer-events:none;
}

.fav-canvas-name{
  position:relative;
  display:block;
  color:var(--cold-white);
  font-size:15px;
  font-weight:900;
  line-height:1.25;
  text-shadow:2px 0 rgba(255,63,135,.42),-2px 0 rgba(57,221,255,.42);
}

.fav-canvas-meta,
.fav-canvas-note{
  display:block;
  margin-top:7px;
  color:var(--muted-text);
  font-size:11px;
  line-height:1.55;
}

.fav-canvas-note{
  color:rgba(242,234,255,.82);
}

.favorites-canvas.is-hovering .fav-canvas-item:not(.is-hovered){
  opacity:.45;
}

.fav-canvas-item.is-hovered,
.fav-canvas-item:focus-visible{
  opacity:1;
  z-index:20;
}

.fav-canvas-item.is-hovered .fav-canvas-card,
.fav-canvas-item:focus-visible .fav-canvas-card{
  transform:scale(1.08);
}

.fav-canvas-item.is-hovered .fav-canvas-cover img,
.fav-canvas-item:focus-visible .fav-canvas-cover img{
  filter:brightness(1) saturate(1.04);
}

.fav-canvas-item.is-hovered .fav-canvas-info,
.fav-canvas-item:focus-visible .fav-canvas-info{
  opacity:1;
  transform:translateY(0);
}

.favorites-list{
  display:none;
  position:relative;
  min-height:560px;
  padding:22px 0;
  border:1px solid rgba(137,93,237,.3);
  background:rgba(9,4,36,.52);
  overflow:hidden;
}

.favorites-canvas-shell.is-list-view .favorites-canvas{
  display:none;
}

.favorites-canvas-shell.is-list-view .favorites-list{
  display:block;
}

.fav-list-row{
  position:relative;
  z-index:2;
  width:100%;
  display:grid;
  grid-template-columns:92px minmax(180px,1fr) 120px 120px;
  gap:18px;
  align-items:center;
  border:0;
  border-bottom:1px solid rgba(137,93,237,.2);
  padding:18px 28px;
  background:transparent;
  color:var(--muted-text);
  text-align:left;
  cursor:pointer;
  transition:color .35s,background .35s,opacity .35s;
}

.fav-list-row:hover,
.fav-list-row:focus-visible{
  color:var(--cold-white);
  background:rgba(57,221,255,.06);
  outline:0;
}

.fav-list-index{
  color:var(--lavender);
  font-size:11px;
  font-weight:900;
  letter-spacing:.22em;
}

.fav-list-title{
  color:var(--cold-white);
  font-size:20px;
  font-weight:900;
  text-shadow:1px 0 rgba(255,63,135,.26),-1px 0 rgba(57,221,255,.28);
}

.fav-list-type,
.fav-list-year{
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}

.fav-list-preview{
  position:fixed;
  z-index:60;
  width:180px;
  aspect-ratio:3/4;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-50%,-50%,0) scale(.94);
  border:1px solid rgba(57,221,255,.36);
  background:
    radial-gradient(circle at 35% 20%,rgba(57,221,255,.18),transparent 30%),
    linear-gradient(135deg,rgba(43,20,211,.62),rgba(14,6,55,.88));
  box-shadow:0 18px 50px rgba(9,4,36,.48),0 0 24px rgba(57,221,255,.16);
  overflow:hidden;
  transition:opacity .25s,transform .25s;
}

.fav-list-preview.is-visible{
  opacity:1;
  transform:translate3d(-50%,-50%,0) scale(1);
}

.fav-list-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.fav-list-preview span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--glitch-cyan);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-align:center;
  padding:16px;
}

.fav-detail{
  position:fixed;
  inset:0;
  z-index:200;
  display:grid;
  place-items:center;
  padding:28px;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s;
}

html.fav-detail-lock,
html.fav-detail-lock body{
  overflow:hidden;
}

.fav-detail.is-open{
  opacity:1;
  pointer-events:auto;
}

.fav-detail-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(6,2,24,.76);
  backdrop-filter:blur(8px);
  cursor:pointer;
}

.fav-detail-card{
  position:relative;
  z-index:2;
  width:min(880px,100%);
  display:grid;
  grid-template-columns:minmax(220px,.86fr) minmax(280px,1.14fr);
  gap:0;
  overflow:hidden;
  border:1px solid rgba(137,93,237,.38);
  background:rgba(14,6,55,.92);
  box-shadow:0 30px 90px rgba(9,4,36,.62),0 0 38px rgba(57,221,255,.12);
  transform-origin:var(--fav-origin-x,50%) var(--fav-origin-y,50%);
  transform:scale(.76) translate3d(var(--fav-open-x,0),var(--fav-open-y,0),0);
  transition:transform .35s,opacity .35s;
}

.fav-detail.is-open .fav-detail-card{
  transform:scale(1) translate3d(0,0,0);
}

.fav-detail-cover{
  min-height:460px;
  background:
    radial-gradient(circle at 35% 22%,rgba(57,221,255,.16),transparent 30%),
    linear-gradient(135deg,rgba(43,20,211,.62),rgba(14,6,55,.9));
  display:grid;
  place-items:center;
  overflow:hidden;
}

.fav-detail-cover img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.fav-detail-cover span{
  color:var(--glitch-cyan);
  font-size:13px;
  font-weight:900;
  letter-spacing:.22em;
}

.fav-detail-body{
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.fav-detail-kicker{
  color:var(--glitch-cyan);
  font-size:11px;
  font-weight:900;
  letter-spacing:.24em;
  margin-bottom:18px;
}

.fav-detail-body h3{
  color:var(--cold-white);
  font-size:clamp(30px,5vw,56px);
  line-height:1.05;
  margin:0 0 16px;
  text-shadow:2px 0 rgba(255,63,135,.34),-2px 0 rgba(57,221,255,.34);
}

.fav-detail-meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 24px;
}

.fav-detail-meta span{
  padding:7px 10px;
  color:var(--lavender);
  border:1px solid rgba(137,93,237,.3);
  background:rgba(9,4,36,.42);
  font-size:12px;
  font-weight:800;
}

.fav-detail-note,
.fav-detail-thought{
  color:var(--muted-text);
  font-size:14px;
  line-height:1.9;
  margin:0 0 14px;
}

.fav-detail-thought{
  color:rgba(242,234,255,.82);
}

.fav-detail-link{
  align-self:flex-start;
  margin-top:18px;
  padding:11px 16px;
  color:var(--black-violet);
  background:var(--glitch-cyan);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}

.fav-detail-link.is-disabled{
  pointer-events:none;
  color:rgba(242,234,255,.55);
  background:rgba(137,93,237,.22);
}

.fav-detail-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:4;
  border:1px solid rgba(57,221,255,.36);
  background:rgba(9,4,36,.58);
  color:var(--glitch-cyan);
  padding:8px 10px;
  font-size:12px;
  cursor:pointer;
}

@media (max-width:760px){
  .favorites-canvas-section{
    min-height:780px;
    padding:72px 16px 84px;
  }

  .favorites-canvas-section .favorites-subtitle{
    margin-top:70px;
  }

  .favorites-toolbar{
    justify-content:center;
  }

  .favorites-canvas{
    height:520px;
  }

  .fav-canvas-info{
    display:none;
  }

  .fav-list-row{
    grid-template-columns:54px 1fr 72px;
    gap:10px;
    padding:16px;
  }

  .fav-list-year{
    display:none;
  }

  .fav-list-title{
    font-size:16px;
  }

  .fav-detail-card{
    grid-template-columns:1fr;
  }

  .fav-detail-cover{
    min-height:260px;
  }

  .fav-detail-body{
    padding:28px;
  }
}

@media (prefers-reduced-motion:reduce){
  .fav-canvas-item,
  .fav-canvas-card,
  .fav-canvas-cover img,
  .fav-canvas-info,
  .fav-detail,
  .fav-detail-card,
  .fav-list-preview{
    transition:none;
  }
}
