:root{color:#172033;font-synthesis:none;--primary:#4f46e5;--primary-dark:#3730a3;--surface:#fff;--muted:#667085;--border:#d7dbea;--danger:#b42318;--shadow:0 8px 28px #262c4b17;background:#f4f6fb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,.fileButton{border:1px solid var(--border);background:var(--surface);min-height:44px;color:inherit;cursor:pointer;border-radius:12px;padding:.6rem 1rem;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s}button:hover:not(:disabled),.fileButton:hover{transform:translateY(-1px);box-shadow:0 4px 14px #262c4b1f}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #f59e0b}.primary{background:var(--primary);border-color:var(--primary);color:#fff}.primary:hover:not(:disabled){background:var(--primary-dark)}.large{padding:.8rem 1.5rem}.danger{color:#fff;background:#b42318;border-color:#b42318}.dangerGhost{color:var(--danger);border-color:#f0b7b2}.iconText{color:var(--danger);padding:.45rem .75rem}.mini{min-height:34px;padding:.25rem .55rem;font-size:.78rem}.appHeader{z-index:20;padding:max(.75rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) .75rem max(1.25rem,env(safe-area-inset-left));border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.7rem;display:flex}.brandMark{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:13px;place-items:center;width:44px;height:44px;font-size:1.3rem;font-weight:900;display:grid}.brand p,.brand h1{margin:0}.brand p{color:var(--muted);font-size:.72rem}.brand h1{font-size:1.25rem;line-height:1}.helpButton{background:0 0;border:0}.eyebrow{letter-spacing:.1em;color:var(--primary);margin:0 0 .2rem;font-size:.78rem;font-weight:900}main{width:min(1180px,100% - 2rem);margin:1.25rem auto 3rem}footer{text-align:center;padding:2rem max(1rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom));color:var(--muted);font-size:.85rem}.stepper{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:repeat(4,1fr);margin:1rem 0 2rem;padding:.5rem;display:grid}.stepper button{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:.5rem;min-width:0;display:flex}.stepper b{background:#e8eaf1;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.stepper .current{color:var(--primary);background:#eef2ff}.stepper .current b,.stepper .done b{background:var(--primary);color:#fff}.sectionHeading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.sectionHeading h2{margin:0;font-size:clamp(1.7rem,4vw,2.3rem)}.sectionHeading p{color:var(--muted);margin:.25rem 0}.countPill,.completeBadge{color:#027a48;white-space:nowrap;background:#ecfdf3;border:1px solid #a6f4c5;border-radius:999px;padding:.7rem 1rem}.twoColumns{grid-template-columns:1.25fr .75fr;gap:1rem;display:grid}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;margin:1rem 0;padding:1.15rem}.panel h3,.listHeader h3{margin:.1rem 0 .7rem}.panel label:not(.switchLabel):not(.radioLine):not(.fileButton){gap:.35rem;display:grid}input,select,textarea{background:var(--surface);width:100%;min-height:44px;color:inherit;border:1px solid #b8bfd1;border-radius:10px;padding:.65rem .75rem}textarea{resize:vertical}fieldset{border:0;margin:0 0 1rem;padding:0}legend{margin-bottom:.7rem;font-weight:800}.buttonRow,.footerActions,.capacityTools{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.8rem;display:flex}.footerActions{justify-content:space-between;margin-top:1.5rem}.inlineInput{gap:.5rem;display:flex}.inlineInput input{flex:1}.fileButton{align-items:center;display:inline-flex!important}.fileButton input{opacity:0;width:1px;height:1px;position:absolute}.hint{color:var(--muted);font-size:.9rem}.notice{color:#253b80;background:#eef4ff;border:1px solid #b9ccff;border-radius:12px;align-items:flex-start;gap:.65rem;margin:.8rem 0;padding:.8rem 1rem;display:flex}.notice.error{color:#861d14;background:#fff2f0;border-color:#f5bbb5}.notice.success{color:#027a48;background:#ecfdf3;border-color:#a6f4c5}.notice>span:first-child{font-size:1.1rem;font-weight:900}.duplicateActions{flex-wrap:wrap;gap:.4rem;margin-top:.45rem;display:flex}.duplicateActions label,.switchLabel,.radioLine{align-items:center;gap:.45rem;display:flex!important}.duplicateActions input,.switchLabel input,.radioLine input,.methodCards input,.genderModes input,.groupCard li input{flex:none;width:22px;height:22px;min-height:auto}.listHeader{justify-content:space-between;align-items:center;margin-top:1.5rem;display:flex}.listHeader span{color:var(--muted);font-size:.9rem}.empty{text-align:center;color:var(--muted);border:2px dashed var(--border);border-radius:16px;padding:2.5rem}.memberList{gap:.5rem;display:grid}.memberRow{background:var(--surface);border:1px solid var(--border);border-radius:14px;grid-template-columns:36px minmax(130px,1fr) minmax(110px,150px) auto auto;align-items:center;gap:.55rem;padding:.55rem;display:grid}.memberRow.inactive{opacity:.64;background:#f1f2f5}.number{width:30px;height:30px;color:var(--primary);background:#eef2ff;border-radius:50%;place-items:center;font-weight:800;display:grid}.methodCards,.genderModes{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.methodCards label,.genderModes label{border:2px solid var(--border);cursor:pointer;border-radius:14px;align-items:flex-start;gap:.65rem;padding:1rem;display:flex!important}.methodCards label.selected,.genderModes label.selected{border-color:var(--primary);background:#eef2ff}.genderModes{grid-template-columns:repeat(2,1fr)}.genderModes span{display:grid}.genderModes small{color:var(--muted);margin-top:.25rem}.numberField{align-items:center;gap:.7rem;margin:.65rem 0;display:flex!important}.numberField input{width:100px}.groupNameGrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;display:grid}.groupNameGrid span{color:var(--muted);font-size:.85rem}.roulette{text-align:center}.rouletteStage{color:#fff;background:linear-gradient(135deg,#312e81,#7c3aed);border-radius:24px;max-width:680px;margin:1rem auto 1.5rem;padding:2rem;box-shadow:0 14px 40px #4f46e547}.rouletteName{overflow-wrap:anywhere;min-height:1.5em;margin:.5rem;font-size:clamp(2.2rem,7vw,4.8rem);font-weight:900}.progressBar{background:#ffffff40;border-radius:99px;height:10px;overflow:hidden}.progressBar span{background:#fbbf24;height:100%;transition:width .25s;display:block}.rouletteGroups,.resultGrid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:1rem;display:grid}.groupCard{--accent:#f97316;background:var(--surface);border:1px solid var(--border);border-top:7px solid var(--accent);box-shadow:var(--shadow);border-radius:16px;min-width:0;padding:1rem}.groupCard.blue{--accent:#2563eb}.groupCard.green{--accent:#059669}.groupCard.purple{--accent:#7c3aed}.groupCard.gold{--accent:#d97706}.groupCard.pink{--accent:#db2777}.groupCard.teal{--accent:#0d9488}.groupCard.indigo{--accent:#4f46e5}.groupCard h3,.groupCard h2{margin:.15rem 0}.groupCard ul{margin:.7rem 0;padding:0;list-style:none}.groupCard li{border-bottom:1px solid var(--border);padding:.45rem .2rem;font-size:1.05rem}.groupCard.result header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.groupCard.result header p{color:var(--muted);margin:0}.groupCard.result li{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.groupCard.result li label{align-items:center;gap:.45rem;display:flex!important}.genderCounts{color:var(--muted);margin:.8rem 0 0;font-size:.8rem}.lock{align-items:center;gap:.25rem;font-size:.78rem;display:flex!important}.lock input{width:18px;height:18px;min-height:auto}.controlDock{bottom:max(.75rem,env(safe-area-inset-bottom));z-index:10;border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:1rem auto;padding:.7rem;display:flex;position:sticky;box-shadow:0 10px 30px #1519322e}.controlDock label{align-items:center;gap:.4rem;display:flex}.controlDock select{width:auto}.editFlow{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:.65rem;display:grid}.privacySettings{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-top:2rem}.privacySettings summary{cursor:pointer;padding:1rem;font-weight:800}.settingsBody{gap:.8rem;padding:0 1rem 1rem;display:grid}.settingsBody>label:not(.switchLabel){gap:.25rem;max-width:350px;display:grid}.presentation{z-index:100;padding:max(3rem,env(safe-area-inset-top)) max(2rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom)) max(2rem,env(safe-area-inset-left));background:#f4f6fb;position:fixed;inset:0;overflow:auto}.presentation>h1{text-align:center;font-size:clamp(2rem,5vw,4rem)}.presentation .groupCard h2{font-size:clamp(1.5rem,3.5vw,2.7rem)}.presentation .groupCard li{font-size:clamp(1.15rem,2.2vw,2rem)}.exitPresentation{z-index:2;position:fixed;top:1rem;right:1rem}.modalBackdrop{z-index:200;background:#0f172aa8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:20px;width:min(540px,100%);max-height:90vh;padding:1.5rem;position:relative;overflow:auto;box-shadow:0 24px 80px #0000004d}.modalClose{border:0;font-size:1.6rem;position:absolute;top:.8rem;right:.8rem}.srOnly{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (width<=760px){main{width:min(100% - 1rem,1180px)}.stepper span{font-size:.72rem}.stepper button{gap:.2rem;padding:.45rem .2rem;display:grid}.twoColumns{grid-template-columns:1fr}.memberRow{grid-template-columns:32px 1fr 110px}.memberRow .switchLabel{grid-column:2}.memberRow .iconText{grid-area:2/3}.methodCards,.genderModes{grid-template-columns:1fr}.sectionHeading{display:grid}.countPill{width:max-content}.appHeader{padding-inline:.75rem}.brand p{display:none}.helpButton{padding:.5rem}.editFlow{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.rouletteName{font-size:2.5rem}}@media (prefers-color-scheme:dark){:root{color:#edf0f7;--surface:#1d2232;--muted:#aab2c5;--border:#3b4257;--primary:#818cf8;--primary-dark:#6366f1;--shadow:0 8px 28px #0003;background:#121521}.appHeader,.controlDock{background:#1d2232f0}.memberRow.inactive{background:#272b37}.methodCards label.selected,.genderModes label.selected{background:#272756}.notice{color:#c7d7ff;background:#172b4f}.notice.error{color:#ffc9c4;background:#4b1d1a}.presentation{background:#121521}input,select,textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@media print{body{color:#000;background:#fff}.appHeader,.stepper,.notice,.privacySettings,footer,.noPrint{display:none!important}main{width:100%;margin:0}.sectionHeading{margin:.3cm 0}.resultGrid{grid-template-columns:repeat(2,1fr);gap:.5cm;display:grid}.groupCard{box-shadow:none;break-inside:avoid;border:1px solid #777;border-top-width:5px}.groupCard li{font-size:12pt}.genderCounts{color:#333}}
