:root{--stage:#0e0e14;--stage-2:#15161f;--panel:#1b1d29;--panel-2:#21243200;--line:#2c2f40;--ink:#f3f3f8;--ink-dim:#a3a6b8;--ink-faint:#6e7088;--a:#ff4d5e;--a-soft:#ff4d5e22;--a-glow:#ff4d5e55;--b:#2dd4ff;--b-soft:#2dd4ff22;--b-glow:#2dd4ff55;--gold:#ffc94d;--radius:16px;--radius-sm:10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 15% -10%, #ff4d5e18, transparent 60%), radial-gradient(1200px 600px at 85% -10%, #2dd4ff18, transparent 60%), var(--stage);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100dvh;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.stage{max-width:920px;margin:0 auto;padding:28px 18px 80px}.topbar{text-align:center;margin-bottom:22px}.logo{letter-spacing:-2px;margin:0;font-size:clamp(34px,8vw,56px);font-weight:900;line-height:1}.logo .vs{background:linear-gradient(135deg, var(--a), var(--b));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 6px;display:inline-block;transform:skew(-8deg)}.tagline{color:var(--ink-dim);margin:10px 0 0;font-size:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:18px}.panel h2{color:var(--ink-dim);letter-spacing:.3px;margin:0 0 12px;font-size:15px;font-weight:800}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--stage-2);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 13px;font-family:inherit;font-size:13px;transition:all .15s}.chip:hover{border-color:var(--b);color:var(--b)}.chip .tag{color:var(--ink-dim);margin-right:6px;font-size:11px}.versus-input{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.opt-field{flex-direction:column;gap:6px;display:flex}.opt-label{font-size:12px;font-weight:800}.opt-label.a{color:var(--a)}.opt-label.b{color:var(--b)}.opt-input{background:var(--stage-2);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);outline:none;padding:12px;font-family:inherit;font-size:15px;transition:border-color .15s}.opt-input:focus{border-color:var(--ink-dim)}.opt-input.a:focus{border-color:var(--a)}.opt-input.b:focus{border-color:var(--b)}.vs-pill{color:var(--ink-dim);padding-top:18px;font-size:18px;font-weight:900;transform:skew(-8deg)}.char-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.char-col-label{margin-bottom:8px;font-size:12px;font-weight:800}.char-col-label.a{color:var(--a)}.char-col-label.b{color:var(--b)}.char-list{flex-direction:column;gap:8px;display:flex}.char-opt{border:1px solid var(--line);background:var(--stage-2);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--ink);align-items:center;gap:10px;width:100%;padding:10px;font-family:inherit;transition:all .15s;display:flex}.char-opt:hover{border-color:var(--ink-dim)}.char-opt .em{font-size:22px;line-height:1}.char-opt .nm{font-size:14px;font-weight:700;display:block}.char-opt .ds{color:var(--ink-dim);margin-top:2px;font-size:11px;display:block}.char-opt.sel.a{border-color:var(--a);background:var(--a-soft);box-shadow:0 0 0 1px var(--a)}.char-opt.sel.b{border-color:var(--b);background:var(--b-soft);box-shadow:0 0 0 1px var(--b)}.char-opt.disabled{opacity:.35;cursor:not-allowed}.start-btn{border-radius:var(--radius);letter-spacing:.5px;cursor:pointer;color:#15151b;background:linear-gradient(135deg, var(--a), var(--b));border:none;width:100%;padding:17px;font-family:inherit;font-size:18px;font-weight:900;transition:transform .1s,filter .15s}.start-btn:hover{filter:brightness(1.08)}.start-btn:active{transform:scale(.99)}.start-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.error{color:#ff8a95;border-radius:var(--radius-sm);background:#ff4d5e15;border:1px solid #ff4d5e44;margin-bottom:16px;padding:12px;font-size:14px}.battle-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:18px;display:grid}.corner{align-items:center;gap:10px;display:flex}.corner.b{text-align:right;flex-direction:row-reverse}.corner .avatar{border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.corner.a .avatar{background:var(--a-soft);box-shadow:0 0 22px var(--a-glow)}.corner.b .avatar{background:var(--b-soft);box-shadow:0 0 22px var(--b-glow)}.corner .who{font-size:14px;font-weight:800}.corner .opt{color:var(--ink-dim);font-size:12px}.corner.a .who{color:var(--a)}.corner.b .who{color:var(--b)}.battle-vs{color:var(--ink-dim);font-size:22px;font-weight:900;transform:skew(-8deg)}.bubbles{flex-direction:column;gap:12px;min-height:80px;display:flex}.bubble{border-radius:16px;max-width:80%;padding:12px 15px;font-size:15px;line-height:1.5;animation:.32s cubic-bezier(.2,.9,.3,1.3) pop}.bubble.a{background:var(--a-soft);border:1px solid var(--a);border-bottom-left-radius:4px;align-self:flex-start}.bubble.b{background:var(--b-soft);border:1px solid var(--b);border-bottom-right-radius:4px;align-self:flex-end}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.typing{align-self:center;gap:5px;padding:12px;display:flex}.typing span{background:var(--ink-dim);border-radius:50%;width:8px;height:8px;animation:1.1s infinite both blink}.typing span:nth-child(2){animation-delay:.18s}.typing span:nth-child(3){animation-delay:.36s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.vote{margin-top:22px}.vote h3{text-align:center;color:var(--ink-dim);margin:0 0 12px;font-size:14px}.vote-btns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.vote-btn{border-radius:var(--radius-sm);cursor:pointer;background:var(--stage-2);padding:14px;font-family:inherit;font-size:14px;font-weight:800;transition:all .15s}.vote-btn.a{border:1px solid var(--a);color:var(--a)}.vote-btn.a:hover,.vote-btn.a.picked{background:var(--a-soft)}.vote-btn.b{border:1px solid var(--b);color:var(--b)}.vote-btn.b:hover,.vote-btn.b.picked{background:var(--b-soft)}.vote-btn.picked{box-shadow:0 0 0 2px}.verdict{border:1px solid var(--gold);border-radius:var(--radius);text-align:center;background:linear-gradient(#ffc94d12,#0000);margin-top:22px;padding:20px;animation:.4s pop}.verdict .gavel{font-size:30px}.verdict .label{color:var(--gold);letter-spacing:1px;margin:6px 0;font-size:12px;font-weight:800}.verdict .winner{margin:4px 0 10px;font-size:20px;font-weight:900}.verdict .winner.a{color:var(--a)}.verdict .winner.b{color:var(--b)}.verdict .winner.draw{color:var(--ink)}.verdict .line{color:var(--ink);font-size:15px;line-height:1.6}.actions{gap:10px;margin-top:18px;display:flex}.actions button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--line);background:var(--stage-2);color:var(--ink);flex:1;padding:13px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.actions button:hover{border-color:var(--ink-dim)}.actions .primary{background:var(--ink);color:var(--stage);border-color:var(--ink)}.gallery-link{color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;margin-top:12px;padding:7px 14px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-block}.gallery-link:hover{border-color:var(--gold);color:var(--gold)}.gallery{flex-direction:column;gap:10px;display:flex}.gallery-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);padding:16px;text-decoration:none;transition:border-color .15s,transform .1s;display:block}.gallery-card:hover{border-color:var(--ink-dim);transform:translateY(-1px)}.g-title{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:16px;font-weight:800;display:flex}.g-title .ga{color:var(--a)}.g-title .gb{color:var(--b)}.g-title .gvs{color:var(--ink-faint);font-size:12px}.g-meta{color:var(--ink-dim);margin-top:6px;font-size:12px}.g-verdict{color:var(--gold);margin-top:8px;font-size:13px;font-weight:700}.g-votes{color:var(--ink-dim);font-weight:500}.stats{margin-top:22px}.stats h3{text-align:center;color:var(--ink-dim);margin:0 0 12px;font-size:14px}.stats-bar{border:1px solid var(--line);border-radius:999px;height:38px;display:flex;overflow:hidden}.stats-bar .seg{color:#15151b;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.stats-bar .seg.a{background:var(--a)}.stats-bar .seg.b{background:var(--b)}.stats-labels{justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.stats-labels .sa{color:var(--a)}.stats-labels .sb{color:var(--b)}.cta-link{text-align:center;border-radius:var(--radius-sm);color:#15151b;background:linear-gradient(135deg, var(--a), var(--b));flex:1;padding:14px;font-size:15px;font-weight:800;text-decoration:none;display:block}.toast{background:var(--ink);color:var(--stage);z-index:50;border-radius:999px;padding:11px 18px;font-size:13px;font-weight:700;animation:.25s pop;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.daily-date{color:var(--gold);margin-left:6px;font-size:11px;font-weight:700}.chip.daily{background:linear-gradient(135deg,#ffc94d14,#0000);border-color:#ffc94d88}.chip.daily:hover{border-color:var(--gold);color:var(--gold)}.more-btn{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;margin:12px auto 0;font-family:inherit;font-size:12px;display:block}.more-btn:hover{color:var(--ink-dim)}.char-list{scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:348px;padding-right:4px;overflow-y:auto}.custom-form{border:1px dashed var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:8px;margin-top:8px;padding:10px;animation:.25s pop;display:flex}.custom-form.a{border-color:var(--a);background:var(--a-soft)}.custom-form.b{border-color:var(--b);background:var(--b-soft)}.custom-row{grid-template-columns:56px 1fr;gap:8px;display:grid}.custom-input{background:var(--stage-2);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);outline:none;padding:10px;font-family:inherit;font-size:13px}.custom-input:focus{border-color:var(--ink-dim)}.custom-input.emoji{text-align:center;padding:8px 4px;font-size:18px}.bubble-who{opacity:.85;margin-bottom:4px;font-size:11px;font-weight:800}.bubble.best{border-width:2px;border-color:var(--gold);box-shadow:0 0 18px #ffc94d33}.best-badge{color:var(--gold);margin-top:8px;font-size:11px;font-weight:800}.caret{vertical-align:-.15em;background:currentColor;width:2px;height:1em;margin-left:2px;animation:.8s infinite both blink;display:inline-block}.typing-row{align-items:center;gap:6px;display:flex}.typing-row.a{align-self:flex-start}.typing-row.b{flex-direction:row-reverse;align-self:flex-end}.typing-who{color:var(--ink-dim);font-size:12px;font-weight:700}.typing-row .typing{padding:6px}.vote-skip{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;margin:10px auto 0;font-family:inherit;font-size:12px;text-decoration:underline;display:block}.vote-skip:hover{color:var(--ink-dim)}.vote-btn:disabled{cursor:default;opacity:.85}.verdict .compare{color:var(--ink-dim);border-top:1px dashed #ffc94d44;margin-top:12px;padding-top:12px;font-size:13px;font-weight:700}@media (max-width:560px){.char-cols,.versus-input{grid-template-columns:1fr}.vs-pill{text-align:center;padding:0}}.shop{border:1px dashed var(--gold);background:#ffc94d0d;border-radius:14px;margin-top:18px;padding:14px 16px}.shop h3{color:var(--gold);margin:0 0 10px;font-size:14px}.shop-items{flex-wrap:wrap;gap:8px;display:flex}.shop-item{color:var(--ink);border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;text-decoration:none;transition:border-color .15s,color .15s;display:inline-block}.shop-item:hover{border-color:var(--gold);color:var(--gold)}.shop-disclosure{color:var(--ink-dim);margin:10px 0 0;font-size:11px;line-height:1.5}
