/* ===================================================================
   Connect Four - phone player
   =================================================================== */
.view--c4-game {
    display: flex; flex-direction: column;
    gap: .8rem;
    padding-bottom: 5rem;
}
.c4-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;
}
.c4-mob-match {
    background: var(--c4-red);
    color: #fff;
    padding: .1rem .5rem;
    border-radius: 4px;
    font-family: var(--f-display);
    letter-spacing: .04em;
    font-size: .85rem;
    margin-right: .55rem;
}
.c4-mob-role {
    font-family: var(--f-display);
    color: var(--c-bone);
    font-size: 1.05rem;
}
.c4-mob-wins {
    font-family: var(--f-display);
    color: var(--c-amber);
    font-size: 1.2rem;
}
.c4-mob-wins small { color: var(--c-bone-dim); font-size: .6em; margin-left: .2rem; }

.c4-mob-banner {
    background: rgba(20,20,32,.85);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--r-md);
    padding: .65rem 1rem;
    text-align: center;
    color: var(--c-bone);
    font-family: var(--f-display);
    letter-spacing: .04em;
    font-size: 1rem;
}
.c4-mob-banner[data-kind="you"] {
    background: rgba(246,183,60,.18);
    border-color: var(--c-amber);
}
.c4-mob-banner[data-kind="other"] {
    background: rgba(155,107,255,.14);
    border-color: rgba(155,107,255,.4);
}
.c4-mob-banner[data-kind="bench"] {
    background: rgba(77,171,255,.16);
    border-color: rgba(77,171,255,.45);
}
.c4-mob-banner[data-kind="end"] {
    background: linear-gradient(135deg, rgba(56,217,169,.22), rgba(246,183,60,.18));
    border-color: rgba(56,217,169,.5);
}

.c4-mob-board-wrap {
    display: flex; flex-direction: column;
    gap: .35rem;
    align-items: center;
}
.c4-mob-board {
    display: grid;
    background: linear-gradient(160deg, var(--c4-board), var(--c4-board-d));
    border-radius: var(--r-lg);
    padding: .4rem;
    gap: .25rem;
    box-shadow: 0 12px 24px rgba(0,0,0,.5),
                inset 0 -4px 12px rgba(0,0,0,.4);
    width: 100%;
    aspect-ratio: 7 / 6;
    max-width: 460px;
}
.c4-mob-slot {
    background: radial-gradient(circle at 50% 50%, #03162e 35%, #051e3f 60%, #061a35 100%);
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    box-shadow: inset 0 0 6px rgba(0,0,0,.55);
    display: flex; align-items: center; justify-content: center;
}
.c4-mob-cols {
    display: grid;
    width: 100%;
    max-width: 460px;
    gap: .25rem;
    padding: 0 .4rem;
}
.c4-mob-col-btn {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    color: #fff;
    font-family: var(--f-display);
    font-size: 1rem;
    border: 2px solid rgba(255,255,255,.18);
    background: rgba(0,0,0,.5);
    transition: all .14s ease;
}
.c4-mob-col-btn:disabled { opacity: .25; pointer-events: none; }
.c4-mob-col-btn--red {
    background: radial-gradient(circle at 30% 30%, #ff6688 0%, var(--c4-red) 60%, var(--c4-red-d) 100%);
}
.c4-mob-col-btn--yellow {
    background: radial-gradient(circle at 30% 30%, #fff09e 0%, var(--c4-yellow) 60%, var(--c4-yellow-d) 100%);
    color: #1a1a1a;
}
.c4-mob-col-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 8px 14px rgba(0,0,0,.4);
}

.c4-mob-spectate {
    background: rgba(20,20,32,.6);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--r-md);
    padding: .7rem .9rem;
}
.c4-mob-spectate h3 {
    color: var(--c-bone);
    font-size: 1rem;
    margin-bottom: .25rem;
}
.c4-mob-spectate p { color: var(--c-bone-dim); font-size: .85rem; }
