@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root{
    --accent:#D62828;
    --accent-soft:rgba(60,173,170,.18);
    --bg:#050707;
    --bg2:#090d0d;
    --panel:#0d1212;
    --text:#f3f6f5;
    --muted:#899493;
    --line:rgba(255,255,255,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;line-height:1.65;overflow-x:hidden}
button,a{font:inherit}
button{color:inherit}
a{text-decoration:none;color:inherit}
.nav{position:fixed;z-index:50;top:0;left:0;right:0;height:76px;padding:0 5%;display:flex;align-items:center;gap:35px;background:rgba(3,5,5,.76);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}
.brand{font:900 30px/1 "Barlow Condensed";letter-spacing:1px;white-space:nowrap}
.brand b,h1 span,h2 span,h3 span{color:var(--accent)}
.nav nav{display:flex;gap:25px;margin-left:auto}
.nav nav a{font:700 14px "Barlow Condensed";text-transform:uppercase;letter-spacing:1px;color:#b7c0bf;transition:.2s}
.nav nav a:hover{color:var(--accent)}
.nav-cta{padding:10px 16px;border:1px solid var(--accent);font:700 13px "Barlow Condensed";letter-spacing:1px}
.nav-cta:hover{background:var(--accent);color:#041010}

.hero{height:100svh;min-height:700px;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,#030505 0%,rgba(3,5,5,.78) 37%,rgba(3,5,5,.28) 75%),linear-gradient(0deg,#050707 0%,transparent 45%),url("images/hero/hero.png") center/30% auto no-repeat;;transform:scale(1.04);animation:heroIn 1.2s ease both}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(60,173,170,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(60,173,170,.04) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,black,transparent 70%)}
.hero-copy{position:relative;z-index:2;width:min(850px,90%);margin-left:9%;padding-top:60px}
.kicker,.section-label,.detail-kicker{font:800 13px "Barlow Condensed";letter-spacing:4px;color:var(--accent);text-transform:uppercase}
.hero h1{font:900 clamp(100px,15vw,220px)/.73 "Barlow Condensed";letter-spacing:-5px;margin:18px 0 35px}
.hero-copy>p{max-width:650px;font-size:18px;color:#c1c9c8}
.hero-actions{display:flex;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid var(--accent);font:800 15px "Barlow Condensed";letter-spacing:1.5px;cursor:pointer;transition:.25s}
.btn-main{background:var(--accent);color:#041010}
.btn-main:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(60,173,170,.2)}
.btn-ghost{background:rgba(0,0,0,.18)}
.btn-ghost:hover{background:var(--accent);color:#041010}
.hero-note{position:absolute;bottom:35px;right:5%;font:700 12px "Barlow Condensed";letter-spacing:3px;color:#657170}

.section,.interactive-section,.wave-section{padding:120px 8%}
.intro{background:var(--bg)}
.intro-grid{max-width:1250px;margin:35px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:80px}
h2{font:900 clamp(55px,7vw,100px)/.82 "Barlow Condensed";letter-spacing:-2px}
.intro-text{padding-top:15px;max-width:650px}
.lead{font:500 27px/1.35 "Barlow Condensed";color:#e7eceb;margin-bottom:25px}
.intro-text p:not(.lead){color:var(--muted);margin-bottom:15px}
.interactive-section{background:#070a0a;border-top:1px solid var(--line)}
.interactive-section.dark{background:#040606}
.section-heading{max-width:1250px;margin:0 auto 55px;display:flex;justify-content:space-between;gap:50px;align-items:end}
.section-heading h2{margin-top:10px}
.section-heading>p{max-width:410px;color:var(--muted);font-size:14px}
.weapon-showcase{max-width:1250px;margin:auto;display:grid;grid-template-columns:220px minmax(300px,1fr) 350px;min-height:570px;border-top:1px solid var(--line);}
.selector{border-right:1px solid var(--line);padding:30px 0;display:flex;flex-direction:column;justify-content:center}
.selector-item,.enemy-choice{border:0;background:transparent;text-align:left;padding:19px 24px;display:flex;align-items:center;gap:15px;color:#727d7c;cursor:pointer;font:700 18px "Barlow Condensed";transition:.25s}
.selector-item span,.enemy-index{font-size:11px;color:#3f4948}
.selector-item:hover,.selector-item.active{color:white;background:linear-gradient(90deg,var(--accent-soft),transparent)}
.selector-item.active span{color:var(--accent)}
.visual-stage{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle,rgba(60,173,170,.09),transparent 52%)}
.visual-stage:before{content:"";position:absolute;width:70%;aspect-ratio:1;border:1px solid rgba(60,173,170,.12);border-radius:50%}
.visual-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.84);transition:.45s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.visual-item.active{opacity:1;transform:scale(1);pointer-events:auto}
.visual-item img{width:50%;max-height:300px;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(0,0,0,.6));transition:.35s}
.visual-item:hover img{transform:scale(1.12) rotate(-2deg);filter:drop-shadow(0 35px 45px rgba(60,173,170,.22))}
.stage-caption{position:absolute;bottom:25px;font:700 11px "Barlow Condensed";letter-spacing:3px;color:#53605e}
.detail-panel{border-left:1px solid var(--line);position:relative}
.detail{position:absolute;inset:0;padding:65px 42px;opacity:0;transform:translateX(18px);transition:.3s;pointer-events:none}
.detail.active{opacity:1;transform:none;pointer-events:auto}
.detail h3{font:900 58px/.9 "Barlow Condensed";margin:13px 0 20px}
.detail>p{color:var(--muted);font-size:14px;margin-bottom:30px}
.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.stat{padding:12px 0;border-bottom:1px solid var(--line)}
.stat span{display:block;color:#687371;font:700 11px "Barlow Condensed";text-transform:uppercase;letter-spacing:1px}
.stat strong{font:700 15px "Barlow Condensed"}
.special,.drops{margin-top:25px;padding-left:15px;border-left:2px solid var(--accent)}
.special small,.drops small{display:block;color:var(--accent);font:800 11px "Barlow Condensed";letter-spacing:2px;margin-bottom:4px}
.special span{font-size:13px;color:#b8c0bf}
.enemy-showcase{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr 280px 350px;min-height:600px}
.enemy-visual{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(60,173,170,.06),transparent 55%);overflow:hidden}
.enemy-item{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:.45s}
.enemy-item.active{opacity:1;transform:scale(1)}
.enemy-item img{width:50%;height:55%;object-fit:contain;filter:drop-shadow(0 35px 35px rgba(0,0,0,.7));transition:.35s}
.enemy-item:hover img{transform:scale(1.08);filter:drop-shadow(0 30px 40px rgba(60,173,170,.18))}
.enemy-ring{position:absolute;width:55%;aspect-ratio:1;border:1px solid rgba(60,173,170,.12);border-radius:50%}
.enemy-list{border-left:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.enemy-choice{justify-content:space-between;font-size:17px}
.enemy-choice b{font-size:22px;font-weight:400;opacity:.4}
.enemy-choice.active{background:var(--accent-soft);color:white;border-left:3px solid var(--accent)}
.enemy-detail{position:relative}
.drops div{display:flex;gap:7px;flex-wrap:wrap}
.drops span{padding:5px 8px;border:1px solid var(--line);font:600 11px "Barlow Condensed";color:#cbd2d1}
.enemy-drop-layer {
    position: absolute;
    inset: 0;
    z-index: 6;
    pointer-events: none;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .35s ease,
        visibility .35s ease;
}

.enemy-drop-layer.active {
    opacity: 1;
    visibility: visible;
}


/* Individual drop */

.enemy-drop {
    position: absolute;

    width: 75px;
    height: 75px;

    display: flex;
    align-items: center;
    justify-content: center;

    pointer-events: auto;

    cursor: pointer;

    transition:
        transform .3s ease,
        opacity .3s ease;
}


/* Resource image */

.enemy-drop img {
    width: 65px;
    height: 65px;

    object-fit: contain;

    filter:
        drop-shadow(0 12px 15px rgba(0,0,0,.65));

    transition:
        transform .3s ease,
        filter .3s ease;
}


/* Hover */

.enemy-drop:hover {
    transform: scale(1.15);
}

.enemy-drop:hover img {
    transform: scale(1.25);

    filter:
        drop-shadow(0 10px 25px rgba(214,40,40,.55));
}


/* =========================
   DROP POSITIONS
   ========================= */


/* 1st drop */

.enemy-drop:nth-child(1) {
    top: 17%;
    left: 12%;
}


/* 2nd drop */

.enemy-drop:nth-child(2) {
    top: 17%;
    right: 12%;
}


/* 3rd drop */

.enemy-drop:nth-child(3) {
    bottom: 17%;
    left: 12%;
}


/* 4th drop */

.enemy-drop:nth-child(4) {
    bottom: 17%;
    right: 12%;
}


/* =========================
   DROP TOOLTIP
   ========================= */

.drop-tooltip {
    position: absolute;

    left: 50%;
    bottom: -15px;

    transform:
        translateX(-50%)
        translateY(10px);

    width: 150px;

    padding: 10px;

    background: rgba(5,7,7,.96);

    border: 1px solid var(--accent);

    opacity: 0;

    pointer-events: none;

    transition:
        opacity .25s ease,
        transform .25s ease;

    text-align: center;

    z-index: 20;
}

.drop-tooltip strong {
    display: block;

    color: var(--accent);

    font: 800 15px "Barlow Condensed";

    letter-spacing: 1px;
}

.drop-tooltip span {
    display: block;

    margin-top: 3px;

    color: #aeb8b6;

    font-size: 10px;

    line-height: 1.4;
}

.enemy-drop:hover .drop-tooltip {
    opacity: 1;

    transform:
        translateX(-50%)
        translateY(0);
}

.wave-section{background:linear-gradient(180deg,#080c0c,#050707)}
.wave-track{max-width:1250px;margin:80px auto 45px;display:flex;align-items:center;position:relative}
.wave-track:before{content:"";position:absolute;left:5%;right:5%;height:1px;background:var(--line)}
.wave-node{position:relative;z-index:2;flex:1;background:transparent;border:0;cursor:pointer;text-align:center;color:#53605e;transition:.25s}
.wave-node strong{display:block;font:900 62px/.8 "Barlow Condensed";margin:8px 0}
.wave-node small,.wave-node span{font:700 10px "Barlow Condensed";letter-spacing:2px}
.wave-node.active,.wave-node:hover{color:var(--accent);transform:translateY(-5px)}
.wave-node.active strong{color:white}
.wave-info{max-width:900px;margin:auto;position:relative;min-height:150px}
.wave-copy{display:none;align-items:center;gap:40px}
.wave-copy.active{display:flex}
.wave-number{font:900 120px/.7 "Barlow Condensed";color:rgba(60,173,170,.13)}
.wave-copy h3{font:900 48px/.9 "Barlow Condensed";margin:8px 0}
.wave-copy p{color:var(--muted)}

/* =========================================
   DEAD WAVE UPGRADES
========================================= */

.upgrades-section {
    position: relative;
    padding: 110px 6%;
    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(214,40,40,.08),
            transparent 45%
        );
}


.upgrade-tabs {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 45px 0;
}


.upgrade-tab {
    padding: 14px 32px;

    border: 1px solid rgba(255,255,255,.1);

    background: #090d0d;

    color: #899493;

    font-weight: 800;

    letter-spacing: 2px;

    cursor: pointer;

    transition: .3s ease;
}


.upgrade-tab:hover,
.upgrade-tab.active {
    color: white;

    border-color: var(--accent);

    background:
        linear-gradient(
            135deg,
            rgba(214,40,40,.22),
            rgba(214,40,40,.04)
        );

    box-shadow:
        0 0 25px rgba(214,40,40,.12);
}


.upgrade-grid {
    max-width: 1400px;

    margin: auto;

    display: none;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 22px;
}


.upgrade-grid.active {
    display: grid;
}


/* CARD */

.upgrade-card {
    position: relative;

    min-height: 480px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #111717,
            #080b0b
        );

    border: 1px solid rgba(255,255,255,.08);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


.upgrade-card::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            135deg,
            rgba(214,40,40,.12),
            transparent 45%
        );

    opacity: 0;

    transition: .35s;
}


.upgrade-card:hover {
    transform: translateY(-8px);

    border-color: rgba(214,40,40,.6);

    box-shadow:
        0 25px 55px rgba(0,0,0,.55),
        0 0 35px rgba(214,40,40,.08);
}


.upgrade-card:hover::before {
    opacity: 1;
}


/* IMAGE */

.upgrade-image {
    position: relative;

    height: 230px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle,
            rgba(214,40,40,.08),
            transparent 65%
        );

    border-bottom: 1px solid rgba(255,255,255,.06);
}


.upgrade-image img {
    width: 75%;
    height: 85%;

    object-fit: contain;

    filter:
        drop-shadow(0 18px 20px rgba(0,0,0,.7));

    transition:
        transform .45s cubic-bezier(.2,.8,.2,1),
        filter .45s;
}


.upgrade-card:hover .upgrade-image img {
    transform: scale(1.18);

    filter:
        drop-shadow(
            0 15px 30px
            rgba(214,40,40,.25)
        );
}


.upgrade-placeholder {
    color: #596463;

    font-size: 13px;

    letter-spacing: 2px;

    text-transform: uppercase;
}


/* CONTENT */

.upgrade-content {
    position: relative;

    padding: 22px;
}


.upgrade-top {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 12px;
}


.upgrade-category {
    font-size: 10px;

    font-weight: 900;

    color: var(--accent);

    letter-spacing: 2px;
}


.upgrade-level {
    font-size: 11px;

    color: #899493;

    font-weight: 700;
}


.upgrade-content h3 {
    margin: 0 0 8px;

    color: white;

    font-size: 25px;

    letter-spacing: 1px;
}


.upgrade-description {
    min-height: 42px;

    color: #899493;

    font-size: 13px;

    line-height: 1.5;

    margin: 0 0 20px;
}


/* PROGRESS */

.upgrade-progress {
    width: 100%;

    height: 6px;

    background: #050707;

    overflow: hidden;

    border-radius: 20px;

    margin-bottom: 20px;
}


.upgrade-progress-fill {
    height: 100%;

    background:
        linear-gradient(
            90deg,
            #8f1018,
            var(--accent)
        );

    box-shadow:
        0 0 12px rgba(214,40,40,.5);

    transition: width .5s ease;
}


/* VALUES */

.upgrade-values {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;
}


.upgrade-values > div {
    padding: 12px;

    background: rgba(255,255,255,.025);

    border: 1px solid rgba(255,255,255,.05);
}


.upgrade-values small {
    display: block;

    color: #687270;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.5px;

    margin-bottom: 5px;
}


.upgrade-values strong {
    color: white;

    font-size: 13px;
}


/* EXTRA */

.upgrade-extra {
    margin-top: 10px;

    padding: 10px;

    color: #aab3b1;

    font-size: 10px;

    line-height: 1.5;

    background: rgba(255,255,255,.02);

    border-left: 2px solid var(--accent);
}


/* FOOTER */

.upgrade-footer {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-top: 20px;

    padding-top: 15px;

    border-top: 1px solid rgba(255,255,255,.06);

    color: #687270;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1px;
}


.upgrade-status {
    color: #899493;
}

.upgrade-status-tabs {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 0 auto 35px;
}

.upgrade-status-tab {
    padding: 12px 28px;

    background: #080b0b;

    border: 1px solid rgba(255,255,255,.08);

    color: #7d8886;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 1.5px;

    cursor: pointer;

    transition: .25s ease;
}

.upgrade-status-tab:hover,
.upgrade-status-tab.active {
    color: white;

    border-color: var(--accent);

    background: rgba(214,40,40,.12);

    box-shadow:
        0 0 20px rgba(214,40,40,.12);
}
/* =========================================
   WEAPON EXTRA STATS
========================================= */

.weapon-extra {
    margin-top: 14px;

    padding: 13px 14px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.015)
        );

    border: 1px solid rgba(255,255,255,.07);

    border-left: 2px solid var(--accent);
}


/* TITLE */

.weapon-extra-title {
    margin-bottom: 10px;

    color: #737e7c;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: 2px;
}


/* STATS */

.weapon-extra-stats {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 8px;
}


/* INDIVIDUAL STAT */

.weapon-extra-stat {
    min-width: 0;

    padding: 8px 7px;

    background: rgba(0,0,0,.18);

    border: 1px solid rgba(255,255,255,.045);

    text-align: center;
}


/* LABEL */

.weapon-extra-label {
    display: block;

    margin-bottom: 4px;

    color: #687270;

    font-size: 8px;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


/* VALUE */

.weapon-extra-value {
    display: block;

    color: white;

    font-size: 11px;

    font-weight: 800;
}

.upgrade-limit-hidden {
    display: none !important;
}


/* SHOW ALL BUTTON */

.upgrade-show-all-wrapper {
    display: flex;

    justify-content: center;

    margin-top: 30px;
}
.wave-category-image {
    width: 220px;
    height: 220px;
    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.wave-category-image img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;

    transition: transform 0.3s ease;
}

.wave-copy:hover .wave-category-image img {
    transform: scale(1.06);
}
.upgrade-limit-hidden {
    display: none !important;
}
.upgrade-show-all {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 190px;

    padding: 13px 24px;

    background: transparent;

    border: 1px solid rgba(214, 40, 40, .55);

    color: white;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 1.5px;

    cursor: pointer;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


.upgrade-show-all:hover {

    background: #d62828;

    border-color: #d62828;

    transform: translateY(-2px);

}
/* MAXED VERSION */

.upgrade-maxed .weapon-extra {
    border-left-color: var(--accent);

    background:
        linear-gradient(
            135deg,
            rgba(214,40,40,.08),
            rgba(255,255,255,.015)
        );
}


.upgrade-maxed .weapon-extra-value {
    color: #ff4b4b;
}


/* MOBILE */

@media (max-width: 650px) {

    .weapon-extra-stats {
        grid-template-columns: 1fr;
    }

    .weapon-extra-stat {
        display: flex;

        justify-content: space-between;

        align-items: center;

        text-align: left;
    }

    .weapon-extra-label {
        margin-bottom: 0;
    }

}
.upgrade-card.status-hidden {
    display: none;
}

.upgrade-card.maxed {
    border-color: var(--accent);

    box-shadow:
        0 0 30px rgba(214,40,40,.12);
}

.upgrade-card.maxed::after {
    content: "MAXED OUT";

    position: absolute;

    top: 15px;
    right: 15px;

    padding: 7px 10px;

    background: var(--accent);

    color: white;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: 1px;
}
/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1000px) {

    .upgrade-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 650px) {

    .upgrade-grid {
        grid-template-columns: 1fr;
    }

    .upgrade-tabs {
        flex-direction: column;
    }

    .upgrade-card {
        min-height: 450px;
    }

}

.resources{background:#080b0b}
.resource-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.resource-card{min-height:300px;padding:30px;background:#0c1111;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:.3s}
.resource-card:hover{transform:translateY(-7px);border-color:var(--accent);background:#0e1515}
.resource-art{height:170px;display:flex;align-items:center;justify-content:center}
.resource-art img{max-width:50%;max-height:100px;object-fit:contain;transition:.3s;filter:drop-shadow(0 20px 20px rgba(0,0,0,.55))}
.resource-card:hover .resource-art img{transform:scale(1.25) rotate(-3deg)}
.resource-card h3{font:900 30px "Barlow Condensed"}
.resource-card p{font-size:12px;color:var(--muted);margin-top:5px}

.activities{background:#050808}
.activity-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.activity-card{max-height:600px;background:#0b1010;border:1px solid var(--line);position:relative;overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.activity-card:hover{border-color:rgba(60,173,170,.45)}
.activity-art{height:300px;overflow:hidden;background:radial-gradient(circle,rgba(60,173,170,.12),transparent 60%);display:flex;align-items:center;justify-content:center}
.activity-art img{width:100%;height:100%;object-fit:contain;transition:.45s}
.activity-card:hover .activity-art img{transform:scale(1.1)}
.activity-content{padding:30px}
.activity-content h3{font:900 50px/.9 "Barlow Condensed";margin:10px 0 15px}
.activity-content p{color:var(--muted);font-size:14px}
.activity-tags{display:flex;gap:3px;flex-wrap:wrap;margin-top:22px}
.activity-tags span{border:1px solid var(--line);padding:5px 8px;font:700 10px "Barlow Condensed";letter-spacing:1px}

.screens{background:#080b0b}
.gallery{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery-item{height:240px;border:0;overflow:hidden;background:#0d1111;cursor:pointer;padding:0}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.45s}
.gallery-item:hover img{transform:scale(1.08);filter:saturate(1.15)}

.contact{background:linear-gradient(135deg,#050707,#091212)}
.contact-layout{max-width:1150px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.contact h2{margin:15px 0 25px}
.contact-layout>div>p{color:var(--muted);max-width:450px}
.contact-line{margin-top:30px;color:var(--accent);font:700 11px "Barlow Condensed";letter-spacing:2px}
.contact-form{background:#070b0b;border:1px solid var(--line);padding:35px}
.contact-form label{display:block;color:#8c9896;font:700 11px "Barlow Condensed";letter-spacing:2px;margin-bottom:18px}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid #202b2a;background:#050707;color:white;outline:none;font:14px Inter;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}
.form-message{padding:10px;margin-bottom:15px;font-size:12px}
.success{border:1px solid var(--accent);color:#83ddd9}.error{border:1px solid #9b5555;color:#ffaaaa}
.contact-form .btn{width:100%}
footer{text-align:center;padding:55px 5%;border-top:1px solid var(--line);background:#030505}
footer p{font:700 12px "Barlow Condensed";letter-spacing:3px;color:#66716f;margin:12px 0}
footer small{color:#414b4a;font-size:11px}

.lightbox{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.open{display:flex}
.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}
.lightbox button{position:absolute;right:25px;top:15px;border:0;background:none;color:white;font-size:50px;cursor:pointer}

@keyframes heroIn{from{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1.04)}}

@media(max-width:1000px){
    .nav{gap:15px}.nav nav{gap:13px}.nav-cta{display:none}
    .weapon-showcase{grid-template-columns:180px 1fr;}.detail-panel{grid-column:1/-1;border-left:0;min-height:390px}
    .enemy-showcase{grid-template-columns:1fr 230px}.enemy-detail{grid-column:1/-1;border-top:1px solid var(--line);min-height:390px}
    .resource-grid{grid-template-columns:repeat(2,1fr)}
    .contact-layout{gap:45px}
}
@media(max-width:700px){
    .nav{height:auto;min-height:65px;padding:12px 4%;flex-wrap:wrap}.nav nav{order:3;width:100%;justify-content:center;overflow:auto}.nav nav a{font-size:12px}
    .hero-copy{margin-left:5%;padding-top:80px}.hero h1{font-size:100px}.hero-copy>p{font-size:15px}.hero-actions{flex-direction:column;width:220px}
    .section,.interactive-section,.wave-section{padding:75px 5%}
    .intro-grid,.activity-grid,.contact-layout{grid-template-columns:1fr}
    .section-heading{display:block}.section-heading>p{margin-top:20px}
    .weapon-showcase{display:flex;flex-direction:column}.selector{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.selector-item{padding:13px}
    .visual-stage{height:390px}.detail-panel{min-height:370px}
    .enemy-showcase{display:flex;flex-direction:column}.enemy-list{order:2;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.enemy-detail{order:3;min-height:420px}
    .enemy-visual{height:450px}
    .wave-track{overflow:auto;justify-content:flex-start;padding-bottom:15px}.wave-track:before{display:none}.wave-node{min-width:90px}
    .wave-node strong{font-size:45px}.wave-copy{gap:15px}.wave-number{font-size:70px}
    .resource-grid,.gallery{grid-template-columns:1fr}
    .gallery-item{height:220px}
    .activity-art{height:250px}
    .contact-form{padding:25px}
}

@media (max-width: 768px) {

    /* =========================
       MOBILE HEADER
       ========================= */

    header,
    .header,
    .site-header {
        width: 100%;
    }

    /* Logo + account buttons */
    .header-top,
    .top-header,
    .navbar-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 22px 28px 12px;
    }

    /* =========================
       NAVIGATION
       ========================= */

    nav ul,
    .nav-links,
    .navbar-nav {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 6px 4px;
        width: 100%;
        margin: 0;
        padding: 8px 24px 14px;
        list-style: none;
        box-sizing: border-box;
        justify-items: center;
    }

    nav li,
    .nav-links li,
    .navbar-nav li {
        width: 100%;
        text-align: center;
    }

    nav a,
    .nav-links a,
    .navbar-nav a {
        display: block;
        width: 100%;
        padding: 8px 2px;
        font-size: 14px;
        line-height: 1.1;
        letter-spacing: 1.5px;
        white-space: nowrap;
        box-sizing: border-box;
    }

    /* =========================
       LANGUAGE BUTTONS
       ========================= */

    .language-switcher,
    .languages,
    .lang-switcher {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
        margin: 8px 0 18px;
    }

    .language-switcher a,
    .languages a,
    .lang-switcher a {
        min-width: 58px;
        height: 52px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

}
@media (max-width: 768px) {

    .account-buttons {
        display: flex;
        gap: 8px;
    }

    .account-buttons a,
    .account-buttons button {
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

}
/* =========================================
   MOBILE TOP NAV + SIDE MENU
========================================= */

.mobile-menu-toggle {
    display: none;
}

.mobile-side-menu {
    display: none;
}

.mobile-menu-overlay {
    display: none;
}


@media (max-width: 768px) {

    /* -----------------------------------------
       MOBILE TOP BAR
    ----------------------------------------- */

    .nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;

        height: 68px;
        min-height: 68px;

        padding: 0 18px;

        display: flex;
        align-items: center;
        justify-content: space-between;

        flex-wrap: nowrap;

        z-index: 1000;

        background: rgba(3,5,5,.94);
        border-bottom: 1px solid var(--line);

        backdrop-filter: blur(15px);
    }


    /* Hide desktop navigation */

    .nav nav {
        display: none !important;
    }


    .nav-cta {
        display: none !important;
    }


    /* -----------------------------------------
       LOGO
    ----------------------------------------- */

    .brand {
        font-size: 27px;
        line-height: 1;
    }


    /* -----------------------------------------
       HAMBURGER BUTTON
    ----------------------------------------- */

    .mobile-menu-toggle {
        display: flex;

        width: 44px;
        height: 44px;

        align-items: center;
        justify-content: center;

        flex-direction: column;

        gap: 5px;

        background: transparent;

        border: 1px solid rgba(255,255,255,.12);

        cursor: pointer;

        flex-shrink: 0;
    }


    .mobile-menu-toggle span {
        display: block;

        width: 20px;
        height: 2px;

        background: white;

        transition: .25s ease;
    }


    .mobile-menu-toggle:hover {
        border-color: var(--accent);
    }


    /* =========================================
       SIDE MENU
    ========================================= */

    .mobile-side-menu {

        display: block;

        position: fixed;

        top: 0;
        right: 0;

        width: min(340px, 88vw);
        height: 100vh;

        z-index: 1100;

        background:
            linear-gradient(
                180deg,
                #0b1010 0%,
                #070a0a 100%
            );

        border-left: 1px solid rgba(255,255,255,.1);

        transform: translateX(100%);

        transition:
            transform .35s cubic-bezier(.2,.8,.2,1);

        overflow-y: auto;

        box-shadow:
            -25px 0 70px rgba(0,0,0,.55);
    }


    .mobile-side-menu.open {
        transform: translateX(0);
    }


    /* -----------------------------------------
       SIDE MENU HEADER
    ----------------------------------------- */

    .mobile-menu-header {

        height: 68px;

        padding: 0 20px;

        display: flex;

        align-items: center;

        justify-content: space-between;

        border-bottom: 1px solid var(--line);

        background: rgba(0,0,0,.25);
    }


    .mobile-menu-title {

        font: 900 24px/1 "Barlow Condensed";

        letter-spacing: 1px;
    }


    .mobile-menu-title span {
        color: var(--accent);
    }


    .mobile-menu-close {

        width: 40px;
        height: 40px;

        border: 1px solid rgba(255,255,255,.1);

        background: transparent;

        color: white;

        font-size: 25px;

        cursor: pointer;
    }


    .mobile-menu-close:hover {
        border-color: var(--accent);
        color: var(--accent);
    }


    /* =========================================
       PLAYER CURRENCY
    ========================================= */

    .mobile-player-resources {

        display: grid;

        grid-template-columns: 1fr 1fr;

        gap: 8px;

        padding: 18px;

        border-bottom: 1px solid var(--line);
    }


    .mobile-resource {

        min-height: 68px;

        padding: 10px 12px;

        display: flex;

        align-items: center;

        gap: 10px;

        background:
            linear-gradient(
                135deg,
                rgba(255,255,255,.04),
                rgba(255,255,255,.015)
            );

        border: 1px solid rgba(255,255,255,.07);
    }


    .mobile-resource-icon {

        width: 34px;
        height: 34px;

        object-fit: contain;

        flex-shrink: 0;
    }


    .mobile-resource-info {
        min-width: 0;
    }


    .mobile-resource-label {

        display: block;

        color: #687270;

        font: 800 9px "Barlow Condensed";

        letter-spacing: 1.5px;

        text-transform: uppercase;
    }


    .mobile-resource-value {

        display: block;

        margin-top: 2px;

        color: white;

        font: 900 19px/1 "Barlow Condensed";
    }


    /* =========================================
       MENU SECTIONS
    ========================================= */

    .mobile-menu-section {

        padding: 18px 0;

        border-bottom: 1px solid var(--line);
    }


    .mobile-menu-section-title {

        padding: 0 20px 10px;

        color: var(--accent);

        font: 900 11px "Barlow Condensed";

        letter-spacing: 2.5px;

        text-transform: uppercase;
    }


    /* -----------------------------------------
       MENU LINKS
    ----------------------------------------- */

    .mobile-menu-link {

        width: 100%;

        min-height: 48px;

        padding: 11px 20px;

        display: flex;

        align-items: center;

        justify-content: space-between;

        color: #aab3b1;

        background: transparent;

        border: 0;

        text-align: left;

        font: 700 15px "Barlow Condensed";

        letter-spacing: .7px;

        cursor: pointer;

        transition:
            background .2s ease,
            color .2s ease,
            padding-left .2s ease;
    }


    .mobile-menu-link:hover {

        color: white;

        background: rgba(214,40,40,.08);

        padding-left: 25px;
    }


    .mobile-menu-link .menu-arrow {

        color: #4d5856;

        font-size: 14px;

        transition: .2s;
    }


    .mobile-menu-link:hover .menu-arrow {
        color: var(--accent);
        transform: translateX(3px);
    }


    /* -----------------------------------------
       ACCOUNT LINKS
    ----------------------------------------- */

    .mobile-account-link {
        color: #c3ccca;
    }


    .mobile-account-link.logout {
        color: #ff7777;
    }


    .mobile-account-link.logout:hover {
        background: rgba(214,40,40,.12);
        color: #ff4b4b;
    }


    /* =========================================
       OVERLAY
    ========================================= */

    .mobile-menu-overlay {

        display: block;

        position: fixed;

        inset: 0;

        z-index: 1050;

        background: rgba(0,0,0,.72);

        opacity: 0;

        visibility: hidden;

        transition:
            opacity .3s ease,
            visibility .3s ease;

        backdrop-filter: blur(3px);
    }


    .mobile-menu-overlay.open {

        opacity: 1;

        visibility: visible;
    }


    /* =========================================
       PREVENT PAGE SCROLL WHEN MENU OPEN
    ========================================= */

    body.mobile-menu-open {
        overflow: hidden;
    }


    /* -----------------------------------------
       PAGE OFFSET
    ----------------------------------------- */

    .hero {
        padding-top: 68px;
    }

}

/* ============================================================
   DEAD WAVE - MOBILE SLIDING NAVIGATION
   Final overrides for the mobile drawer
   ============================================================ */

@media (max-width: 768px) {

    body.mobile-menu-open {
        overflow: hidden !important;
        touch-action: none;
    }

    /* Keep the existing desktop header, but turn it into a compact mobile bar. */
    .nav {
        height: 68px !important;
        min-height: 68px !important;
        padding: 0 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        z-index: 1000 !important;
        background: rgba(3,5,5,.96) !important;
        border-bottom: 1px solid var(--line) !important;
    }

    .nav nav,
    .nav .nav-cta,
    .nav .language-switcher,
    .nav .account-nav {
        display: none !important;
    }

    .nav .brand {
        display: block !important;
        font-size: 27px !important;
        line-height: 1 !important;
    }

    /* Hamburger */
    .mobile-menu-toggle {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 5px !important;
        border: 1px solid rgba(255,255,255,.12) !important;
        background: rgba(255,255,255,.025) !important;
        color: #fff !important;
        cursor: pointer !important;
    }

    .mobile-menu-toggle span {
        display: block !important;
        width: 20px !important;
        height: 2px !important;
        background: #fff !important;
        transition: transform .25s ease, opacity .2s ease !important;
    }

    .mobile-menu-toggle:hover {
        border-color: var(--accent) !important;
    }

    /* Drawer */
    .mobile-side-menu {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        width: min(370px, 88vw) !important;
        height: 100dvh !important;
        z-index: 1100 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        background:
            linear-gradient(
                180deg,
                #0b1010 0%,
                #070a0a 58%,
                #050707 100%
            ) !important;
        border-left: 1px solid rgba(255,255,255,.10) !important;
        box-shadow: -30px 0 80px rgba(0,0,0,.65) !important;
        transform: translate3d(100%,0,0) !important;
        visibility: hidden !important;
        transition:
            transform .38s cubic-bezier(.22,.61,.36,1),
            visibility 0s linear .38s !important;
    }

    .mobile-side-menu.open {
        transform: translate3d(0,0,0) !important;
        visibility: visible !important;
        transition:
            transform .38s cubic-bezier(.22,.61,.36,1),
            visibility 0s linear 0s !important;
    }

    /* Drawer header */
    .mobile-menu-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 4 !important;
        height: 72px !important;
        padding: 0 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        background: rgba(5,7,7,.94) !important;
        backdrop-filter: blur(14px) !important;
    }

    .mobile-menu-title {
        color: #fff !important;
        font: 900 27px/1 "Barlow Condensed" !important;
        letter-spacing: 1.2px !important;
        text-decoration: none !important;
    }

    .mobile-menu-title span {
        color: var(--accent) !important;
    }

    .mobile-menu-close {
        width: 42px !important;
        height: 42px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        border: 1px solid rgba(255,255,255,.10) !important;
        background: rgba(255,255,255,.025) !important;
        color: #fff !important;
        font: 400 22px/1 Inter, sans-serif !important;
        cursor: pointer !important;
        transition: .2s ease !important;
    }

    .mobile-menu-close:hover {
        color: var(--accent) !important;
        border-color: var(--accent) !important;
        background: rgba(214,40,40,.08) !important;
    }

    /* Sections */
    .mobile-menu-section {
        padding: 20px 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
    }

    .mobile-menu-section-title {
        padding: 0 20px 11px !important;
        color: #73817f !important;
        font: 900 11px/1 "Barlow Condensed" !important;
        letter-spacing: 2.5px !important;
        text-transform: uppercase !important;
    }

    /* Currency row */
    .mobile-player-resources {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding: 0 20px 12px !important;
        border: 0 !important;
    }

    .mobile-resource {
        min-height: 56px !important;
        padding: 9px 10px !important;
        display: flex !important;
        align-items: center !important;
        gap: 9px !important;
        background: rgba(255,255,255,.025) !important;
        border: 1px solid rgba(255,255,255,.07) !important;
    }

    .mobile-resource-icon {
        width: 30px !important;
        height: 30px !important;
        object-fit: contain !important;
    }

    .mobile-diamond-icon {
        width: 30px !important;
        height: 30px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #7ee8ff !important;
        font-size: 24px !important;
        line-height: 1 !important;
        text-shadow: 0 0 14px rgba(126,232,255,.25) !important;
        flex: 0 0 30px !important;
    }

    .mobile-resource-info {
        min-width: 0 !important;
    }

    .mobile-resource-label {
        display: block !important;
        color: #687270 !important;
        font: 800 8px/1 "Barlow Condensed" !important;
        letter-spacing: 1.3px !important;
        text-transform: uppercase !important;
    }

    .mobile-resource-value {
        display: block !important;
        margin-top: 4px !important;
        color: #fff !important;
        font: 900 19px/1 "Barlow Condensed" !important;
    }

    /* Menu rows */
    .mobile-menu-link {
        width: 100% !important;
        min-height: 46px !important;
        padding: 9px 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        color: #b7c0bf !important;
        background: transparent !important;
        border: 0 !important;
        text-align: left !important;
        font: 700 16px/1 "Barlow Condensed" !important;
        letter-spacing: .8px !important;
        text-decoration: none !important;
        transition: background .2s ease, color .2s ease, padding-left .2s ease !important;
    }

    .mobile-menu-link:hover,
    .mobile-menu-link:focus-visible {
        color: #fff !important;
        background: rgba(214,40,40,.075) !important;
        padding-left: 25px !important;
        outline: none !important;
    }

    .mobile-menu-link-left {
        display: flex !important;
        align-items: center !important;
        gap: 13px !important;
    }

    .mobile-menu-icon {
        width: 24px !important;
        min-width: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: var(--accent) !important;
        font: 700 17px/1 "Barlow Condensed" !important;
    }

    .mobile-menu-link .menu-arrow {
        color: #56615f !important;
        font-size: 24px !important;
        line-height: 1 !important;
        transition: .2s ease !important;
    }

    .mobile-menu-link:hover .menu-arrow {
        color: var(--accent) !important;
        transform: translateX(3px) !important;
    }

    .mobile-account-link.logout {
        color: #a4acab !important;
    }

    .mobile-account-link.logout .mobile-menu-icon {
        color: #9a9f9e !important;
    }

    .mobile-account-link.logout:hover {
        color: #fff !important;
        background: rgba(214,40,40,.10) !important;
    }

    /* Language */
    .mobile-language-section {
        border-bottom: 0 !important;
        padding-bottom: 30px !important;
    }

    .mobile-language-buttons {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 7px !important;
        padding: 0 20px !important;
    }

    .mobile-language-buttons a {
        height: 42px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid rgba(255,255,255,.10) !important;
        background: rgba(255,255,255,.025) !important;
        color: #7f8b89 !important;
        font: 900 13px/1 "Barlow Condensed" !important;
        letter-spacing: 1.5px !important;
        text-decoration: none !important;
        transition: .2s ease !important;
    }

    .mobile-language-buttons a:hover,
    .mobile-language-buttons a.active {
        color: #fff !important;
        border-color: var(--accent) !important;
        background: rgba(214,40,40,.12) !important;
    }

    /* Keep the page below the fixed mobile header */
    .hero {
        padding-top: 68px !important;
    }
}

/* Desktop: mobile controls do not exist visually. */
@media (min-width: 769px) {
    .mobile-menu-toggle,
    .mobile-side-menu,
    .mobile-menu-overlay {
        display: none !important;
    }
}
/* =========================================================
   WAVE SECTION FIX
   ========================================================= */

.waves-section {
    position: relative;
    z-index: 1;

    padding: 110px 6%;

    background: linear-gradient(
        180deg,
        #080c0c 0%,
        #050707 100%
    );

    overflow: hidden;
}


/* SECTION 03 HEADING */

.waves-section .section-heading {
    position: relative;
    z-index: 2;

    max-width: 1250px;
    margin: 0 auto 55px;

    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 50px;
}


/* WAVE TRACK */

.waves-section .wave-track {
    position: relative;
    z-index: 2;

    max-width: 1250px;

    margin: 0 auto 55px;

    display: flex;
    align-items: center;
}


/* WAVE INFORMATION */

.waves-section .wave-info {
    position: relative;
    z-index: 2;

    max-width: 900px;

    margin: 0 auto;

    min-height: 220px;
}


/* =========================================================
   MOBILE WAVES
   ========================================================= */

@media (max-width: 700px) {

    .waves-section {
        padding: 70px 5% 80px;

        overflow: hidden;
    }


    .waves-section .section-heading {
        display: block;

        margin-bottom: 35px;

        gap: 0;
    }


    .waves-section .section-heading > p {
        margin-top: 18px;

        max-width: none;

        font-size: 14px;

        line-height: 1.6;
    }


    /* WAVE NUMBERS */

    .waves-section .wave-track {
        width: calc(100vw - 10%);

        margin: 0 0 35px;

        overflow-x: auto;
        overflow-y: hidden;

        justify-content: flex-start;

        padding: 10px 0 18px;

        -webkit-overflow-scrolling: touch;

        scrollbar-width: none;
    }

    .waves-section .wave-track::-webkit-scrollbar {
        display: none;
    }


    .waves-section .wave-node {
        flex: 0 0 82px;

        min-width: 82px;

        padding: 0;
    }


    .waves-section .wave-node strong {
        font-size: 42px;
    }


    .waves-section .wave-node small,
    .waves-section .wave-node span {
        font-size: 9px;
        letter-spacing: 1.5px;
    }


    /* WAVE CONTENT */

    .waves-section .wave-info {
        width: 100%;

        min-height: 0;

        margin: 0;
    }


    .waves-section .wave-copy {
        width: 100%;

        display: none;

        flex-direction: column;

        align-items: center;

        text-align: center;

        gap: 18px;
    }


    .waves-section .wave-copy.active {
        display: flex;
    }


    /* WAVE IMAGE */

    .waves-section .wave-category-image {
        width: 145px;
        height: 145px;

        margin: 0 auto;

        flex-shrink: 0;
    }


    /* TEXT SIDE */

    .waves-section .wave-copy-content {
        width: 100%;

        max-width: 340px;

        margin: 0 auto;
    }


    .waves-section .wave-copy h3 {
        margin: 5px 0 12px;

        font-size: 38px;

        line-height: .95;
    }


    .waves-section .wave-copy p {
        margin: 0;

        font-size: 14px;

        line-height: 1.6;

        color: var(--muted);
    }


    .waves-section .wave-type {
        font-size: 10px;

        letter-spacing: 2px;
    }

}

@media (max-width: 700px) {

    .resource-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin: 0 auto;
        gap: 8px;
    }

   

    .resource-card {

        height: 80%;

    }


    

}
@media (max-width: 700px) {

    /* 2 upgrade cards per row */
    .upgrade-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: start !important;
    }

    /* Reduce card height by about 25% */
    .upgrade-card {
        height: fit-content !important;
        min-height: 0 !important;
        align-self: start !important;

    }
    .upgrade-top {
        display: none !important;
    }
    .upgrade-image {
    padding: 10px !important;
    max-height: 120px !important;
    max-width: 100px !important;
    margin-left: auto;
    margin-right: auto;
    }

    .upgrade-image img {
        min-height: 100px !important;
        min-width: 100px !important;
        object-fit: contain;
    }

    .upgrade-content {
        padding: 10px !important;
    }
	
	.detail-panel {
		min-height:350px !important;
		top: -100px !important;
	}
	
    .upgrade-top {
        margin-bottom: 5px !important;
    }

    .upgrade-card h3 {
        margin: 4px 0 !important;
        font-size: 0.7rem !important;
    }
	.upgrade-content h3 {
		font-size: 28px;
		position: relative;
		top: -35px;
	}
    .upgrade-description {
		display: none !important;
        margin: 4px 0 !important;
        font-size: 0.7rem !important;
        line-height: 1.25 !important;
    }

    .upgrade-progress {
        margin: 6px 0 !important;
        display: none !important;
    }

    .upgrade-values {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin-top: -33px !important;
		text-align: center;
    }

    .upgrade-values small {
		text-align: center;
        font-size: 0.6rem !important;
        overflow-wrap: break-word;

    word-wrap: break-word;
    }

    .upgrade-values strong {
		text-align: center;
        font-size: 0.55rem !important;
        overflow-wrap: break-word;

    word-wrap: break-word;
    }

    .upgrade-footer {
        padding-top: 5px !important;
        font-size: 0.4rem !important;
    }

    /* Weapon combat stats also take less vertical space */
    .weapon-extra {
        padding: 6px !important;
        margin-top: 5px !important;
        
    }

    .weapon-extra-title {
        font-size: 0.4rem !important;
    }

    .weapon-extra-stat {
		padding: 3px 5px !important;
        
        font-size: 0.4rem !important;
    }
	.stage-caption {
		display: none !important;
	}
	.activity-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px;
		height: 200px;
	}

	.activity-content h3 {
		margin: 5px 0 8px;
		font-size: 1.2rem !important;
	}	
	.activity-content p {
		font-size: 0.6rem !important;
	}

	.activity-tags {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		transform: translateY(-10px);
		display: none !important;
	}		
	.activity-tags span {
		font-size: 0.22rem !important;
		max-width: 40px !important;
		text-align: center;
	}	
	.activity-art {
		min-height: 100px;
	}
	.activity-content {
		font-size: 0.4rem !important;
		padding: 5px 5px 5px;
		font-size: 0.4rem !important;
		transform: translateY(-10px);
	}
	.activity-card {
		min-height: 0;
	}
	.gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}