.roster-shell{max-width:1000px}.roster-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.roster-shell button,.picker-body button{min-height:44px;background:#25423e;border:1px solid #698a71;color:#eef3db;padding:10px 14px;cursor:pointer;font:12px/1.4 monospace}.roster-shell button:disabled,.picker-body button:disabled{opacity:.45;cursor:default}.roster-section{margin:30px 0}.roster-section h2{font:20px monospace}.roster-rows{display:grid;gap:8px}.roster-row{display:flex;align-items:center;gap:8px;padding:10px;background:#182e34;border:1px solid #38574f;min-width:0}.slot-number{font:18px monospace;color:#bad894;min-width:25px}.slot-player{flex:1;min-width:0;text-align:left!important;display:flex;flex-direction:column;gap:5px}.slot-player strong{font:15px Arial;overflow-wrap:anywhere}.slot-player small{color:#c3d4c7}.order-controls{display:flex;flex-direction:column;gap:4px}.order-controls button{padding:5px;min-width:44px}.remove-slot{padding:8px!important}.roster-save{position:sticky;bottom:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px;background:#101f29f5;border-top:1px solid #658664;padding-bottom:max(15px,env(safe-area-inset-bottom))}.roster-save button{background:#cfe8a5;color:#172e24}.picker-body{padding:20px;color:#e3edda}.picker-body input{display:block;box-sizing:border-box;width:100%;min-height:44px;background:#102731;color:#fff;border:1px solid #729576;padding:10px;font-size:16px;margin:10px 0 18px}.candidate{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #3a5755}.candidate-copy{flex:1;min-width:0}.candidate-copy strong,.candidate-copy small{display:block;line-height:1.6;overflow-wrap:anywhere}.candidate-copy small{font-size:11px;color:#bacdbd}.candidate-ovr{font:24px monospace;color:#d5e9ab;min-width:38px}.comparison-table{width:100%;border-collapse:collapse;font:12px/1.5 Arial;table-layout:fixed}.comparison-table th,.comparison-table td{padding:10px 6px;border-bottom:1px solid #3e575b;text-align:right;overflow-wrap:anywhere}.comparison-table th:first-child{text-align:left;width:40%}.comparison-table .better{color:#b8e999}.comparison-table .worse{color:#ffb5a7}.comparison-table .group-row th{text-align:left;background:#213f40;color:#cee0b9}.comparison-table caption{text-align:left;margin-bottom:12px;color:#bacdbe}.picker-body details{margin-top:25px}.picker-body summary{cursor:pointer;min-height:44px}#compare-place{margin-top:20px;width:100%}#roster-status{font:13px/1.7 monospace;min-height:42px}.roster-actions button{flex:1}.roster-shell [hidden],.picker-body [hidden]{display:none!important}@media(min-width:750px){.roster-section:not(:first-child) .roster-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.roster-row{padding:7px;gap:5px}.slot-player{padding:8px!important}.slot-player strong{font-size:13px}.slot-number{min-width:18px;font-size:15px}.picker-body{padding:14px}.candidate button{padding:8px}.roster-actions button{font-size:11px}}.roster-shell a:focus-visible,button:focus-visible{outline:2px solid #d8eca6;outline-offset:3px}
/* Keep modal focus changes from animating the page beneath the overlay. */
html{scroll-behavior:auto}
#compare-place{margin:0 0 20px}
