/* ===================================================================
   DELVE - phone player layout
   =================================================================== */
.view--delve {
    display: flex; flex-direction: column;
    gap: .55rem;
    padding-bottom: 5rem;
}

.delve-mob-head {
    display: flex; justify-content: space-between; align-items: center;
    background: rgba(20,20,32,.75);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: var(--r-md);
    padding: .55rem .8rem;
}
.delve-mob-floor {
    background: linear-gradient(135deg, var(--delve-violet), #4b3299);
    color: #fff;
    padding: .1rem .55rem;
    border-radius: 4px;
    font-family: var(--f-display);
    letter-spacing: .04em;
    font-size: .85rem;
    margin-right: .55rem;
}
.delve-mob-name {
    font-family: var(--f-display);
    color: var(--c-bone);
    font-size: 1.05rem;
}
.delve-mob-class {
    color: var(--delve-accent);
    font-family: var(--f-display);
    letter-spacing: .1em;
    font-size: .8rem;
}

/* Class pick */
.delve-mob-classpick {
    background: rgba(20,20,32,.65);
    border: 1px solid rgba(155,107,255,.3);
    border-radius: var(--r-md);
    padding: .65rem .8rem;
}
.delve-mob-classpick h3 {
    color: var(--c-bone);
    font-size: 1.1rem;
    margin-bottom: .55rem;
}
.delve-mob-class-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .45rem;
}
.delve-mob-class-card {
    background: rgba(0,0,0,.35);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: var(--r-sm);
    padding: .55rem .55rem;
    text-align: left;
    color: var(--c-bone);
    --cls-color: #888;
    transition: all .14s ease;
}
.delve-mob-class-card.is-chosen {
    border-color: var(--cls-color);
    box-shadow: 0 0 0 1px var(--cls-color) inset, 0 0 18px rgba(155,107,255,.18);
    background: linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
.delve-mob-class-card__glyph { font-size: 1.4rem; line-height: 1; }
.delve-mob-class-card__name {
    font-family: var(--f-display);
    color: var(--c-bone);
    letter-spacing: .04em;
    font-size: .95rem;
    margin-top: .15rem;
}
.delve-mob-class-card__stats { color: var(--c-bone-dim); font-size: .68rem; margin-top: .15rem; }
.delve-mob-class-card__abil {
    color: var(--cls-color);
    font-family: var(--f-display);
    letter-spacing: .12em;
    font-size: .72rem;
    margin-top: .25rem;
}
.delve-mob-class-card__desc { color: var(--c-bone-dim); font-size: .7rem; margin-top: .15rem; line-height: 1.25; }

.delve-mob-descend {
    margin-top: .8rem;
    width: 100%;
    background: linear-gradient(135deg, var(--delve-violet), #4b3299);
    box-shadow: 0 0 0 1px rgba(155,107,255,.45) inset,
                0 6px 18px rgba(155,107,255,.35);
}
.delve-mob-descend:hover:not(:disabled) {
    box-shadow: 0 0 0 1px rgba(155,107,255,.6) inset,
                0 8px 22px rgba(155,107,255,.55);
}
.delve-mob-descend-hint {
    color: var(--c-bone-dim);
    text-align: center;
    font-size: .8rem;
    margin-top: .7rem;
    font-style: italic;
}

/* Bars */
.delve-mob-bars {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .4rem;
}
.delve-mob-bar {
    position: relative;
    background: rgba(0,0,0,.4);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px;
    height: 22px;
    display: flex; align-items: center;
    padding: 0 .55rem;
    overflow: hidden;
}
.delve-mob-bar__label {
    font-family: var(--f-display);
    letter-spacing: .14em;
    color: var(--c-bone);
    font-size: .65rem;
    z-index: 1;
    margin-right: .35rem;
}
.delve-mob-bar__num {
    margin-left: auto;
    font-family: var(--f-mono);
    color: var(--c-bone-dim);
    font-size: .7rem;
    z-index: 1;
}
.delve-mob-bar__fill {
    position: absolute;
    inset: 0;
    width: 0%;
    transition: width .25s ease;
}
.delve-mob-bar--hp .delve-mob-bar__fill { background: linear-gradient(90deg, #5a0a18, #d4213d); }
.delve-mob-bar--mp .delve-mob-bar__fill { background: linear-gradient(90deg, #1e2a52, #4dabff); }

/* Banner */
.delve-mob-banner {
    background: rgba(20,20,32,.85);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: var(--r-md);
    padding: .55rem 1rem;
    text-align: center;
    color: var(--c-bone);
    font-family: var(--f-display);
    letter-spacing: .04em;
    font-size: 1rem;
}
.delve-mob-banner[data-kind="you"]   { background: rgba(246,183,60,.18); border-color: var(--c-amber); }
.delve-mob-banner[data-kind="other"] { background: rgba(155,107,255,.14); border-color: rgba(155,107,255,.4); }
.delve-mob-banner[data-kind="dead"]  { background: rgba(212,33,61,.16); border-color: rgba(212,33,61,.4); }

/* Mini-map */
.delve-mob-minimap {
    display: grid;
    background: #050511;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--r-sm);
    padding: 3px;
    gap: 0;
    aspect-ratio: 48 / 28;
    width: 100%;
}
.delve-mob-mm-cell {
    display: block;
    width: 100%;
    height: 100%;
    background: #06060b;
}
.delve-mob-mm-cell.is-seen { background: #1c1c2a; }
.delve-mob-mm-cell.is-lit  { background: #313148; }
.delve-mob-mm-cell.mm-wall.is-seen { background: #0c0c14; }
.delve-mob-mm-cell.mm-wall.is-lit  { background: #25253a; }
.delve-mob-mm-cell.mm-stairs.is-seen,
.delve-mob-mm-cell.mm-stairs.is-lit { background: #9b6bff; }
.delve-mob-mm-cell.mm-entry.is-lit { background: #4dabff; }
.delve-mob-mm-cell.mm-altar.is-lit { background: #f6c813; }
.delve-mob-mm-cell.has-entity.mm-monster { outline: 1px solid rgba(255,80,80,.8); }
.delve-mob-mm-cell.has-entity.mm-player { outline: 1px solid #fff; }
.delve-mob-mm-cell.has-entity.mm-me {
    outline: 2px solid #f6c813;
    box-shadow: 0 0 4px rgba(246,200,19,.8);
    z-index: 1;
}

/* Action panel */
.delve-mob-actions {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .35rem;
}
.delve-mob-act {
    font-family: var(--f-display);
    letter-spacing: .06em;
    font-size: .72rem;
    padding: .7rem .25rem;
    border-radius: var(--r-sm);
    background: rgba(255,255,255,.04);
    color: var(--c-bone);
    border: 1px solid rgba(255,255,255,.1);
    transition: all .14s ease;
}
.delve-mob-act:disabled { opacity: .35; }
.delve-mob-act:not(:disabled):hover { background: rgba(255,255,255,.08); }
.delve-mob-act--move   { background: linear-gradient(135deg, rgba(77,171,255,.18), rgba(77,171,255,.04)); border-color: rgba(77,171,255,.5); }
.delve-mob-act--attack { background: linear-gradient(135deg, rgba(212,33,61,.22), rgba(212,33,61,.04)); border-color: rgba(212,33,61,.5); }
.delve-mob-act--cast   { background: linear-gradient(135deg, rgba(155,107,255,.2), rgba(155,107,255,.04)); border-color: rgba(155,107,255,.5); }
.delve-mob-act--item   { background: linear-gradient(135deg, rgba(56,217,169,.2), rgba(56,217,169,.04)); border-color: rgba(56,217,169,.5); }
.delve-mob-act--end    { background: rgba(255,255,255,.04); }

/* Submenus */
.delve-mob-submenu {
    background: rgba(20,20,32,.85);
    border: 1px solid rgba(155,107,255,.3);
    border-radius: var(--r-md);
    padding: .7rem .8rem;
}
.delve-mob-submenu h4 {
    font-size: 1rem;
    color: var(--c-bone);
    margin-bottom: .45rem;
    letter-spacing: .04em;
}
.delve-mob-cast-desc { color: var(--c-bone-dim); font-size: .78rem; margin-bottom: .45rem; line-height: 1.3; }
.delve-mob-cast-empty { color: var(--c-bone-dim); font-style: italic; padding: .55rem 0; font-size: .85rem; }

.delve-mob-dpad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .25rem;
    max-width: 200px;
    margin: 0 auto .5rem;
}
.delve-mob-dpad button {
    aspect-ratio: 1 / 1;
    background: rgba(77,171,255,.18);
    border: 1px solid rgba(77,171,255,.5);
    border-radius: var(--r-sm);
    font-size: 1.4rem;
    color: var(--c-bone);
    transition: all .12s ease;
}
.delve-mob-dpad button:hover:not(:disabled) {
    transform: translateY(-1px);
    background: rgba(77,171,255,.3);
}
.delve-mob-dpad button:active { transform: scale(.95); }
.delve-mob-dpad__center {
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.3) !important;
}

.delve-mob-target-list {
    display: flex; flex-direction: column;
    gap: .3rem;
    margin-bottom: .5rem;
}
.delve-mob-target-btn {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: .55rem;
    align-items: center;
    background: rgba(212,33,61,.14);
    border: 1px solid rgba(212,33,61,.4);
    border-radius: var(--r-sm);
    padding: .5rem .7rem;
    color: var(--c-bone);
    text-align: left;
}
.delve-mob-target-btn__glyph { font-size: 1.3rem; }
.delve-mob-target-btn__name {
    font-family: var(--f-display);
    letter-spacing: .04em;
}
.delve-mob-target-btn__hp {
    font-family: var(--f-mono);
    color: var(--c-bone-dim);
    font-size: .8rem;
}
.delve-mob-target-btn:active { transform: scale(.97); }

.delve-mob-inventory {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .35rem;
    margin-bottom: .5rem;
}
.delve-mob-inv-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .45rem;
    align-items: center;
    background: rgba(56,217,169,.14);
    border: 1px solid rgba(56,217,169,.4);
    border-radius: var(--r-sm);
    padding: .55rem .65rem;
    color: var(--c-bone);
    text-align: left;
}
.delve-mob-inv-btn__glyph { font-size: 1.2rem; }
.delve-mob-inv-btn__name {
    font-family: var(--f-display);
    letter-spacing: .04em;
    font-size: .85rem;
}
