/* Shared layout safeguards. Keep text selectable and scroll regions independent. */
.dialog-header{gap:16px;flex-shrink:0}
.dialog-header>div{min-width:0;flex:1}
.dialog-header h2{overflow-wrap:anywhere}
.dialog-header>.icon-btn{flex:0 0 44px;min-width:44px;min-height:44px;align-self:flex-start}
.dialog-body{min-width:0;min-height:0;scroll-padding-block:16px 32px}
.dialog-body>*{min-width:0;max-width:100%}
.dialog-body :is(h3,h4,p,li,summary,.source-note,.small-description){overflow-wrap:anywhere}
.dialog-body :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
.dialog-body :is(.primary-btn,.outlined-btn,.text-action,.subtle-button){
 max-width:100%;min-width:0;min-height:44px;height:auto;white-space:normal;
 overflow-wrap:anywhere;line-height:1.5;vertical-align:middle;
}
.dialog-body a:is(.primary-btn,.outlined-btn){display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}
.dialog-body :is(.dialog-actions,.context-tools,.context-footer,.collection-head,.page-navigation){gap:12px;flex-wrap:wrap}
.dialog-body :is(.dialog-actions,.context-tools,.context-footer,.collection-head,.page-navigation)>*{min-width:0;max-width:100%}
.dialog-body .modal-section{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px}
.dialog-body .modal-section>:is(h3,p,.progress-line,details,div,label){flex-basis:100%;min-width:0;margin-block:0}
.dialog-body .modal-section>button{margin:0!important}
.dialog-body :is(.research-assistant,.source-comparison,.cloud-library,.contribution-drafts,.collection-manager,.research-trails,.review-dashboard,.personal-insights){display:grid;gap:16px;min-width:0}
.dialog-body :is(.personal-card,.review-card){display:grid;gap:12px;min-width:0}
.dialog-body :is(.personal-card,.review-card)>*{min-width:0;max-width:100%;margin-block:0}
.dialog-body :is(.personal-card,.review-card)>:is(button,a.outlined-btn){width:100%;text-align:center}
.dialog-body :is(.research-tool-grid,.metric-grid,.context-detail-grid,.compare-controls,.compare-grid,.source-compare-grid){min-width:0}
.dialog-body :is(.research-tool-grid,.metric-grid,.context-detail-grid,.compare-controls,.compare-grid,.source-compare-grid)>*{min-width:0;max-width:100%}
.metric-card{min-width:0}
.metric-card :is(strong,span){min-width:0;overflow-wrap:anywhere}
.research-breadcrumb{flex-wrap:wrap;white-space:normal;line-height:1.6;overflow:visible}
.research-breadcrumb>*{min-width:0;overflow-wrap:anywhere}
.dialog-body .setting-row{align-items:flex-start;line-height:1.5;letter-spacing:0}
.dialog-body .setting-row input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;padding:0}
.dialog-body .setting-row span{min-width:0;overflow-wrap:anywhere}
.storage-row>div,.save-row>div{min-width:0;overflow-wrap:anywhere}
.storage-row button,.save-row button{flex-shrink:0}
.ocr-review-workspace{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.ocr-toolbar>*{min-width:0;max-width:100%}
.ocr-toolbar{row-gap:12px}
.image-preview img{object-fit:contain}
.reader-inside,.verse-text,.control-label,.control-actions,.context-prompt>div{min-width:0}
.verse-text{overflow-wrap:anywhere}
.welcome-line{white-space:normal;line-height:1.8}
.topbar{gap:12px}
.top-left{min-width:0}
.top-actions{flex-shrink:0}
.context-tools{flex-wrap:wrap}
.map-layout-note{display:none}
.context-map.map-list-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:48px 14px 14px;min-height:0}
.context-map.map-list-layout:before{content:'PLACES · SELECT FOR CONTEXT'}
.context-map.map-list-layout>.context-map-pin{position:static;transform:none;max-width:none;width:100%;min-height:44px;border-radius:8px;white-space:normal;line-height:1.5}
.context-map.map-list-layout>.map-layout-note{display:block;grid-column:1/-1;margin:0;font-size:11px;line-height:1.6}
.context-tools>button{flex:1 1 110px;min-width:0;white-space:normal;line-height:1.5}
.study-inner :is(p,h3,h4,.source-note){overflow-wrap:anywhere}
.dialog-body [hidden]{display:none!important}
@media(max-width:900px){
 .read-controls{flex-wrap:wrap;row-gap:14px}
 .read-controls>.control-actions{max-width:none;flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:700px){
 .ocr-review-workspace{grid-template-columns:minmax(0,1fr)}
 .source-compare-grid,.compare-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:550px){
 .dialog{max-height:94dvh}
 .dialog-header{padding:20px;gap:12px}
 .dialog-header h2{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .dialog-body{padding:20px 18px calc(24px + env(safe-area-inset-bottom))}
 .dialog-body :is(input:not([type=checkbox]):not([type=range]),select,textarea){font-size:16px}
 .dialog-body :is(.dialog-actions,.page-navigation){display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 .dialog-body .modal-section>button,.dialog-body .modal-section>a.outlined-btn{flex-basis:100%;width:100%}
 .dialog-body :is(.research-assistant,.source-comparison,.cloud-library,.contribution-drafts,.collection-manager,.research-trails,.review-dashboard,.personal-insights)>:is(button,a.outlined-btn){width:100%}
 .research-tool-grid{grid-template-columns:minmax(0,1fr)}
 .dialog-body .research-tools>button{display:block;width:calc(100% - 24px);margin:12px}
 .dialog-body .research-tools>input[type=file]{display:block;width:calc(100% - 24px);margin:12px;font-size:14px}
 .dialog-body .research-tools>p{margin:12px}
 .storage-row,.save-row{flex-wrap:wrap;gap:12px}
 .storage-row>div,.save-row>div{flex:1 1 150px}
 .storage-row button,.save-row button{margin-left:0;min-height:44px}
 .control-label{line-height:1.6;flex-wrap:wrap}
 .read-controls>.control-actions{width:100%;justify-content:flex-start;gap:10px}
 .control-actions>.font-control{min-height:36px;min-width:36px}
 .context-prompt{display:grid;grid-template-columns:24px minmax(0,1fr) 36px;gap:12px}
 .context-prompt-mark{grid-column:1;grid-row:1}
 .context-prompt>div{grid-column:2;grid-row:1}
 .context-prompt .context-dismiss{grid-column:3;grid-row:1;min-height:36px}
 .context-prompt .outlined-btn{grid-column:2/-1;margin-left:0;white-space:normal;min-height:44px}
 .audio-player{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
 .audio-player>button{width:100%;min-width:0;height:44px}
 .audio-player .audio-now{min-width:0;overflow-wrap:anywhere}
 .review-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .reader-footer{line-height:2}
}
@media(max-width:360px){
 .audio-player{grid-template-columns:repeat(3,minmax(0,1fr))}
 .audio-player #audioPrevious,.audio-player #audioSpeed{grid-column:1}
 .audio-player #audioToggle,.audio-player #audioOptions{grid-column:2}
 .audio-player #audioNext,.audio-player #audioStop{grid-column:3}
 .topbar{padding-inline:8px;gap:4px}
 .top-actions{gap:0}
 .top-actions .icon-btn{width:36px;min-width:36px}
 .library-primary-actions,.more-tool-grid{grid-template-columns:minmax(0,1fr)}
 .dialog-header{padding:16px}
 .dialog-body{padding-inline:14px}
}
@media(max-height:500px) and (orientation:landscape){
 .dialog{max-height:96dvh}
 .dialog-header{padding-block:10px}
 .dialog-header h2{font-size:24px;margin-top:4px}
 .dialog-header h2{-webkit-line-clamp:2}
 .audio-player{position:static}
}
@media print{.dialog{max-height:none}.dialog-body{overflow:visible}}
