.duel-shell{min-height:100dvh}.duel-header{position:static;display:flex;align-items:center;justify-content:space-between;padding:16px 5%;gap:12px}.duel-header img{object-fit:contain}.duel-header>span{color:var(--muted);font-size:11px;letter-spacing:2px}.duel-main{margin:0 auto;max-width:900px;width:100%;padding:28px 20px 60px}.duel-card{background:var(--panel);border:1px solid #8a9eba44;border-radius:20px;padding:28px;margin-bottom:20px}.duel-lobby{text-align:center}.duel-lobby h1{font-size:32px;margin:16px 0}.duel-lobby p{color:var(--muted);line-height:1.7;margin:14px 0}.duel-lobby label{display:grid;gap:8px;text-align:left;max-width:440px;margin:22px auto 14px}.duel-lobby input{width:100%;border:1px solid #6d8db850;border-radius:10px;padding:13px;color:inherit;background:var(--bg);font-size:16px}.duel-mascots{display:flex;justify-content:center}.duel-mascots img{width:130px;height:195px;object-fit:contain}.duel-code{display:inline-block;letter-spacing:3px;color:var(--gold);font-size:20px}.duel-players{display:flex;gap:20px;justify-content:center;margin:25px 0}.duel-players>div{display:grid;justify-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}.duel-players img{height:96px}.duel-connection{color:var(--muted);margin:0 0 15px;line-height:1.6}.duel-game{max-width:none;margin:0;width:100%}.duel-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:16px;padding:20px 0}.duel-score span{overflow-wrap:anywhere}.duel-score strong{font-size:28px;color:var(--gold)}.duel-countdown{text-align:center;font-size:28px;padding:25px}.duel-game .answer-history{max-height:300px;overflow-y:auto}.duel-game .answer-form{position:sticky;bottom:0;padding:16px 0 max(16px,env(safe-area-inset-bottom));z-index:4}.duel-game .answer-form input{font-size:16px;min-width:0}.duel-game .answer-form label{display:block;margin-bottom:8px}.duel-result{text-align:center;margin:20px 0}.duel-result>img{width:160px;height:240px;margin:auto}.duel-main .back{display:block;margin:20px auto}.duel-main .error{overflow-wrap:anywhere}@media (max-width:600px){.duel-main{padding:18px 12px 36px}.duel-card{padding:20px 16px}.duel-header{padding:10px 14px}.duel-header>span{display:none}.duel-game{padding:18px 12px}.duel-game .input-row{display:flex;gap:8px}.duel-game .input-row input{flex:1;width:0}.duel-game .input-row button{min-width:0;width:auto;padding:12px}.duel-main .setting-row{gap:12px;flex-wrap:wrap}}