/* Shared geometry for game dialogs, information cards and context menus. */
#modal{--dialog-gap:16px;padding:22px;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:6px;scrollbar-gutter:stable;}
#modal .modal-top{gap:16px;margin-bottom:18px;padding-bottom:14px;align-items:center;}
#modal .modal-top h2{font-size:26px;line-height:1.2;margin:5px 0 0;overflow-wrap:anywhere;}
#modal-close{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;padding:0!important;line-height:1;}
#modal-body{min-width:0;line-height:1.5;}
#modal-body p{max-width:65ch;margin:0 0 14px;overflow-wrap:anywhere;}
#modal-body h3{font-size:17px;line-height:1.3;margin:0 0 12px;}
#modal-body label{font-size:13px;line-height:1.4;}
#modal-body input,#modal-body select{min-height:38px;}
#modal-body .dialog-tabs,#modal-body .dialog-actions{gap:8px;margin:0 0 16px;align-items:center;}
#modal-body .dialog-footer{border-top:1px solid var(--border);padding-top:16px;margin:18px 0 0;justify-content:flex-end;}
.detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0 0 16px;}
.detail-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid #81907822;min-width:0;}
.detail-facts dt{font-size:12px;color:var(--muted);}
.detail-facts dd{margin:0;text-align:right;font-size:13px;color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.detail-hero{display:flex;gap:14px;align-items:center;margin-bottom:16px;}
.detail-hero .physical-item{width:68px;height:68px;flex:0 0 68px;}
.detail-hero h3{margin:3px 0 0!important;}
.detail-description{font-size:13px;color:#c4c8b7;}
.notice-box{padding:12px 14px;line-height:1.5;font-size:13px;max-width:100%;}
.setting-list{display:grid;gap:0!important;}
.setting-list label{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;margin:0;border-bottom:1px solid var(--border);}
.setting-list input[type=checkbox]{flex:0 0 18px;min-height:18px!important;width:18px;height:18px;margin:0;}
.outfit-workshop{display:grid;grid-template-columns:192px minmax(0,1fr);gap:24px;align-items:start;}
.outfit-model canvas{width:192px;height:220px;background:radial-gradient(ellipse at 50% 75%,#5f68552b,transparent 65%);display:block;}
.outfit-model .dialog-actions{justify-content:center;}
.outfit-model .dialog-actions button{width:44px;}
.outfit-parts{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:14px;}
.outfit-parts button{display:flex;gap:10px;align-items:center;text-align:left;min-height:38px;font-size:13px;}
.outfit-parts i{width:18px;height:18px;border:1px solid #eee8d233;border-radius:2px;}
.outfit-parts .active{border-color:var(--gold);background:#544d302e;}
.color-grid{display:grid;grid-template-columns:repeat(6,minmax(0,36px));gap:6px;}
.color-grid button{background:var(--swatch);border:2px solid #fff2;padding:0;aspect-ratio:1;min-height:30px;border-radius:3px;}
.color-grid button[aria-pressed=true]{outline:2px solid #ead9a6;outline-offset:2px;box-shadow:inset 0 0 0 2px #17211d;}
.outfit-custom{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:14px;}
.outfit-custom label{display:flex;align-items:center;gap:10px;margin:0!important;}
.outfit-custom input[type=color]{width:48px;padding:3px;}
.context-menu{width:max-content!important;min-width:170px;max-width:min(300px,calc(100vw - 16px));padding:5px!important;}
.context-menu button{font-size:13px;line-height:1.3;padding:9px 12px!important;min-height:34px;white-space:normal;}
.context-menu header{padding:8px 12px!important;overflow-wrap:anywhere;}
.rich-tooltip{max-width:min(330px,calc(100vw - 20px));padding:12px 14px;line-height:1.4;}
.rich-tooltip p{margin:7px 0;font-size:12px;}
.rich-tooltip.simple{width:max-content;max-width:250px;padding:7px 10px;}
.rich-tooltip.simple p{margin:0;}
.trade-layout{grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start;}
.trade-catalog{min-width:0;}
#trade-items{max-height:420px;overflow-y:auto;scrollbar-gutter:stable;}
#trade-detail{min-width:0;}
#trade-detail .detail-facts{grid-template-columns:1fr;margin-bottom:10px;}
#trade-detail .detail-facts>div{padding:5px 0;}
.trade-facts{font-size:13px;gap:7px 12px;}
.trade-amount{gap:6px;}
.trade-amount input{min-width:0;width:100%;}
.trade-amount button{min-width:38px;}
.trade-item{min-height:52px;gap:9px;}
.trade-item span{min-width:0;overflow-wrap:anywhere;}
.blessing-list>div{display:grid;grid-template-columns:minmax(0,1fr) 42px 94px;gap:12px;align-items:center;padding:12px 0;}
.blessing-list small{line-height:1.4;max-width:40ch;}
.housing-layout{grid-template-columns:170px minmax(0,1fr);gap:20px;}
.housing-layout nav button{padding:10px 12px;}
.housing-layout .detail-facts{grid-template-columns:1fr;}
.dialog-notes{border-top:1px solid var(--border);margin-top:16px;padding-top:12px;font-size:12px;color:var(--muted);}
.dialog-notes summary{cursor:pointer;color:var(--gold);}
.dialog-notes p{padding-top:10px;}
.spell-card{padding:14px;display:flex;flex-direction:column;gap:10px;}
.spell-card>div:last-child{margin-top:auto;display:flex;gap:8px;}
.spell-card p{margin:0!important;font-size:12px;}
.spell-card button{flex:1;}
.loot-window{padding:14px;max-width:calc(100% - 16px);}
.loot-window header{gap:12px;margin-bottom:12px;}
.corpse-items button{min-height:44px;gap:10px;}
@media(max-width:600px){#modal{padding:16px;}.outfit-workshop{grid-template-columns:116px minmax(0,1fr);gap:14px;}.outfit-model canvas{width:116px;height:180px;}.outfit-model select{padding:7px;font-size:12px;}.color-grid{gap:5px;grid-template-columns:repeat(5,minmax(0,1fr));}.color-grid button{min-height:25px;}.outfit-parts button{font-size:11px;padding:7px;}.outfit-custom{flex-wrap:wrap;}.detail-facts{grid-template-columns:1fr;}.housing-layout{grid-template-columns:1fr;}.housing-layout nav{display:flex;overflow:auto;}.housing-layout nav button{min-width:145px;}.trade-layout{grid-template-columns:minmax(110px,.75fr) minmax(0,1fr);gap:12px;}.trade-item{font-size:11px;padding:7px;}.trade-item .physical-item{width:30px;height:30px;}.trade-item small{display:none;}.detail-hero .physical-item{width:48px;height:48px;flex-basis:48px;}.detail-hero{gap:8px;}#modal-body .detail-hero h3{font-size:14px;}.blessing-list>div{grid-template-columns:minmax(0,1fr) 30px 75px;gap:8px;}}
@media(max-width:350px){.outfit-workshop{grid-template-columns:95px minmax(0,1fr);gap:10px;}.outfit-model canvas{width:95px;height:145px;}.color-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.trade-layout{grid-template-columns:1fr;}#trade-items{max-height:170px;}}

.outfit-select{display:grid;gap:6px;margin:0 0 18px;}
