/* Approved clean sheet treatment. Weapon geometry remains in its existing styles. */
html:not([data-theme="paper"]) body:has(.character-sheet){background:#141b26}
html:not([data-theme="paper"]) .character-sheet{background:#19222e!important;border:1px solid #8c9aae26!important;box-shadow:none!important}
html:not([data-theme="paper"]) .sheet-identity{background:none!important;border-bottom:1px solid #b49a5c55!important;border-radius:0!important;padding:16px 20px 22px!important}
html:not([data-theme="paper"]) .sheet-section{background:#202936!important;border:1px solid #8c9aae30!important;box-shadow:none!important;outline:none!important}
html:not([data-theme="paper"]) .threshold-recess{border:0!important;box-shadow:none!important;background:#17212d!important;padding:10px 7px!important;border-radius:5px!important}
html:not([data-theme="paper"]) .inline-rest-controls{gap:7px!important;padding:8px 0!important}
html:not([data-theme="paper"]) .inline-rest-controls button{background:#202936!important;border-color:#8c9aae44!important}
html:not([data-theme="paper"]) .inline-rest-controls button:nth-child(2){margin-left:12px}
html:not([data-theme="paper"]) .inline-rest-controls button:nth-child(4){margin-left:12px}
html:not([data-theme="paper"]) .sheet-actions .icon-action{background:#202936!important;border-color:#8c9aae44!important}
/* Approved direct-access conditions and boundary controls. */
.conditions-row{justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #9d896026}
.condition-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.boundary-label{font:10px Overpass;letter-spacing:1px;color:#b9aa89;margin-right:6px}
.condition-group .condition,.condition-group .icon-action{height:32px;min-height:32px;font-size:12px}
.condition-group .icon-action{width:32px;min-width:32px;border-radius:50%;padding:5px}
.inline-rest-controls.boundary-controls{display:flex;align-items:center;gap:8px!important;padding:0!important;margin-left:auto}
.boundary-controls .rest-pair,.boundary-controls .session-pair{display:flex;align-items:center;gap:6px}
.boundary-controls .rest-pair{gap:0}.boundary-controls .rest-pair button:first-child{border-radius:5px 0 0 5px}.boundary-controls .rest-pair button+button{border-radius:0 5px 5px 0;border-left:0}
.boundary-controls button{height:32px;min-height:32px;font:12px Overpass;padding:0 12px;margin-left:0!important}
.boundary-controls .session-pair{margin-left:8px;padding-left:16px;border-left:1px solid #71809744}
@media(max-width:760px){
.condition-group{display:flex;width:100%;gap:7px}.condition-group>.boundary-label{width:100%}
.condition-group .condition,.condition-group .icon-action,.boundary-controls button{height:44px;min-height:44px;font-size:13px}.condition-group .icon-action{width:44px;min-width:44px}
.inline-rest-controls.boundary-controls{width:100%;display:grid;grid-template-columns:1fr;gap:7px!important}
.boundary-controls .rest-pair button{flex:1}.boundary-controls .session-pair{display:grid;grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid #71809733;padding:14px 0 0;margin:8px 0 0;gap:7px}.session-pair .boundary-label{grid-column:1/-1}
}
.condition-group .icon-action{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:none}.condition-group .icon-action svg{display:block;width:18px;height:18px;margin:0;transform:none;flex:none}

/* A modal owns scrolling while open. Keep catalog results inside the viewport. */
html:has(dialog[open]),body:has(dialog[open]){overflow:hidden}
@media(max-width:600px){
 #modal:has(.selection-list)[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 16px);width:calc(100% - 16px);overflow:hidden}
 #modal:has(.selection-list) .modal-head{flex:none;padding:12px 16px}
 #modal:has(.selection-list) .modal-head h2{font-size:1.1rem}
 #modal:has(.selection-list) .modal-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:12px 16px}
 #modal:has(.selection-list) .selection-list{max-height:none;overflow:visible;flex:none}
}
