/* ═══════════════════════════════════════════════════════════
   CHAMPCHASE DEVLOG — Card-Based Paginated Layout
   Shared styles in shared.css. This file = devlog-specific only.
   ═══════════════════════════════════════════════════════════ */

/* ═══ BASE ═══ */
.devlog-page{position:relative}
.devlog-page::before{content:'';position:fixed;inset:0;background:url('../Sprites/Backgrounds/bg_ascension_void.png') center/cover no-repeat;z-index:-2;pointer-events:none}
.devlog-page::after{content:'';position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:-1;pointer-events:none}

/* ═══ HEADER ═══ */
.devlog-header{text-align:center;padding:80px 20px 32px;position:relative;overflow:hidden}
.devlog-title{font-size:clamp(28px,6vw,48px);color:var(--cherry-l);text-shadow:0 0 40px var(--cherry-g);margin-bottom:8px;letter-spacing:2px}
.devlog-count{font-family:var(--dp);font-size:clamp(16px,3vw,24px);color:var(--gold);letter-spacing:2px;margin-left:8px}
.devlog-subtitle{font-size:16px;color:var(--g);margin-bottom:4px;min-height:24px}
.devlog-reading-total{font-size:13px;color:var(--g);margin-top:4px}
.devlog-last-entry{font-size:12px;color:var(--dg);margin-top:2px}
.devlog-bmc-header{display:inline-block;font-size:12px;color:var(--gold-d);text-decoration:none;margin-top:8px;transition:color .2s;letter-spacing:1px}
.devlog-bmc-header:hover{color:var(--gold)}

/* ═══ PARTICLES CANVAS ═══ */
.devlog-particles{position:absolute;inset:0;pointer-events:none;z-index:0}

/* ═══ TIMELINE BAR ═══ */
.devlog-timeline-bar{position:sticky;top:50px;z-index:50;background:rgba(9,9,11,.95);backdrop-filter:blur(12px);padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:12px;border-bottom:1px solid rgba(42,42,50,.5)}
.devlog-timeline-dots{display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:600px;padding:4px 0}
.devlog-timeline-dots::-webkit-scrollbar{display:none}
.devlog-dot{width:10px;height:10px;border-radius:50%;border:none;background:var(--dg);cursor:pointer;flex-shrink:0;transition:all .2s var(--ease);padding:0}
.devlog-dot:hover{background:var(--g);transform:scale(1.3)}
.devlog-dot--milestone{background:var(--gold-d)}
.devlog-dot.active{background:var(--gold);transform:scale(1.6);box-shadow:0 0 10px var(--gold-g)}
.devlog-post-counter{font-family:var(--px);font-size:9px;color:var(--g);white-space:nowrap;letter-spacing:1px;flex-shrink:0}

/* ═══ CONTROLS ═══ */
.devlog-controls{max-width:800px;margin:16px auto;padding:0 20px;text-align:center}
.devlog-filter-row{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.devlog-filter-btn{font-family:var(--px);font-size:8px;padding:5px 12px;border-radius:16px;border:1px solid var(--dg);background:transparent;color:var(--g);cursor:pointer;letter-spacing:1px;transition:all .2s var(--ease)}
.devlog-filter-btn:hover{border-color:var(--gold-d);color:var(--w2)}
.devlog-filter-btn.active{background:var(--gold);border-color:var(--gold);color:var(--bg);font-weight:700}

/* ═══ VIEWPORT ═══ */
.devlog-viewport{max-width:800px;margin:0 auto;padding:16px 20px 100px;min-height:50vh;position:relative}

/* ═══ CARD ═══ */
.devlog-card{background:rgba(17,17,21,.8);border:1px solid #222;border-radius:12px;padding:32px;backdrop-filter:blur(4px)}

/* Card inner sections */
.dc-header{margin-bottom:20px}
.dc-date{font-family:var(--px);font-size:11px;color:var(--gold);letter-spacing:1px;margin-bottom:6px}
.dc-title{font-family:var(--dp);font-size:clamp(26px,4vw,36px);color:var(--w);letter-spacing:1px;line-height:1.2;margin-bottom:12px}
.dc-tags{display:flex;gap:6px;flex-wrap:wrap}
.dc-tag{padding:3px 10px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:16px;border:1px solid;background:rgba(255,255,255,.03)}
.dc-body{font-size:16px;color:#ccc;line-height:1.8;margin-bottom:24px}
.dc-body p{margin-bottom:16px}
.dc-body p:last-child{margin-bottom:0}
.dc-stats{display:flex;gap:16px;flex-wrap:wrap;padding:12px 16px;background:rgba(245,197,24,.04);border:1px solid rgba(245,197,24,.15);border-radius:6px;font-family:monospace;font-size:13px;color:var(--gold);margin-bottom:24px}
.dc-stats span{white-space:nowrap}

/* Media grid */
.dc-media{margin-bottom:24px}
.dc-media-item{margin-bottom:16px}
.dc-img{width:100%;max-height:450px;object-fit:contain;border-radius:8px;border:1px solid #222;display:block;cursor:pointer;transition:transform .2s var(--ease),border-color .2s}
.dc-img:hover{transform:scale(1.01);border-color:var(--gold-d)}
.dc-video{width:100%;border-radius:8px;border:1px solid #222;display:block}
.dc-caption{font-size:13px;color:#777;font-style:italic;margin-top:6px;line-height:1.4}

/* Navigation hints (prev/next titles) */
.dc-nav-hints{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #222;margin-bottom:16px}
.dc-nav-hint{font-size:12px;color:var(--g);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s;cursor:default}
.dc-nav-hint-prev{text-align:left}
.dc-nav-hint-next{text-align:right;margin-left:auto}

/* Actions */
.dc-actions{display:flex;gap:8px;justify-content:center}
.dc-copy-btn,.dc-share-btn{font-family:var(--px);font-size:8px;padding:6px 14px;border-radius:4px;border:1px solid #333;background:transparent;color:var(--g);cursor:pointer;letter-spacing:1px;transition:all .2s;text-decoration:none}
.dc-copy-btn:hover,.dc-share-btn:hover{border-color:var(--gold-d);color:var(--gold)}

/* ═══ NAVIGATION ARROWS ═══ */
.devlog-nav-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:100;background:rgba(17,17,21,.92);backdrop-filter:blur(8px);border:2px solid var(--gold-d);border-radius:50%;width:56px;height:56px;color:var(--gold);font-size:24px;cursor:pointer;transition:all .2s var(--ease);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.5)}
.devlog-nav-arrow:hover{border-color:var(--gold);color:var(--w);background:var(--gold);box-shadow:0 0 20px var(--gold-g)}
.devlog-nav-arrow.disabled{opacity:.15;pointer-events:none}
.devlog-nav-prev{left:20px}
.devlog-nav-next{right:20px}

/* ═══ LIGHTBOX ═══ */
.devlog-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;flex-direction:column;opacity:0;transition:opacity .2s;pointer-events:none}
.devlog-lightbox.active,.devlog-lightbox.open{opacity:1;pointer-events:auto}
.lb-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px}
.lb-close{position:absolute;top:20px;right:24px;font-size:32px;color:var(--w);cursor:pointer;background:none;border:none;line-height:1;z-index:10;transition:color .2s}
.lb-close:hover{color:var(--cherry-l)}
.lb-caption{color:#888;font-style:italic;font-size:14px;margin-top:12px;max-width:80vw;text-align:center}

/* ═══ BMC FLOAT ═══ */
/* WPass 161: audio bar removed from devlog — dropped from 80px to 72px (clears
   scroll-top at 16px + safe gap). Lives bottom-LEFT so no right-side overlap. */
.devlog-bmc-float{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom,0px));left:24px;width:44px;height:44px;border-radius:50%;background:var(--gold);color:#000;font-size:20px;display:flex;align-items:center;justify-content:center;text-decoration:none;z-index:999;box-shadow:0 4px 16px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .3s,transform .2s}
.devlog-bmc-float.show{opacity:1;pointer-events:auto}
.devlog-bmc-float:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(245,197,24,.4)}

/* ═══ KEYBOARD HINT ═══ */
.devlog-key-hint{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--dg);z-index:10;letter-spacing:1px;pointer-events:none}

/* ═══ KONAMI EASTER EGG ═══ */
@keyframes glitchIn{0%{opacity:0;transform:translateX(-5px)}20%{opacity:1;transform:translateX(3px)}40%{opacity:.7;transform:translateX(-2px)}60%{opacity:1;transform:translateX(1px)}80%{opacity:.9;transform:translateX(-1px)}100%{opacity:1;transform:translateX(0)}}
@keyframes borderCycle{0%{border-color:var(--cherry)}33%{border-color:var(--gold)}66%{border-color:#06b6d4}100%{border-color:var(--cherry)}}

/* ═══ RESPONSIVE ═══ */
@media(max-width:768px){
  .devlog-header{padding:70px 16px 24px}
  .devlog-timeline-bar{top:44px}
  .devlog-card{padding:20px 16px}
  .dc-media-item img{border-radius:6px}
  /* WPass 161: audio bar removed — nav arrows stack above BMC float on left side.
     BMC at 64px (+safe-area), nav-prev/next at 120px (+safe-area) = BMC 40 + gap 16. */
  .devlog-nav-arrow{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:44px;height:44px;font-size:18px}
  .devlog-nav-prev{left:16px;bottom:calc(120px + env(safe-area-inset-bottom,0px))}
  .devlog-nav-next{left:66px;right:auto;bottom:calc(120px + env(safe-area-inset-bottom,0px))}
  .devlog-key-hint{display:none}
  /* BMC float: bottom-left, above scroll-top stack, below nav-prev */
  .devlog-bmc-float{bottom:calc(64px + env(safe-area-inset-bottom,0px));left:16px;width:40px;height:40px;font-size:18px}
}
@media(max-width:480px){
  .devlog-title{font-size:24px}
  .dc-title{font-size:24px}
  .dc-stats{flex-direction:column;gap:4px}
  .devlog-filter-btn{font-size:9px;padding:4px 8px}
  .dc-nav-hints{flex-direction:column;gap:6px}
  .dc-nav-hint{max-width:100%}
}

/* ═══ REDUCED MOTION ═══ */
@media(prefers-reduced-motion:reduce){
  .devlog-card{transition:none}
  .devlog-dot{transition:none}
  .devlog-nav-arrow{transition:none}
  .devlog-particles{display:none}
}
