:root{--bg-color: #171719;--bg-darker: #111112;--card-bg: #222225;--primary-accent: #10ac84;--text-light: #ffffff;--text-muted: #a0a0a0;--badge-green: #2ecc71;--t-color: #dfa85a;--ct-color: #5a9bdf}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-light);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow-y:scroll;overflow-x:hidden}header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px 40px;background-color:var(--bg-darker);border-bottom:1px solid #2a2a2d;position:sticky;top:0;z-index:100}.search-icon{color:var(--text-muted);cursor:pointer;justify-self:start}.search-icon svg{width:20px;height:20px}.logo{font-size:36px;font-weight:900;font-family:Montserrat,sans-serif;text-transform:uppercase;letter-spacing:-1px;grid-column:2;justify-self:center;cursor:pointer;text-shadow:2px 2px 0px rgba(0,0,0,.8)}.logo span.cs{color:#fff}.logo span.strats{color:var(--primary-accent)}.logo span.gg{font-size:22px;color:var(--text-muted);text-transform:lowercase}.container{max-width:1200px;margin:40px auto;padding:0 20px}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;justify-items:center}.map-card{position:relative;background-color:var(--card-bg);background-size:cover;background-position:center;border-radius:8px;overflow:hidden;aspect-ratio:4 / 5;width:100%;max-width:300px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.map-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #00000080;border-color:#555}.map-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000001a,#171719f2);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:20px}.map-icon{width:80px;height:80px;border-radius:50%;background-color:#ffffff1a;border:2px solid rgba(255,255,255,.3);margin-bottom:auto;margin-top:40px;display:flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-weight:900;font-size:28px;color:#ffffff80}.map-card h2{margin:0 0 5px;font-size:28px;font-family:Montserrat,sans-serif;font-style:italic;font-weight:900;text-transform:uppercase;text-shadow:2px 2px 4px rgba(0,0,0,.8)}.map-card p{margin:0;font-size:14px;font-style:italic;font-weight:700;color:var(--text-muted)}.badge{position:absolute;top:12px;right:12px;background-color:var(--badge-green);color:#fff;font-size:12px;font-weight:800;padding:4px 8px;border-radius:4px;z-index:10}#strat-view{display:none;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.strat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px;border-bottom:1px solid #333;padding-bottom:20px}.strat-header-left{display:flex;align-items:center;min-width:0}.strat-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;justify-content:flex-end;flex-shrink:0;max-width:480px}.filter-group{display:flex;flex-direction:column;align-items:center;gap:4px}.dice-btn{display:flex;align-items:center;justify-content:center;width:34px;height:28px;padding:0;border-radius:6px;border:2px solid #444;background:#00000080;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,border-color .2s;position:relative;overflow:visible}.dice-btn:hover{transform:translateY(-2px)}.dice-btn--t{border-color:var(--t-color);box-shadow:0 0 12px #dfa85a40}.dice-btn--t:hover{box-shadow:0 0 18px #dfa85a73}.dice-btn--ct{border-color:var(--ct-color);box-shadow:0 0 12px #5a9bdf40}.dice-btn--ct:hover{box-shadow:0 0 18px #5a9bdf73}.dice-icon{font-size:16px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.dice-btn.is-rolling{animation:diceShake .55s cubic-bezier(.36,.07,.19,.97) both}@keyframes diceShake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-2px,-3px) rotate(-12deg)}20%{transform:translate(3px,2px) rotate(10deg)}30%{transform:translate(-3px,1px) rotate(-8deg)}40%{transform:translate(2px,-2px) rotate(14deg)}50%{transform:translate(-1px,3px) rotate(-14deg)}60%{transform:translate(3px,-1px) rotate(8deg)}70%{transform:translate(-2px,-2px) rotate(-10deg)}80%{transform:translate(1px,2px) rotate(6deg)}90%{transform:translate(-1px,-1px) rotate(-4deg)}}.dice-fx-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:200;overflow:hidden}.dice-flash{position:fixed;width:120px;height:120px;margin-left:-60px;margin-top:-60px;border-radius:50%;animation:diceFlash .45s ease-out forwards;mix-blend-mode:screen}.dice-flash--t{background:radial-gradient(circle,rgba(255,205,138,.9) 0%,rgba(223,168,90,.35) 40%,transparent 70%)}.dice-flash--ct{background:radial-gradient(circle,rgba(140,195,255,.9) 0%,rgba(90,155,223,.35) 40%,transparent 70%)}@keyframes diceFlash{0%{transform:scale(.2);opacity:1}to{transform:scale(2.2);opacity:0}}.dice-particle{position:fixed;margin-left:-50%;margin-top:-50%;border-radius:2px;pointer-events:none;animation:diceParticleFly .65s cubic-bezier(.22,1,.36,1) forwards;box-shadow:0 0 8px currentColor}@keyframes diceParticleFly{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(0);opacity:0}}.strat-card.dice-reveal:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;pointer-events:none;z-index:4;opacity:0;animation:diceRevealShader 1.1s ease-out forwards;mix-blend-mode:screen}.strat-card.dice-reveal--t:after{background:linear-gradient(105deg,transparent 0%,rgba(255,180,80,.15) 25%,rgba(255,240,200,.55) 50%,rgba(255,180,80,.15) 75%,transparent 100%);background-size:200% 100%;filter:hue-rotate(0deg) saturate(1.4)}.strat-card.dice-reveal--ct:after{background:linear-gradient(105deg,transparent 0%,rgba(90,155,223,.15) 25%,rgba(200,230,255,.55) 50%,rgba(90,155,223,.15) 75%,transparent 100%);background-size:200% 100%;filter:hue-rotate(0deg) saturate(1.4)}@keyframes diceRevealShader{0%{opacity:0;background-position:200% 0;transform:scale(.98)}15%{opacity:1}50%{background-position:0% 0;opacity:.85;transform:scale(1.02)}to{opacity:0;background-position:-200% 0;transform:scale(1)}}.strat-card.dice-reveal.active{animation:diceCardPop .5s cubic-bezier(.34,1.56,.64,1) both}.strat-list.has-active .strat-card.active.dice-reveal{opacity:1;filter:none}@keyframes diceCardPop{0%{filter:brightness(2) contrast(1.2)}40%{filter:brightness(1.35) contrast(1.1)}to{filter:none}}.filter-btn{font-family:Montserrat,sans-serif;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:6px 12px;border-radius:4px;border:2px solid #444;background:#00000059;color:var(--text-muted);cursor:pointer;transition:background .2s,border-color .2s,color .2s,opacity .2s}.filter-btn:hover{border-color:#666;color:var(--text-light)}.filter-btn.is-active{color:#111}.filter-btn:not(.is-active){opacity:.45}.filter-btn--t{border-color:var(--t-color);color:var(--t-color)}.filter-btn--t.is-active{background:var(--t-color);border-color:var(--t-color);color:#111}.filter-btn--t:not(.is-active){opacity:.55}.filter-btn--t.is-pinned{opacity:1;cursor:default}.filter-btn--ct{border-color:var(--ct-color);color:var(--ct-color)}.filter-btn--ct.is-active{background:var(--ct-color);border-color:var(--ct-color);color:#111}.filter-btn--ct:not(.is-active){opacity:.55}.filter-btn--ct.is-pinned{opacity:1;cursor:default}.filter-btn--tactic.is-active{background:#555;border-color:#777;color:#eee}.filter-btn--solo.is-active{background:var(--primary-accent);border-color:var(--primary-accent)}.filter-btn--solo .filter-solo-word{color:inherit}.filter-btn--solo:not(.is-active) .filter-solo-word{color:var(--primary-accent)}.filter-btn--cheese.is-active{background:#f4d03f;border-color:#f4d03f}.filter-btn--cheese:not(.is-active){color:#f4d03f}.back-btn{background:none;border:none;color:var(--primary-accent);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:4px;transition:background .2s}.back-btn:hover{background:#10ac841a}.strat-header h1{margin:0 0 0 20px;font-family:Montserrat,sans-serif;font-style:italic;font-weight:900;font-size:36px;text-transform:uppercase;letter-spacing:-1px}.strat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px;padding:20px 0;align-items:stretch}.strat-card{background-color:var(--card-bg);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;height:460px;position:relative;isolation:isolate;box-shadow:0 8px 16px #0006;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1),filter .35s cubic-bezier(.4,0,.2,1);overflow:hidden;cursor:pointer}.strat-card.is-filtered-out{display:none}.strat-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 24px #0009}.strat-card.active{transform:scale(1.15);transform-origin:center center;z-index:10;cursor:default}.strat-card.active:hover{transform:scale(1.15)}.card-t.active{box-shadow:0 0 50px #dfa85a99,0 20px 40px #000c;border-color:#ffcd8a}.card-ct.active{box-shadow:0 0 50px #5a9bdf99,0 20px 40px #000c;border-color:#8cc3ff}.strat-list.has-active .strat-card:not(.active){opacity:.4;transform:scale(.95);filter:grayscale(.6)}.strat-list.has-active .strat-card:not(.active):hover{opacity:.8;transform:scale(.98);filter:grayscale(0);cursor:pointer}.strat-card>*{position:relative;z-index:3;pointer-events:none}.card-watermark{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) rotate(-35deg);font-size:110px;font-family:Montserrat,sans-serif;font-style:italic;font-weight:900;color:#ffffff26;z-index:2!important;pointer-events:none;white-space:nowrap;letter-spacing:4px;text-transform:uppercase}.card-t{background:linear-gradient(180deg,rgba(223,168,90,.15) 0%,var(--card-bg) 40%);border:2px solid var(--t-color);box-shadow:0 8px 16px #dfa85a1a}.card-ct{background:linear-gradient(180deg,rgba(90,155,223,.15) 0%,var(--card-bg) 40%);border:2px solid var(--ct-color);box-shadow:0 8px 16px #5a9bdf1a}.strat-card.card-solo:before,.strat-card.card-cheese:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:.55;transition:opacity .4s ease,background-position .85s ease}.strat-card.card-solo:hover:before,.strat-card.card-cheese:hover:before,.strat-card.card-solo.active:before,.strat-card.card-cheese.active:before{opacity:1}.strat-card.card-solo:before{background:linear-gradient(118deg,transparent 0%,transparent 38%,rgba(16,172,132,.05) 44%,rgba(72,219,176,.12) 50%,rgba(16,172,132,.05) 56%,transparent 62%,transparent 100%);background-size:220% 100%;background-position:85% 0}.strat-card.card-solo:hover:before,.strat-card.card-solo.active:before{background-position:15% 0}.strat-card.card-solo.card-t{box-shadow:inset 0 1px #10ac8433,0 8px 16px #dfa85a1a}.strat-card.card-solo.card-ct{box-shadow:inset 0 1px #10ac8433,0 8px 16px #5a9bdf1a}.strat-card.card-cheese:before{background-image:linear-gradient(118deg,transparent 0%,transparent 38%,rgba(244,208,63,.04) 44%,rgba(255,236,160,.11) 50%,rgba(244,208,63,.04) 56%,transparent 62%,transparent 100%),radial-gradient(circle at center,rgba(244,208,63,.035) 0 32%,transparent 33%);background-size:220% 100%,20px 20px;background-position:85% 0,0 0}.strat-card.card-cheese:hover:before,.strat-card.card-cheese.active:before{background-position:15% 0,0 0}.strat-card.card-cheese.card-t{box-shadow:inset 0 1px #f4d03f26,0 8px 16px #dfa85a1a}.strat-card.card-cheese.card-ct{box-shadow:inset 0 1px #f4d03f26,0 8px 16px #5a9bdf1a}@media(prefers-reduced-motion:reduce){.strat-card.card-solo:before,.strat-card.card-cheese:before{transition:opacity .4s ease}.dice-btn.is-rolling,.dice-particle,.dice-flash,.strat-card.dice-reveal,.strat-card.dice-reveal:after{animation:none!important}}.strat-list-empty{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-style:italic;padding:40px 20px}.card-top-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.card-side-badge{font-weight:900;font-size:14px;padding:4px 10px;border-radius:4px;letter-spacing:1px}.badge-t{background:var(--t-color);color:#111}.badge-ct{background:var(--ct-color);color:#111}.card-type-label{font-size:12px;font-weight:700;letter-spacing:.5px}.card-type-tactic,.card-type-solo{opacity:.5}.card-type-solo-word{color:var(--primary-accent);opacity:1}.card-type-cheese{color:#f4d03f;opacity:1}.card-title{font-family:Montserrat,sans-serif;font-size:22px;font-weight:900;text-transform:uppercase;text-align:center;line-height:1.2;height:52px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--text-light);margin:4px 0;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.card-art{position:relative;height:130px;background:#00000080;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.05);box-shadow:inset 0 8px 16px #0009;margin-bottom:8px;overflow:hidden;z-index:1!important}.card-art.has-map-image{background-size:cover;background-position:center}.card-art.has-map-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.card-art-icon{font-size:48px;opacity:.7;position:relative;z-index:1}.card-setup{font-family:monospace;font-size:22px;text-align:center;background:#0006;padding:12px 10px;border-radius:4px;color:var(--primary-accent);font-weight:700;border:1px solid rgba(255,255,255,.1)}.card-desc{font-size:18px;line-height:1.55;color:#d0d0d0;margin:auto 0 0;text-align:center;background:#0003;padding:14px;border-radius:8px;border-top:1px solid rgba(255,255,255,.05);flex:1;min-height:0;overflow:hidden}.card-desc.card-desc--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5}.bg-mirage{background:linear-gradient(to bottom,#d4a373,#222)}.bg-dust2{background:linear-gradient(to bottom,#c2b280,#222)}.bg-nuke{background:linear-gradient(to bottom,#4a7c8c,#222)}.bg-inferno{background:linear-gradient(to bottom,#8b4513,#222)}.bg-overpass{background:linear-gradient(to bottom,#5d7052,#222)}.bg-ancient{background:linear-gradient(to bottom,#42523d,#222)}.bg-anubis{background:linear-gradient(to bottom,#a0815c,#222)}.bg-cache{background:linear-gradient(to bottom,#596157,#222)}@media(max-width:720px){.strat-header{flex-direction:column;align-items:stretch}.strat-filters{max-width:none;justify-content:flex-start}}
