/* Defence Puzzle — koyu lacivert / askeri tema */
.defence-puzzle-wrapper{
  --dp-bg:#0f172a;
  --dp-bg-2:#020617;
  --dp-fg:#f8fafc;
  --dp-muted:#94a3b8;
  --dp-accent:#f97316;
  --dp-green:#4d7c2e;
  --dp-border:rgba(255,255,255,0.08);
  background:var(--dp-bg);
  color:var(--dp-fg);
  border-radius:18px;
  padding:24px;
  box-shadow:0 20px 40px rgba(0,0,0,.25);
  border:1px solid var(--dp-border);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  position:relative;
  overflow:hidden;
  margin:24px 0;
}
.defence-puzzle-wrapper::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(transparent 95%, rgba(249,115,22,.05) 95%),
    linear-gradient(90deg, transparent 95%, rgba(249,115,22,.05) 95%);
  background-size:24px 24px;
  opacity:.4;
}
.defence-puzzle-header{position:relative;z-index:1}
.defence-puzzle-tag{
  display:inline-block;font-size:11px;letter-spacing:2px;font-weight:700;
  color:var(--dp-accent);background:rgba(249,115,22,.1);
  padding:4px 10px;border-radius:4px;border:1px solid rgba(249,115,22,.3);
  margin-bottom:8px;
}
.defence-puzzle-header h2{font-size:26px;font-weight:700;color:#fff;margin:4px 0 6px;line-height:1.2;}
.defence-puzzle-header p{color:var(--dp-muted);margin:0 0 14px;font-size:14px;}

.defence-puzzle-info{
  display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;font-size:13px;
  color:var(--dp-muted);position:relative;z-index:1;
}
.defence-puzzle-info span{
  background:rgba(255,255,255,.06);padding:8px 14px;border-radius:999px;
  border:1px solid var(--dp-border);
}
.defence-puzzle-info strong{color:#fff;font-weight:600;}

.defence-puzzle-stage{
  position:relative;background:var(--dp-bg-2);border-radius:14px;
  margin-top:8px;overflow:hidden;padding:12px;border:1px solid var(--dp-border);
  z-index:1;
}
.defence-puzzle-preview{position:relative;width:100%;display:flex;justify-content:center;}
.defence-puzzle-preview img{max-width:100%;height:auto;display:block;border-radius:8px;}
.defence-puzzle-preview .defence-puzzle-overlay{
  position:absolute;inset:0;background:rgba(2,6,23,.85);
  display:flex;align-items:center;justify-content:center;color:var(--dp-accent);
  font-weight:700;letter-spacing:3px;font-size:14px;border-radius:8px;
  pointer-events:none;
}
.dp-scan-line{
  position:absolute;left:0;right:0;height:2px;background:var(--dp-accent);
  box-shadow:0 0 12px var(--dp-accent);animation:dpScan 2.5s linear infinite;
}
@keyframes dpScan{0%{top:0}100%{top:100%}}

.defence-puzzle-board{
  display:none;position:relative;width:100%;aspect-ratio:1/1;background:#000;
  border-radius:8px;overflow:hidden;border:2px dashed rgba(249,115,22,.35);
}
.defence-puzzle-board.dp-active{display:grid;}
.dp-slot{
  position:relative;background:rgba(255,255,255,.02);
  border:1px dashed rgba(255,255,255,.05);
}
.dp-slot.dp-hover{background:rgba(249,115,22,.15);border-color:var(--dp-accent);}
.dp-slot.dp-correct{border-color:var(--dp-green);background:rgba(77,124,46,.08);}

.dp-piece{
  position:absolute;cursor:grab;background-size:cover;background-repeat:no-repeat;
  border:1px solid rgba(0,0,0,.3);box-shadow:0 2px 8px rgba(0,0,0,.4);
  touch-action:none;user-select:none;-webkit-user-drag:none;
  transition:box-shadow .15s, transform .15s;
}
.dp-piece:active{cursor:grabbing;box-shadow:0 6px 18px rgba(249,115,22,.5);transform:scale(1.03);z-index:99;}
.dp-piece.dp-placed{cursor:default;border-color:var(--dp-green);}

.defence-puzzle-tray{
  display:none;margin-top:12px;padding:12px;background:rgba(255,255,255,.03);
  border-radius:8px;min-height:80px;flex-wrap:wrap;gap:6px;
  border:1px solid var(--dp-border);
}
.defence-puzzle-tray.dp-active{display:flex;}

.defence-puzzle-controls{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;position:relative;z-index:1;
}
.dp-btn{
  background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--dp-border);
  border-radius:10px;padding:10px 16px;cursor:pointer;font-weight:600;font-size:14px;
  transition:all .15s;
}
.dp-btn:hover{background:rgba(255,255,255,.14);}
.dp-btn-primary{background:var(--dp-accent);border-color:var(--dp-accent);}
.dp-btn-primary:hover{background:#ea670c;}

.defence-puzzle-result{
  position:absolute;inset:0;background:rgba(2,6,23,.95);display:flex;
  align-items:center;justify-content:center;z-index:10;padding:20px;
}
.defence-puzzle-result[hidden]{display:none !important;}
.dp-result-card{
  background:#0f172a;border:1px solid var(--dp-green);border-radius:14px;
  padding:28px;text-align:center;max-width:420px;
}
.dp-result-icon{
  font-size:42px;width:72px;height:72px;border-radius:50%;background:var(--dp-green);
  color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;
}
.dp-result-card h3{margin:6px 0;font-size:22px;color:#fff;}
.dp-result-sub{color:var(--dp-muted);font-size:14px;margin:6px 0 16px;}
.dp-result-stats{list-style:none;padding:0;margin:0 0 18px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.dp-result-stats li{background:rgba(255,255,255,.06);padding:8px 14px;border-radius:8px;font-size:13px;color:var(--dp-muted);}
.dp-result-stats strong{color:#fff;}

/* Quiz */
.dp-quiz{margin:14px 0;text-align:left;}
.dp-quiz-question{color:#fff;font-weight:600;margin:0 0 10px;font-size:15px;text-align:center;}
.dp-quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.dp-quiz-option{
  background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.15);
  border-radius:10px;padding:10px 14px;cursor:pointer;font-size:14px;font-weight:500;
  transition:all .15s;
}
.dp-quiz-option:hover:not(:disabled){background:rgba(249,115,22,.15);border-color:#f97316;}
.dp-quiz-option:disabled{cursor:default;opacity:.7;}
.dp-quiz-option.dp-correct-answer{background:rgba(77,124,46,.3);border-color:#4ade80;color:#fff;opacity:1;}
.dp-quiz-option.dp-wrong-answer{background:rgba(220,38,38,.3);border-color:#f87171;color:#fff;opacity:1;}
.dp-quiz-feedback{
  margin-top:12px;padding:12px;background:rgba(0,0,0,.3);border-radius:8px;
  text-align:center;font-size:14px;color:#cbd5e1;
}
.dp-result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}

.defence-puzzle-product-info{
  margin-top:18px;padding:16px;background:rgba(255,255,255,.04);
  border-left:3px solid var(--dp-accent);border-radius:8px;position:relative;z-index:1;
}
.defence-puzzle-product-info h3{margin:0 0 8px;color:#fff;font-size:18px;}
.defence-puzzle-product-info ul{list-style:none;padding:0;margin:0;color:var(--dp-muted);font-size:14px;}
.defence-puzzle-product-info ul li{padding:3px 0;}
.defence-puzzle-product-info strong{color:#fff;}
.dp-product-link{display:inline-block;margin-top:10px;color:var(--dp-accent);text-decoration:none;font-weight:600;}
.dp-product-link:hover{text-decoration:underline;}
.dp-image-source{font-size:11px;color:var(--dp-muted);margin-top:8px;}

/* Liste / Forum > Envanter Oyunları */
.defence-puzzle-list{padding:12px 0;}
.defence-puzzle-list-header h2{font-size:24px;color:#0f172a;margin:0 0 4px;}
.defence-puzzle-list-header p{color:#64748b;margin:0 0 18px;}
.defence-puzzle-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;
}
.defence-puzzle-card{
  background:#0f172a;border-radius:12px;overflow:hidden;color:#fff;
  text-decoration:none;display:block;border:1px solid rgba(255,255,255,.08);
  transition:transform .15s, box-shadow .15s;
  cursor:pointer;
}
.defence-puzzle-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.25);}
.defence-puzzle-card-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#020617;}
.defence-puzzle-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.defence-puzzle-badge{
  position:absolute;top:8px;right:8px;background:var(--dp-accent,#f97316);
  color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;
  text-transform:uppercase;letter-spacing:1px;
}
.defence-puzzle-card-body{padding:12px;}
.defence-puzzle-card-body h3{margin:0 0 4px;font-size:15px;color:#fff;}
.defence-puzzle-cat{font-size:12px;color:#94a3b8;}

/* Gizli (blind) mod */
.defence-puzzle-wrapper.dp-blind .dp-real-title{display:none;}
.defence-puzzle-wrapper.dp-blind .dp-blind-title{
  display:inline-block;color:#f97316;letter-spacing:3px;font-family:"Courier New",monospace;
  font-size:18px;text-transform:uppercase;
}
.defence-puzzle-wrapper.dp-blind.dp-revealed .dp-real-title{display:inline-block;}
.defence-puzzle-wrapper.dp-blind.dp-revealed .dp-blind-title{display:none;}
.defence-puzzle-wrapper.dp-blind.dp-revealed .dp-blind-desc{display:none;}
.defence-puzzle-wrapper.dp-blind.dp-revealed .dp-real-desc{display:inline !important;}
.defence-puzzle-wrapper.dp-blind.dp-revealed .dp-reveal{display:block !important;}
.defence-puzzle-wrapper.dp-blind.dp-revealed .dp-reveal[hidden]{display:block !important;}

/* Kart launcher (Envanter Oyunları içine yerleştirilecek kart) */
.dp-launcher-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:14px 0;
}
.dp-launcher-card{
  display:flex;align-items:center;gap:14px;padding:18px;border-radius:14px;
  background:linear-gradient(180deg,#152038 0%, #0c1426 100%);
  border:1px solid rgba(255,255,255,.08);cursor:pointer;color:#fff;
  text-decoration:none;transition:transform .15s, box-shadow .15s, border-color .15s;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.dp-launcher-card:hover{transform:translateY(-2px);border-color:rgba(249,115,22,.5);box-shadow:0 12px 28px rgba(0,0,0,.35);}
.dp-launcher-card--big{padding:22px;}
.dp-launcher-icon{
  font-size:34px;flex:0 0 54px;width:54px;height:54px;border-radius:12px;
  background:rgba(249,115,22,.12);display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(249,115,22,.25);
}
.dp-launcher-thumb{flex:0 0 64px;width:64px;height:64px;border-radius:10px;overflow:hidden;background:#020617;}
.dp-launcher-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.dp-launcher-body{flex:1;min-width:0;}
.dp-launcher-body h3{margin:0 0 4px;color:#fff;font-size:16px;font-weight:700;line-height:1.2;}
.dp-launcher-body p{margin:0;color:#94a3b8;font-size:13px;line-height:1.4;}
.dp-launcher-arrow{font-size:22px;color:#f97316;font-weight:700;}

/* Modal */
.dp-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;}
.dp-modal[hidden]{display:none !important;}
.dp-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.85);backdrop-filter:blur(6px);}
.dp-modal-dialog{
  position:relative;background:#0f172a;border-radius:18px;
  max-width:760px;width:100%;max-height:90vh;overflow:auto;
  border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 80px rgba(0,0,0,.5);
}
.dp-modal-close{
  position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.1);border:none;color:#fff;font-size:22px;cursor:pointer;z-index:2;
}
.dp-modal-close:hover{background:rgba(249,115,22,.3);}
.dp-modal-body{padding:0;}
.dp-modal-body .defence-puzzle-wrapper{margin:0;border-radius:18px;}
.dp-modal-loading{padding:60px;text-align:center;color:#94a3b8;}

@media (max-width:600px){
  .defence-puzzle-wrapper{padding:16px;}
  .defence-puzzle-header h2{font-size:20px;}
  .dp-btn{padding:8px 12px;font-size:13px;flex:1 1 auto;}
}
