/* /team-generator/ page styles. Built from /assets/polyatic.css tokens only (no new colours or fonts). */
.nojs{margin:1.25rem 0 0;padding:0.875rem 1rem;border:1px solid var(--line);border-left:0.25rem solid var(--accent);border-radius:0.625rem;background:var(--surface);color:var(--ink);font-size:0.9375rem;line-height:1.6}
.tg-head .sub{margin-bottom:1rem}
@media(max-width:520px){.tg-head h1{margin-bottom:0.25rem}.tg-head .sub{font-size:0.9375rem;margin-bottom:0.75rem}}

@media(min-width:920px){.tg-duo{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.tg-input{display:grid;gap:0.875rem;align-content:start}
@media(max-width:520px){.tg-input,.tg-out{padding:0.875rem}}

.tg-names .head{gap:0.75rem}.tg-names .head .k{flex:none}
.tg-count{font-family:var(--mono);font-size:0.75rem;color:var(--muted);text-align:right;min-width:0}
.tg-names textarea{min-height:9.5rem;font-family:var(--sans);font-size:0.9375rem}
@media(max-width:520px){.tg-names textarea{min-height:8.25rem;height:8.25rem}}
.tg-help{margin:0.375rem 0.125rem 0;font-size:0.8125rem;line-height:1.5;color:var(--muted)}
.tg-help code,.tg-fair code{font-family:var(--mono);font-size:0.75rem;background:var(--surface-2);border:1px solid var(--line);border-radius:0.25rem;padding:0 0.25rem;color:var(--ink)}

.tg-split{display:grid;gap:0.625rem}
.tg-modes{margin-bottom:0}
.tg-numrow{display:flex;flex-wrap:wrap;align-items:center;gap:0.625rem}
.tg-numrow .k{font-family:var(--mono);font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);min-width:4.5rem}
.tg-stepper{display:flex;align-items:center;gap:0.25rem}
.tg-stepper input{width:4.25rem;text-align:center;padding:0.5rem 0.25rem;font-family:var(--mono);font-size:1rem}
.tg-stepper .icon{width:2.5rem;height:2.5rem;font-size:1.125rem}
.tg-make{flex:1;min-width:9rem;height:3rem;font-size:1.0625rem}
.tg-msg{margin:0;padding:0.75rem 0.875rem;border:1px solid var(--line-2);border-left:0.25rem solid var(--bad);border-radius:0.5rem;background:var(--surface-2);font-size:0.9375rem;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.tg-skillon{font-size:0.875rem}

.tg-more{border-top:1px solid var(--line);padding-top:0.75rem}
.tg-more summary{cursor:pointer;font-weight:600;font-size:0.9375rem;display:flex;align-items:center;gap:0.5rem}
.tg-more summary::-webkit-details-marker{display:none}
.tg-more summary::before{content:"";width:0.4375rem;height:0.4375rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s}
.tg-more[open] summary::before{transform:rotate(45deg)}
.tg-more summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:0.25rem}
.tg-more[open]>:not(summary){margin-top:0.625rem}
.tg-rules{display:grid;gap:0.75rem}
@media(min-width:520px){.tg-rules{grid-template-columns:1fr 1fr}}
.tg-more textarea{min-height:5rem;font-family:var(--sans);font-size:0.9375rem}
.tg-fair{margin:0;font-size:0.8125rem;line-height:1.55;color:var(--muted)}

.tg-notice{margin:0 0 1rem;padding:0.75rem 0.875rem;border:1px solid var(--line-2);border-left:0.25rem solid var(--accent);border-radius:0.5rem;background:var(--accent-soft);font-size:0.875rem;line-height:1.5;color:var(--ink)}
.tg-notice.is-bad{border-left-color:var(--bad);background:var(--surface-2)}

/* results */
.tg-out{display:grid;gap:0.75rem;align-content:start;scroll-margin-top:0.75rem}
.tg-outhead{display:flex;justify-content:space-between;align-items:baseline;gap:0.75rem}
.tg-outhead .k{margin:0;font-family:var(--mono);font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tg-empty{margin:0;padding:1.5rem 1rem;border:1px dashed var(--line-2);border-radius:0.625rem;text-align:center;color:var(--muted);font-size:0.9375rem}
.tg-notes{margin:0;font-size:0.8125rem;color:var(--ink-2)}
.tg-teams{list-style:none;margin:0;padding:0;display:grid;gap:0.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,13.5rem),1fr))}
.tg-card{background:var(--surface-2);border:1px solid var(--line);border-radius:0.625rem;padding:0.625rem 0.75rem 0.75rem;box-shadow:inset 0.1875rem 0 0 var(--signal);min-width:0}
.tg-chead{display:flex;align-items:center;gap:0.5rem}
.tg-chead .tg-tname{flex:1;min-width:0;padding:0.25rem 0.375rem;margin-left:-0.375rem;border:1px solid transparent;background:transparent;font-weight:700;font-size:1.0625rem;font-family:var(--sans);color:var(--ink)}
.tg-chead .tg-tname:hover{border-color:var(--line-2)}
.tg-meta{flex:none;font-family:var(--mono);font-size:0.6875rem;color:var(--muted)}
.tg-total{display:flex;align-items:baseline;gap:0.5rem;margin:0.125rem 0 0.25rem}
.tg-total .k{font-family:var(--mono);font-size:0.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tg-total b{font-family:var(--mono);font-size:1rem;color:var(--accent)}
.tg-members{list-style:none;margin:0.25rem 0 0;padding:0;display:grid;gap:0.125rem}
.tg-members li{display:flex;align-items:baseline;gap:0.5rem;padding:0.1875rem 0;border-top:1px solid var(--line);font-size:0.9375rem;min-width:0}
.tg-name{flex:1;min-width:0;overflow-wrap:anywhere}
.tg-cap{flex:none;font-family:var(--mono);font-size:0.625rem;text-transform:uppercase;letter-spacing:.06em;padding:0.0625rem 0.3125rem;border-radius:0.25rem;background:var(--signal);color:var(--signal-ink)}
.tg-skill{flex:none;font-family:var(--mono);font-size:0.75rem;color:var(--muted)}
@keyframes tg-in{from{opacity:0;transform:translateY(0.375rem)}to{opacity:1;transform:none}}
.tg-in{animation:tg-in .28s ease-out both}
.tg-in:nth-child(2){animation-delay:.06s}.tg-in:nth-child(3){animation-delay:.12s}.tg-in:nth-child(4){animation-delay:.18s}
.tg-in:nth-child(n+5){animation-delay:.24s}
@media(prefers-reduced-motion:reduce){.tg-in{animation:none}}

.tg-actions{display:grid;gap:0.5rem}
.tg-row{display:flex;flex-wrap:wrap;gap:0.5rem}
.tg-row .btn{height:2.5rem;padding:0 0.875rem}
.tg-sharerow{display:flex;gap:0.5rem}
.tg-sharerow input{flex:1;font-family:var(--mono);font-size:0.8125rem}
.tg-sharerow .btn{height:auto;min-height:2.5rem;padding:0 0.875rem}
.tg-copybox{font-size:0.8125rem}
.tg-save{display:flex;flex-wrap:wrap;gap:0.375rem;border-top:1px solid var(--line);padding-top:0.75rem}
.tg-save .chip{padding:0.375rem 0.6875rem;font-size:0.8125rem}
.tg-save .tg-help{flex-basis:100%;margin-top:0.125rem}
.tg-save .tg-help:empty{display:none}

/* print: just the teams */
@media print{
  .skip-link,.brand,.tool-head,.tg-notice,.tg-input,.explainer-row,footer.site,.tg-actions,.tg-save,.tg-empty,.tg-notes{display:none !important}
  .duo{display:block}
  .tg-out{border:0;box-shadow:none;padding:0;background:none}
  .tg-teams{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tg-card{break-inside:avoid;background:none;box-shadow:none;border:1px solid var(--line-2)}
  .tg-chead .tg-tname{border:0;padding:0;margin:0}
}
