/* Local system fonts only: no web-font requests. */
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft JhengHei","PingFang TC","Microsoft YaHei",sans-serif;font-weight:600}
header{height:202px}
.brand{width:360px;max-width:100%}
.brand>img{width:100%;height:auto;object-fit:contain}
.slogan{width:100%;height:66px;position:relative;overflow:hidden}
.brand .slogan img{position:absolute;top:50%;transform:translateY(-50%);width:100%;height:auto;object-fit:contain}
.toolbar h2,.dialog-heading h2,.total b,.disarray b,nav button b{font-weight:750}
.total .tooltip{font-size:14px}
.disarray{margin-left:0;border-color:#779ab8;background:#243e56}
.disarray span,.overall span,.mount-total span{font-size:14px;font-weight:700}
.disarray small{font-size:12px}
.overall{margin-left:0}
.row{height:55px}
.row.head{height:34px;font-size:13px}
.row input{font-size:15px}
.weapon-button span:not(.weapon-placeholder){font-size:16px}
.weapon-button img{width:48px;height:48px}
.toolbar-actions button{font-size:14px;min-height:40px}
dialog{width:1200px}
.dialog-heading h2{font-size:24px}
.picker-controls,.picker-controls label{font-size:17px}
.hint{font-size:14px}
.categories{grid-template-columns:repeat(9,minmax(0,1fr))}
.category-option{font-size:16px;padding:7px 3px;min-height:94px}
.category-option img{width:60px;height:60px}
.weapons{grid-template-columns:repeat(6,minmax(0,1fr));max-height:36vh}
.weapon-tile{min-height:128px}
.weapon-tile img{width:116px;height:116px}
.tile-caption{font-size:15px}
.clear-weapon{font-size:16px;min-height:44px}
#adminSlots{gap:14px;max-height:60vh}
.admin-column{display:flex;flex-direction:column;gap:7px;min-width:0}
.admin-slot{min-height:58px}
.admin-slot b{font-size:15px;min-width:24px}
.admin-slot select{font-size:15px;width:110px;min-height:44px}
.admin-slot button{font-size:16px;min-height:44px}
.admin-slot img{width:48px;height:48px}
@media(max-width:1150px){
 .categories{grid-template-columns:repeat(6,minmax(0,1fr))}
 .totals{flex-wrap:wrap}
 .total{gap:7px}
 .row{grid-template-columns:24px 30px minmax(115px,.9fr) minmax(85px,1fr) minmax(100px,1.2fr)}
 .weapon-button span:not(.weapon-placeholder){font-size:14px}
}
@media(max-width:900px){
 .roster{grid-template-columns:1fr}
 #adminSlots{grid-template-columns:1fr}
 .categories{grid-template-columns:repeat(4,minmax(0,1fr))}
 .weapons{grid-template-columns:repeat(4,minmax(0,1fr))}
 .brand{width:330px}
 header{height:194px}
 .row{grid-template-columns:26px 34px minmax(130px,.8fr) minmax(100px,1fr) minmax(120px,1.3fr)}
}
@media(max-width:560px){
 header{height:244px;padding:48px 16px 12px;justify-content:center;align-items:center}
 .brand{width:min(360px,100%)}
 .brand>img{width:100%;height:auto}
 .header-right{right:12px;top:5px}
 .header-right select{min-height:36px;font-size:16px;padding:5px 9px}
 main{padding:0 10px 24px}
 nav{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:10px 0;overflow:visible}
 nav button{min-height:44px;padding:5px;gap:5px;justify-content:center;font-size:13px}
 nav button b{font-size:11px;padding:2px 4px}
 nav button:last-child{grid-column:1/-1;min-height:36px;border:1px solid #354f6c;border-radius:5px}
 .totals{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin-top:10px}
 .summary-label{display:none}
 .total{grid-column:span 3;min-width:0;justify-content:center;padding:6px 3px;height:44px}
 .total b{font-size:21px}
 .mount-total,.overall,.disarray{grid-column:span 4;height:68px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:3px 5px;padding:5px}
 .mount-total span,.overall span,.disarray span{width:100%;text-align:center;font-size:13px}
 .overall small,.disarray small{font-size:10px}
 .total .tooltip{position:fixed;top:auto;bottom:16px;left:12px;width:calc(100vw - 24px)}
 .toolbar{margin:14px 0 10px;gap:6px}
 .toolbar h2{font-size:19px;letter-spacing:0}
 .toolbar-actions{gap:7px}
 .toolbar-actions button{font-size:12px;padding:8px;min-height:44px}
 .roster{gap:14px}
 .row{height:auto;min-height:102px;grid-template-columns:25px 34px minmax(112px,1fr) minmax(90px,1fr);grid-template-rows:53px 39px;gap:3px 5px;padding:5px 8px}
 .row.head{min-height:33px;height:33px;grid-template-rows:1fr;font-size:12px;padding:5px 8px}
 .row.head>span:last-child{display:none}
 .row input{font-size:16px;min-height:39px;padding:6px}
 .row input[data-field="note"]{grid-column:3/-1;border-color:#2a4058;background:#0c192a66}
 .weapon-button img{width:44px;height:44px}
 .weapon-button span:not(.weapon-placeholder){font-size:14px}
 .role-button{min-height:44px}
 .number{font-size:16px}
 dialog{width:calc(100vw - 16px);max-width:none;max-height:94dvh;padding:14px;border-radius:12px}
 .dialog-heading h2{font-size:21px}
 .dialog-heading button{min-width:44px;min-height:44px}
 .picker-controls{gap:8px;flex-wrap:wrap}
 .picker-controls input{flex-basis:100%;min-height:46px;font-size:16px}
 .picker-controls select{font-size:16px;min-height:44px}
 .categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:32dvh;overflow-y:auto}
 .category-option{font-size:15px;min-height:86px}
 .category-option img{width:54px;height:54px}
 .weapons{grid-template-columns:repeat(3,minmax(0,1fr));max-height:30dvh;gap:6px}
 .weapon-tile{min-height:104px}
 .weapon-tile img{width:90px;height:90px;max-width:100%;object-fit:contain}
 .tile-caption{font-size:14px}
 .admin-slot{gap:5px;padding:5px}
 .admin-slot select{width:91px;font-size:16px;padding:5px}
 .admin-slot button{font-size:15px;overflow-wrap:anywhere}
 .admin-slot img{width:40px;height:40px}
 .setting-card{padding:15px}
 .setting-card select,.setting-card input{font-size:16px;max-width:100%}
 .formula{gap:5px;padding:10px}
 .formula>div{font-size:12px;min-width:0}
}
