[hidden]{display:none!important}.roster-hero{padding:38px 0 25px;max-width:800px}.roster-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.05;margin:12px 0 18px}.roster-hero p{max-width:670px;font-size:18px}.roster-modes{display:flex;gap:10px;margin:16px 0}.roster-modes button{padding:12px 20px;border:1px solid #bcc7bf;border-radius:12px;background:#fff;font-weight:750;cursor:pointer}.roster-modes button[aria-pressed=true]{background:#172b27;color:#fff;border-color:#172b27}.roster-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;align-items:start}.roster-editor,.roster-output{background:#fff;border:1px solid #d7ded7;border-radius:24px;padding:26px;min-width:0}.roster-editor h2,.roster-output h2{margin-top:0;font-size:25px}.roster-editor textarea{width:100%;height:210px;resize:vertical;line-height:1.6;border-radius:12px;padding:14px;box-sizing:border-box;font:inherit}.roster-small{font-size:13px!important;color:#52645b;line-height:1.5}.roster-example-actions,.roster-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.roster-example-actions button,.roster-secondary{padding:10px 15px;background:#fff;border:1px solid #b5c3b8;border-radius:10px;cursor:pointer;font:inherit;font-weight:650}.roster-primary{width:100%;margin-top:14px;border:0;border-radius:12px;padding:15px 18px;background:#ed652f;color:#fff;cursor:pointer;font:inherit;font-weight:800}.roster-primary:disabled{background:#596b62;cursor:default}.roster-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.roster-settings label{font-size:14px}.roster-settings select,.roster-settings input,.roster-export select{width:100%;padding:11px;border:1px solid #b7c3b9;background:#fff;border-radius:10px;font:inherit;margin-top:5px;box-sizing:border-box}.roster-error{color:#982d17;background:#fff0e8;border-left:4px solid #b3381b;padding:12px;line-height:1.5}.roster-status{min-height:22px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.roster-empty{border:2px dashed #d3ddd5;border-radius:18px;padding:38px 22px;background:#f8faf6;color:#4f6658;line-height:1.7}.roster-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.roster-team{background:#f2f6e9;border:1px solid #d5dec8;border-radius:15px;padding:18px;min-width:0}.roster-team:nth-child(4n+2){background:#fdf0e1;border-color:#ecd7bb}.roster-team:nth-child(4n+3){background:#eef1fb;border-color:#d2d8ec}.roster-team:nth-child(4n+4){background:#f8eefa;border-color:#e5ceeb}.roster-team h3{margin:0;font-size:18px}.roster-team ul{padding-left:19px;margin-bottom:0}.roster-team li,.roster-history li{margin:7px 0;overflow-wrap:anywhere}.roster-picked{background:#eef5dd;border-radius:18px;text-align:center;padding:30px 18px;margin-bottom:24px}.roster-picked h2{font-size:clamp(30px,5vw,48px);overflow-wrap:anywhere;margin:12px 0}.roster-history{padding-left:26px}.roster-export{border-top:1px solid #d5ded4;padding-top:18px;margin-top:24px}.roster-export label{max-width:210px;display:block;font-size:14px}.roster-guide{padding:50px 0;max-width:900px;line-height:1.7}.roster-guide h2{font-size:30px}.roster-guide h3{font-size:20px}.roster-guide details{border-bottom:1px solid #d4dccc;padding:16px 0}.roster-guide summary{font-weight:750;cursor:pointer}.roster-print{display:none}.roster-workspace button:focus-visible,.roster-modes button:focus-visible,.roster-workspace input:focus-visible,.roster-workspace textarea:focus-visible,.roster-workspace select:focus-visible{outline:3px solid #326894;outline-offset:3px}
@media(max-width:760px){.roster-workspace{grid-template-columns:1fr}.roster-editor,.roster-output{padding:20px;border-radius:18px}.roster-hero{padding-top:22px}.roster-modes button{flex:1;padding:12px 8px}.roster-team-grid{gap:10px}.roster-team{padding:13px}.roster-settings{grid-template-columns:1fr}.roster-export .roster-actions button{width:100%}}
@media print{html,body{margin:0!important;padding:0!important;background:#fff!important;color:#111!important}body>*{display:none!important}body>.roster-print{display:block!important;font:12pt/1.45 Arial,sans-serif}body>.roster-print h1{font-size:23pt;line-height:1.2;margin:0 0 10pt}body>.roster-print h2{font-size:15pt;margin:15pt 0 5pt;break-after:avoid}body>.roster-print ul,body>.roster-print ol{padding-left:22pt;margin:0 0 16pt}body>.roster-print li{overflow-wrap:anywhere;break-inside:avoid;margin:4pt 0}body>.roster-print .roster-print-source{font-size:9pt;overflow-wrap:anywhere;margin-top:18pt}.roster-print-team{break-inside:auto}}

@media print{.roster-print-team{width:100%;border-collapse:collapse;margin:15pt 0;table-layout:fixed}.roster-print-team thead{display:table-header-group}.roster-print-team th{text-align:left;font-size:15pt;padding:0 0 7pt}.roster-print-team td{font-size:12pt;padding:3pt 0;overflow-wrap:anywhere}.roster-print-team tr{break-inside:avoid}}
