/* The header and tabs stay outside the sole scrolling content area. */
dialog[open]:has(.figure-popup){display:flex;position:fixed;inset:0;margin:auto;z-index:96;flex-direction:column;overflow:hidden;width:min(740px,calc(100vw - 24px));height:min(860px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0}
dialog:has(.figure-popup)>.modal-head{position:static;flex:none;padding:12px 18px;min-height:58px}
dialog:has(.figure-popup)>.modal-head h2{font-size:1.3rem;margin:0;overflow-wrap:anywhere}
dialog:has(.figure-popup)>.modal-head h2:empty{display:none}
dialog:has(.figure-popup)>.modal-head .close{margin-left:auto;flex:none}
dialog:has(.figure-popup)>.modal-body{display:flex;flex:1;min-height:0;overflow:hidden;padding:0}
dialog:has(.figure-popup)>.modal-error:empty{display:none}
.figure-popup{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}
.figure-popup .form-tabs,.figure-popup.is-gm .form-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:none;margin:0;padding:8px 12px;gap:6px;border-bottom:1px solid var(--line);background:var(--card);overflow:visible}
.figure-popup .form-tabs button,.figure-popup.is-gm .form-tabs button{min-width:0;min-height:42px;padding:8px;font-size:.9rem;line-height:1.3;white-space:normal}
.figure-popup>[role=tabpanel]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0;padding:16px}
.figure-popup>[role=tabpanel][hidden]{display:none!important}
.figure-popup.figure-public{display:block;overflow-y:auto;padding:16px}
.figure-combat>section,.figure-info-content>section,.figure-turn-tools{margin:18px 0 0}
.figure-popup h3{font-size:1.1rem;margin:0 0 8px}
.figure-popup .figure-resources,.figure-popup.is-gm .figure-resources{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.figure-popup .resource{padding:10px;border-radius:10px}
.figure-popup .resource>span{font-size:.85rem}
.figure-popup .figure-resources strong{font-size:23px;line-height:1.35}
.figure-resource-change{margin-top:8px}
.figure-resource-change input{width:100%;min-width:0;min-height:36px;padding:4px 8px}
.figure-resource-change .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:5px}
.figure-resource-change .btn{padding:6px 2px;min-width:0;min-height:36px;font-size:.75rem;white-space:normal}
.figure-resources>.resource:only-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(80px,.7fr) minmax(0,1.3fr);column-gap:12px;align-items:center}
.figure-resources>.resource:only-child>span,.figure-resources>.resource:only-child>strong{grid-column:1}
.figure-resources>.resource:only-child>.figure-resource-change{grid-column:2;grid-row:1/span 2;margin-top:0}
.figure-popup .combat-facts{gap:6px;margin:8px 0}
.figure-popup .combat-facts>div{padding:8px}
.figure-popup .combat-facts strong{margin-top:2px}
.figure-popup table{width:100%}
.figure-popup td,.figure-popup th{padding:6px}
.figure-attack+.figure-attack{margin-top:10px}
.figure-attack p{margin:4px 0}
.figure-saves{margin-top:10px}
.figure-initiative-edit,.figure-movement-edit,.figure-turn-state{display:flex;align-items:center;gap:10px;justify-content:space-between}
.figure-initiative-edit>.field,.figure-movement-edit>.field{flex:1;min-width:0;margin-bottom:8px}
.figure-initiative-edit input,.figure-movement-edit select{width:100%;min-width:0}
.figure-turn-state{margin:6px 0}
.figure-popup .inline-check{margin:10px 0;min-height:32px;align-items:center}
.figure-popup .inline-check input{width:18px;height:18px;flex:none}
.figure-sharing{margin-top:0!important}
.figure-sharing .actions{margin-top:12px;gap:6px}
.figure-map-info{border-bottom:1px solid var(--line);padding-bottom:14px;margin:12px 0}
.figure-info-content .figure-portrait{width:110px;height:110px;margin:14px auto}
.figure-info-content>.actions{margin:14px 0}
.figure-map-maintenance{margin:16px 0 0}
.figure-map-maintenance .actions{margin:10px 0}
.figure-popup .prose{overflow-wrap:anywhere}
@media(min-width:1024px){
    dialog[open]:has(.figure-popup.is-gm){--figure-top:clamp(8px,12dvh,100px);position:fixed;left:auto;right:12px;top:var(--figure-top);bottom:auto;margin:0;width:520px;max-width:calc(100vw - 24px);height:calc(100dvh - var(--figure-top) - 12px);max-height:calc(100dvh - var(--figure-top) - 12px);z-index:96}
}
@media(max-width:600px){
    dialog[open]:has(.figure-popup){width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);margin:auto}
    .figure-popup>[role=tabpanel]{padding:12px;scrollbar-gutter:auto}
    .figure-resource-change .actions{grid-template-columns:1fr}
    .figure-popup .form-tabs,.figure-popup.is-gm .form-tabs{padding:6px 10px}
}
dialog[open]:has(.figure-public){height:fit-content}
