.group-generator [hidden]{display:none !important}.group-generator .lz-btn{min-width:0;max-width:100%;white-space:normal;text-align:center}.group-generator__body{display:grid;gap:var(--space-5)}.group-generator__setup,.group-generator__settings,.group-generator__names,.group-generator__results,.group-generator__memory{display:grid;gap:var(--space-4);min-width:0;align-content:start}.group-generator__heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.group-generator__heading label,.group-generator h3{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-h3);font-weight:650;margin:0}.group-generator__heading > span,.group-generator__round{color:var(--tool-accent);font-size:var(--fs-sm)}.group-generator textarea,.group-generator select,.group-generator input[type="number"]{box-sizing:border-box;width:100%;min-width:0;padding:var(--space-3);background:var(--bg-deep);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-md);min-height:48px;outline-offset:2px}.group-generator textarea{resize:vertical;min-height:144px;line-height:var(--lh-body)}.group-generator__help{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-body)}.group-generator__names > .lz-btn{justify-self:start}.group-generator__attendance{display:grid;gap:var(--space-3)}.group-generator__attendance > strong{font-size:var(--fs-sm);color:var(--ink-2)}.group-generator__name-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.group-generator__dialog{width:min(100% - 2 * var(--space-4),420px);padding:var(--space-5);color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.group-generator__dialog::backdrop{background:color-mix(in srgb,var(--bg-deep) 72%,transparent)}.group-generator__dialog p{margin:0 0 var(--space-4);font-size:var(--fs-md);line-height:var(--lh-body,1.5)}.group-generator__dialog-input{width:100%;min-height:48px;margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);color:var(--ink);font:inherit;font-size:var(--fs-md);background:var(--bg-deep);border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline-offset:2px}.group-generator__dialog-actions{display:flex;flex-direction:row-reverse;flex-wrap:wrap;gap:var(--space-2)}.group-generator__chips{display:flex;flex-wrap:wrap;gap:var(--space-2);min-width:0}.group-generator__chip{display:inline-flex;align-items:center;gap:var(--space-2);min-width:44px;min-height:44px;max-width:100%;text-align:left;padding:var(--space-2) var(--space-3);color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);overflow-wrap:anywhere}.group-generator__chip span{min-width:0}.group-generator__chip small{color:var(--ink-2);font-size:var(--fs-xs)}.group-generator__chip[aria-pressed="true"]{outline:2px solid var(--tool-accent);outline-offset:2px}.group-generator__chip.is-absent{text-decoration:line-through;color:var(--muted);border-style:dashed}.group-generator__settings{padding-top:var(--space-5);border-top:1px solid var(--line)}.group-generator__mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);padding:var(--space-1);border:1px solid var(--line-strong);background:var(--bg-deep);border-radius:var(--radius-md);margin:0;min-width:0}.group-generator__mode label{position:relative;display:flex;min-width:0}.group-generator__mode input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.group-generator__mode span{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:var(--space-2);border-radius:var(--radius-sm);text-align:center;font-size:var(--fs-sm);color:var(--muted)}.group-generator__mode input:checked + span{color:var(--ink);background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-strong)}.group-generator__mode input:focus-visible + span{outline:var(--focus-ring);outline-offset:2px}.group-generator__stepper{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:var(--space-2)}.group-generator__stepper button{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);border-radius:var(--radius-sm);font-size:var(--fs-h3);min-height:48px}.group-generator__stepper input{text-align:center}.group-generator__field{display:grid;gap:var(--space-2);color:var(--ink-2);font-size:var(--fs-sm);min-width:0}.group-generator__check{display:flex;align-items:center;gap:var(--space-3);min-height:44px;color:var(--ink);font-size:var(--fs-sm);cursor:pointer}.group-generator__check input{flex:0 0 24px;width:24px;height:24px;accent-color:var(--tool-accent)}.group-generator[data-mode="pairs"] .group-generator__avoid{padding:var(--space-3);border:1px solid color-mix(in srgb,var(--tool-accent) 45%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--tool-accent) 6%,var(--surface-1))}.group-generator__rules,.group-generator__history{min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:0 var(--space-4) var(--space-3)}.group-generator summary{cursor:pointer;min-height:48px;padding:var(--space-3) 0;color:var(--ink);font-size:var(--fs-md);overflow-wrap:anywhere}.group-generator summary span{margin-left:var(--space-2);color:var(--tool-accent)}.group-generator__rule{display:grid;gap:var(--space-3);min-width:0;border:0;border-top:1px solid var(--line);margin:0;padding:var(--space-4) 0}.group-generator__rule legend{padding-right:var(--space-2);color:var(--ink-2);font-size:var(--fs-sm)}.group-generator__rule-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.group-generator__rule > .lz-btn{justify-self:start}.group-generator__results{padding:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-deep)}.group-generator__empty{min-height:220px;display:grid;align-content:center;justify-items:center;gap:var(--space-4);padding:var(--space-5);text-align:center;color:var(--muted)}.group-generator__empty > .icon{width:48px;height:48px;color:var(--tool-accent)}.group-generator__empty p{margin:0;max-width:26ch;font-size:var(--fs-md)}.group-generator__art{display:block;width:min(60vw,300px);height:auto;aspect-ratio:4/3;object-fit:contain}.group-generator [data-output]{display:grid;gap:var(--space-4)}.group-generator__grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--card-min,220px)),1fr))}.group-generator__card{--group-color:var(--tool-accent);min-width:0;padding:var(--space-4);border:1px solid var(--line-strong);border-color:color-mix(in srgb,var(--group-color) 35%,var(--line));border-top:3px solid var(--group-color);border-radius:var(--radius-md);background:var(--surface-1);background:linear-gradient(135deg,color-mix(in srgb,var(--group-color) 9%,var(--surface-1)),var(--surface-1));box-shadow:0 12px 28px -24px var(--group-color)}.group-generator__card:nth-child(5n+2){--group-color:var(--accent)}.group-generator__card:nth-child(5n+3){--group-color:var(--accent-3)}.group-generator__card:nth-child(5n+4){--group-color:var(--accent-2)}.group-generator__card:nth-child(5n+5){--group-color:var(--cat-career)}.group-generator__card h4{margin:0 0 var(--space-3);font-size:var(--fs-lg)}.group-generator__group-target{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:0;text-align:left;color:var(--group-color);font:inherit;background:none;border:0;overflow-wrap:anywhere}.group-generator__group-target small{color:var(--muted);font-size:var(--fs-sm);flex-shrink:0}.group-generator__card .group-generator__chips{align-items:center}.group-generator__card .group-generator__chip{background:var(--bg-deep);background:color-mix(in srgb,var(--group-color) 7%,var(--bg-deep));border-radius:var(--radius-pill);padding-inline:var(--space-4);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.group-generator__card .group-generator__chip.is-lifted{transform:scale(1.04);box-shadow:0 10px 24px -12px var(--group-color);border-color:var(--group-color)}.group-generator__card .group-generator__chip.is-dragging{opacity:.35}.group-generator__results{scroll-margin-top:calc(var(--sticky-top,72px) + var(--space-3))}.group-generator__card.is-target{outline:2px solid var(--group-color);outline-offset:2px}.group-generator__drag{position:fixed;z-index:1002;pointer-events:none;margin:0;box-shadow:var(--shadow-pop)}.group-generator__stats{margin:0;color:var(--tool-accent);font-size:var(--fs-sm);line-height:var(--lh-body)}.group-generator__warnings{display:grid;gap:var(--space-3);margin:0;padding-left:var(--space-5);font-size:var(--fs-sm);color:var(--danger)}.group-generator__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.group-generator__actions .lz-btn{white-space:normal;text-align:center;max-width:100%}.group-generator__make{display:flex;gap:var(--space-3)}.group-generator__make .lz-btn{flex:1}.group-generator__status{color:var(--ink-2);font-size:var(--fs-sm);margin:0;min-height:24px;overflow-wrap:anywhere}.group-generator__memory{border-top:1px solid var(--line);padding-top:var(--space-5)}.group-generator__history-list{display:grid;gap:var(--space-3);padding-left:var(--space-5);font-size:var(--fs-sm);color:var(--ink-2)}.group-generator__history-list p{margin:var(--space-1) 0;overflow-wrap:anywhere}.group-generator__matrix{max-width:100%;max-height:380px;overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius-sm);margin:var(--space-4) 0}.group-generator__matrix table{border-collapse:separate;border-spacing:0;font-size:var(--fs-xs)}.group-generator__matrix th,.group-generator__matrix td{padding:var(--space-2);min-width:44px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-2)}.group-generator__matrix th{background:var(--surface-2);color:var(--ink);overflow-wrap:anywhere;max-width:140px}.group-generator__matrix th[scope="row"]{position:sticky;left:0}.group-generator__matrix thead th{position:sticky;top:0}.group-generator__presentation{position:fixed;inset:0;z-index:1000;overflow:auto;overscroll-behavior:contain;background:var(--bg);color:var(--ink);padding:var(--space-6)}.group-generator__presentation h2{margin:var(--space-5) 0;font-size:var(--fs-h2)}.group-generator__close{position:sticky;top:0;z-index:1}.group-generator__projector{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-5)}.group-generator__projector h3{color:var(--group-color);font-size:var(--fs-h2)}.group-generator__projector ul{list-style:none;margin:var(--space-4) 0 0;padding:0}.group-generator__projector li{font-size:clamp(1.5rem,3vw,3rem);line-height:var(--lh-ui);margin-top:var(--space-2);overflow-wrap:anywhere}@media (min-width:1100px){.group-generator__body{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-6)}.group-generator__make{grid-column:1;grid-row:2}.group-generator__status{grid-column:2;grid-row:2;align-self:center}.group-generator__memory,.group-generator noscript{grid-column:1 / -1}.group-generator__results{padding:var(--space-5)}.group-generator__memory{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.group-generator__memory h3,.group-generator__history{grid-column:1 / -1}}@media (max-width:760px){.group-generator__card{padding:var(--space-3)}.group-generator__body{padding:var(--space-4)}.group-generator__results{padding:var(--space-3)}.group-generator__make{z-index:5}.group-generator__presentation{padding:var(--space-4)}}@media (hover:hover) and (pointer:fine){.group-generator__chip:hover{border-color:var(--tool-accent);background:var(--surface-3)}.group-generator__group-target:hover{text-decoration:underline}}@media print{.group-generator-print > :not(main),.group-generator-print main > :not(:first-child),.group-generator-print main > :first-child > :not(.lz-tool-app),.group-generator > :not(.group-generator__body),.group-generator__body > :not(.group-generator__results),.group-generator__results > :not([data-output]),.group-generator [data-output] > :not(.group-generator__grid),.group-generator__group-target small{display:none !important}.group-generator-print{color-scheme:light;background:white}.group-generator,.group-generator__body,.group-generator__results{display:block;border:0;padding:0;background:white;box-shadow:none}.group-generator__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140pt,1fr));gap:12pt}.group-generator__card{break-inside:avoid;border:1pt solid black;background:white;color:black;box-shadow:none}.group-generator__group-target,.group-generator__chip,.group-generator__chip small{color:black;background:white;border:0}.group-generator__chip{min-height:0;padding:3pt 0}}
