:root{
  --primary:#8B1A8F;
  --primary-dark:#5C1160;
  --ink:#0a0a0a;
  --paper:#f4f1e8;
  --yellow:#ffd400;
  --pink:#ff5da2;
  --blue:#3b5bff;
  --lime:#b9ff3a;
}
/* video41 — Neo-Brutalism 新粗野主义 / 厚黑边 + 硬阴影 + 零圆角 */
*{box-sizing:border-box;}
body{background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;}
::selection{background:var(--yellow);color:var(--ink);}
::-webkit-scrollbar{width:14px;height:14px;}
::-webkit-scrollbar-track{background:var(--paper);border-left:3px solid var(--ink);}
::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--paper);}

.nb-border{border:3px solid var(--ink);}
.nb-shadow{box-shadow:6px 6px 0 var(--ink);}
.nb-shadow-sm{box-shadow:4px 4px 0 var(--ink);}
.nb-card{background:#fff;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);transition:transform .12s steps(2),box-shadow .12s steps(2);}
.nb-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink);}
.nb-card.video-card:hover{transform:translate(-3px,-3px);}

.nb-btn{display:inline-flex;align-items:center;justify-content:center;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border:3px solid var(--ink);background:var(--yellow);color:var(--ink);padding:.85rem 1.6rem;box-shadow:5px 5px 0 var(--ink);transition:transform .1s steps(2),box-shadow .1s steps(2);}
.nb-btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);}
.nb-btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink);}
.nb-btn.alt{background:var(--blue);color:#fff;}
.nb-btn.alt2{background:var(--pink);color:var(--ink);}

.nb-tag{display:inline-block;font-weight:800;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;border:3px solid var(--ink);background:var(--lime);padding:.25rem .6rem;}
.fill-y{background:var(--yellow);}
.fill-p{background:var(--pink);}
.fill-b{background:var(--blue);color:#fff;}
.fill-l{background:var(--lime);}
.fill-k{background:var(--ink);color:var(--paper);}

.nb-headline{font-weight:900;letter-spacing:-.02em;line-height:.98;text-transform:uppercase;}
.hatch{background-image:repeating-linear-gradient(45deg,var(--ink) 0 2px,transparent 2px 9px);}

/* category tabs */
.cat-tab{border:3px solid var(--ink);background:#fff;font-weight:800;text-transform:uppercase;}
.cat-tab.active{background:var(--ink);color:var(--yellow);}

/* nav */
.nav-link{font-weight:800;text-transform:uppercase;border:3px solid transparent;padding:.4rem .7rem;}
.nav-link:hover{border-color:var(--ink);}
.nav-link.active{background:var(--ink);color:var(--yellow);}

.nav{display:flex;}
@media(max-width:1023px){
  .nav{position:fixed;top:0;right:0;bottom:0;width:80%;max-width:330px;flex-direction:column;align-items:stretch;gap:.6rem;background:var(--yellow);border-left:4px solid var(--ink);padding:6rem 1.5rem 2rem;transform:translateX(101%);transition:transform .2s steps(3);z-index:60;overflow-y:auto;}
  .nav.active{transform:translateX(0);}
  .menu-overlay{position:fixed;inset:0;background:rgba(10,10,10,.5);opacity:0;visibility:hidden;transition:opacity .2s;z-index:55;}
  .menu-overlay.active{opacity:1;visibility:visible;}
  body.menu-open{overflow:hidden;}
  .nav-link{border-color:var(--ink);background:#fff;}
}

/* faq */
.faq-answer{max-height:0;overflow:hidden;opacity:0;transition:max-height .2s ease,opacity .2s ease;}
.faq-item.active .faq-icon{transform:rotate(45deg);}
.faq-icon{transition:transform .15s steps(2);font-weight:900;}

.back-to-top{opacity:0;visibility:hidden;transition:opacity .2s;}
.back-to-top.visible{opacity:1;visibility:visible;}

@media print{header,footer,.no-print{display:none;}}
