.free-lobby label{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:16px 0}.free-join{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.free-join .secondary{width:auto}.free-room-list{display:grid;gap:8px;margin-top:12px}.free-error{color:#ffb5b5;overflow-wrap:anywhere;min-height:1.5em}.free-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.free-head h2{font-size:20px}.free-head h2 small{color:var(--muted);font-size:12px}.free-head .secondary{width:auto}.free-players{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.free-player{background:#ffffff08;border:1px solid var(--line);border-radius:12px;padding:12px 8px;text-align:left;display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.free-player span,.free-player small{font-size:11px;color:var(--muted)}.free-player strong{font-size:13px}.free-player:disabled{opacity:1;cursor:default}.free-player.target{border-color:#f4d795;box-shadow:0 0 0 2px #f4d79544}.free-player.active-turn{background:#e7c99320}.free-player.eliminated{opacity:.45}.free-turn{color:var(--gold);text-align:center;font-weight:700}.free-stage{min-height:240px}.free-field-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:12px;min-height:240px}.free-field-columns>div{min-width:0}.free-field-columns small{display:block;color:var(--gold);margin-bottom:8px}.free-played-card{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#29223d;border-radius:8px;padding:5px;position:relative;min-height:60px}.free-played-card+.free-played-card{margin-top:-13px}.free-played-card .card-art{width:56px;height:56px;min-height:0;flex-shrink:0}.free-played-card b{font-size:12px}.free-played-card .card-numbers{margin:2px 0}.free-empty{font-size:12px;color:var(--muted)}.free-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.free-actions .primary,.free-actions .secondary{width:auto;margin:12px 0}.free-target-hint,.free-card-help{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.free-pets{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.free-pets .secondary{width:auto;font-size:11px}.free-hand{margin-top:12px}.free-field{margin:0!important}.free-battle .online-result-overlay{z-index:4}.free-battle .online-action-result{max-width:95%;white-space:normal}.free-lobby input{max-width:100%;min-width:0}
@media(max-width:600px){.free-players{grid-template-columns:repeat(2,minmax(0,1fr))}.free-player{padding:8px}.free-stage,.free-field-columns{min-height:210px}.free-field-columns{gap:8px;padding:6px}.free-played-card .card-art{width:42px;height:42px}.free-played-card b{font-size:10px}.free-head h2{font-size:17px}.free-lobby{padding:20px 14px}.free-head .secondary{font-size:12px;padding:8px}.free-hand{grid-template-columns:repeat(5,minmax(0,1fr))!important}}

.hero .free-mode-start{display:block;margin:12px auto 20px}

.free-field[aria-disabled=false]{cursor:pointer}.free-field:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.free-tap-hint{text-align:center;font-size:12px;color:var(--gold);line-height:1.6}

.free-field-columns{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:8px}
.free-field-columns>.duel-flow-arrow{pointer-events:none}
@media(max-width:600px){.free-field-columns{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:4px}}

.free-field-columns>div{display:flex;flex-direction:column}
.free-field-columns .free-total{margin-top:auto;padding-top:6px;flex-shrink:0}
.free-field-columns .free-played-card+.free-total{margin-top:auto}

.free-players{grid-template-columns:minmax(0,1fr);gap:6px;margin:10px 0}
.free-player{display:grid;grid-template-columns:minmax(65px,1fr) auto auto auto auto;align-items:center;gap:6px 12px;padding:10px 12px;border-radius:9px}
.free-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px}
.free-player>span,.free-player>strong,.free-player-extra{white-space:nowrap}
.free-player-status{grid-column:1/-1}
@media(max-width:600px){.free-player{grid-template-columns:minmax(55px,1fr) auto auto auto auto;gap:4px 6px;padding:9px 7px}.free-player-name,.free-player strong{font-size:11px}.free-player span,.free-player small{font-size:10px}}

.free-player{grid-template-columns:minmax(0,max-content) auto auto auto auto;justify-content:start;text-align:left}
.free-player-name{max-width:16em}
@media(max-width:600px){.free-player{grid-template-columns:minmax(0,max-content) auto auto auto auto;justify-content:start}.free-player-name{max-width:calc(100vw - 245px)}}

/* Align participant statistics independently of nickname length. */
.free-players{--free-name-column:180px;--free-type-column:65px;--free-stat-column:70px;--free-extra-column:90px}
.free-player{grid-template-columns:var(--free-name-column) var(--free-type-column) repeat(2,var(--free-stat-column)) var(--free-extra-column);justify-content:start}
.free-player-name{width:100%;max-width:100%;text-align:left}
.free-player>span,.free-player>strong,.free-player-extra{text-align:left;min-width:0}
@media(max-width:600px){.free-players{--free-name-column:minmax(0,1fr);--free-type-column:38px;--free-stat-column:46px;--free-extra-column:55px}.free-player{grid-template-columns:var(--free-name-column) var(--free-type-column) repeat(2,var(--free-stat-column)) var(--free-extra-column);gap:4px 5px}.free-player-name{max-width:100%}}
