.teams-tool { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr); gap:24px; margin:20px 0; color:var(--text,#0f172a); }
.teams-setup,.teams-output { padding:24px; border:1px solid var(--border,#e4e4f0); border-radius:16px; background:var(--bg,#fff); min-width:0; }
.teams-intro span { color:var(--accent2,#6d28d9); font-size:.8rem; font-weight:700; letter-spacing:.05em; }
.teams-tool h2,.teams-method h2 { font-family:var(--font,'Space Grotesk',sans-serif); font-size:1.3rem; margin:8px 0 12px; line-height:1.3; }
.teams-tool label { display:block; font-weight:600; margin:14px 0 5px; font-size:.95rem; }
.teams-tool input,.teams-tool textarea,.teams-tool select { width:100%; min-height:44px; padding:10px; border:1px solid #9290ad; border-radius:8px; color:var(--text,#0f172a); background:var(--bg2,#f8f9ff); font:inherit; }
.teams-tool textarea { resize:vertical; line-height:1.5; }
.teams-tool p,.teams-method p { line-height:1.55; margin:10px 0; }
.teams-setup>p,.teams-constraints>p { font-size:.86rem; color:var(--text2,#64748b); }
.teams-field-row { display:flex; flex-wrap:wrap; gap:12px; }
.teams-field-row>label { flex:1 1 90px; min-width:0; }
.teams-tool .teams-check { display:flex; align-items:center; gap:10px; }
.teams-check input { width:22px; min-width:22px; min-height:22px; height:22px; }
.teams-constraints { margin:18px 0; padding:12px; border:1px solid var(--border,#e4e4f0); border-radius:8px; }
.teams-tool summary { cursor:pointer; font-weight:600; }
#teamsRoster { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding-left:25px; max-height:180px; overflow:auto; gap:4px 18px; overflow-wrap:anywhere; }
.teams-actions { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.teams-tool button { padding:11px 14px; min-height:44px; border:1px solid var(--border2,#7c3aed66); border-radius:8px; background:var(--bg2,#f8f9ff); color:var(--accent2,#6d28d9); cursor:pointer; font:600 .85rem var(--font2,'Inter',sans-serif); }
.teams-tool button.teams-primary { background:#6d28d9; color:#fff; border-color:#6d28d9; }
.teams-tool button:disabled { opacity:.5; cursor:default; }
.teams-tool :focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
#teamsError { color:#c12641; font-weight:600; line-height:1.5; }
.teams-round { margin:24px 0; border-top:3px solid var(--accent,#7c3aed); padding-top:12px; break-inside:avoid; }
.teams-round h3 { font-size:1.1rem; margin-bottom:12px; }
.teams-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; }
.teams-team { background:var(--bg2,#f8f9ff); border:1px solid var(--border,#e4e4f0); border-radius:8px; padding:12px; overflow-wrap:anywhere; }
.teams-team h4 { margin-bottom:8px; font-size:.95rem; }
.teams-team ul { list-style:none; padding:0; line-height:1.7; }
.teams-entry-id { font-size:.75rem; color:var(--text2,#64748b); font-variant-numeric:tabular-nums; }
.teams-captain { font-size:.75rem; color:var(--accent2,#6d28d9); }
#teamsRepeats { max-height:300px; overflow:auto; padding-left:22px; line-height:1.7; overflow-wrap:anywhere; }
.teams-method { max-width:100%; margin:28px 0; padding-top:20px; border-top:1px solid var(--border,#e4e4f0); }
.teams-projector { position:fixed!important; inset:0!important; z-index:2147483647!important; display:block!important; width:100vw; height:100dvh; overflow:auto; background:var(--bg,#fff); padding:24px; box-sizing:border-box; margin:0!important; }
.teams-projector .teams-setup { display:none; }
.teams-projector .teams-output { max-width:1400px; margin:auto; }
.teams-projector .teams-grid { grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); }
.teams-projector .teams-team { font-size:1.25rem; }
@media(max-width:800px) { .teams-tool { display:block; } .teams-setup,.teams-output { padding:18px; margin-bottom:18px; } }
@media(prefers-reduced-motion:reduce) { .teams-tool * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print {
 body>:not(:has(#teamsTool)):not(#teamsTool),body :has(#teamsTool)>:not(:has(#teamsTool)):not(#teamsTool) { display:none!important; }
 body * { visibility:hidden!important; }
 #teamsTool,#teamsTool * { visibility:visible!important; }
 #teamsTool { position:absolute!important; inset:0 auto auto 0!important; display:block!important; width:100%!important; height:auto!important; overflow:visible!important; background:#fff!important; color:#111!important; margin:0!important; padding:8mm!important; }
 #teamsTool .teams-setup,#teamsTool button { display:none!important; }
 #teamsTool .teams-output { border:0; padding:0; max-width:none; }
 #teamsTool .teams-round { break-inside:auto; }
 #teamsTool .teams-team { break-inside:avoid; background:#fff; color:#111; font-size:11pt; }
 #teamsTool .teams-entry-id,#teamsTool .teams-captain { color:#333; }
 #teamsRepeats { max-height:none; overflow:visible; }
}
