/* The selector owns the viewport; headers cannot push the grid offscreen. */
#setup-dialog{width:calc(100vw - 24px)!important;max-width:1760px!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow:hidden!important;padding:0!important}
#setup-dialog .setup-card{box-sizing:border-box;height:100%!important;max-height:none!important;min-height:0!important;padding:12px!important;gap:6px!important;overflow:hidden!important}
#setup-dialog .setup-heading{flex:none!important;align-items:center!important;gap:8px!important;margin:0!important}
#setup-dialog .setup-heading .eyebrow,#setup-dialog .setup-card>.dialog-intro,#setup-dialog .desktop-rule-note{display:none!important}
#setup-dialog .setup-heading h2{font-size:22px!important;line-height:1.15!important;margin:0!important}
#setup-dialog #setup-back-button{padding:6px 12px!important;min-height:32px!important}
#setup-dialog .deck-filters80{margin:0!important;gap:8px!important;align-items:center!important;flex:none!important}
#setup-dialog .deck-filters80 label{display:flex!important;align-items:center;gap:6px;font-size:12px;white-space:nowrap}
#setup-dialog .deck-filters80 input,#setup-dialog .deck-filters80 select,#setup-dialog #deck-clear80{height:32px!important;min-height:32px!important;padding:4px 8px!important;margin:0!important}
#setup-dialog .picked-decks80,#setup-dialog .story-mode-status{margin:0!important;line-height:1.3!important;font-size:12px!important;flex:none}
#setup-dialog .setup-deck-grid{flex:1!important;min-height:0!important;margin:0!important;gap:12px!important;overflow:hidden!important}
#setup-dialog .setup-deck-grid fieldset{min-height:0!important;margin:0!important;padding:24px 0 0!important;overflow:hidden!important;border:0}
#setup-dialog .setup-deck-grid legend{position:absolute;top:0;left:0;font-size:13px!important;line-height:22px!important;padding:0!important;margin:0!important}
#setup-dialog .random-deck-button{position:absolute;right:4px;top:0;margin:0!important;padding:2px 8px!important;min-height:22px!important;font-size:11px!important;line-height:16px}
#setup-dialog .deck-options{height:100%!important;max-height:none!important;min-height:0!important;flex:1!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:calc((100% - 20px)/3)!important;gap:6px!important;align-content:start!important;padding:2px 6px 6px 2px!important;scrollbar-gutter:stable;overflow-y:auto!important}
#setup-dialog .deck-option{min-height:0!important;height:100%!important;gap:3px!important}
#setup-dialog .deck-option[hidden]{display:none!important}
#setup-dialog .deck-option label{min-height:0!important;height:0!important;flex:1!important;padding:0!important;overflow:hidden!important;position:relative}
#setup-dialog .deck-option .deck-portrait{height:46%!important;min-height:26px!important;flex:none!important}
#setup-dialog .deck-portrait-image{height:100%!important}
#setup-dialog .deck-option-copy{padding:3px 5px!important}
#setup-dialog .deck-name-row{display:flex!important;flex-wrap:wrap;gap:2px!important}
#setup-dialog .deck-option strong{font-size:12px!important;line-height:1.15!important}
#setup-dialog .deck-option-copy>span:last-child:not(.deck-name-row){display:none!important}
#setup-dialog .deck-difficulty{font-size:10px!important;line-height:1.1!important;padding:1px 4px!important}
#setup-dialog .deck-option-badges{margin:0!important}
#setup-dialog .deck-view-button{min-height:22px!important;height:22px!important;flex:none!important;padding:1px 4px!important;font-size:11px!important;margin:0!important}
#setup-dialog .deck-lock-footer{position:absolute;right:3px;top:3px;font-size:10px;padding:1px 3px}
#setup-dialog #start-button{min-height:34px!important;padding:6px!important;margin:0!important;flex:none}
#setup-dialog .mobile-rule-details{display:block!important;margin:0!important;font-size:11px!important;flex:none}
#setup-dialog .mobile-rule-details[open]{max-height:80px;overflow:auto}
#setup-dialog .mobile-rule-details p{margin:4px 0}
.story-code105{display:flex;flex:none;gap:6px;align-items:center;font-size:12px;flex-wrap:wrap}
.story-code105 input{min-width:130px;max-width:220px;padding:6px;background:#0e1c28;color:#fff;border:1px solid #60788c;border-radius:6px}
.story-code105 button{padding:5px 8px;min-height:30px;font-size:12px}
.story-code105[hidden]{display:none!important}
#encounter-status105{color:#efcf85}
.launch-modal105{box-sizing:border-box;max-width:650px!important;width:calc(100% - 24px)!important;max-height:90dvh!important;padding:24px!important;overflow:auto!important;color:#ecf1f7;background:#11202d}
.launch-modal105 h2{margin:0 0 12px}.launch-modal105 p{font-size:14px;line-height:1.7}
.launch-modal105 label{display:block;margin:12px 0}.launch-modal105 textarea{display:block;width:100%;box-sizing:border-box;padding:10px;background:#091521;color:white;border:1px solid #61758a;border-radius:6px;font:inherit}
.launch-actions105{display:flex;gap:8px;flex-wrap:wrap}
.journey-primary105,.journey-step105{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;padding:14px;border:1px solid #bd9a51;border-radius:10px;background:#243a4b;color:#fff;margin:8px 0;cursor:pointer}
.journey-primary105 strong{font-size:22px}.journey-primary105 span,.journey-step105 span{font-size:13px;color:#cad8e3}
#journey-steps105{margin-bottom:16px}
@media(max-width:999px){
 #setup-dialog{width:calc(100vw - 8px)!important;height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important}
 #setup-dialog .setup-card{padding:8px!important}
 #setup-dialog .setup-deck-grid{gap:6px!important}
 #setup-dialog .deck-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:145px!important}
 #setup-dialog .deck-filters80{grid-template-columns:1fr 1fr auto!important}
 #setup-dialog .deck-filters80 label{display:block!important;white-space:normal}
 #setup-dialog .deck-option strong{font-size:11px!important}
 .story-code105 label{display:none}
}
@media(max-width:540px){
 #setup-dialog .deck-options{grid-template-columns:1fr!important;grid-auto-rows:135px!important}
 #setup-dialog .setup-heading h2{font-size:18px!important}
 #setup-dialog .deck-filters80 label{font-size:10px}
 #setup-dialog .deck-filters80 select{max-width:125px}
 #setup-dialog .story-mode-status{font-size:10px!important}
 .story-code105 input{max-width:160px}
 #setup-dialog #encounter-status105{width:100%;font-size:11px}
}

@media(min-width:1000px) and (min-height:800px){#setup-dialog .deck-option-copy>span:last-child:not(.deck-name-row){display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.3;margin-top:4px}}
