/* Canonical item-card presentation, shared by inventory, equipment, trade and workshops. */
dialog.nv-item-card {
 position:fixed; inset:auto; left:50%; top:50%; transform:translate(-50%,-50%); margin:0; padding:0; z-index:1220;
 width:min(480px,calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));
 max-width:none; max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
 overflow:hidden; box-sizing:border-box; border:1px solid #8b7048; border-radius:8px;
 color:#eee4d3; background:linear-gradient(145deg,#211c17,#121210); box-shadow:0 20px 64px #0009;
 font:inherit;
}
dialog.nv-item-card:not([open]) { display:none; }
dialog.nv-item-card[open] { display:flex; flex-direction:column; }
.nv-item-card::backdrop { background:rgba(0,0,0,.72); }
.nv-item-card,.nv-item-card * { box-sizing:border-box; }
.nv-item-card .nv-item-card-bar {
 display:flex; align-items:center; justify-content:space-between; gap:12px;
 flex:0 0 auto; padding:0 0 12px; margin-bottom:12px; border-bottom:1px solid #8b704855; background:transparent;
}
.nv-item-card-context { min-width:0; color:#d5b77b; font-size:.8rem; line-height:1.3; }
.nv-item-card .nv-item-card-close {
 display:flex; align-items:center; justify-content:center; position:static; flex:0 0 auto;
 width:44px; height:44px; min-height:44px; min-width:44px; max-width:44px; padding:0; margin:0;
 border:1px solid #b89b61; border-radius:50%; color:#fff3cf; background:#3c2e20;
 font:700 1.6rem/1 system-ui,sans-serif; cursor:pointer; touch-action:manipulation;
}
.nv-item-card-footer { display:flex; justify-content:center; position:static; margin-top:18px; padding-top:14px; border-top:1px solid #8b704855; }
.nv-item-card-content { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px; width:100%; }
.nv-item-card .nvi-details__header {
 display:grid; grid-template-columns:72px minmax(0,1fr); grid-template-areas:"name name" "sprite metadata";
 align-items:center; gap:12px; margin:0 0 16px;
}
.nv-item-card .nvi-details__header h3 { grid-area:name; margin:0; width:100%; min-width:0; font-size:1.1rem; line-height:1.3; overflow-wrap:anywhere; }
.nv-item-card .nvi-details__header p { grid-area:metadata; margin:0; color:#c7bdad; font-size:.85rem; line-height:1.5; }
.nv-item-card .nvipr-meta-line { display:block; }
.nv-item-card .nvi-details__icon { grid-area:sprite; position:relative; width:72px; height:72px; overflow:hidden; border-radius:5px; padding:0; }
.nv-item-card .nvi-details__icon > img,.nv-item-card .nvi-details__icon .nv-item-icon,.nv-item-card .nvi-details__icon canvas { width:100%; height:100%; object-fit:contain; image-rendering:pixelated; }
.nv-item-card .nvi-details__description { color:#d3cabd; font-size:.85rem; line-height:1.5; margin:12px 0; }
.nv-item-card .nvi-details__stats { margin:12px 0; padding:10px; border:1px solid #8b704855; border-radius:5px; background:#d5b77b0c; color:#e6d1a0; font-size:.85rem; line-height:1.5; }
.nv-item-card .nvi-details__stats ul { margin:8px 0 0; padding-left:20px; }
.nv-item-card .nveq-details-policy { margin:0; color:#c7bdad; font-size:.8rem; line-height:1.5; }
.nv-item-card-actions { display:grid; gap:10px; margin-top:16px; padding-top:12px; border-top:1px solid #8b704855; }
.nv-item-card button { font:inherit; touch-action:manipulation; cursor:pointer; }
.nv-item-card button:disabled { opacity:.45; cursor:not-allowed; }
.nv-item-card-actions > button,.nv-item-card-actions .nvi-details__actions button { min-height:44px; width:100%; border:1px solid #8b7048; border-radius:5px; padding:8px 12px; color:#fff3cf; background:#3c2e20; }
.nv-item-card button:focus-visible { outline:2px solid #f5d37a; outline-offset:2px; }

.nvi-stat-block {
    margin: 9px 0;
    padding: 9px;
    border: 1px solid rgba(245, 211, 122, 0.15);
    border-radius: 13px;
    background: rgba(245, 211, 122, 0.055);
}

.nvi-stat-block__title {
    margin-bottom: 7px;
    color: #f1dfae;
    font-size: 0.69rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.nvi-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.nvi-stat-chip {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 9px;
    background: rgba(0, 0, 0, 0.22);
}

.nvi-stat-chip__label {
    min-width: 0;
    color: #d8d0c3;
    font-size: 0.69rem;
    font-weight: 750;
    line-height: 1.15;
}

.nvi-stat-chip__value {
    flex: 0 0 auto;
    color: #91e5aa;
    font-size: 0.76rem;
    font-variant-numeric: tabular-nums;
    font-weight: 950;
}

.nvi-stat-chip--negative .nvi-stat-chip__value {
    color: #ff8f8f;
}

.nvi-stat-chip--neutral .nvi-stat-chip__value {
    color: #d8d0c3;
}

.nvi-stat-chip--enchantment {
    border-color: rgba(190, 116, 255, 0.62);
    background: linear-gradient(135deg, rgba(92, 42, 132, 0.5), rgba(31, 20, 52, 0.58));
    box-shadow: inset 0 0 12px rgba(193, 116, 255, 0.12);
}

.nvi-stat-chip--enchantment .nvi-stat-chip__label {
    color: #e2c4ff;
}

.nvi-stat-chip--enchantment .nvi-stat-chip__value {
    color: #d89cff;
}

.nvi-stat-block__empty {
    margin: 0;
    color: var(--text-muted, #c7bdad);
    font-size: 0.72rem;
}
.nvi-details__actions,
.nvi-delete-confirm {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 8px 0 0;
    padding: 0;
    border: 0;
}

.nvi-details__actions button:not(.nvipr-secondary-action) {
    width: 100%;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 11px;
    font-size: 0.76rem;
    font-weight: 900;
}

.nvipr-secondary-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 8px;
}

.nvipr-secondary-row button,
.nvipr-secondary-row .nvi-lock-toggle {
    width: 100%;
    min-height: 31px;
    padding: 6px 8px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.05;
    margin: 0;
}

.nvi-lock-toggle {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 8px;
}

.nvi-lock-toggle__icon {
    display: none;
}

.nvi-danger {
    display: block;
    width: 100%;
    min-height: 32px;
    margin: 8px 0 0;
    padding: 6px 10px;
    border-radius: 10px;
    border-color: rgba(255, 90, 90, 0.52);
    background: rgba(145, 28, 28, 0.58);
    color: #ffd6d6;
    font-size: 0.74rem;
    font-weight: 900;
}

.nvi-delete-confirm {
    grid-template-columns: 1fr 1fr;
}

.nvi-delete-confirm span {
    grid-column: 1 / -1;
    font-size: 0.76rem;
    color: #ffd6d6;
    text-align: center;
}

/* Secondary comparison modal; the item card stays open underneath. */
.nv-item-card-footer { flex-direction:column; align-items:center; gap:12px; }
.nv-item-card .nv-item-card-compare { position:static; min-height:40px; padding:8px 22px; border:1px solid #b89b61; border-radius:7px; color:#fff3cf; background:#3c2e20; font:inherit; }
.nv-item-comparison h2 { margin:0 0 12px; font-size:1.05rem; }
.nv-item-comparison-section { margin:12px 0; }
.nv-item-comparison-section h3 { margin:0 0 8px; font-size:.78rem; color:#d5b77b; overflow-wrap:anywhere; }
.nv-item-comparison-scroll { overflow:auto; }
.nv-item-comparison table { width:100%; border-collapse:collapse; font-size:.74rem; font-variant-numeric:tabular-nums; }
.nv-item-comparison th,.nv-item-comparison td { padding:6px 5px; border-bottom:1px solid #8b704833; text-align:right; }
.nv-item-comparison th:first-child { text-align:left; font-weight:600; }
.nv-item-comparison thead th { color:#c7bdad; font-size:.7rem; }
.nv-item-comparison .is-positive { color:#91e5aa; }
.nv-item-comparison .is-negative { color:#ff8f8f; }
.nv-item-comparison .is-neutral { color:#c7bdad; }

.nv-item-comparison-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:10px 0; }
.nv-item-comparison-item { display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; text-align:center; }
.nv-item-comparison-label { font-size:.68rem; color:#c7bdad; }
.nv-item-comparison-icon { position:relative; display:grid; place-items:center; flex:none; width:52px; height:52px; overflow:hidden; border-radius:6px; background:#ffffff0b; }
.nv-item-comparison-icon > img { width:100%; height:100%; object-fit:contain; image-rendering:pixelated; }
.nv-item-comparison-name { font-size:.72rem; line-height:1.25; overflow-wrap:anywhere; }
.nv-item-comparison-empty { color:#8e8578; font-size:1.4rem; }
