/* ==========================================================
   EVERYONE ASSEMBLE
   TEAM DIRECTORY
   ========================================================== */

.eateam-page{
    --eateam-bg:#020d18;
    --eateam-bg-deep:#010914;
    --eateam-panel:#04192b;
    --eateam-panel-soft:#08243a;
    --eateam-panel-light:#0b3150;
    --eateam-line:#1d5f8f;
    --eateam-line-soft:rgba(29,95,143,.34);
    --eateam-accent:#218bd0;
    --eateam-accent-dark:#1674b5;
    --eateam-accent-light:#75d0ff;
    --eateam-text:#e1f1fa;
    --eateam-text-soft:#c4d8e4;
    --eateam-muted:#8fa9bc;
    --eateam-danger:#d47f87;
    --eateam-success:#74c5a3;

    position:relative;
    width:100%;
    max-width:1180px;
    margin:25px auto 40px;
    color:var(--eateam-text-soft);
    background:
        radial-gradient(
            circle at 15% 0,
            rgba(33,139,208,.12),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            var(--eateam-panel),
            var(--eateam-bg)
        );
    border:1px solid var(--eateam-line-soft);
    border-left:5px solid var(--eateam-accent);
    box-shadow:
        0 20px 45px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.025);
    font-family:"Antonio",Arial,sans-serif;
    font-size:12px;
    line-height:1.6;
    overflow:hidden;
}

.eateam-page,
.eateam-page *,
.eateam-page *::before,
.eateam-page *::after{
    box-sizing:border-box;
}

.eateam-page a{
    text-decoration:none;
}

/* ==========================================================
   SEITENKOPF
   ========================================================== */

.eateam-hero{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    min-height:160px;
    padding:32px 38px;
    overflow:hidden;
    background:
        radial-gradient(
            circle at 75% 135%,
            rgba(33,139,208,.23),
            transparent 46%
        ),
        linear-gradient(
            90deg,
            rgba(33,139,208,.08),
            transparent 58%
        ),
        var(--eateam-bg-deep);
    border-bottom:2px solid var(--eateam-accent-dark);
}

.eateam-hero::before{
    content:"";
    position:absolute;
    top:0;
    left:38px;
    width:180px;
    height:2px;
    background:var(--eateam-accent-light);
    box-shadow:
        180px 0 0 var(--eateam-accent),
        360px 0 0 rgba(33,139,208,.3);
}

.eateam-hero::after{
    content:"TEAM DATABASE";
    position:absolute;
    right:26px;
    bottom:12px;
    color:rgba(117,208,255,.06);
    font-size:28px;
    font-weight:700;
    line-height:1;
    letter-spacing:5px;
    pointer-events:none;
}

.eateam-hero-copy{
    position:relative;
    z-index:1;
    min-width:0;
}

.eateam-kicker{
    display:block;
    margin-bottom:6px;
    color:var(--eateam-muted);
    font-size:12px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:2.2px;
    text-transform:uppercase;
}

.eateam-title{
    margin:0;
    color:var(--eateam-text);
    font-size:31px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.eateam-title strong{
    color:var(--eateam-accent-light);
    font-weight:700;
}

.eateam-subtitle{
    display:block;
    max-width:690px;
    margin-top:10px;
    color:var(--eateam-muted);
    font-family:Arial,sans-serif;
    font-size:13px;
    line-height:1.7;
}

.eateam-hero-module{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:13px;
    flex-shrink:0;
}

.eateam-hero-code{
    display:flex;
    justify-content:center;
    align-items:center;
    width:58px;
    height:58px;
    color:var(--eateam-accent-light);
    background:
        linear-gradient(
            145deg,
            rgba(33,139,208,.18),
            rgba(1,9,20,.78)
        );
    border:1px solid var(--eateam-line);
    font-size:15px;
    font-weight:800;
    letter-spacing:1px;
    clip-path:polygon(
        18% 0,
        82% 0,
        100% 18%,
        100% 82%,
        82% 100%,
        18% 100%,
        0 82%,
        0 18%
    );
}

.eateam-hero-module-text{
    color:var(--eateam-muted);
    font-size:12px;
    font-weight:700;
    line-height:1.5;
    letter-spacing:1px;
    text-transform:uppercase;
}

/* ==========================================================
   INHALT
   ========================================================== */

.eateam-content{
    padding:24px;
}

.eateam-section-head{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    min-height:55px;
    margin-bottom:16px;
    padding:13px 16px;
    color:var(--eateam-accent-light);
    background:
        linear-gradient(
            90deg,
            rgba(33,139,208,.12),
            transparent 75%
        ),
        var(--eateam-bg-deep);
    border:1px solid var(--eateam-line-soft);
    border-left:3px solid var(--eateam-accent);
}

.eateam-section-head::after{
    content:"";
    position:absolute;
    bottom:-1px;
    left:16px;
    width:75px;
    height:2px;
    background:var(--eateam-accent-light);
}

.eateam-section-heading{
    margin:0;
    color:var(--eateam-accent-light);
    font-size:17px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.eateam-section-label{
    color:var(--eateam-muted);
    font-size:12px;
    font-weight:700;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

/* ==========================================================
   TEAMRASTER
   ========================================================== */

.eateam-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.eateam-card{
    position:relative;
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    min-width:0;
    overflow:hidden;
    color:var(--eateam-text-soft);
    background:
        linear-gradient(
            145deg,
            rgba(8,36,58,.84),
            rgba(2,13,24,.94)
        );
    border:1px solid var(--eateam-line-soft);
    border-left:3px solid var(--eateam-accent-dark);
    box-shadow:0 11px 25px rgba(0,0,0,.22);
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.eateam-card:hover{
    border-color:rgba(33,139,208,.5);
    border-left-color:var(--eateam-accent-light);
    box-shadow:
        0 15px 31px rgba(0,0,0,.29),
        0 0 20px rgba(33,139,208,.06);
    transform:translateY(-2px);
}

.eateam-card::before{
    content:"";
    position:absolute;
    z-index:3;
    top:0;
    left:0;
    width:55px;
    height:2px;
    background:var(--eateam-accent-light);
    box-shadow:55px 0 0 var(--eateam-accent);
}

.eateam-card-image{
    position:relative;
    min-height:100%;
    overflow:hidden;
    background:var(--eateam-bg-deep);
    border-right:1px solid var(--eateam-line-soft);
}

.eateam-card-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(1,9,20,.78)
        );
    pointer-events:none;
}

.eateam-card-image img{
    display:block;
    width:100%;
    height:100%;
    min-height:320px;
    object-fit:cover;
    object-position:center top;
    filter:saturate(.86) contrast(1.04);
    transition:
        filter .3s ease,
        transform .35s ease;
}

.eateam-card:hover .eateam-card-image img{
    filter:saturate(1) contrast(1.05);
    transform:scale(1.025);
}

.eateam-card-image-code{
    position:absolute;
    z-index:2;
    right:10px;
    bottom:10px;
    padding:5px 8px;
    color:var(--eateam-accent-light);
    background:rgba(1,9,20,.82);
    border:1px solid rgba(29,95,143,.55);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.eateam-card-body{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:17px;
}

.eateam-card-head{
    position:relative;
    padding-bottom:13px;
    border-bottom:1px solid var(--eateam-line-soft);
}

.eateam-card-head::after{
    content:"";
    position:absolute;
    bottom:-1px;
    left:0;
    width:55px;
    height:2px;
    background:var(--eateam-accent);
}

.eateam-card-rank{
    display:block;
    margin-bottom:3px;
    color:var(--eateam-muted);
    font-size:12px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

.eateam-card-name{
    margin:0;
    color:var(--eateam-text);
    font-size:22px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:.9px;
    text-transform:uppercase;
}

/* ==========================================================
   KONTAKTLINKS
   ========================================================== */

.eateam-actions{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:12px;
}

.eateam-action{
    position:relative;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:34px;
    padding:7px 11px 7px 26px;
    color:var(--eateam-accent-light);
    background:rgba(33,139,208,.07);
    border:1px solid rgba(29,95,143,.36);
    font-size:12px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:.5px;
    text-transform:uppercase;
    transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease,
        padding-left .2s ease;
}

.eateam-action::before{
    content:"";
    position:absolute;
    top:50%;
    left:10px;
    width:7px;
    height:7px;
    border:1px solid currentColor;
    transform:translateY(-50%) rotate(45deg);
}

.eateam-action:hover{
    padding-left:30px;
    color:var(--eateam-bg-deep);
    background:var(--eateam-accent-light);
    border-color:var(--eateam-accent-light);
}

/* ==========================================================
   ZUSTÄNDIGKEITEN
   ========================================================== */

.eateam-responsibilities{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:14px 0 0;
    padding:0;
    list-style:none;
}

.eateam-responsibilities li{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 9px;
    color:var(--eateam-text-soft);
    background:rgba(1,9,20,.36);
    border:1px solid rgba(29,95,143,.2);
    font-family:Arial,sans-serif;
    font-size:12px;
    line-height:1.4;
}

.eateam-responsibilities li::before{
    content:"";
    flex-shrink:0;
    width:6px;
    height:6px;
    margin-right:7px;
    background:var(--eateam-accent);
    transform:rotate(45deg);
}

/* ==========================================================
   CHARAKTERLISTEN
   ========================================================== */

.eateam-characters{
    margin-top:auto;
    padding-top:15px;
}

.eateam-characters details{
    color:var(--eateam-text-soft);
    background:rgba(1,9,20,.3);
    border:1px solid rgba(29,95,143,.25);
}

.eateam-characters summary{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    min-height:42px;
    padding:10px 38px 10px 12px;
    color:var(--eateam-accent-light);
    background:
        linear-gradient(
            90deg,
            rgba(33,139,208,.1),
            transparent
        );
    cursor:pointer;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:.8px;
    list-style:none;
    text-transform:uppercase;
    user-select:none;
}

.eateam-characters summary::-webkit-details-marker{
    display:none;
}

.eateam-characters summary::after{
    content:"";
    position:absolute;
    top:50%;
    right:15px;
    width:7px;
    height:7px;
    border-right:1px solid var(--eateam-accent-light);
    border-bottom:1px solid var(--eateam-accent-light);
    transform:translateY(-70%) rotate(45deg);
    transition:transform .2s ease;
}

.eateam-characters details[open] summary::after{
    transform:translateY(-30%) rotate(225deg);
}

.eateam-character-count{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-width:28px;
    min-height:24px;
    padding:3px 7px;
    color:var(--eateam-bg-deep);
    background:var(--eateam-accent-light);
    font-size:12px;
    font-weight:800;
    line-height:1;
}

.eateam-character-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
    max-height:245px;
    margin:0;
    padding:10px;
    overflow-x:hidden;
    overflow-y:auto;
    list-style:none;
    border-top:1px solid var(--eateam-line-soft);
    scrollbar-width:thin;
    scrollbar-color:var(--eateam-accent-dark) var(--eateam-bg-deep);
}

.eateam-character-list::-webkit-scrollbar{
    width:7px;
}

.eateam-character-list::-webkit-scrollbar-track{
    background:var(--eateam-bg-deep);
}

.eateam-character-list::-webkit-scrollbar-thumb{
    background:var(--eateam-accent-dark);
    border:2px solid var(--eateam-bg-deep);
}

.eateam-character-list li{
    position:relative;
    min-width:0;
    padding:7px 8px 7px 20px;
    color:var(--eateam-text-soft);
    background:rgba(8,36,58,.38);
    border:1px solid rgba(29,95,143,.14);
    font-family:Arial,sans-serif;
    font-size:12px;
    line-height:1.45;
    overflow-wrap:anywhere;
}

.eateam-character-list li::before{
    content:"";
    position:absolute;
    top:12px;
    left:8px;
    width:5px;
    height:5px;
    border:1px solid var(--eateam-accent);
    transform:rotate(45deg);
}

/* ==========================================================
   NPC-BEREICH
   ========================================================== */

.eateam-npc-section{
    margin-top:24px;
}

.eateam-npc-card{
    position:relative;
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-width:0;
    overflow:hidden;
    color:var(--eateam-text-soft);
    background:
        linear-gradient(
            145deg,
            rgba(8,36,58,.82),
            rgba(2,13,24,.95)
        );
    border:1px solid var(--eateam-line-soft);
    border-left:3px solid var(--eateam-accent);
    box-shadow:0 12px 27px rgba(0,0,0,.23);
}

.eateam-npc-card::before{
    content:"STORYTELLER ACCOUNT";
    position:absolute;
    z-index:3;
    top:11px;
    right:13px;
    color:rgba(117,208,255,.12);
    font-size:12px;
    font-weight:700;
    letter-spacing:1.5px;
}

.eateam-npc-image{
    position:relative;
    min-height:275px;
    overflow:hidden;
    background:var(--eateam-bg-deep);
    border-right:1px solid var(--eateam-line-soft);
}

.eateam-npc-image::after{
    content:"NPC";
    position:absolute;
    right:10px;
    bottom:10px;
    display:flex;
    justify-content:center;
    align-items:center;
    width:42px;
    height:42px;
    color:var(--eateam-accent-light);
    background:rgba(1,9,20,.82);
    border:1px solid var(--eateam-line);
    font-size:12px;
    font-weight:800;
    letter-spacing:.7px;
    clip-path:polygon(
        18% 0,
        82% 0,
        100% 18%,
        100% 82%,
        82% 100%,
        18% 100%,
        0 82%,
        0 18%
    );
}

.eateam-npc-image img{
    display:block;
    width:100%;
    height:100%;
    min-height:275px;
    object-fit:cover;
    object-position:center;
    filter:saturate(.8) contrast(1.06);
}

.eateam-npc-body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:25px;
}

.eateam-npc-kicker{
    display:block;
    margin-bottom:4px;
    color:var(--eateam-muted);
    font-size:12px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.eateam-npc-title{
    position:relative;
    margin:0 0 18px;
    padding-bottom:12px;
    color:var(--eateam-accent-light);
    font-size:24px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:1px;
    text-transform:uppercase;
}

.eateam-npc-title::after{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:70px;
    height:2px;
    background:var(--eateam-accent);
}

.eateam-npc-text{
    margin:0;
    padding:15px 17px;
    color:var(--eateam-text-soft);
    background:rgba(1,9,20,.34);
    border:1px solid rgba(29,95,143,.2);
    border-left:2px solid var(--eateam-accent-dark);
    font-family:Arial,sans-serif;
    font-size:13px;
    line-height:1.75;
}

.eateam-npc-actions{
    margin-top:15px;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media screen and (max-width:1000px){

    .eateam-grid{
        grid-template-columns:1fr;
    }

    .eateam-card{
        grid-template-columns:210px minmax(0,1fr);
    }

    .eateam-card-image img{
        min-height:300px;
    }
}

@media screen and (max-width:700px){

    .eateam-page{
        margin:15px 0 30px;
    }

    .eateam-hero{
        align-items:flex-start;
        flex-direction:column;
        min-height:0;
        padding:27px 20px;
    }

    .eateam-hero::after{
        display:none;
    }

    .eateam-title{
        font-size:25px;
    }

    .eateam-content{
        padding:15px;
    }

    .eateam-card{
        grid-template-columns:1fr;
    }

    .eateam-card-image{
        width:100%;
        max-height:350px;
        border-right:0;
        border-bottom:1px solid var(--eateam-line-soft);
    }

    .eateam-card-image img{
        width:100%;
        min-height:350px;
        max-height:350px;
        object-position:center 22%;
    }

    .eateam-character-list{
        grid-template-columns:1fr;
    }

    .eateam-npc-card{
        grid-template-columns:1fr;
    }

    .eateam-npc-image{
        min-height:300px;
        max-height:350px;
        border-right:0;
        border-bottom:1px solid var(--eateam-line-soft);
    }

    .eateam-npc-image img{
        min-height:300px;
        max-height:350px;
    }

    .eateam-npc-body{
        padding:20px;
    }
}

@media screen and (max-width:450px){

    .eateam-section-head{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }

    .eateam-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .eateam-action{
        width:100%;
    }

    .eateam-card-body{
        padding:14px;
    }
}