.random-group-generator [hidden]{display:none!important}.gg-visually-hidden{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.gg-tool{box-sizing:border-box;display:grid;gap:var(--ds-space-lg);grid-template-columns:minmax(0,1fr);margin:0 auto;max-width:1200px;padding:var(--ds-space-md) 16px var(--ds-space-xl)}@media(min-width:1000px){.gg-tool{align-items:start;grid-template-columns:minmax(300px,380px) minmax(0,1fr)}}.gg-form{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);gap:var(--ds-space-md);padding:var(--ds-space-lg)}.gg-field,.gg-form{display:flex;flex-direction:column}.gg-field{gap:var(--ds-space-xs)}.gg-label{align-items:center;color:var(--ds-ink);display:flex;font-weight:700;gap:var(--ds-space-sm)}.gg-count{background:var(--ds-primary-soft);border-radius:var(--ds-radius-full);color:var(--ds-primary);font-size:.8rem;padding:0 .5rem}.gg-keep,.gg-names{box-sizing:border-box;resize:vertical;unicode-bidi:plaintext;width:100%}.gg-hint{color:var(--ds-text-muted);font-size:.85rem;margin:0}.gg-remainder,.gg-split{border:0;display:flex;flex-direction:column;gap:var(--ds-space-sm);margin:0;padding:0}.ds .gg-form label,.ds .gg-form label span,.ds .gg-form legend{letter-spacing:normal;text-transform:none}.ds .gg-form .gg-radio{align-items:center;color:var(--ds-text);display:flex;font-size:.95rem;font-weight:500;gap:var(--ds-space-sm)}.ds .gg-form .gg-label{font-size:.95rem}.gg-number{border:1px solid var(--ds-border);border-radius:var(--ds-radius);box-sizing:border-box;font:inherit;margin-inline-start:auto;padding:.35rem .5rem;width:4.5rem}.gg-pairs{align-self:flex-start}.gg-summary{color:var(--ds-primary);font-weight:600;margin:0}.gg-more{border-top:1px solid var(--ds-border);padding-top:var(--ds-space-sm)}.gg-more summary{cursor:pointer;font-weight:600}.gg-more-body{display:flex;flex-direction:column;gap:var(--ds-space-md);padding-top:var(--ds-space-md)}.gg-select{border:1px solid var(--ds-border);border-radius:var(--ds-radius);font:inherit;padding:.4rem .5rem}.gg-generate{width:100%}.gg-message{background:var(--ds-amber-soft);border-radius:var(--ds-radius);color:#92400e;margin:0 0 var(--ds-space-md);padding:var(--ds-space-sm) var(--ds-space-md)}.gg-results{display:grid;gap:var(--ds-space-md);grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.gg-group{border-top:4px solid var(--gg-accent,var(--ds-primary))}.gg-group-0{--gg-accent:#4f46e5}.gg-group-1{--gg-accent:#0d9488}.gg-group-2{--gg-accent:#f43f5e}.gg-group-3{--gg-accent:#d97706}.gg-group-4{--gg-accent:#7c3aed}.gg-group-5{--gg-accent:#0284c7}.gg-group-6{--gg-accent:#65a30d}.gg-group-7{--gg-accent:#db2777}.gg-group-title{align-items:center;color:var(--ds-ink);display:flex;font-size:1rem;justify-content:space-between;margin:0}.gg-group-count{color:var(--ds-text-muted);font-size:.8rem}.gg-group-members{line-height:1.6;margin:0;padding-inline-start:1.25rem}.gg-leader{font-weight:700}.gg-actions{display:flex;flex-wrap:wrap;gap:var(--ds-space-sm);margin-top:var(--ds-space-md)}.gg-steps{list-style:none;margin:0;padding:0}.gg-table-wrap{overflow-x:auto}.gg-table{background:var(--ds-surface);border-collapse:collapse;border-radius:var(--ds-radius-lg);overflow:hidden;width:100%}.gg-table td,.gg-table th{border-block-end:1px solid var(--ds-border);padding:10px 14px;text-align:start;vertical-align:top}.gg-table thead th{color:var(--ds-text-muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}@media print{body.random-group-generator *{visibility:hidden}body.random-group-generator #groupResults,body.random-group-generator #groupResults *{visibility:visible}body.random-group-generator #groupResults{grid-template-columns:repeat(2,1fr);inset:0 auto auto 0;position:absolute;width:100%}.gg-group{border:1px solid #999;box-shadow:none;break-inside:avoid}.gg-group-members{font-size:14pt}}@media(max-width:999px){.ds .gg-form .gg-names{height:9.5rem;min-height:0}}.ds .gg-form .gg-check{align-items:center;color:var(--ds-ink);display:flex;font-weight:600;gap:var(--ds-space-sm)}.gg-forget{align-self:flex-start}.gg-wheel-primary{box-sizing:border-box;width:100%}.gg-group-name{border-radius:var(--ds-radius-sm);cursor:text}.gg-group-name:focus-visible,.gg-group-name:hover{outline:1px dashed var(--ds-border);outline-offset:2px}.gg-group-input{border:1px solid var(--ds-primary);border-radius:var(--ds-radius-sm);box-sizing:border-box;font:inherit;font-weight:700;min-width:0;padding:.15rem .35rem;width:100%}