/* 랜덤 팀 나누기 — '명단 → 자리판'. 그룹 색 6개는 time-interval-sum-calculator 팔레트(라이트·다크 대비 확인됨)를 같은 값으로 씀 */
.rtg{container:rtg / inline-size;overflow:hidden;--rtg-c0:#7a4a24;--rtg-c1:#2f6658;--rtg-c2:#8a5a10;--rtg-c3:#4f5488;--rtg-c4:#8a3d4c;--rtg-c5:#4d6626}
html[data-theme="dark"] .rtg{--rtg-c0:#e0ae7c;--rtg-c1:#86c4b2;--rtg-c2:#e3c06e;--rtg-c3:#b2b6e6;--rtg-c4:#e8a0ac;--rtg-c5:#b6d28a}
@media (prefers-color-scheme: dark){html:not([data-theme="light"]) .rtg{--rtg-c0:#e0ae7c;--rtg-c1:#86c4b2;--rtg-c2:#e3c06e;--rtg-c3:#b2b6e6;--rtg-c4:#e8a0ac;--rtg-c5:#b6d28a}}
.rtg .c0{background:var(--rtg-c0)}.rtg .c1{background:var(--rtg-c1)}.rtg .c2{background:var(--rtg-c2)}.rtg .c3{background:var(--rtg-c3)}.rtg .c4{background:var(--rtg-c4)}.rtg .c5{background:var(--rtg-c5)}
.rtg-help{margin:0;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--muted)}
.rtg-msg:empty{display:none}
.rtg-msg.is-error{color:var(--accent)}

/* 머리: 예시 칩 | 지우기 */
.rtg-head{align-items:center}
.rtg-ex{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.rtg-ex .v2-label{margin-right:2px}
.rtg-chip{min-height:30px;padding:0 10px;border:1px solid var(--soft);border-radius:var(--radius);background:var(--paper);font-family:var(--sans);font-size:12.5px;font-weight:650;color:var(--ink);transition:border-color var(--ease),background var(--ease)}
.rtg-chip:hover{border-color:var(--line);background:var(--btn)}
.rtg-chip[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}

/* 위: 명단 | 나누는 방법 (좁으면 위아래) */
.rtg-top{display:grid;grid-template-columns:minmax(0,1fr)}
.rtg-list{display:flex;flex-direction:column;gap:7px;min-width:0;padding:16px 18px}
.rtg-set{container:rtgset / inline-size;display:grid;gap:14px;align-content:start;min-width:0;padding:16px 18px;border-top:1px solid var(--soft)}
@container rtg (min-width:600px){
  .rtg-top{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .rtg-set{border-top:0;border-left:1px solid var(--soft)}
}
.rtg-lhead{display:flex;align-items:center;gap:12px}
.rtg-lhead .v2-label{margin:0;margin-right:auto}
.rtg-count{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--ink)}
.rtg-clear{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 2px;border:0;background:none;font-family:var(--sans);font-size:12px;font-weight:650;color:var(--muted);cursor:pointer}
.rtg-clear:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.rtg-clear .i{width:12px;height:12px}
.rtg-ta{display:block;width:100%;box-sizing:border-box;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--ink);resize:vertical;transition:border-color var(--ease),box-shadow var(--ease)}
.rtg-ta:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 2px var(--accent-wash)}
.rtg-ta::placeholder{color:var(--ink);opacity:.35}
.rtg-ta[aria-invalid="true"]{border-color:var(--accent)}
.rtg-names{flex:1 1 220px;height:220px;min-height:180px}

.rtg-grp{display:grid;gap:6px;justify-items:start;min-width:0}
.rtg-grp .v2-help,.rtg-grp .rtg-help{justify-self:stretch}
.rtg-way{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:end}
@container rtgset (min-width:300px){ .rtg-way{grid-template-columns:150px minmax(0,1fr);gap:14px} }
.rtg-kf{min-width:0}
.rtg-step{overflow:hidden}
.rtg-step .rtg-stepbtn{flex:0 0 38px;border:0;background:var(--btn);font-family:var(--sans);font-size:18px;font-weight:700;color:var(--ink);transition:background var(--ease)}
.rtg-step .rtg-stepbtn:hover{background:var(--btn-hover)}
.rtg-step .rtg-stepbtn:first-child{border-right:1px solid var(--soft)}
.rtg-step .rtg-stepbtn:last-child{border-left:1px solid var(--soft)}
.rtg-step input{text-align:center;padding:0 4px}
.rtg-step b{border-left:0;background:none;min-width:0;padding:0 8px 0 0}
.rtg-plan{margin:0;padding-bottom:3px;font-family:var(--sans);font-size:13px;font-weight:650;line-height:1.45;color:var(--ink);font-variant-numeric:tabular-nums}
.rtg-plan small{display:block;font-size:12px;font-weight:500;color:var(--muted)}
.rtg-plan.is-error{color:var(--accent)}
.rtg-plan:lang(ko),.rtg-help:lang(ko){word-break:keep-all}
.rtg [hidden]{display:none!important}

.rtg-cond{border:1px solid var(--soft);border-radius:var(--radius);background:color-mix(in srgb, var(--wash) 60%, var(--paper))}
.rtg-cond > summary{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;cursor:pointer;font-family:var(--sans);font-size:12.5px;font-weight:650;color:var(--ink);list-style:none}
.rtg-cond > summary::-webkit-details-marker{display:none}
.rtg-cond > summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--ease)}
.rtg-cond[open] > summary::before{transform:rotate(45deg)}
.rtg-cond > summary small{font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--accent)}
.rtg-cond > .rtg-condin,.rtg-cond > .rtg-help{margin:0 10px 10px}
.rtg-condin{display:grid;gap:10px}
.rtg-condin .v2-label{display:block;margin:0 0 5px}
.rtg-condin .rtg-ta{font-size:13.5px;min-height:56px}
@container rtgset (min-width:420px){ .rtg-condin{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }

.rtg-sw{display:flex;flex-wrap:wrap;gap:10px 20px}
.rtg-go{display:grid;gap:6px}
.rtg-draw{justify-content:center;width:100%;font-size:14.5px}
.rtg-draw .i{width:16px;height:16px}
.rtg-draw[aria-disabled="true"]{opacity:.55;cursor:default}
.rtg-go .v2-status:empty{display:none}

/* 자리판 */
.rtg-board{padding:14px 18px 18px;border-top:1px solid var(--soft);background:color-mix(in srgb, var(--wash) 70%, var(--paper))}
.rtg-bhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px}
.rtg-btitle{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;min-width:0}
.rtg-btitle b{font-family:var(--serif);font-size:17px;font-weight:900;letter-spacing:-.02em;color:var(--ink)}
.rtg-tag{font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--accent)}
.rtg-tag:empty{display:none}
.rtg-bsum{font-family:var(--sans);font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.rtg-acts{display:flex;flex-wrap:wrap;gap:6px}
.rtg-brow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px}
.rtg-legend{display:flex;flex-wrap:wrap;flex:1 1 280px;gap:4px 14px;margin:0;padding:0;list-style:none;font-family:var(--sans);font-size:12px;color:var(--muted)}
.rtg-legend:empty{visibility:hidden}
.rtg-legend li.is-ord{color:var(--ink);font-weight:650}
.rtg-fun{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.rtg-legend li{display:inline-flex;align-items:center;gap:5px}
.rtg-legend li b{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.rtg-legend li.is-ok{color:var(--ink)}
.rtg-legend li.is-ok::before{content:"✓";font-weight:800;color:var(--accent)}
.rtg-legend li.is-warn{color:var(--accent)}
.rtg-dot{display:inline-block;flex:0 0 auto;width:8px;height:8px;border-radius:50%}

.rtg-stage{position:relative;margin-top:12px}
.rtg-teams{--cols:3;--gap:10px;display:flex;flex-wrap:wrap;gap:var(--gap);margin:0;padding:0;list-style:none}
.rtg-team{container:rtgcard / inline-size;display:flex;flex-direction:column;flex:1 1 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols) - .5px);min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.rtg-th{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--soft)}
.rtg-no{display:grid;place-items:center;min-width:22px;height:20px;padding:0 4px;background:var(--fill);color:var(--on-fill);font-family:var(--mono);font-size:11px;font-weight:700}
.rtg-tn{width:100%;min-width:0;height:28px;padding:0;border:0;border-bottom:1px dashed transparent;border-radius:0;background:none;font-family:var(--serif);font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--ink);text-overflow:ellipsis}
.rtg-tn:hover{border-bottom-color:var(--line)}
.rtg-tn:focus{outline:0;border-bottom-color:var(--ink)}
.rtg-tn::placeholder{color:var(--ink);opacity:1}
.rtg-meta{display:inline-flex;align-items:center;gap:6px;min-width:0}
.rtg-ord{padding:1px 6px;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--sans);font-size:11px;font-weight:750;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.rtg-ord.is-first{border-color:var(--accent);background:var(--accent);color:var(--paper)}
.rtg-tc{font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
/* 좁은 카드(2열 휴대폰 등): 인원을 팀 이름 아래 줄로 내려 이름 칸을 넓힘(es '4 personas' 때 이름이 'E…'로 잘림) */
@container rtgcard (max-width:200px){ .rtg-th{grid-template-columns:auto minmax(0,1fr);row-gap:2px} .rtg-meta{grid-column:2;grid-row:2} .rtg-tc{font-size:10.5px;line-height:1.2} }
.rtg-body{position:relative;display:flex;flex-direction:column;flex:1 1 auto}
.rtg-ms{display:grid;gap:3px;margin:0;padding:7px 10px;list-style:none}
.rtg-m{display:grid;grid-template-columns:minmax(min(5em,100%),1fr) minmax(0,max-content);align-items:center;gap:6px;min-height:28px;font-family:var(--sans);font-size:14px;line-height:1.3;color:var(--ink)}
.rtg-m.is-seat{min-height:26px;border:1px dashed var(--soft);border-radius:var(--radius);background:color-mix(in srgb, var(--wash) 50%, transparent)}
.rtg-m.is-wait{border:1px dashed var(--soft);border-radius:var(--radius);background:color-mix(in srgb, var(--wash) 50%, transparent)}
.rtg-m.is-wait > *{visibility:hidden}
.rtg-mn{min-width:0;overflow-wrap:anywhere}
.rtg-teams.has-lead .rtg-m{grid-template-columns:14px minmax(min(5em,100%),1fr) minmax(0,max-content)}
.rtg-teams.has-lead .rtg-m.is-seat{grid-template-columns:minmax(0,1fr)}
.rtg-m.is-lead .rtg-mn{font-weight:750}
.rtg-cr{width:14px;height:12px;color:var(--accent)}
.rtg-mt{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:9em;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;font-variant-numeric:tabular-nums}
.rtg-mt > span{min-width:0;overflow:hidden;text-overflow:ellipsis}
/* 좁은 카드: 그룹 표시는 이름 아래 줄로(이름 칸이 몇 px로 눌리지 않게) */
@container rtgcard (max-width:220px){ .rtg-m.is-g{grid-template-columns:minmax(0,1fr);row-gap:1px;padding:2px 0} .rtg-teams.has-lead .rtg-m.is-g{grid-template-columns:14px minmax(0,1fr)} .rtg-m.is-g > .rtg-mt{grid-column:-2;max-width:100%;font-size:11px} }
.rtg-mt b{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--ink)}
.rtg-tf{display:grid;gap:5px;margin-top:auto;padding:7px 10px 9px;border-top:1px solid var(--soft)}
.rtg-tf:empty{display:none}
.rtg-bar{display:flex;height:7px;overflow:hidden;background:var(--soft);border-radius:1px}
.rtg-bar i{display:block;height:100%;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.rtg-bar i + i{box-shadow:inset 1px 0 0 var(--paper)}
.rtg-bar .rtg-sk{background:var(--fill)}
.rtg-tf small{font-family:var(--sans);font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}

/* 한 팀씩: 덮인 카드(누르면 열림) */
.rtg-cover{display:none}
.rtg-team.is-back .rtg-ms{visibility:hidden}
.rtg-team.is-back .rtg-cover{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:4px;width:100%;border:0;border-radius:0 0 var(--radius) var(--radius);cursor:pointer;color:var(--on-fill);background:var(--fill) repeating-linear-gradient(135deg,transparent 0 9px,color-mix(in srgb,var(--on-fill) 9%,transparent) 9px 10px);transition:filter var(--ease)}
.rtg-team.is-back .rtg-cover:hover{filter:brightness(1.12)}
.rtg-team.is-back .rtg-cover:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.rtg-cover b{font-family:var(--serif);font-size:clamp(28px,2.6em,64px);font-weight:900;line-height:1}
.rtg-cover span{font-family:var(--sans);font-size:12px;font-weight:650;opacity:.85}
.rtg-team.is-flip .rtg-body{animation:rtg-flip .5s cubic-bezier(.2,.7,.2,1) both;transform-origin:50% 0}
@keyframes rtg-flip{from{transform:perspective(700px) rotateX(-75deg);opacity:.2}to{transform:none;opacity:1}}
/* 5초 뒤: 자리 위 큰 숫자, 그동안 이름은 흐리게 섞임 */
.rtg-cd{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:2px;pointer-events:none;background:color-mix(in srgb,var(--paper) 45%,transparent)}
.rtg-cd span{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.rtg-cd b{font-family:var(--serif);font-size:clamp(72px,12vw,150px);font-weight:900;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.rtg-cd.is-pulse b{animation:rtg-pulse .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes rtg-pulse{0%{transform:scale(1.35);opacity:0}25%{opacity:1}100%{transform:scale(1);opacity:1}}
.rtg-m.is-spin .rtg-mn{opacity:.55}
.rtg-m.is-spin .rtg-mt,.rtg-m.is-spin .rtg-cr{visibility:hidden}
.rtg-m.is-spin .rtg-sr{display:none}
.rtg-m.is-lock{animation:rtg-lock .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes rtg-lock{0%{transform:scale(1.06);background:var(--accent-wash)}100%{transform:none;background:transparent}}
.rtg-fx{position:absolute;left:50%;top:35%;z-index:3;width:0;height:0;pointer-events:none}
.rtg-fx span{position:absolute;width:7px;height:11px;margin:-5px 0 0 -3px;animation:rtg-burst 1.1s cubic-bezier(.1,.7,.3,1) forwards}
@keyframes rtg-burst{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--dx),calc(var(--dy) + 50px)) rotate(var(--r));opacity:0}}
.rtg-tn.is-pop{animation:rtg-in .32s cubic-bezier(.2,.7,.2,1) both}
/* 들어오는 움직임: 바로 공개는 줄마다 짧게 이어서, 한 명씩 공개는 위에서 내려앉듯(카드 나눠 주기) */
.rtg-m.is-in{animation:rtg-in .32s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0ms)}
.rtg-m.is-deal{animation:rtg-deal .38s cubic-bezier(.2,.8,.2,1) both}
.rtg-team.is-hit{border-color:var(--ink)}
@keyframes rtg-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@keyframes rtg-deal{from{opacity:0;transform:translateY(-22px) rotate(-4deg) scale(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){ .rtg-m.is-in,.rtg-m.is-deal,.rtg-m.is-lock,.rtg-team.is-flip .rtg-body,.rtg-cd.is-pulse b,.rtg-tn.is-pop{animation:none} .rtg-bar i{transition:none} .rtg-m.is-spin > *{visibility:hidden} .rtg-m.is-spin{border:1px dashed var(--soft);border-radius:var(--radius)} }

.rtg-fullhint{display:none;margin:14px 0 0;text-align:center;font-family:var(--sans);font-size:12px;color:var(--muted)}
.rtg-board:fullscreen,.rtg-board.is-full{width:100%;height:100%;box-sizing:border-box;padding:3vmin 4vmin;overflow:auto;background:var(--paper)}
.rtg-board.is-full{position:fixed;inset:0;z-index:1000}
html.rtg-noscroll{overflow:hidden}
.rtg-board:fullscreen .rtg-fullhint,.rtg-board.is-full .rtg-fullhint{display:block}
.rtg-board:fullscreen .rtg-cd b,.rtg-board.is-full .rtg-cd b{font-size:32vmin}
.rtg-board:fullscreen .rtg-cover span,.rtg-board.is-full .rtg-cover span{font-size:max(12px,calc(var(--rtg-fs,20px) * .45))}
.rtg-board:fullscreen .rtg-cover b,.rtg-board.is-full .rtg-cover b{font-size:calc(var(--rtg-fs,20px) * 2)}
.rtg-board:fullscreen .rtg-btitle b,.rtg-board.is-full .rtg-btitle b{font-size:clamp(18px,3vmin,34px)}
.rtg-board:fullscreen .rtg-m,.rtg-board.is-full .rtg-m{min-height:var(--rtg-rh,1.9em);font-size:var(--rtg-fs,clamp(15px,2.4vmin,30px))}
.rtg-board:fullscreen .rtg-tn,.rtg-board.is-full .rtg-tn{height:1.6em;font-size:var(--rtg-fs,clamp(15px,2.6vmin,32px))}
.rtg-board:fullscreen .rtg-mt,.rtg-board.is-full .rtg-mt{font-size:max(11.5px,calc(var(--rtg-fs,20px) * .5))}
.rtg-board:fullscreen .rtg-cr,.rtg-board.is-full .rtg-cr{width:.9em;height:.8em}
.rtg-board:fullscreen .rtg-teams.has-lead .rtg-m,.rtg-board.is-full .rtg-teams.has-lead .rtg-m{grid-template-columns:.9em minmax(min(5em,100%),1fr) minmax(0,max-content)}
.rtg-board:focus{outline:0}

.rtg-privacy{padding:0 18px 14px;background:color-mix(in srgb, var(--wash) 70%, var(--paper))}

@container rtg (max-width:440px){
  .rtg-list,.rtg-set{padding:14px 14px}
  .rtg-board{padding:12px 12px 14px}
  .rtg-privacy{padding:0 12px 12px}
  .rtg-names{flex-basis:180px;height:180px}
  .rtg-teams{--gap:8px}
  .rtg-m{font-size:13.5px}
}
.rtg-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
