/* ════════════════════════════
   HAMBURGER / MOBILE NAV
════════════════════════════ */
#hamburger{display:none;background:none;border:none;cursor:pointer;padding:.4rem .6rem;flex-direction:column;gap:5px;flex-shrink:0}
#hamburger span{display:block;width:22px;height:2px;background:var(--ink3);transition:all .3s}
#hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#hamburger.open span:nth-child(2){opacity:0}
#hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

#mobile-menu{
  display:none;position:fixed;top:52px;left:0;right:0;
  background:var(--bg2);border-bottom:1px solid var(--border2);
  z-index:490;box-shadow:0 4px 20px rgba(80,50,10,.15);
  flex-direction:column;padding:.5rem 0;
  animation:slideDown .2s ease;
}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
#mobile-menu.open{display:flex}
.mm-item{display:flex;align-items:center;gap:.7rem;padding:.7rem 1.5rem;font-family:'Cinzel',serif;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);cursor:pointer;transition:background .2s;border:none;background:none;width:100%;text-align:left}
.mm-item:hover{background:rgba(120,85,40,.07)}
.mm-item.active{color:var(--gold2);background:rgba(140,96,32,.08)}
.mm-item .mi{color:var(--gold);opacity:.7;font-size:.9rem}

/* ════════════════════════════
   RESPONSIVE (RWD)
════════════════════════════ */
@media(max-width:900px){
  /* topbar */
  #topbar .tb-nav{display:none}
  #hamburger{display:flex}
  .tb-logo{width:auto;border-right:none;font-size:.85rem}
  .nsfw-b{display:none}

  /* sidebar hidden on mobile */
  #sidebar{display:none}
  #main{margin-left:0}
  #app>.site-footer{margin-left:0}

  /* hero */
  .h-hero-c{padding:2rem 1.5rem}
  .hero-t{font-size:clamp(1.8rem,7vw,3rem)}
  .hero-d{font-size:.92rem}

  /* stats */
  .h-stats{grid-template-columns:repeat(2,1fr)}
  .h-stat:nth-child(2){border-right:none}

  /* panels */
  .h-panels{grid-template-columns:repeat(2,1fr)}
  .h-panel:nth-child(2){border-right:none}
  .h-panel:nth-child(3){border-top:1px solid var(--border)}
  .h-panel:nth-child(4){border-top:1px solid var(--border);border-right:none}

  /* home recent */
  .h-recent{padding:1.5rem}
  .site-footer{padding:1.2rem 1.5rem;flex-direction:column;gap:.5rem;text-align:center}
  .ft-r{text-align:center}

  /* characters */
  .ch-wrap{flex-direction:column}
  .ch-fil{width:100%;border-right:none;border-bottom:1px solid var(--border2);display:flex;flex-wrap:wrap;flex-direction:row;padding:.5rem}
  .cf-gr{border-bottom:none;border-right:1px solid var(--border);padding:.3rem .6rem;min-width:120px;flex:1}
  .cf-gr:last-child{border-right:none}
  .ch-area{padding:1rem}
  .ch-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}

  /* char detail */
  .cd-wrap{padding:1.2rem 1rem}
  .cd-nm{font-size:1.8rem}

  /* lore / series */
  .sl-landing{padding:1.5rem}
  .sa-header{padding:.7rem 1.2rem}
  .sa-tabs{padding:0 1.2rem;flex-wrap:wrap;overflow-x:visible}
  .sa-tabs::-webkit-scrollbar{display:none}
  .sa-subtabs{padding:0 1.2rem;flex-wrap:wrap;overflow-x:visible}
  .sa-subtabs::-webkit-scrollbar{display:none}
  .sa-tab{padding:.45rem .65rem;font-size:.46rem}
  .sa-subtab{padding:.35rem .55rem}
  .sa-content{padding:1.5rem 1.2rem}

  /* games list */
  .gm-page{padding:1.2rem 1rem}
  .gm-banner{grid-template-columns:1fr;min-height:auto}
  .gm-banner-img{width:100%;min-height:160px}
  .gm-banner-info{padding:1rem 1.2rem}

  /* game detail */
  .gd-wrap{padding:1.2rem 1rem}
  .gd-hero{grid-template-columns:1fr;gap:1rem}
  .gd-cover{width:100%;aspect-ratio:16/9}
  .gd-shots-grid{grid-template-columns:repeat(2,1fr)}

  /* about */
  .co-page{padding:1.5rem 1rem}
  .co-header{grid-template-columns:1fr;gap:1rem}
  .co-socs{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:520px){
  .h-panels{grid-template-columns:1fr}
  .h-panel{border-right:none!important;border-top:1px solid var(--border)}
  .ch-fil{flex-direction:column}
  .cf-gr{border-right:none;min-width:unset}
  .co-socs{grid-template-columns:1fr}
  .lore-sb{grid-template-columns:1fr}
  .ln-gr{border-right:none}
  .gd-shots-grid{grid-template-columns:1fr}
  .cd-sg{grid-template-columns:1fr}
}

/* ════════════════════════════
   ABOUT
════════════════════════════ */
.co-page{padding:3rem 4rem;max-width:860px}
.co-header{margin-bottom:2.5rem;display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}
.co-av{width:110px;height:110px;background:var(--bg3);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:3rem;flex-shrink:0;box-shadow:var(--shadow);overflow:hidden}
.co-av img{width:100%;height:100%;object-fit:cover}
.co-nm{font-family:'Cinzel',serif;font-size:2rem;font-weight:700;letter-spacing:.08em;color:var(--ink);margin-bottom:.2rem}
.co-hd{font-family:'Cinzel',serif;font-size:.62rem;font-weight:600;letter-spacing:.2em;color:var(--gold2);margin-bottom:.7rem;text-transform:uppercase}
.co-bio{font-family:'Crimson Text',serif;font-size:.98rem;font-style:italic;color:var(--ink2);line-height:2}
.co-sec-title{font-family:'Cinzel',serif;font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin-bottom:.6rem;padding-bottom:.35rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.6rem}
.cm-status{font-family:'Crimson Text',serif;font-size:.75rem;font-weight:400;font-style:italic;letter-spacing:.04em;padding:.1rem .55rem;border-radius:3px;text-transform:none}
.cm-closed{background:rgba(120,30,30,.18);color:#b06060;border:1px solid rgba(120,30,30,.3)}
.cm-open{background:rgba(30,100,50,.18);color:#5a9a6a;border:1px solid rgba(30,100,50,.3)}
.soc-static{cursor:default;pointer-events:none;opacity:.85}
.co-cm-desc{font-family:'Crimson Text',serif;font-size:1rem;color:var(--ink2);line-height:1.65;margin-bottom:1.6rem}
.co-socs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px;background:var(--border);border:1px solid var(--border2);margin-bottom:2rem}
.soc-c{background:var(--bg2);padding:1.3rem;display:flex;align-items:center;gap:.88rem;cursor:pointer;transition:background .22s;text-decoration:none}
.soc-c:hover{background:var(--bg3)}
.soc-ic{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;background:var(--bg3);border:1px solid var(--border2);font-family:'Cinzel',serif;font-weight:700;color:var(--gold2)}
.soc-pf{font-family:'Cinzel',serif;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--ink2)}
.soc-hd{font-family:'Crimson Text',serif;font-size:.8rem;color:var(--ink4);font-style:italic}
.soc-ds{font-family:'Crimson Text',serif;font-size:.78rem;color:var(--gold2);margin-top:.04rem;font-style:italic}
.disc-box{border:1px solid rgba(139,32,32,.28);background:rgba(139,32,32,.05);padding:1.4rem}
.disc-box h3{font-family:'Cinzel',serif;font-size:.55rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--red2);margin-bottom:.65rem}
.disc-box p{font-family:'Crimson Text',serif;font-size:.9rem;font-style:italic;color:var(--ink2);line-height:2}

/* play button */
.g-play-btn{
  display:inline-flex;align-items:center;gap:.6rem;margin-top:1.4rem;
  font-family:'Cinzel',serif;font-size:.7rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  background:var(--gold2);color:#fff8ee;
  border:none;padding:.75rem 2rem;cursor:pointer;
  text-decoration:none;transition:all .25s;
  box-shadow:0 2px 12px rgba(140,96,32,.3);
}
.g-play-btn:hover{background:var(--gold);box-shadow:0 4px 20px rgba(140,96,32,.45);transform:translateY(-1px)}
.g-play-btn::before{content:'▶';font-size:.7rem}

/* how-to-play box */
.fb-intro{background:rgba(140,96,32,.07);border:1px solid var(--border2);border-left:3px solid var(--gold2);padding:1rem 1.2rem;margin-top:1rem}
.fb-intro-title{font-family:'Cinzel',serif;font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin-bottom:.5rem}
.fb-intro p{font-family:'Crimson Text',serif;font-size:.9rem;font-style:italic;color:var(--ink2);line-height:1.85;margin-bottom:.5rem}
.fb-intro-list{list-style:none;padding:0}
.fb-intro-list li{font-family:'Crimson Text',serif;font-size:.88rem;color:var(--ink2);line-height:1.85;padding-left:1rem;position:relative;font-style:italic}
.fb-intro-list li::before{content:'◆';position:absolute;left:0;color:var(--gold2);font-size:.42rem;top:.45rem}
