*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#182d4b;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #cbd8e8;background:#fff;color:#243e5e;padding:10px 14px;border-radius:10px}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #eea659;outline-offset:3px}header{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 22px;font-size:13px}header a{color:#335f90;text-decoration:none}header b{font-size:11px;letter-spacing:2px;margin-left:8px}.tag{background:#fff0d9;padding:5px 8px;border-radius:20px;font-size:10px;color:#8c581a}main{max-width:1040px;margin:auto;padding:16px 22px 60px}.eyebrow{letter-spacing:3px;font-size:11px;color:#507da7}h1{font-size:clamp(25px,4vw,43px);letter-spacing:-1px;margin:14px 0}h2{font-size:19px}.intro>p:last-child{color:#718197;font-size:14px}.editor,.catalog{background:#fff;border:1px solid #e0e7f0;border-radius:20px;padding:24px;margin-top:24px;box-shadow:0 8px 28px #21345305}.title-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:7px;font-size:12px;color:#5b718e}input,select{min-width:0;width:100%;border:1px solid #cfdaea;background:#f9fbfe;border-radius:9px;padding:11px 12px;color:#213453}.toolbar,.actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.toolbar button{font-size:12px}.guide{font-size:12px;color:#73839a;line-height:1.7}.stage{border-radius:16px;background:radial-gradient(ellipse at top,#2f4564,#142540);padding:28px 12px 24px;min-height:220px;position:relative}.stage-row{display:flex;justify-content:center;gap:clamp(3px,1vw,12px);margin-bottom:22px}.slot{width:calc((100% - (var(--slots) - 1) * 12px)/var(--slots));max-width:90px;min-width:0;padding:0;background:transparent;border:0;color:#fff;touch-action:none;position:relative;user-select:none}.slot img,.slot .placeholder{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:top;background:#ffffff14;border:2px solid #ffffff24;display:flex;align-items:center;justify-content:center;color:#aebed3}.slot.selected img,.slot.selected .placeholder{border-color:#ffbc75;box-shadow:0 0 0 3px #ffbc7545}.slot .name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(8px,1.2vw,12px);margin-top:6px}.slot .center{position:absolute;top:-16px;left:0;right:0;color:#ffd49b;font-size:8px;letter-spacing:1px}.slot.drop-target{outline:3px solid #ffbc75;border-radius:12px}.drag-ghost{position:fixed;pointer-events:none;z-index:1000;border-radius:50%;opacity:.85;width:64px;height:64px;background:#d6e4f5;object-fit:cover}.stage-caption{display:flex;justify-content:space-between;padding:12px 4px;font-size:10px;color:#718197;letter-spacing:1px}.primary{background:#1f3e67;color:white;border-color:#1f3e67}.actions .primary{padding:13px 22px}.catalog-heading{display:flex;align-items:center;justify-content:space-between}.catalog-heading span{color:#8b99ab;font-size:12px}.filters{display:flex;gap:12px;margin:16px 0}.filters>*{flex:1}.members{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.member{padding:8px 4px;min-width:0;border:1px solid transparent;border-radius:13px;background:#f7f9fc}.member img,.member .avatar-fallback{width:60px;max-width:100%;aspect-ratio:1;object-fit:cover;object-position:top;border-radius:50%;display:block;margin:auto;background:#e4ebf5}.member span{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:8px}.member small{display:block;font-size:9px;color:#8c9aab;margin-top:3px}.member.chosen{border-color:#dda358;background:#fff4e6}.member.chosen::after{content:'選択済み';font-size:9px;color:#9a651f}#status{font-size:13px;color:#537095;margin-top:15px;min-height:20px}footer{font-size:11px;color:#8996a7;text-align:center;line-height:1.9;margin-top:28px}dialog{width:min(760px,calc(100% - 24px));max-height:90dvh;border:0;border-radius:18px;padding:24px;color:#213453;box-shadow:0 25px 90px #071a4540}dialog::backdrop{background:#10254499}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.dialog-head button{padding:6px 12px}dialog p{font-size:12px;color:#718197}#rowControls>div{display:flex;align-items:center;gap:10px;margin:12px 0}#rowControls input{width:80px}#preview{width:100%;height:auto;display:block;border-radius:10px;background:#f2f5f9}#posterStatus{min-height:20px}
@media(max-width:700px){header{padding:15px 14px}header b{display:none}main{padding:8px 12px 40px}.editor,.catalog{padding:16px 12px;margin-top:18px}.title-fields{grid-template-columns:1fr;gap:12px}.members{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stage{padding:26px 8px 12px}.stage-row{gap:4px;margin-bottom:25px}.slot{max-width:72px;width:calc((100% - (var(--slots) - 1) * 4px)/var(--slots))}.actions button{flex:1;font-size:12px}.toolbar{gap:6px}.toolbar button{font-size:10px;padding:8px}.filters{gap:8px}.intro>p:last-child{font-size:12px}dialog{padding:18px}.stage-caption{font-size:9px}}

#memberPicker{width:min(660px,calc(100% - 24px));max-height:85dvh;overflow:auto}#memberPicker .filters{position:sticky;top:-18px;background:#fff;padding:10px 0;z-index:1}.picker-members{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:16px}#pickerClear{font-size:12px}@media(max-width:700px){.picker-members{grid-template-columns:repeat(4,minmax(0,1fr))}#memberPicker{max-height:80dvh}}

[hidden]{display:none!important}.alumni-setting{display:flex;align-items:center;gap:12px;margin:18px 0 8px;font-size:13px}.alumni-setting button{min-width:72px;border-radius:24px;font-weight:700;background:#edf1f6}.alumni-setting button[aria-checked="true"]{background:#1f3e67;color:#fff}.roster-tabs{display:flex;gap:8px;margin-top:12px}.roster-tabs button[aria-pressed="true"]{background:#1f3e67;color:#fff}.roster-tabs button{font-size:12px}.member .avatar-fallback{display:flex;align-items:center;justify-content:center;font-size:24px}.filters{flex-wrap:wrap}.filters>*{min-width:100px}

.generation-heading{grid-column:1/-1;display:flex;align-items:center;gap:10px;border-top:1px solid #d5e0ec;padding-top:16px;margin:10px 0 2px;font-size:15px;color:#243e5e}.generation-heading:first-child{border-top:0;padding-top:0;margin-top:0}.generation-heading small{font-weight:400;font-size:11px;color:#73839a}
