/* Controller-first command map; limited animation, explicit labels and stable bases. */
.controller-overview{display:flex;gap:12px;padding:4px 20px 10px;border-bottom:1px solid #226680;flex-wrap:wrap}.controller-overview>div{display:flex;align-items:center;gap:9px;padding-right:18px;border-right:1px solid #27536c}.controller-overview strong{font:700 25px 'Rajdhani';color:#9eeeff}.controller-overview small{color:#aac5d7;font-size:11px}#sample-banner{position:absolute;top:5px;left:50%;transform:translateX(-50%);z-index:5;font-size:10px;background:#243c49;color:#fff2b5;border:1px solid #a08f47;padding:4px 10px;border-radius:4px}header h1{font-size:27px}.toolbar{padding:10px 12px}.command-filters{display:flex;flex-direction:column;gap:8px;min-width:0}.controller-tabs,.filter-selects{display:flex;gap:6px;flex-wrap:wrap}.filter-selects select{padding:5px 8px;font-size:11px;max-width:155px;color:#a5cddd;background:#061b2b}.command-filters>small{font-size:10px;color:#8eafc5}.toolbar-summary{flex-shrink:0}.controller-tabs button{font-size:11px}.map-legend{position:absolute;bottom:32px;left:12px;max-width:calc(100% - 180px);background:#041823e6;border:1px solid #235975;border-radius:5px;padding:5px 10px;font-size:10px;pointer-events:none;z-index:5}.map-caption{font-size:9px}.marker{width:245px;min-height:130px;padding:9px;gap:9px;align-items:flex-start;transform:translate(-50%,-50%) scale(var(--marker-scale,1));border-radius:10px;cursor:pointer;contain:layout style;content-visibility:auto;overflow:visible}.marker:focus-visible{outline:3px solid #fff}.marker-copy{display:flex;flex-direction:column;min-width:0;flex:1}.marker strong{font:700 17px 'Rajdhani';max-width:none;overflow:visible;line-height:1.2}.marker strong small{display:inline;font-size:12px;color:#c2e4f0}.marker .controller-name{font:700 15px 'Noto Sans Thai';color:#d6f7ff;line-height:1.4;overflow-wrap:anywhere}.marker .controller-kind{font-size:10px;color:#70d8f3}.marker em{font-size:22px;line-height:1.1;margin-top:3px}.marker em small{display:inline;color:inherit;font-size:12px}.marker.selected{outline:4px solid #6eeaff;outline-offset:5px;box-shadow:0 0 0 12px #16d2ff26,0 0 24px #1bcaff66;z-index:6}.marker.selected:after{border-top-color:#abf7ff}.controller-avatar{width:58px;height:65px;flex:none;display:inline-flex;align-items:center;justify-content:center;position:relative;border:2px solid #60d9ef;border-radius:11px;background:linear-gradient(145deg,#18516c,#061625);overflow:visible;vertical-align:middle;color:#c8f6ff;font:700 23px 'Rajdhani';isolation:isolate}.controller-avatar.ai{border-color:#17e1ff}.controller-avatar.human{border-radius:50%;border-color:#b3e8ff}.controller-avatar.unknown{border-color:#b8a976;color:#e1d398}.controller-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;border-radius:inherit;background:#071f30}.controller-avatar.ai>img{object-fit:cover;object-position:95% 14%}.controller-avatar small{position:absolute;right:-5px;bottom:-5px;color:#011c29;background:#49e6ff;border:1px solid #041f30;border-radius:4px;font:700 10px 'Rajdhani';padding:1px 3px;z-index:2}.controller-avatar[data-open-ai]{cursor:pointer}.controller-avatar[data-open-ai]:focus-visible{outline:3px solid white}.control-status{font-size:11px;color:#c0dce5;display:block;line-height:1.5}.status-managing{color:#54f5ad}.status-wait_ea{color:#ffce72}.status-paused{color:#e5d396}.status-disconnected,.status-unknown{color:#b6c0ca}.stale-tag{display:inline-block;color:#f0d090;border:1px solid #8e7344;border-radius:3px;font-size:9px;padding:0 3px;line-height:1.5}.map-cluster{position:absolute;z-index:3;background:#082a3cf5;border:2px solid #55d7fb;border-radius:12px;padding:9px 13px;min-width:150px;box-shadow:0 3px 14px #0009}.map-cluster b{display:block;color:#c9f6ff;font:700 22px 'Rajdhani'}.map-cluster small{display:block;font-size:10px}.cluster-list{display:grid;gap:8px;margin-top:12px}.cluster-list button{display:flex;gap:14px;text-align:left;align-items:center}.cluster-list small{display:block}.detail-title{font-size:23px}.detail-title small{font-size:14px}.detail-broker{font-size:11px;color:#8eb9cb;margin:0 0 10px}.detail-controller{display:flex;gap:13px;align-items:center;padding:10px;border:1px solid #27617c;border-radius:7px;background:#071d2b}.detail-controller>.controller-avatar{width:70px;height:77px}.detail-controller>div{min-width:0}.detail-controller strong{display:block;font-size:17px}.detail-controller>div>span:not(.control-status):not(.stale-tag){display:block;font-size:11px;color:#8bc8de}.connection-line{font-size:11px;color:#a8c9d8}.world-money{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.world-metric{padding:9px;background:#061b2b;border:1px solid #285e79;border-radius:6px;min-width:0}.world-metric:first-child{grid-column:1/-1;border-color:#32a2bf}.world-metric>span{display:block;color:#afd8e7;font-size:10px}.world-metric strong{display:block;font:700 25px 'Rajdhani';overflow-wrap:anywhere;color:#e1f6ff}.world-metric:first-child strong{font-size:34px}.world-metric small{font-size:11px}.ai-summary h3{font:700 18px 'Rajdhani';color:#6ae6ff;margin:12px 0 8px}.ai-summary h3 small{font-size:12px}.ai-round-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #2c6079;border-radius:5px}.ai-round-stats>span{font-size:10px;text-align:center;border-right:1px solid #2c6079;padding:7px 0}.ai-round-stats b{display:block;font:700 21px 'Rajdhani'}.data-note{font-size:9px;color:#87adbe}.ai-event{display:flex;flex-direction:column;gap:3px;border:1px solid #285773;border-radius:5px;padding:8px;margin:7px 0;font-size:11px}.ai-event small,.ai-event time{color:#8dbacd;font-size:10px}.ai-event b{font-size:12px}.ai-details-button,.manage-ai-button{padding:9px;width:100%;margin:5px 0}.ai-details-button{background:#00bfdf;color:#001f30;border-color:#71e8ff;font-weight:700}.detail-updated{font-size:10px;color:#95bbcc}.sheet-controls{display:none}.selected-portfolio{order:1}.lumi{order:0}.brief{order:2}.ai-note{order:3}.selected-portfolio>h2{margin-bottom:8px}.selected-portfolio{padding:12px!important}.speech{font-size:11px}#blitzDetails header{height:auto;min-height:0;background:#061e2c!important;justify-content:flex-start}#blitzDetails h1{letter-spacing:0;text-shadow:none;line-height:1.2}#blitzDetails h1 small{display:block;text-align:left;letter-spacing:0}#blitzDetails nav{flex-direction:row;gap:0;padding:0}#blitzDetails main{display:block;padding:0}#blitzDetails aside{display:block;overflow:visible}#blitzDetails footer{height:auto;min-height:55px}#blitzDetails .bz-card{box-shadow:none}#blitzDetailsButton{display:none!important}#blitzDetails .bz-portrait{overflow:hidden}#blitzDetails .bz-columns{display:grid}#blitzDetails .bz-content{overflow-wrap:anywhere}
@media(min-width:1650px){main{grid-template-columns:78px minmax(0,1fr) 370px}}
@media(max-width:1100px){.controller-overview{gap:8px;padding:3px 12px 8px}.controller-overview>div{padding-right:9px;gap:5px}.controller-overview small{font-size:10px}.controller-overview strong{font-size:22px}.command-filters .filter-selects select{max-width:126px}.toolbar{flex-wrap:wrap}.toolbar-summary{margin-left:auto}.controller-tabs button{font-size:10px}.detail-controller>.controller-avatar{width:60px;height:65px}.detail-controller strong{font-size:15px}}
@media(max-width:800px){header h1{font-size:17px}#sample-banner{position:static;transform:none;text-align:center;margin:4px 8px}.controller-overview{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px 12px}.controller-overview>div{border:0;gap:7px}.controller-overview small{font-size:10px}.controller-overview strong{font-size:22px}.toolbar{display:block}.command-filters{width:100%;margin-bottom:8px}.controller-tabs button{flex:1;padding:6px 4px;font-size:10px;white-space:nowrap}.filter-selects{flex-wrap:nowrap}.filter-selects select{max-width:none!important;min-width:0;flex:1;width:30%;font-size:10px}.toolbar-summary{width:100%}.toolbar-summary .search{width:100%}.today-total{padding:6px 10px}.today-total strong{font-size:19px}.workspace{height:77dvh;min-height:570px}.map-legend{max-width:calc(100% - 24px);bottom:115px;font-size:8px;padding:4px}.map-caption{font-size:8px;max-width:65%}.selected-portfolio{display:none;position:fixed;z-index:25;left:0;right:0;bottom:0;max-height:79dvh;border-radius:15px 15px 0 0;background:#061c2bf7!important;overflow:auto;box-shadow:0 -5px 40px #000b;padding:10px 15px 18px!important}.selected-portfolio.sheet-open{display:block}.sheet-controls{display:flex;position:sticky;top:-10px;background:#061c2b;z-index:2;align-items:center;gap:10px;padding:5px 0 8px}.sheet-controls #sheet-handle{flex:1;font-size:12px;padding:7px;border:0}.sheet-controls #sheet-close{font-size:24px;width:36px;height:34px}.selected-portfolio.sheet-collapsed{max-height:150px;overflow:hidden}.selected-portfolio.sheet-collapsed #detail{display:none}.selected-portfolio.sheet-collapsed>h2{display:none}.selected-portfolio.sheet-collapsed:after{content:'แตะเพื่อขยายข้อมูลฐานที่เลือก';font-size:12px;color:#a6d6e7;display:block;text-align:center;padding:10px}.world-money{grid-template-columns:1fr 1fr}.detail-controller>.controller-avatar{width:70px;height:77px}.world-metric strong{font-size:26px}.world-metric:first-child strong{font-size:34px}.detail-controller strong{font-size:17px}.ai-round-stats>span{font-size:11px}aside{grid-template-columns:1fr}.lumi{min-height:205px}.brief,.ai-note{display:none}#blitzDetails main{display:block}#blitzDetails .bz-columns{display:block}#blitzDetails header{position:relative}#blitzDetails nav{position:sticky}.world-music{margin-bottom:8px}.marker{content-visibility:visible}}
@media(prefers-reduced-motion:reduce){.marker,.map-cluster,.controller-avatar{animation:none;transition:none}}
/* Refine portraits and keep the selected panel accessible beside Lumi. */
#sample-banner{position:static;transform:none;text-align:center;margin:2px 7px 5px;padding:3px 10px;flex-shrink:0}
body,button,input,select,h1,h2,strong,b,em{font-family:'Noto Sans Thai','Segoe UI',sans-serif}
.world-metric strong,.marker strong,.marker em,.metrics strong,.today-total strong,.ai-round-stats b,.controller-overview strong{font-family:'Rajdhani','Segoe UI',sans-serif}
.controller-avatar{overflow:hidden}.controller-avatar.ai>img{width:280%;height:auto;max-width:none;left:auto;right:-5%;top:-8%;object-fit:unset;border-radius:0}.controller-avatar small{right:0;bottom:0;border-radius:3px 0 0 0}
@media(min-width:801px){aside{overflow:hidden}.lumi{height:175px;min-height:175px;flex-shrink:0}.lumi-portrait{width:156px;height:145px;left:-6px;bottom:15px}.speech{left:130px;top:48px;font-size:11px;padding:7px}.selected-portfolio{flex:1;min-height:0;overflow:auto;scrollbar-color:#2a6b85 #061a28}.brief,.ai-note{display:none}.detail-controller>.controller-avatar{width:64px;height:70px}.world-metric{padding:7px}.world-metric strong{font-size:23px}.world-metric:first-child strong{font-size:29px}.ai-event{padding:6px}.enter-battle{padding:9px}}
@media(max-width:800px){.marker .controller-avatar{width:64px;height:70px}.marker{width:258px}.marker .controller-name{font-size:15px}.marker strong{font-size:17px}.marker .control-status{font-size:12px}}
#blitzDetails .bz-portrait{position:relative;overflow:hidden}#blitzDetails .bz-portrait>img{position:absolute;max-width:none;width:280%!important;height:auto!important;right:-5%;top:-8%;object-fit:unset!important}
#blitzDetails .bz-portrait>img{max-height:none!important}
/* Readability revision: larger player labels, money and controls at every viewport. */
body{font-size:15px}.metrics small{font-size:14px}.metrics strong{font-size:30px}.controller-overview small{font-size:14px}.controller-overview strong{font-size:30px}.controller-tabs button{font-size:14px;padding:8px 12px}.filter-selects select{font-size:13px;padding:7px 9px;max-width:190px}.command-filters>small{font-size:12px}.search input{font-size:14px;width:230px}.today-total>span{font-size:14px}.today-total>span small{font-size:12px}.today-total strong{font-size:28px}.map-legend{font-size:12px}.map-caption{font-size:11px}
.marker{width:310px;min-height:150px;padding:12px;gap:12px}.marker .controller-avatar{width:70px;height:78px}.marker strong{font-size:22px;line-height:1.3}.marker strong small{font-size:15px}.marker .controller-name{font-size:20px;line-height:1.4}.marker .controller-kind{font-size:15px;line-height:1.5}.marker .control-status{font-size:15px;line-height:1.5}.marker em{font-size:29px;line-height:1.2}.marker em small{font-size:15px}.stale-tag{font-size:12px}.map-cluster{min-width:200px}.map-cluster b{font-size:26px}.map-cluster small{font-size:14px}
.detail-title{font-size:27px}.detail-title small{font-size:17px}.detail-broker,.connection-line{font-size:14px}.detail-controller strong{font-size:22px}.detail-controller>div>span:not(.control-status):not(.stale-tag){font-size:15px}.detail-controller .control-status{font-size:15px}.world-metric>span{font-size:14px}.world-metric strong{font-size:30px}.world-metric small{font-size:15px}.world-metric:first-child strong{font-size:37px}.ai-summary h3{font-size:23px}.ai-summary h3 small{font-size:15px}.ai-round-stats>span{font-size:14px}.ai-round-stats b{font-size:27px}.data-note{font-size:12px}.ai-event{font-size:14px;padding:9px}.ai-event small,.ai-event time{font-size:12px}.ai-event b{font-size:15px}.ai-details-button,.manage-ai-button,.enter-battle{font-size:15px;padding:11px}.detail-updated{font-size:12px}.speech{font-size:14px;line-height:1.7}.section-title{font-size:19px}.lumi-foot{font-size:11px}
@media(min-width:801px){main{grid-template-columns:78px minmax(0,1fr) 410px}.lumi{height:200px;min-height:200px}.lumi-portrait{width:165px;height:155px}.speech{left:140px;top:44px;font-size:14px}.detail-controller strong{font-size:22px}.world-metric strong{font-size:30px}.world-metric:first-child strong{font-size:37px}.ai-event{padding:9px}}
@media(max-width:1100px) and (min-width:801px){main{grid-template-columns:62px minmax(0,1fr) 350px}.toolbar-summary{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.toolbar-summary .search{width:45%}.search input{width:100%}.toolbar-summary .today-total{flex:1}.speech{left:130px;font-size:13px}.controller-tabs button{font-size:13px}.controller-overview small{font-size:13px}}
@media(max-width:800px){.controller-overview{grid-template-columns:1fr 1fr}.controller-overview>div:last-child{grid-column:1/-1}.controller-overview small{font-size:13px}.controller-overview strong{font-size:28px}.controller-tabs button{font-size:13px;padding:8px 9px}.filter-selects select{font-size:12px}.command-filters>small{font-size:12px}.search input{font-size:14px;width:100%}.today-total strong{font-size:25px}.map-legend{font-size:11px}.map-caption{font-size:10px}.marker{width:300px;min-height:146px}.marker .controller-avatar{width:68px;height:76px}.marker strong{font-size:21px}.marker .controller-name{font-size:20px}.marker .controller-kind,.marker .control-status{font-size:15px}.marker em{font-size:28px}.detail-controller strong{font-size:22px}.world-metric strong{font-size:30px}.world-metric:first-child strong{font-size:37px}.world-metric>span{font-size:13px}.ai-round-stats>span{font-size:13px}.speech{font-size:14px;left:125px}.lumi{min-height:230px}.lumi-foot{font-size:11px}.selected-portfolio{max-height:84dvh}.sheet-controls #sheet-handle{font-size:14px}.world-music label,footer{font-size:12px}.world-music button{font-size:12px}}
