.duel-lobby{width:100%;max-width:1080px;min-width:0;margin:0 auto;padding:22px 30px 32px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.duel-block{display:flex;flex-direction:column;gap:12px}.duel-block__hint{margin:0;font-size:14px;font-weight:700;color:var(--gs-muted)}.duel-block .duel-block__hint{color:#5b544d}.duel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.duel-invite{display:flex;flex-direction:column;gap:10px}.duel-invite p{margin:0}.duel-invite .duel-invite__code{align-self:flex-start;padding:2px 14px;border-width:3px;box-shadow:3px 3px 0 #000;font-family:var(--gs-display);font-size:36px;letter-spacing:.12em;overflow-wrap:anywhere}.duel-invite__link{padding:8px 10px;border:2px dashed rgba(20,20,20,.35);border-radius:var(--gs-radius-btn);font-size:13px;font-weight:700;color:#3a332e;overflow-wrap:anywhere}.duel-invite__countdown,.duel-invite__waiting{font-size:14px;font-weight:700;color:#5b544d}.duel-challenge__form{display:flex;flex-wrap:wrap;gap:10px}.duel-challenge__form .duel-challenge__field{flex:1 1 200px}.duel-challenge__pending{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.duel-challenge__pending p{margin:0;font-weight:700}.duel-error{margin:0;font-size:14px;font-weight:900;color:var(--gs-blood)}.duel-error a{color:var(--gs-ink);text-decoration:underline}.duel-preference{display:flex;align-items:center;justify-content:space-between;gap:12px}.duel-switch{position:relative;flex:none;width:56px;height:32px;padding:0;border:3px solid var(--gs-ink);border-radius:var(--gs-radius-btn);background:#8a8276;cursor:pointer}.duel-switch i{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:3px;background:var(--gs-paper);border:2px solid var(--gs-ink);box-sizing:border-box;transition:transform .12s ease-out}.duel-switch[aria-checked=true]{background:#4fae6a}.duel-switch[aria-checked=true] i{transform:translateX(24px)}.duel-player{gap:8px;min-width:0;font-weight:900}.duel-player,.duel-player__avatar{display:inline-flex;align-items:center}.duel-player__avatar{flex:none;width:32px;height:32px;justify-content:center;overflow:hidden;border:3px solid var(--gs-ink);border-radius:var(--gs-radius-btn);background:var(--gs-mark);color:var(--gs-ink)}.duel-player__avatar img{width:100%;height:100%;object-fit:cover}.duel-player__handle{overflow-wrap:anywhere}.duel-landing__invited{margin:0;font-size:18px}.duel-toast{position:fixed;z-index:55;top:calc(72px + env(safe-area-inset-top, 0px));right:16px;width:min(360px,calc(100vw - 32px));box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:14px 16px}.duel-toast p{margin:0}.duel-toast__head{display:flex;flex-direction:column;gap:6px}.duel-toast__kind{font-weight:900;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gs-blood)}.duel-toast__bar{height:8px;border:2px solid var(--gs-ink);background:#e4dccb}.duel-toast__bar i{display:block;height:100%;background:var(--gs-blood);transition:width 1s linear}.duel-toast__closed{font-weight:900}.duel-toast[data-collapsed=true]{padding:8px 12px}.duel-toast[data-collapsed=true] .duel-toast__bar,.duel-toast[data-collapsed=true] .duel-toast__kind{display:none}@media (max-width:720px){.duel-lobby{padding:14px 14px 20px}.duel-toast{top:auto;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));left:16px;width:auto}}@media (prefers-reduced-motion:reduce){.duel-switch i,.duel-toast__bar i{transition:none}}.duel-queue{display:flex;flex-direction:column;gap:8px}.duel-queue__row{margin:0;font-size:15px;font-weight:700;color:#5b544d}.duel-queue__row strong{color:var(--gs-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.duel-block .duel-queue__found,.duel-queue .duel-queue__found{margin:0;padding:6px 10px;border-width:3px;box-shadow:3px 3px 0 #000;font-family:var(--gs-display);font-size:20px;overflow-wrap:anywhere}.duel-lobby__header{grid-column:1/-1}@media (min-width:900px){.duel-lobby:not(.duel-landing){grid-template-columns:repeat(2,minmax(0,1fr))}}.duel-landing{max-width:560px}