:root{color-scheme:dark;--bg:#007bbd;--surface:#192e38;--field:#122630;--border:#435c68;--text:#edf2f4;--muted:#b6c4cb;--accent:#007bbd;--soft:#284756;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button,input,textarea,select{touch-action:manipulation}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 17px;border:1px solid var(--border);border-radius:24px;background:var(--soft);color:var(--text);cursor:pointer;font-weight:600;text-decoration:none;text-align:center}button:hover,.button:hover{filter:brightness(1.12)}button:disabled{opacity:.55;cursor:default}button.primary,.button.primary{background:var(--accent);border-color:#55b1de;color:white}button.quiet{background:transparent}input,select,textarea{width:100%;min-height:46px;border:1px solid var(--border);border-radius:9px;background:var(--field);color:var(--text);padding:10px 12px}textarea{resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:#8fa6b1}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:22px;accent-color:var(--accent);flex-shrink:0}label{display:block;margin:0 0 7px;font-weight:600;font-size:.93rem}fieldset{min-width:0;margin:0;padding:0;border:0}legend{padding:0;margin-bottom:9px;font-size:.93rem;font-weight:600}select:disabled{opacity:.7}:focus-visible{outline:3px solid #bce6ff;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.6rem,3vw,2rem);line-height:1.2;letter-spacing:-.02em}h2{font-size:1.25rem;line-height:1.3}h3{font-size:1.1rem}svg{display:block}.shell{max-width:1520px;margin:auto;padding:24px clamp(16px,3vw,40px)}.page-header{display:flex;gap:16px;align-items:center;margin:8px 0 28px}.brand-icon{padding:12px;background:#ffffff18;border-radius:16px}.brand-icon svg{width:32px;height:32px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:700;color:var(--muted);margin-bottom:5px}.page-header .eyebrow,.subtitle{color:#e1f0f7}.subtitle{font-size:.92rem;margin-top:7px}.workspace{display:grid;grid-template-columns:minmax(320px,360px) minmax(0,1fr);gap:24px;align-items:start}.panel{background:var(--surface);border:1px solid #ffffff0d;border-radius:20px;padding:24px;min-width:0}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:24px}.pill{font-size:.75rem;border-radius:20px;background:var(--soft);padding:6px 10px;white-space:nowrap}.hint{color:var(--muted);font-size:.8rem;line-height:1.55;margin-top:8px}.setup form{display:grid;gap:20px}.field-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.field-pair>*{min-width:0}.segments{display:flex;background:var(--field);border:1px solid var(--border);padding:4px;border-radius:13px;gap:4px;min-width:0}.segments label{position:relative;flex:1;margin:0;min-width:0;cursor:pointer}.segments input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.segments span,.segments button{display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px 10px;border-radius:9px;text-align:center;font-size:.88rem;font-weight:600;line-height:1.3}.segments input:checked+span,.segments button[aria-pressed=true]{background:var(--accent);color:white}.segments input:focus-visible+span{outline:3px solid #bce6ff;outline-offset:2px}.segments button{border:0;background:transparent;color:var(--muted);flex:1}.small-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.small-actions button,.small-actions .button{font-size:.81rem;padding:9px 13px}.file-button{position:relative;overflow:hidden;margin:0}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-button:focus-within{outline:3px solid #bce6ff;outline-offset:2px}details{border-top:1px solid var(--border);padding-top:4px}summary{cursor:pointer;min-height:48px;display:list-item;align-content:center;font-weight:600;font-size:.9rem;padding:10px 0}summary::marker{color:#8cd5ff}.details-content{display:grid;gap:8px;padding:10px 0}.details-content .hint{margin:0}.check{display:flex;align-items:center;gap:10px;min-height:44px}.full{width:100%}.generate-area{border-top:1px solid var(--border);padding-top:20px}.results{position:sticky;top:20px;min-height:520px}.empty{min-height:360px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;color:var(--muted)}.empty svg{width:80px;color:#547e91}.empty h3{color:var(--text)}.empty p{font-size:.9rem;line-height:1.8}.result-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:20px}.result-toolbar .small-actions{margin:0}.phase-tabs{flex:1;max-width:420px;min-width:240px}.group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:16px}.group-card{border:1px solid var(--border);border-radius:14px;overflow:hidden;min-width:0;background:#152a34}.group-heading{padding:16px;background:var(--soft);display:flex;justify-content:space-between;align-items:center;gap:12px}.group-heading h3{overflow-wrap:anywhere}.group-heading small{color:var(--muted);white-space:nowrap}.members{list-style:none;padding:4px 16px;margin:0}.members li{padding:12px 0;border-bottom:1px solid #ffffff0d;display:grid;gap:3px;overflow-wrap:anywhere}.members li:last-child{border:0}.member-note{font-size:.8rem;color:var(--muted)}.role{font-size:.75rem;color:#b7e4ff}.waiting{opacity:.6}.used{color:#b7f0d1}.coverage{background:#4b4029;color:#ffe7b4;font-size:.83rem;border-radius:10px;padding:12px;margin:0 0 16px;overflow-wrap:anywhere}.live-info{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-bottom:18px;font-size:.85rem}.live-info progress{grid-column:1/-1;width:100%;height:7px;accent-color:#56c793}.live-info .hint{margin:0}.message{padding:12px 18px;margin-bottom:16px;background:var(--surface);border-left:4px solid #8cd5ff;border-radius:10px;overflow-wrap:anywhere}.message.error{border-color:#ffb2a8}footer{font-size:.75rem;color:#e1f0f7;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:24px 0}#edit-settings{display:none}#exit-board{margin-left:auto}.board .setup,.board footer,.board .subtitle,.board .brand-icon{display:none}.board .workspace{display:block}.board .results{position:static}.board .group-grid{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))}.board .members{font-size:1.25rem}.board .member-note{font-size:1rem}.board .page-header{margin-bottom:16px}.skip{position:absolute;top:-100px;left:12px;padding:12px;z-index:10;background:var(--surface);color:white}.skip:focus{top:12px}dialog{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:20px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px}dialog::backdrop{background:#05151dc9}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}dialog>p{font-size:.9rem;color:var(--muted)}#qr{margin:20px auto;width:min(260px,100%);background:white;padding:12px;border-radius:12px;color:#192e38;font-size:.85rem}#qr svg{width:100%;height:auto}#share-url{font-size:.85rem;overflow-wrap:anywhere}.participant{max-width:700px;margin:40px auto}.participant>h2{font-size:1.6rem}.participant .group-grid{margin-top:24px}.participant .group-card{padding:24px}.participant .group-card h3{font-size:1.4rem;overflow-wrap:anywhere}.participant .eyebrow{margin-bottom:10px}#retry{margin-top:20px}
@media(max-width:1100px){.shell{padding:20px}.workspace{grid-template-columns:320px minmax(0,1fr);gap:16px}.panel{padding:20px}.group-grid{grid-template-columns:1fr}.result-toolbar{align-items:stretch}.phase-tabs{max-width:none}.results{position:static}}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.setup form{grid-template-columns:1fr 1fr;gap:20px 24px}.setup fieldset,.setup .generate-area{grid-column:1/-1}.setup details{align-self:start}.setup #list-inputs{grid-row:span 2}.setup .field-pair{grid-template-columns:1fr 1fr}.setup #size-note{margin:0}.setup .generate-area{display:grid;grid-template-columns:1fr 1fr;gap:16px}.generate-area .hint{margin:0}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results{min-height:400px}#edit-settings{display:inline-flex}.page-header{margin-bottom:20px}.subtitle{font-size:.85rem}}
@media(max-width:600px){.shell{padding:16px}.page-header{gap:12px}.brand-icon{padding:8px}.brand-icon svg{width:26px;height:26px}.page-header .eyebrow{font-size:.58rem}h1{font-size:1.5rem}.subtitle{font-size:.8rem}.panel{padding:18px;border-radius:16px}.setup form{display:grid;grid-template-columns:1fr;gap:18px}.setup .generate-area{display:block}.generate-area .hint{margin-top:8px}.group-grid{grid-template-columns:1fr}.section-heading{flex-wrap:wrap;margin-bottom:20px}.phase-tabs{min-width:0;width:100%}.result-toolbar .small-actions{width:100%}.result-toolbar .small-actions>*{flex:1}.dialog-heading{align-items:flex-start}dialog{padding:18px}.live-info{grid-template-columns:1fr}.board .page-header{flex-wrap:wrap}.board #exit-board{margin-left:0}.empty{min-height:260px}.empty p br{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Keep group titles legible on an iPad in landscape. */
@media(min-width:1101px){.group-grid{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}}
.group-heading{flex-wrap:wrap}.group-heading h3{flex-basis:160px;flex-grow:1}
