/* 3D mod önizleyici (assets/js/mod-viewer.js) */
.mv { position: relative; width: 100%; height: 100%; min-height: 320px; overflow: hidden; border-radius: inherit; cursor: grab;
  background: radial-gradient(70% 70% at 50% 42%, rgba(240, 168, 104, 0.14), transparent 70%), radial-gradient(120% 90% at 50% 100%, #1d1424, #120d16); }
.mv:active { cursor: grabbing; }
.mv-canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block; outline: 0; }
.mv-status { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 12px; font-size: 13px; color: var(--muted, #b6a79f); }
.mv-spin { width: 34px; height: 34px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, 0.1); border-top-color: var(--amber, #F0A868); animation: mv-spin 0.9s linear infinite; }
@keyframes mv-spin { to { transform: rotate(360deg); } }
.mv-chips { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.mv-chips button, .mv-forms button { height: 32px; padding: 0 13px; border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-size: 12.5px; font-weight: 700;
  color: #F4EBE0; background: rgba(14, 11, 18, 0.6); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1); transition: background 0.2s, color 0.2s; }
.mv-chips button:hover, .mv-forms button:hover { background: rgba(40, 30, 46, 0.8); }
.mv-chips button.on, .mv-forms button.on { color: #1B1420; background: var(--amber, #F0A868); box-shadow: 0 8px 20px rgba(240, 168, 104, 0.35); }
.mv-forms { position: absolute; top: 12px; left: 12px; right: 12px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; }
.mv-hint { position: absolute; top: 18px; right: 18px; z-index: 1; font-size: 11px; color: rgba(244, 235, 224, 0.45); pointer-events: none; transition: opacity 0.4s; }
.mv:hover .mv-hint { opacity: 0; }
.is-failed .mv-status { color: #EAA5A5; }

/* Mod sayfalarındaki "3D | Görsel" sekmeleri */
.md-mtabs { display: inline-flex; gap: 3px; padding: 4px; margin-bottom: 10px; border-radius: 999px; background: rgba(14, 11, 18, 0.5); border: 1px solid rgba(255, 255, 255, 0.08); }
.md-mtabs button { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 14px; border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-size: 12.5px; font-weight: 700; color: var(--dim, #8e8079); background: transparent; }
.md-mtabs button.on { color: #1B1420; background: var(--amber, #F0A868); }
.md-mtabs .new { font-size: 9.5px; font-weight: 800; letter-spacing: 0.5px; padding: 1px 6px; border-radius: 999px; color: #fff; background: #E2457A; }
.md-3d { position: relative; aspect-ratio: 16 / 11; border-radius: 26px; overflow: hidden; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 30px 70px rgba(0, 0, 0, 0.4); }
.nxd .md-3d { aspect-ratio: 4 / 5; max-height: 640px; border-radius: 28px; }
.nxd .md-mtabs button.on { color: #fff; background: linear-gradient(135deg, #E2457A, #A3306E); }
/* +18: görseller açılana kadar 3D de bulanık ve yüklenmez */
.nxd .md-3d .mv-canvas { filter: blur(26px) saturate(1.1); transition: filter 0.8s; }
.nx-revealed .nxd .md-3d .mv-canvas { filter: none; }
.nxd .md-3d .mv { background: radial-gradient(70% 70% at 50% 42%, rgba(226, 69, 122, 0.2), transparent 70%), radial-gradient(120% 90% at 50% 100%, #24101c, #12070e); }
.nxd .md-3d .nxd-reveal { z-index: 3; }
.md-3d[hidden], .nxd-media[hidden] { display: none !important; }
/* Anlık önizleme başlatıcı (mod dosyası tıklayınca iner) */
.md-3d-start { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 20px;
  background: #15101a center / cover no-repeat; }
.md-3d-start::before { content: ''; position: absolute; inset: 0; background: inherit; filter: blur(14px) brightness(0.45) saturate(1.2); transform: scale(1.1); }
.md-3d-start > * { position: relative; }
.md-3d-start button { display: inline-flex; align-items: center; gap: 10px; height: 54px; padding: 0 26px; border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-size: 15px; font-weight: 700;
  color: #1B1420; background: linear-gradient(135deg, #F7C295, #F0A868 55%, #D4884A); box-shadow: 0 16px 40px rgba(240, 168, 104, 0.45); transition: transform 0.2s; }
.md-3d-start button:hover { transform: scale(1.04); }
.md-3d-start small { max-width: 300px; font-size: 12.5px; color: rgba(244, 235, 224, 0.75); }
.mv-status small { display: block; max-width: 320px; margin-top: 4px; font-size: 12px; color: var(--dim, #8e8079); text-align: center; }
/* +18 3D başlatıcı: kapak her zaman bulanık, düğme her durumda görünür */
.nxd .nx3d-start::before { filter: blur(30px) brightness(0.4) saturate(1.2); }
.nxd .nx3d-start button { color: #fff; background: linear-gradient(135deg, #E2457A, #A3306E); box-shadow: 0 16px 40px rgba(226, 69, 122, 0.45); }
.nx3d-on { display: none; }
.nx-revealed .nx3d-on { display: inline; }
.nx-revealed .nx3d-off { display: none; }
