.duel-page-title{font-family:var(--font-brand), serif;text-align:center;color:var(--foreground);margin:0 0 1.2rem;font-size:clamp(2rem,6vw,3rem);line-height:1}.duel-page-title span{color:var(--accent-strong)}.duel-hub,.duel-room{flex-direction:column;gap:1rem;width:100%;display:flex}.duel-hub__tagline{max-width:40rem;color:var(--foreground-soft);text-align:center;margin:0 auto;font-size:.98rem;line-height:1.6}.duel-hub__stats{color:var(--foreground-faint);text-align:center;margin:0;font-size:.85rem;font-weight:650}.duel-hub__grid,.duel-room__grid{gap:1rem;display:grid}@media (min-width:860px){.duel-hub__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.duel-room__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.duel-card{border:1px solid var(--line);background:var(--surface);border-radius:1.4rem;flex-direction:column;gap:.85rem;min-width:0;padding:1.2rem;display:flex}@media (min-width:640px){.duel-card{padding:1.5rem}}.duel-card__title{color:var(--foreground);align-items:center;gap:.5rem;margin:0;font-size:1.05rem;font-weight:800;display:flex}.duel-card__title svg{color:var(--accent-strong)}.duel-card__text{color:var(--foreground-soft);margin:0;font-size:.9rem;line-height:1.55}.duel-divider{background:var(--line);height:1px;margin:.3rem 0}.duel-error{color:#e11d48;text-align:center;background:#e11d481f;border-radius:.9rem;margin:0;padding:.6rem .9rem;font-size:.9rem;font-weight:650}html[data-theme=dark] .duel-error{color:#fb7185}.duel-button{border:1px solid var(--border-strong);background:var(--surface-muted);min-height:2.75rem;color:var(--foreground);cursor:pointer;touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.2rem;font-size:.95rem;font-weight:750;text-decoration:none;transition:filter .15s,opacity .15s,border-color .15s;display:inline-flex}.duel-button:hover:not(:disabled){border-color:var(--accent)}.duel-button:disabled{cursor:not-allowed;opacity:.5}.duel-button--primary{background:var(--accent);color:#fff;border-color:#0000}.duel-button--primary:hover:not(:disabled){filter:brightness(1.08)}.duel-button--small{min-height:2.1rem;padding:.35rem .85rem;font-size:.85rem}.duel-icon-button{border:1px solid var(--line);background:var(--surface-muted);width:2.1rem;height:2.1rem;color:var(--foreground-soft);cursor:pointer;border-radius:999px;flex:none;place-items:center;display:inline-grid}.duel-icon-button:hover{color:var(--foreground)}.duel-link{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.duel-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.duel-chips{flex-wrap:wrap;gap:.4rem;display:flex}.duel-chip{border:1px solid var(--border-strong);color:var(--foreground-soft);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:999px;padding:.42rem .85rem;font-size:.86rem;font-weight:650;transition:background .15s,color .15s,border-color .15s}.duel-chip.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.duel-chip:disabled{cursor:default}.duel-chip:disabled:not(.is-active){opacity:.55}.duel-settings{flex-direction:column;gap:1.35rem;display:flex}.duel-section{flex-direction:column;gap:.65rem;display:flex}.duel-section__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.duel-section__title{color:var(--foreground-faint);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;display:inline-flex}.duel-section__hint{color:var(--foreground-faint);margin:0;font-size:.8rem}.duel-presets{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;padding:.2rem;display:inline-flex}.duel-presets button{color:var(--foreground-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.28rem .7rem;font-size:.76rem;font-weight:700;transition:background .15s,color .15s}.duel-presets button.is-active{background:var(--surface);color:var(--foreground);box-shadow:0 1px 4px #0000002e}.duel-presets button:disabled{cursor:default}.duel-mode-group{flex-direction:column;gap:.45rem;display:flex}.duel-mode-group__title{color:var(--foreground-soft);font-size:.8rem;font-weight:700}.duel-mode-grid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.5rem;display:grid}.duel-mode-tile{border:1px solid var(--line);background:var(--surface-muted);min-width:0;color:var(--foreground);text-align:left;cursor:pointer;touch-action:manipulation;border-radius:1rem;align-items:center;gap:.65rem;padding:.65rem 2.1rem .65rem .65rem;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex;position:relative}.duel-mode-tile:hover:not(:disabled){border-color:color-mix(in srgb, var(--tile) 55%, transparent);transform:translateY(-1px)}.duel-mode-tile.is-active{border-color:var(--tile);background:color-mix(in srgb, var(--tile) 13%, var(--surface-muted));box-shadow:0 6px 18px color-mix(in srgb, var(--tile) 22%, transparent)}.duel-mode-tile:disabled{cursor:default}.duel-mode-tile__icon{background:color-mix(in srgb, var(--tile) 16%, transparent);width:2.2rem;height:2.2rem;color:var(--tile-ink);border-radius:.75rem;flex:none;place-items:center;transition:background .18s,color .18s;display:grid}.duel-mode-tile.is-active .duel-mode-tile__icon{background:var(--tile);color:var(--tile-on)}.duel-mode-tile:not(.is-active) .duel-mode-tile__icon{filter:saturate(.55);opacity:.8}.duel-mode-tile__text{flex-direction:column;gap:.05rem;min-width:0;display:flex}.duel-mode-tile__text b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;font-weight:750;line-height:1.2;display:-webkit-box;overflow:hidden}.duel-mode-tile__text small{color:var(--foreground-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;line-height:1.25;overflow:hidden}.duel-mode-tile:not(.is-active) .duel-mode-tile__text b{color:var(--foreground-soft)}.duel-mode-tile__check{border:1.5px solid var(--border-strong);border-radius:999px;place-items:center;width:1.15rem;height:1.15rem;transition:background .18s,border-color .18s;display:grid;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.duel-mode-tile.is-active .duel-mode-tile__check{border-color:var(--tile);background:var(--tile);color:var(--tile-on)}.duel-answer-cards{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.duel-answer-card{border:1px solid var(--line);background:var(--surface-muted);min-width:0;color:var(--foreground-soft);text-align:left;cursor:pointer;border-radius:1rem;align-items:center;gap:.6rem;padding:.7rem .8rem;transition:border-color .18s,background .18s;display:flex}.duel-answer-card span{flex-direction:column;min-width:0;display:flex}.duel-answer-card b{color:var(--foreground);font-size:.9rem}.duel-answer-card small{color:var(--foreground-faint);font-size:.74rem;line-height:1.25}.duel-answer-card.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.duel-answer-card:disabled{cursor:default}.duel-segmented{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;align-self:flex-start;gap:.2rem;width:fit-content;max-width:100%;padding:.25rem;display:grid}.duel-segmented button{white-space:nowrap;color:var(--foreground-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem .95rem;font-size:.86rem;font-weight:700;transition:background .15s,color .15s}.duel-segmented button.is-active{background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 35%, transparent)}.duel-segmented button:disabled{cursor:default}.duel-settings__pair{gap:1.35rem;display:grid}@media (min-width:480px){.duel-settings__pair{grid-template-columns:auto auto;justify-content:start;column-gap:2.2rem}}.duel-stepper{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;align-self:flex-start;align-items:center;gap:.5rem;padding:.25rem;display:inline-flex}.duel-stepper button{background:var(--surface);width:2rem;height:2rem;color:var(--foreground);cursor:pointer;border:0;border-radius:999px;place-items:center;display:grid}.duel-stepper button:disabled{cursor:default;opacity:.35}.duel-stepper__value{flex-direction:column;align-items:center;gap:.2rem;min-width:3.4rem;display:flex}.duel-stepper__value b{color:var(--foreground);font-size:1rem;line-height:1}.duel-stepper__dots{gap:.18rem;display:flex}.duel-stepper__dots i{background:var(--border-strong);border-radius:999px;width:.32rem;height:.32rem;transition:background .15s}.duel-stepper__dots i.is-on{background:var(--accent)}.duel-switch{border:1px solid var(--line);background:var(--surface-muted);width:100%;color:var(--foreground-faint);text-align:left;cursor:pointer;border-radius:1rem;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex}.duel-switch.is-on{color:var(--accent-strong)}.duel-switch:disabled{cursor:default}.duel-switch__text{flex-direction:column;flex:1;min-width:0;display:flex}.duel-switch__text b{color:var(--foreground);font-size:.9rem}.duel-switch__text small{color:var(--foreground-faint);font-size:.76rem}.duel-switch__track{background:var(--border-strong);border-radius:999px;flex:none;width:2.6rem;height:1.5rem;transition:background .18s;position:relative}.duel-switch__track i{background:#fff;border-radius:999px;width:1.14rem;height:1.14rem;transition:transform .18s;position:absolute;top:.18rem;left:.18rem;box-shadow:0 1px 3px #0000004d}.duel-switch.is-on .duel-switch__track{background:var(--accent)}.duel-switch.is-on .duel-switch__track i{transform:translate(1.1rem)}.duel-live{color:var(--foreground-soft);background:#22c55e17;border:1px solid #22c55e59;border-radius:999px;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:.35rem .9rem;padding:.4rem .85rem;font-size:.82rem;font-weight:650;display:inline-flex}.duel-live b{color:var(--foreground);font-weight:800}.duel-live__item{align-items:center;gap:.45rem;display:inline-flex}.duel-live__dot{background:#22c55e;border-radius:999px;width:.55rem;height:.55rem;position:relative;box-shadow:0 0 8px #22c55e}.duel-live__dot:after{border-radius:inherit;content:"";background:#22c55e;animation:1.8s ease-out infinite duel-live-ping;position:absolute;inset:0}.duel-live__dot.is-idle,.duel-live__dot.is-idle:after{background:var(--foreground-faint);box-shadow:none;animation:none}@keyframes duel-live-ping{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.duel-live__dot:after{animation:none}}.duel-banner{border:1px solid var(--accent);background:var(--accent-soft);color:var(--foreground);border-radius:1rem;align-items:center;gap:.7rem;padding:.8rem 1rem;text-decoration:none;display:flex}.duel-banner span{flex:1;font-weight:650}.duel-banner b{color:var(--accent-strong)}.duel-searching{color:var(--foreground);flex-wrap:wrap;align-items:center;gap:.6rem;font-weight:700;display:flex}.duel-searching svg{color:var(--accent-strong)}.duel-code-form{gap:.5rem;display:flex}.duel-code-input,.duel-input{border:1px solid var(--border-strong);background:var(--surface-muted);min-width:0;color:var(--foreground);border-radius:999px;outline:none;flex:1;padding:.6rem .9rem;font-size:1rem}.duel-code-input{letter-spacing:.3em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.duel-code-input:focus-visible,.duel-input:focus-visible{border-color:var(--accent)}.duel-open-rooms{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.duel-open-room{background:var(--surface-muted);color:var(--foreground);border-radius:.9rem;align-items:center;gap:.7rem;padding:.55rem .7rem;text-decoration:none;display:flex}.duel-open-room:hover{outline:1px solid var(--accent)}.duel-open-room small{color:var(--foreground-faint);font-size:.78rem}.duel-open-room__count{color:var(--accent-strong);font-weight:800}.duel-avatar{background:var(--chip,var(--surface-muted));object-fit:cover;border-radius:999px;flex:none;width:2.25rem;height:2.25rem;display:block}.duel-room__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.duel-room__code{color:var(--foreground-faint);align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;display:flex}.duel-room__code b{color:var(--foreground);letter-spacing:.2em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.25rem}.duel-players{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.duel-player{background:var(--surface-muted);color:var(--foreground);border-radius:.9rem;align-items:center;gap:.7rem;padding:.55rem .7rem;display:flex}.duel-player b small{color:var(--accent-strong);font-weight:600}.duel-player.is-offline{opacity:.55}.duel-player.is-empty{border:1px dashed var(--line);color:var(--foreground-faint);background:0 0}.duel-player__state{color:var(--foreground-faint);align-items:center;gap:.25rem;font-size:.78rem;font-weight:650;display:flex}.duel-player__state svg{color:#f5b100}.duel-player__state .is-ready{color:#10b981}.duel-invite{flex-direction:column;gap:.5rem;display:flex}.duel-invite__list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.duel-invite__list li{color:var(--foreground);align-items:center;gap:.6rem;font-weight:650;display:flex}.duel-countdown{background:radial-gradient(circle at 50% 40%, var(--accent-soft), transparent 70%), var(--surface);color:var(--foreground-soft);letter-spacing:.1em;text-transform:uppercase;border-radius:1.4rem;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;font-weight:700;display:flex}.duel-countdown b{color:var(--accent-strong);font-family:var(--font-brand), serif;font-size:clamp(5rem,22vw,9rem);line-height:1;animation:1s ease-out duel-count}@keyframes duel-count{0%{opacity:.2;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}.duel-standings{border:1px solid var(--line);background:var(--surface);border-radius:1.2rem;flex-direction:column;gap:.4rem;margin:0;padding:.9rem;list-style:none;display:flex}.duel-standings li{grid-template-columns:auto minmax(0,7rem) minmax(0,1fr) auto;align-items:center;gap:.6rem;display:grid}.duel-standings li.is-me .duel-standings__name{color:var(--accent-strong)}.duel-standings .duel-avatar{width:1.8rem;height:1.8rem}.duel-standings__name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:700;overflow:hidden}.duel-standings__bar{background:var(--surface-muted);border-radius:999px;height:.5rem;overflow:hidden}.duel-standings__bar i{border-radius:inherit;background:var(--accent);height:100%;transition:width .4s;display:block}.duel-standings__score{color:var(--foreground);font-size:.95rem;font-weight:800}.duel-standings__meta{color:var(--foreground-faint);grid-column:2/-1;margin-top:-.3rem;font-size:.75rem}.duel-standings.is-compact{background:0 0;border-style:dashed;padding:.6rem .75rem}.duel-results{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.duel-results li{background:var(--surface-muted);color:var(--foreground);border-radius:1rem;align-items:center;gap:.7rem;padding:.65rem .8rem;display:flex}.duel-results li.is-winner{background:color-mix(in srgb, #f5b100 12%, var(--surface-muted));border:1px solid #f5b100}.duel-results li.is-me b{color:var(--accent-strong)}.duel-results small{color:var(--foreground-faint);font-size:.78rem}.duel-results__rank{width:1.6rem;color:var(--foreground-faint);place-items:center;font-weight:800;display:grid}.duel-results li.is-winner .duel-results__rank{color:#f5b100}.duel-results__score{flex-direction:column;align-items:flex-end;font-size:1.15rem;font-weight:800;display:flex}.duel-chat__list{overscroll-behavior:contain;min-height:6rem;max-height:16rem;color:var(--foreground);overflow-wrap:anywhere;flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.9rem;line-height:1.45;list-style:none;display:flex;overflow-y:auto}.duel-chat__list b{color:var(--accent-strong)}.duel-chat__system{color:var(--foreground-faint);font-size:.8rem;font-style:italic}.duel-chat__form{gap:.5rem;display:flex}.duel-toast{z-index:70;border:1px solid var(--accent);background:var(--surface-popover,var(--surface));max-width:26rem;color:var(--foreground);border-radius:1.2rem;align-items:center;gap:.7rem;margin-left:auto;padding:.75rem .8rem;animation:.25s ease-out duel-toast-in;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 18px 48px #0a0c1459}.duel-toast__text{flex:1;min-width:0;font-size:.9rem;font-weight:700}@keyframes duel-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.quiz-mode-card--duel .quiz-mode-card__art{background-image:url(/quiz/modes/light/duel.webp)}html[data-theme=dark] .quiz-mode-card--duel .quiz-mode-card__art{background-image:url(/quiz/modes/dark/duel.webp)}.duel-card .qz-blitz-review{margin:0 auto}.duel-kind-badges{flex-wrap:wrap;gap:.25rem;margin-top:.2rem;display:flex}.duel-kind-badge{border-radius:999px;place-items:center;width:1.3rem;height:1.3rem;display:inline-grid}@media (max-width:520px){.duel-mode-grid{grid-template-columns:1fr 1fr;gap:.4rem}.duel-mode-tile{gap:.5rem;padding:.55rem}.duel-mode-tile__icon{border-radius:.6rem;width:1.9rem;height:1.9rem}.duel-mode-tile__text b{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;font-size:.82rem}.duel-mode-tile__text small{display:none}.duel-mode-tile__check{border-width:2px;border-color:var(--surface);background:var(--surface-muted);width:1.05rem;height:1.05rem;top:-.35rem;right:-.35rem;transform:none}.duel-mode-tile:not(.is-active) .duel-mode-tile__check{display:none}.duel-mode-tile.is-active .duel-mode-tile__check{border-color:var(--surface)}.duel-segmented{width:100%;display:flex}.duel-segmented button{flex:auto;padding:.45rem;font-size:.8rem}.duel-answer-card{padding:.6rem .65rem}}.duel-segmented.duel-segmented--grid{border-radius:1rem;grid-template-columns:1fr 1fr;grid-auto-flow:row;width:100%;max-width:26rem;display:grid}.duel-segmented--grid button{border-radius:.75rem}.duel-player__actions{flex:none;gap:.35rem;display:inline-flex}.duel-icon-button--host:hover{color:#f5b100;border-color:#f5b1008c}.duel-watch{flex-direction:column;gap:.6rem;display:flex}.duel-watchers{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.duel-watcher{border:1px solid var(--line);background:var(--surface-muted);width:100%;min-width:0;color:var(--foreground);text-align:left;cursor:pointer;touch-action:manipulation;border-radius:999px;align-items:center;gap:.55rem;padding:.45rem .6rem;transition:border-color .18s,background .18s,transform .18s;display:flex}.duel-watcher:hover:not(:disabled){transform:translateY(-1px)}.duel-watcher:disabled{cursor:default}.duel-watcher.is-seen{background:color-mix(in srgb, #22c55e 12%, var(--surface-muted));border-color:#22c55e}.duel-watcher.is-unseen{background:color-mix(in srgb, #f43f5e 11%, var(--surface-muted));border-color:#f43f5e}.duel-watcher__mark{border:1.5px dashed var(--border-strong);color:#fff;border-radius:999px;flex:none;place-items:center;width:1.35rem;height:1.35rem;transition:background .18s,border-color .18s,transform .18s;display:grid}.duel-watcher.is-seen .duel-watcher__mark{background:#22c55e;border:0;transform:scale(1.05);box-shadow:0 0 10px #22c55e8c}.duel-watcher.is-unseen .duel-watcher__mark{background:#f43f5e;border:0;transform:scale(1.05);box-shadow:0 0 10px #f43f5e80}.duel-watcher__avatar{background:var(--chip,var(--surface));object-fit:cover;border-radius:999px;flex:none;width:1.8rem;height:1.8rem;display:block}.duel-watcher:not(.is-seen):not(.is-unseen) .duel-watcher__avatar{opacity:.6;filter:grayscale(.5)}.duel-watcher__text{flex-direction:column;min-width:0;display:flex}.duel-watcher__text b{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.duel-watcher__text small{color:var(--foreground-faint);font-size:.72rem}.duel-watcher.is-seen .duel-watcher__text small{color:#16a34a}.duel-watcher.is-unseen .duel-watcher__text small{color:#e11d48}html[data-theme=dark] .duel-watcher.is-seen .duel-watcher__text small{color:#4ade80}html[data-theme=dark] .duel-watcher.is-unseen .duel-watcher__text small{color:#fb7185}.duel-watch__match{flex-direction:column;gap:.4rem;display:flex}
