.bag-page{
    padding-bottom:48px;
}
.bag-hero{
    text-align:center;
    margin-bottom:22px;
}
.bag-wrap{
    max-width:860px;
    margin:0 auto;
}
.bag-h{
    font:700 13px/1 var(--font-ui);
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--fg-dim);
    margin:26px 0 12px;
}
.bag-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
    gap:12px;
}
.bag-card{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--r);
    background:var(--surface);
    box-shadow:var(--shadow);
    min-width:0;
}
.bag-card.is-off{
    opacity:.72;
}
.bag-pic,.bag-glyph{
    flex:0 0 56px;
    width:56px;
    height:56px;
    border-radius:var(--r-s);
    object-fit:cover;
}
.bag-glyph{
    padding:12px;
    box-sizing:border-box;
    fill:var(--accent);
    background:var(--surface-2);
    border:1px solid var(--border);
}
.bag-body{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:6px;
}
.bag-head{
    display:flex;
    align-items:baseline;
    gap:8px;
    min-width:0;
}
.bag-name{
    font:700 15px/1.2 var(--font-ui);
    color:var(--fg);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.bag-count{
    font:700 13px/1 var(--font-mono);
    color:var(--accent);
}
.bag-exp,.bag-dim{
    font:500 12.5px/1.3 var(--font-ui);
    color:var(--fg-mute);
}
.bag-go{
    margin-top:0;
    padding:10px 16px;
    flex:0 0 auto;
}
.bag-go:disabled{
    opacity:.55;
    cursor:default;
}
.bag-chip{
    flex:0 0 auto;
    font:600 12px/1 var(--font-ui);
    padding:8px 11px;
    border-radius:var(--r-pill);
    border:1px solid var(--border-2);
    color:var(--fg-dim);
    background:var(--surface-2);
}
.bag-note{
    margin:0 auto 14px;
    padding:11px 14px;
    border-radius:var(--r-s);
    border:1px solid var(--border-2);
    background:var(--surface-2);
    color:var(--fg);
    text-align:center;
    font:600 14px/1.35 var(--font-ui);
}
.bag-empty{
    text-align:center;
    color:var(--fg-mute);
    padding:40px 0;
    font:600 15px/1.3 var(--font-ui);
}
.bag-dialog{
    border:1px solid var(--border-2);
    border-radius:var(--r-lg);
    background:var(--surface);
    color:var(--fg);
    padding:0;
    width:min(460px,calc(100vw - 32px));
    box-shadow:var(--shadow-panel);
}
.bag-dialog::backdrop{
    background:var(--scrim-modal);
}
.bag-dialog-in{
    padding:20px;
}
.bag-dialog-title{
    font:700 18px/1.2 var(--font-ui);
    margin:0 0 12px;
    color:var(--fg);
}
.bag-actions{
    display:flex;
    gap:10px;
    justify-content:flex-end;
    flex-wrap:wrap;
    margin-top:14px;
}
.bag-actions .btn{
    margin-top:0;
}
.bag-deaths{
    display:flex;
    flex-direction:column;
    gap:8px;
    max-height:min(60vh,420px);
    overflow:auto;
}
.bag-death{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:var(--r-s);
    background:var(--surface-2);
}
.bag-death.is-off{
    opacity:.7;
}
.bag-death-txt{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}
.bag-death .btn{
    margin-top:0;
    padding:9px 14px;
}
@media (max-width:520px){
    .bag-grid{
        grid-template-columns:1fr;
    }
    .bag-card{
        padding:12px;
        gap:12px;
    }
}
