.groups-tool{margin:2rem 0 3rem}.groups-layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);display:grid}.groups-panel fieldset{border:1px solid var(--line);background:var(--surface);border-radius:1rem;min-width:0;margin:0;padding:1.3rem}.groups-heading{justify-content:space-between;align-items:center;font-size:1.1rem;font-weight:650;display:flex}.groups-heading span{color:var(--muted);font-size:.8rem}.groups-tool p{color:var(--muted);font-size:.8rem;line-height:1.6}.groups-tool textarea{border:1px solid var(--line);background:var(--canvas);width:100%;min-height:160px;color:var(--ink);font:inherit;resize:vertical;border-radius:.6rem;padding:.9rem;line-height:1.8}.groups-panel textarea{max-height:500px}.groups-links{flex-wrap:wrap;align-items:center;gap:0 1rem;display:flex}.groups-links button,.groups-upload{min-width:44px;min-height:44px;font:inherit;color:var(--ink);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:.5rem 0;font-size:.8rem;text-decoration:underline}.groups-tool button:disabled{opacity:.45;cursor:default}.groups-count{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:44px;margin-top:1rem;padding-top:1rem;font-size:.9rem;display:flex}.groups-count select,.groups-count input{background:var(--canvas);min-width:80px;min-height:44px;color:var(--ink);border:1px solid var(--line);border-radius:.4rem;padding:.5rem}.groups-generate{justify-content:space-between;width:100%;font-size:1rem;display:flex}.groups-generate span{font-size:1.5rem}.groups-files summary{cursor:pointer;min-height:44px;padding:.8rem 0;font-size:.8rem}.groups-upload{align-items:center;display:flex;position:relative}.groups-upload input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.groups-upload:focus-within{outline:3px solid var(--focus);outline-offset:3px}.groups-output>h2{text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.8rem}.groups-announcement{min-height:1.3rem;margin:.5rem 0 1rem}.groups-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;animation:.24s cubic-bezier(.16,1,.3,1) groups-reveal;display:grid}.group-card{border:1px solid var(--line);background:var(--surface);box-shadow:0 3px 0 var(--line);border-radius:.8rem;overflow:hidden}.group-card-heading{color:#1f3319;background:#d3ef9b;border-bottom:1px solid #2035101f;align-items:center;gap:.5rem;padding:.5rem .9rem;display:flex}.group-card:nth-child(4n+2) .group-card-heading{background:#b9e0d3}.group-card:nth-child(4n+3) .group-card-heading{background:#f6d7b0}.group-card:nth-child(4n+4) .group-card-heading{background:#d7caef}.group-card-heading input{width:100%;min-width:0;min-height:44px;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:.3rem;font-size:.95rem;font-weight:700}.group-card-heading input:hover{border-color:#1f331944}.group-card-heading span{border:1px solid #1f331930;border-radius:1rem;padding:.2rem .5rem;font-size:.75rem}.group-card ol{margin:0;padding:.6rem 1rem .8rem 2.5rem}.group-card li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:.55rem .2rem;font-size:.95rem}.group-card li:last-child{border:0}.group-card li::marker{color:var(--muted);font-size:.7rem}.groups-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.3rem;display:flex}.groups-actions .button{font-size:.8rem}.groups-empty{border:1px solid var(--line);background:var(--surface-muted);text-align:center;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;min-height:340px;padding:2rem;display:flex}.groups-empty>span{background:var(--accent);color:#25351b;border-radius:50%;place-items:center;width:84px;height:84px;font-size:3rem;display:grid}.groups-empty h3{margin:1rem 0 .3rem;font-size:1.8rem;line-height:1.2}.groups-notice{background:var(--surface-muted);border-radius:.4rem;padding:.6rem}.groups-error{color:var(--danger)!important}.groups-confirm .button{margin-right:.5rem}.groups-feedback{min-height:1.5rem}.groups-manual{gap:.5rem;font-size:.8rem;display:grid}@keyframes groups-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.groups-cards{animation:none}}@media (max-width:760px){.groups-layout{grid-template-columns:1fr}.groups-empty{min-height:240px}}@media (max-width:450px){.groups-cards{grid-template-columns:1fr}}.groups-actions{margin:0 0 1rem}.groups-count input{width:90px;font:inherit}
