/* Bomb Defusal: a C4 charge with 12 cuttable wires. --tension (0–1) rises with every safe cut. */
.cs2-defuse-tile{background:radial-gradient(circle at 78% 22%,#d8453b55,transparent 45%),radial-gradient(circle at 18% 85%,#f0c23a33,transparent 45%),linear-gradient(140deg,#2a1d1a,#171b1a)}
.dfz-stage{--tension:0;display:grid;gap:18px;position:relative;overflow:hidden}
.dfz-stage.dfz-live{box-shadow:0 0 calc(10px + var(--tension)*40px) rgb(216 69 59/calc(.1 + var(--tension)*.45))}
.dfz-bomb{position:relative;margin:0 auto;width:min(100%,640px);padding:18px 18px 22px;border-radius:14px;background:linear-gradient(180deg,#2b2a22,#1a1a15);border:1px solid #dec78930;box-shadow:inset 0 2px 0 #ffffff10,0 14px 30px #0008}
.dfz-live .dfz-bomb{animation:dfz-throb calc(1.6s - var(--tension)*1.1s) ease-in-out infinite}
@keyframes dfz-throb{50%{transform:scale(calc(1 + var(--tension)*.012))}}
.dfz-c4{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px 14px;border-radius:10px;background:repeating-linear-gradient(90deg,#6b6448 0 46px,#5d573d 46px 50px);border:2px solid #3d3a2a;box-shadow:inset 0 -6px 0 #0003}
.dfz-screen{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:6px;background:#0b130c;border:2px solid #2b2f22;box-shadow:inset 0 0 14px #000}
.dfz-screen strong{font:700 clamp(20px,4.6vw,30px)/1 ui-monospace,Consolas,monospace;letter-spacing:.08em;color:#ff5a4a;text-shadow:0 0 8px #ff3b2b99;font-variant-numeric:tabular-nums}
.dfz-led{width:12px;height:12px;border-radius:50%;background:#5a1410;box-shadow:inset 0 0 3px #000}
.dfz-led.blink{animation:dfz-blink .18s ease-out}
@keyframes dfz-blink{0%{background:#ff4b3a;box-shadow:0 0 12px #ff4b3a}100%{background:#5a1410}}
.dfz-keypad{display:grid;grid-template-columns:repeat(3,14px);gap:4px}
.dfz-keypad i{height:12px;border-radius:2px;background:#23251c;box-shadow:inset 0 -2px 0 #0007}
.dfz-wires{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:14px;padding:0 6px;height:190px;position:relative}
.dfz-wires::before,.dfz-wires::after{content:"";position:absolute;left:0;right:0;height:12px;border-radius:4px;background:linear-gradient(#8b8f88,#4b4f48);box-shadow:0 2px 4px #0008}
.dfz-wires::before{top:0}.dfz-wires::after{bottom:0}
.dfz-wire{position:relative;border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;align-items:center;transform-origin:50% 0;animation:dfz-sway 3.2s var(--delay) ease-in-out infinite}
.dfz-wire:disabled{cursor:default}
.dfz-wire:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
@keyframes dfz-sway{50%{transform:rotate(var(--sway))}}
.dfz-cable{display:block;width:9px;flex:1;background:linear-gradient(90deg,#0006,transparent 35%,#fff4 50%,transparent 65%,#0005),var(--wire);transition:transform .45s cubic-bezier(.2,.9,.3,1.3),opacity .3s}
.dfz-top{border-radius:0 0 3px 3px}.dfz-bottom{border-radius:3px 3px 0 0}
.dfz-wire:not(:disabled):hover .dfz-cable{filter:brightness(1.3);box-shadow:0 0 8px var(--wire)}
.dfz-tag{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:700 10px/1 Inter,sans-serif;font-style:normal;color:#20291c;background:var(--gold);padding:2px 4px;border-radius:3px;opacity:.85;pointer-events:none}
.dfz-wire.is-cutting .dfz-top,.dfz-wire.is-cut .dfz-top{transform:translate(-3px,-10px) rotate(-14deg)}
.dfz-wire.is-cutting .dfz-bottom,.dfz-wire.is-cut .dfz-bottom{transform:translate(3px,12px) rotate(12deg)}
.dfz-wire.is-cut .dfz-tag{opacity:0}
.dfz-wire.is-cutting::after{content:"";position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px;border-radius:50%;background:radial-gradient(circle,#fff,#ffd34a 30%,#ff7b2a55 55%,transparent 70%);animation:dfz-spark .4s ease-out forwards;pointer-events:none}
@keyframes dfz-spark{from{transform:scale(.2);opacity:1}to{transform:scale(1.6);opacity:0}}
.dfz-wire.is-safe::before{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#5fd38a;font:800 16px/1 Inter,sans-serif;text-shadow:0 0 8px #2fa25a}
.dfz-wire.is-detonator .dfz-cable{box-shadow:0 0 0 2px #ff4b3a,0 0 12px #ff4b3a}
.dfz-wire.is-detonator::before,.dfz-wire.is-boom::before{content:"✹";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ff5a4a;font:800 18px/1 Inter,sans-serif;text-shadow:0 0 10px #ff3b2b;z-index:1}
.dfz-wire.is-detonator .dfz-tag{opacity:0}
.dfz-flash{position:absolute;inset:0;pointer-events:none;border-radius:14px;opacity:0}
.dfz-exploded{background:linear-gradient(180deg,#1c1612,#0d0b09)}
.dfz-exploded .dfz-c4{filter:grayscale(.7) brightness(.55)}
.dfz-exploded .dfz-screen strong{color:#ff7a3a}
.dfz-exploded .dfz-wire{animation:none}
.dfz-exploded .dfz-flash{animation:dfz-boom 1.1s ease-out}
@keyframes dfz-boom{0%{opacity:1;background:radial-gradient(circle at 50% 55%,#fff 0,#ffe28a 18%,#ff7b2a 40%,#a52e4300 75%)}40%{opacity:.85;background:radial-gradient(circle at 50% 55%,#ffb04a 0,#ff5a2a 30%,#3a160c00 80%)}100%{opacity:0}}
.dfz-defused .dfz-screen strong{color:#5fd38a;text-shadow:0 0 10px #2fa25a}
.dfz-defused .dfz-led{background:#2fa25a;box-shadow:0 0 12px #2fa25a}
.dfz-defused .dfz-wire{animation:none}
.dfz-defused .dfz-flash{animation:dfz-calm 1.2s ease-out}
@keyframes dfz-calm{0%{opacity:.8;background:radial-gradient(circle at 50% 30%,#5fd38a66,transparent 70%)}100%{opacity:0}}
.dfz-shake{animation:dfz-shake .6s cubic-bezier(.36,.07,.19,.97)}
@keyframes dfz-shake{10%,90%{transform:translate(-2px,1px)}20%,80%{transform:translate(4px,-2px)}30%,50%,70%{transform:translate(-7px,3px)}40%,60%{transform:translate(7px,-3px)}}
.dfz-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dfz-stats .round-stat{min-width:0}
.dfz-stats strong{display:block;overflow-wrap:anywhere}
#dfzChance{color:#5fd38a}
.dfz-live #dfzChance{color:color-mix(in srgb,#5fd38a calc(100% - var(--tension)*100%),#ff5a4a)}
.dfz-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.dfz-controls label{display:grid;gap:5px;font-size:12px;color:var(--text-muted)}
.dfz-controls input{width:120px}
.dfz-diffs{display:flex;flex-wrap:wrap;gap:6px}
.dfz-diffs button{border:1px solid #dec78940;background:var(--surface-sunken);color:var(--text);border-radius:8px;padding:9px 12px;cursor:pointer;display:grid;gap:2px;text-align:left}
.dfz-diffs button small{font-size:10px;color:var(--text-muted)}
.dfz-diffs button.is-selected{border-color:var(--gold);background:#dec78922;box-shadow:inset 0 0 0 1px var(--gold)}
.dfz-diffs button:disabled{opacity:.55;cursor:default}
.dfz-cash{background:#2fa25a;border-color:#2fa25a;color:#fff}
.dfz-ladder{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.dfz-ladder span{flex:0 0 auto;display:grid;gap:2px;padding:6px 10px;border-radius:7px;background:var(--surface-sunken);border:1px solid #dec78925;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text-muted)}
.dfz-ladder small{font-size:9px;letter-spacing:.08em}
.dfz-ladder .is-reached{color:#5fd38a;border-color:#2fa25a88}
.dfz-ladder .is-next{color:var(--gold);border-color:var(--gold)}
@media (max-width:560px){.dfz-wires{height:150px;gap:2px;padding:0 2px}.dfz-cable{width:6px}.dfz-tag{font-size:8px;padding:1px 2px}.dfz-stats{grid-template-columns:1fr}.dfz-keypad{display:none}}
@media (prefers-reduced-motion:reduce){.dfz-wire,.dfz-live .dfz-bomb{animation:none}.dfz-shake{animation:none}}
/* CS2 daily tasks (Quests) */
.cs2-tasks{margin-top:28px}
.cs2-tasks-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}
.cs2-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.cs2-task{display:grid;gap:8px;align-content:start;position:relative}
.cs2-task.is-done{border-color:#2fa25a88}
.cs2-task.is-claimed{opacity:.75}
.cs2-task.is-claimed::after{content:"✓";position:absolute;top:12px;right:14px;color:#5fd38a;font:800 20px/1 Inter,sans-serif}
.cs2-task h3{margin:0}
.cs2-task progress{width:100%}
.cs2-task-tip{font-size:12px;color:var(--text-muted)}
.cs2-task-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle;background:var(--swatch)}
.cs2-bingo{margin-top:12px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;background:radial-gradient(circle at 85% 30%,#dec78933,transparent 50%),var(--surface)}
.cs2-bingo-dots{display:flex;gap:6px}
.cs2-bingo-dots i{width:14px;height:14px;border-radius:50%;border:2px solid #dec78966}
.cs2-bingo-dots i.on{background:var(--gold);border-color:var(--gold)}
