.item-card{
font-family:var(--font-body);
color:var(--color-text);
background:var(--color-card);
border:2px solid var(--rarity-accent);
border-radius:8px;
padding:calc(16px * var(--card-scale,1));
position:relative;
box-sizing:border-box;
overflow:hidden;
display:flex;
flex-direction:column;
--card-scale:1;
}

.item-card__header{
text-align:center;
padding-bottom:calc(8px * var(--card-scale,1));
}

.item-card__title-row{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
}

.item-card__title-text{
flex:1;
min-width:0;
}

.item-card__name{
font-size:calc(1.3rem * var(--card-scale,1));
color:var(--rarity-accent);
line-height:1.2;
margin:0 0 calc(4px * var(--card-scale,1));
}

.item-card__subtitle{
font-style:italic;
font-size:calc(0.85rem * var(--card-scale,1));
color:var(--color-muted);
margin:0;
}

.item-card__divider{
height:2px;
background:linear-gradient(to right,transparent,var(--rarity-accent),transparent);
margin:calc(8px * var(--card-scale,1)) 0;
border:none;
}

.item-card__image{
border-radius:4px;
overflow:hidden;
}

.item-card__image img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.item-card__body{
flex:1;
position:relative;
font-size:calc(0.9rem * var(--card-scale,1));
line-height:1.5;
min-height:0;
overflow:hidden;
}

.item-card__flavor{
font-style:italic;
margin-bottom:calc(8px * var(--card-scale,1));
}

.item-card__mechanics{
margin-bottom:calc(8px * var(--card-scale,1));
}

.item-card__charges{
margin-bottom:calc(8px * var(--card-scale,1));
}

.item-card__weight{
font-size:calc(0.85rem * var(--card-scale,1));
color:var(--color-muted);
}

.item-card__set{
font-size:calc(0.85rem * var(--card-scale,1));
}

.item-card__set-name{
color:var(--rarity-accent);
margin-bottom:calc(4px * var(--card-scale,1));
}

.item-card__set-count{
color:var(--color-muted);
margin-bottom:calc(4px * var(--card-scale,1));
}

.item-card__set-bonus{
margin-top:calc(4px * var(--card-scale,1));
}

.item-card-wrapper{
display:flex;
gap:12px;
}

.item-card-wrapper--row{
flex-direction:row;
align-items:flex-start;
}

.item-card-wrapper--column{
flex-direction:column;
}

.item-card-wrapper--reverse{
flex-direction:row-reverse;
}

.item-card-wrapper > .item-card{
flex-shrink:0;
}

.item-card-wrapper > .item-card__dm-section{
flex:1;
min-width:180px;
}

.item-card__dm-section{
background:var(--rarity-light,#f9f9f9);
border:1px dashed var(--color-muted);
border-radius:var(--radius);
padding:10px;
font-family:var(--font-body);
color:var(--color-text);
font-size:0.85rem;
line-height:1.5;
}

.item-card__dm-label{
font-size:0.7rem;
text-transform:uppercase;
letter-spacing:0.08em;
color:var(--color-muted);
font-weight:bold;
margin-bottom:6px;
}

.item-card__dm-field{
margin-bottom:6px;
font-size:0.85rem;
}

.item-card__dm-field a{
color:var(--color-secondary);
text-decoration:none;
}

.item-card__dm-field a:hover{
text-decoration:underline;
}

.item-card__info-item{
display:flex;
flex-direction:column;
align-items:center;
gap:calc(2px * var(--card-scale,1));
}

.item-card__info-box{
display:inline-flex;
align-items:center;
justify-content:center;
font-weight:700;
font-family:var(--font-body);
line-height:1;
text-align:center;
}

.item-card__info-label{
color:var(--color-muted);
text-transform:uppercase;
letter-spacing:0.03em;
line-height:1;
text-align:center;
}

.item-card__info-box--square{
border-radius:0;
}

.item-card__info-box--squircle{
border-radius:6px;
}

.item-card__info-box--circle{
border-radius:50%;
}

.item-card__info-box--hexagon{
border:none;
background:transparent;
position:relative;
isolation:isolate;
border-radius:0;
}

.item-card__info-box--hexagon::before{
content:'';
position:absolute;
inset:0;
background:currentColor;
-webkit-mask:url(icons/hex.png) center/contain no-repeat;
mask:url(icons/hex.png) center/contain no-repeat;
z-index:-1;
pointer-events:none;
}

.item-card__info-group{
display:flex;
gap:4px;
}

.item-card__info-group--column{
flex-direction:column;
}

.item-card__info-group--title-center{
justify-content:center;
margin-top:4px;
}

.item-card__info-group--title-left,
.item-card__info-group--title-right{
flex-shrink:0;
}

.item-card__info-group--top,
.item-card__info-group--bottom{
justify-content:center;
margin:4px 0;
}

/* Shape floats — contain positioned elements,define text wrapping via
shape-outside with a canvas-generated alpha image */
.item-card__shape-float{
position:relative;
background:transparent;
pointer-events:none;
shape-margin:6px;
}

.item-card__shape-float--left{
float:left;
}

.item-card__shape-float--right{
float:right;
}

.item-card__shape-float > *{
pointer-events:auto;
}

.item-card__positioned{
position:absolute;
}

.item-card__source{
font-size:calc(0.7rem * var(--card-scale,1));
color:var(--color-muted);
text-align:right;
font-style:italic;
margin-top:calc(8px * var(--card-scale,1));
}

.item-card__resize-handle--right{
position:absolute;
top:0;
right:0;
width:6px;
height:100%;
cursor:ew-resize;
background:transparent;
}

.item-card__resize-handle--bottom{
position:absolute;
bottom:0;
left:0;
width:100%;
height:6px;
cursor:ns-resize;
background:transparent;
}

[data-editable]:hover{
outline:1px dashed var(--color-secondary);
cursor:pointer;
border-radius:2px;
}

.item-card--classic{
}

.item-card--sourcebook{
border-radius:0;
border-width:1px;
}

.item-card--sourcebook .item-card__header{
text-align:left;
}

.item-card--sourcebook .item-card__name{
border-bottom:1px solid var(--rarity-accent);
padding-bottom:calc(4px * var(--card-scale,1));
}

.item-card--sourcebook .item-card__divider{
display:none;
}

