@import "https://fonts.googleapis.com/css2?family=VT323&family=Share+Tech+Mono&display=swap";:root{--bg:#050505;--bg-1:#060808;--bg-2:#030303;--green:#5dff5d;--green-dim:#6b8e6b;--green-deep:#1a4a1a;--cyan:#0ff;--cyan-dim:#00e6ff;--yellow:#ffd95d;--magenta:#ff3dff;--red:#ff5d5d;--red-bright:#ff3838;--grey:#cfcfcf;--grey-dim:#888;--grey-deep:#2a4a2a;--violet:#8b5cf6;--violet-deep:#241a3a;--duel-blue:#5b8cff;--duel-red:#ff5d5d;--vignette:1}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{color:var(--green);background:radial-gradient(ellipse at 30% 10%, #ff3dff1a, transparent 50%), radial-gradient(ellipse at 70% 90%, #00ffff1a, transparent 50%), var(--bg);justify-content:center;align-items:center;font-family:Share Tech Mono,VT323,monospace;display:flex}#root{justify-content:center;align-items:center;display:flex}.phone{aspect-ratio:9/16;background:#000;border-radius:22px;max-width:100vw;height:min(100vh,177.778vw);max-height:100vh;position:relative;overflow:hidden;box-shadow:0 0 0 2px #1a1a1a,0 0 60px #00ffff2e,0 0 120px #ff3dff1a}.terminal{background:linear-gradient(180deg, var(--bg-1) 0%, var(--bg) 60%, var(--bg-2) 100%);width:100%;height:100%;color:var(--green);flex-direction:column;gap:10px;padding:14px 12px 10px;font-size:11px;line-height:1.25;display:flex;position:relative;overflow:hidden}.terminal:after{content:"";pointer-events:none;z-index:19;opacity:var(--vignette);background:radial-gradient(#0000 55%,#0000008c 100%);position:absolute;inset:0}.logo-block{border:1px solid var(--cyan);text-align:center;color:var(--cyan);text-shadow:0 0 6px #00ffff8c;border-radius:8px;padding:8px 4px 6px;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #00ffff0d,0 0 8px #00ffff2e}.marquee{width:100%;height:auto;image-rendering:pixelated;display:block}.panel{border:1px solid;border-radius:6px;padding:9px 9px 8px;position:relative}.panel-title{background:var(--panel-title-bg,var(--bg));letter-spacing:.5px;z-index:2;padding:0 7px;font-size:12px;position:absolute;top:-8px;left:12px}.panel-yellow{border-color:var(--yellow)}.panel-yellow>.panel-title{color:var(--yellow)}.panel-cyan{border-color:var(--cyan)}.panel-cyan>.panel-title{color:var(--cyan)}.panel-magenta{border-color:var(--magenta)}.panel-magenta>.panel-title{color:var(--magenta)}.panel-magenta{flex-direction:column;min-height:86px;max-height:96px;display:flex}.panel-stream{border-color:var(--grey);flex-direction:column;min-height:0;display:flex}.panel-stream>.panel-title{color:var(--grey)}.panel-canvas{border-color:var(--cyan);flex:1;min-height:0;padding:0}.panel-canvas>.panel-title{color:var(--cyan)}.canvas-inner{border-radius:6px;width:100%;height:100%;overflow:hidden}.exec{color:var(--green);grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;font-size:12px;display:grid}.exec .lbl{color:var(--green);white-space:nowrap}.exec .head{color:var(--yellow)}.progress-track{background:#0d0d0d;border:0;width:100%;height:12px;display:inline-block;position:relative;overflow:hidden}.progress-fill{background-image:repeating-linear-gradient(90deg,#cfcfcf 0 2px,#888 2px 4px);height:100%;transition:width .3s}.progress-fill.warn{background-image:repeating-linear-gradient(90deg, var(--yellow) 0 2px, #997f1a 2px 4px)}.progress-fill.danger{background-image:repeating-linear-gradient(90deg, var(--red) 0 2px, #803030 2px 4px)}.progress-fill.like{background-image:repeating-linear-gradient(90deg, var(--cyan) 0 2px, #077 2px 4px)}.exec .hp-cell{align-items:center;gap:6px;min-width:0;display:flex}.exec .hp-cell .progress-track{flex:1;min-width:0}.exec .hp-ratio{color:var(--green-dim);text-align:right;white-space:nowrap;min-width:56px;font-size:10px}.status-fainted{color:var(--red);letter-spacing:.5px;font-weight:700}.toasts{pointer-events:none;z-index:20;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.toast{color:var(--green);border:1px solid var(--green-deep);white-space:nowrap;background:#000000b3;border-radius:4px;padding:3px 12px;font-family:Share Tech Mono,monospace;font-size:12px;animation:2s ease-in forwards toast-fade}@keyframes toast-fade{0%{opacity:0;transform:translateY(8px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.fire-callouts{pointer-events:none;z-index:18;flex-direction:column;gap:5px;width:170px;font-family:Share Tech Mono,monospace;display:flex;position:absolute;top:38%;right:8px}.fire-callout{border:1px solid var(--green-deep);color:var(--green);background:#000000b8;border-radius:4px;padding:4px 7px 5px;animation:2.5s ease-out forwards fire-callout-slide}.fire-callout-line{word-break:break-word;font-size:10px;line-height:1.25}.fire-callout-line .nick{color:var(--cyan-dim)}.fire-callout-line .mon{color:var(--yellow)}.fire-callout-line .ability{color:var(--magenta)}.fire-callout-line .conn{color:var(--green-dim)}.fire-callout-damage{letter-spacing:.5px;justify-content:flex-end;align-items:baseline;gap:6px;margin-top:2px;font-family:VT323,monospace;font-size:14px;display:flex}.fire-callout-damage .dmg{color:var(--red)}.fire-callout.crit{border-color:var(--red-bright);box-shadow:0 0 10px #ff383859}.fire-callout.crit .crit-tag{color:var(--yellow);text-shadow:0 0 6px #ffd95d99;font-weight:700}.fire-callout.crit .dmg{color:var(--red-bright);text-shadow:0 0 6px #ff38388c}@keyframes fire-callout-slide{0%{opacity:0;transform:translate(110%)}10%{opacity:1;transform:translate(0)}82%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-110%)}}.defeated-callout{color:var(--red);letter-spacing:3px;text-shadow:0 0 12px #ff3838b3,0 0 24px #ff383866;z-index:30;pointer-events:none;font-family:VT323,monospace;font-size:56px;animation:3s ease-out forwards defeated-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes defeated-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.status-cursor{background:var(--green);vertical-align:middle;width:7px;height:12px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.status-deck-wild{align-items:center;gap:8px;font-size:12px;display:flex}.status-deck-wild-name{color:var(--yellow);letter-spacing:.5px;white-space:nowrap;font-weight:700}.status-deck-wild .progress-track{flex:1;min-width:0}.status-deck-wild-ratio{color:var(--green-dim);white-space:nowrap;text-align:right;min-width:56px;font-size:10px}.status-deck-board{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px;display:grid}.status-deck-slot{border:1px solid var(--green-deep);color:var(--green);background:#000000bd;border-radius:4px;flex-direction:column;gap:3px;min-width:0;padding:4px 6px;display:flex}.status-deck-slot.empty{opacity:.55}.status-deck-slot-head{align-items:baseline;gap:4px;min-width:0;display:flex}.status-deck-slot-rank{letter-spacing:.4px;font-size:11px;font-weight:700}.status-deck-slot-nick{color:var(--cyan-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:10px;overflow:hidden}.status-deck-slot-mon{aspect-ratio:5/4;background:#00000073;border-radius:3px;position:relative}.status-deck-slot.empty .status-deck-slot-mon{border:1px dashed var(--green-deep)}.status-deck-slot-score{color:var(--red);text-align:right;font-family:VT323,monospace;font-size:14px}.status-deck-slot.rank-1{border-color:#6b5a1a;box-shadow:0 0 8px #ffd95d4d}.status-deck-slot.rank-1 .status-deck-slot-rank,.status-deck-slot.rank-1 .status-deck-slot-score{color:var(--yellow)}.status-deck-slot.rank-2{border-color:#4a5560}.status-deck-slot.rank-2 .status-deck-slot-rank{color:#c8d0d8}.status-deck-slot.rank-3{border-color:#5a3a1a}.status-deck-slot.rank-3 .status-deck-slot-rank{color:peru}.heal-callout{border:1px solid var(--green);color:var(--green);background:#000000bd;border-radius:4px;align-items:baseline;gap:6px;padding:3px 8px 4px;font-family:Share Tech Mono,monospace;animation:2.5s ease-out forwards fire-callout-slide;display:flex}.heal-callout .heal-callout-tag{letter-spacing:.5px;color:var(--green);font-size:9px;font-weight:700}.heal-callout .heal-callout-nick{color:var(--cyan-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.gift-toast{border:1px solid var(--green-deep);color:var(--green);background:#000000bd;border-radius:4px;padding:4px 7px 5px;animation:2.5s ease-out forwards fire-callout-slide}.gift-toast .gift-toast-head{align-items:baseline;gap:6px;margin-bottom:2px;display:flex}.gift-toast .gift-toast-tag{letter-spacing:.5px;font-size:9px;font-weight:700}.gift-toast .gift-toast-nick{color:var(--cyan-dim);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.gift-toast .gift-toast-msg{word-break:break-word;font-size:11px;line-height:1.25}.gift-instant{border-color:#105869}.gift-instant .gift-toast-msg{color:var(--cyan)}.gift-permanent{border-color:#6b5a1a;box-shadow:0 0 10px #ffd95d4d}.gift-permanent .gift-toast-tag{color:var(--yellow)}.gift-permanent .gift-toast-msg{color:var(--yellow);font-family:VT323,monospace;font-size:14px}.gift-global{border-color:var(--cyan);box-shadow:0 0 12px #00ffff73,0 0 24px #ff3dff38}.gift-global .gift-toast-tag{color:var(--magenta)}.gift-global .gift-toast-msg{color:var(--cyan);font-family:VT323,monospace;font-size:15px}.conn-banner{letter-spacing:.5px;z-index:40;pointer-events:none;background:#000000c7;border-radius:3px;align-items:center;gap:6px;padding:3px 10px 4px;font-family:Share Tech Mono,monospace;font-size:11px;animation:.24s ease-out conn-banner-in;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.conn-banner-reconnect{color:var(--yellow);border:1px solid #6b5a1a;box-shadow:0 0 8px #ffd95d40}.conn-banner-degraded{color:var(--green-dim);border:1px solid var(--green-deep)}.conn-banner .conn-dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite conn-dot-pulse}.conn-banner .conn-text{text-transform:uppercase}.conn-banner .conn-ellipsis:after{content:"";animation:1.4s steps(4,end) infinite conn-ellipsis}@keyframes conn-ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@keyframes conn-dot-pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes conn-banner-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.chat-prompt{color:var(--green);margin-bottom:4px;font-size:12px;line-height:1.25}.chat-prompt .tag{color:var(--green)}.chat-log{color:var(--green);flex:1;min-height:0;font-family:Share Tech Mono,monospace;font-size:11px;line-height:1.45;position:relative;overflow-y:auto}.chat-log::-webkit-scrollbar{width:4px}.chat-log::-webkit-scrollbar-thumb{background:var(--green-deep)}.chat-log::-webkit-scrollbar-track{background:0 0}.chat-line{white-space:pre-wrap;word-break:break-word}.chat-line .ts{color:var(--green-dim)}.chat-line .gt,.chat-line .sys{color:var(--green)}.chat-line .user{color:var(--cyan-dim)}.chat-line .user.alt{color:var(--magenta)}.chat-line .user.warn{color:var(--yellow)}.chat-line .tag{letter-spacing:.4px;font-weight:700}.chat-line .dmg{color:var(--red);font-weight:700}.chat-line.kind-attack{color:var(--green)}.chat-line.kind-gift{color:var(--yellow)}.chat-line.kind-gift .tag,.chat-line.kind-evolve{color:var(--magenta)}.chat-line.kind-evolve .tag{color:var(--cyan)}.chat-line.kind-faint{color:var(--red-bright);font-weight:700}.chat-line.kind-faint .tag{color:var(--yellow)}.camera-panel{z-index:100;border:1px solid var(--green-deep);background:#000000c7;flex-direction:column;gap:6px;width:240px;max-height:calc(100vh - 32px);padding:8px 10px;font-family:Share Tech Mono,monospace;display:flex;position:fixed;top:16px;left:16px;overflow-y:auto}.camera-panel-title{color:var(--green);letter-spacing:2px;opacity:.7;font-size:10px}.camera-panel-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.camera-panel-toggle{color:var(--green);border:1px solid var(--green-deep);letter-spacing:1px;cursor:pointer;background:0 0;min-width:0;padding:2px 6px;font-family:inherit;font-size:10px}.camera-panel-toggle:hover{background:var(--green-deep);color:#0a0a0a}.camera-panel--collapsed{width:auto;max-height:none;padding:4px 6px;overflow:visible}.camera-panel-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.camera-panel-checkbox{color:var(--green);cursor:pointer;font-size:11px}.camera-panel-checkbox input{accent-color:var(--green)}.camera-panel-slider{color:var(--green);font-size:11px}.camera-panel-slider input[type=range]{accent-color:var(--cyan);flex:1;min-width:0}.camera-panel-value{color:var(--cyan);text-align:right;min-width:24px;font-family:VT323,monospace;font-size:14px}.camera-panel-subtitle{color:var(--green-dim);letter-spacing:1.5px;opacity:.7;margin-top:2px;font-size:9px}.camera-panel-presets{flex-direction:column;gap:3px;max-height:140px;display:flex;overflow-y:auto}.camera-preset-row{align-items:stretch;gap:3px;display:flex}.camera-preset-select{color:var(--green);border:1px solid var(--green-deep);cursor:pointer;text-align:left;background:#0a0a0a;flex:1;align-items:center;gap:6px;padding:3px 6px;font-family:inherit;font-size:11px;display:flex;overflow:hidden}.camera-preset-select:hover{background:var(--green-deep);color:#0a0a0a}.camera-preset-select.active{border-color:var(--cyan);color:var(--cyan)}.camera-preset-dot{color:var(--cyan);font-size:9px}.camera-preset-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.camera-preset-delete{color:var(--red);border:1px solid var(--red);cursor:pointer;background:#0a0a0a;padding:0 6px;font-family:inherit;font-size:10px}.camera-preset-delete:hover{background:var(--red);color:#0a0a0a}.camera-panel-save input[type=text]{color:var(--green);border:1px solid var(--green-deep);background:#0a0a0a;outline:none;flex:1;min-width:0;padding:3px 6px;font-family:inherit;font-size:10px}.camera-panel-save input[type=text]::placeholder{color:var(--grey-deep)}.camera-panel button{color:var(--green);border:1px solid var(--green-deep);letter-spacing:1px;cursor:pointer;background:#0a0a0a;min-width:0;padding:3px 6px;font-family:inherit;font-size:10px}.camera-panel button:hover{background:var(--green-deep);color:#0a0a0a}.camera-panel button.active{background:var(--green);color:#0a0a0a}.camera-panel button.danger{color:var(--red);border-color:var(--red);flex:1}.camera-panel button.danger:hover{background:var(--red);color:#0a0a0a}.dev-controls{z-index:100;border:1px solid var(--green-deep);background:#000000c7;flex-direction:column;gap:6px;width:360px;max-height:calc(100vh - 32px);padding:8px 10px;font-family:Share Tech Mono,monospace;display:flex;position:fixed;top:16px;right:16px;overflow-y:auto}.dev-controls-title{color:var(--green);letter-spacing:2px;opacity:.7;font-size:10px}.dev-controls-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.dev-controls-toggle{color:var(--green);border:1px solid var(--green-deep);letter-spacing:1px;cursor:pointer;background:0 0;min-width:0;padding:2px 6px;font-family:inherit;font-size:10px}.dev-controls-toggle:hover{background:var(--green-deep);color:#0a0a0a}.dev-controls--collapsed{width:auto;max-height:none;padding:4px 6px;overflow:visible}.dev-controls-row{flex-wrap:wrap;gap:4px;display:flex}.dev-controls button{color:var(--green);border:1px solid var(--green-deep);letter-spacing:1px;cursor:pointer;background:#0a0a0a;min-width:56px;padding:3px 6px;font-family:inherit;font-size:10px}.dev-controls button:hover{background:var(--green-deep);color:#0a0a0a}.dev-controls button:active,.dev-controls button.dev-arena-active{background:var(--green);color:#0a0a0a}.dev-controls button.danger{color:var(--red);border-color:var(--red);flex:1}.dev-controls button.danger:hover{background:var(--red);color:#0a0a0a}.dev-controls button.new{color:#ffd84d;border-color:#b89100}.dev-controls button.new:hover{color:#0a0a0a;background:#b89100}.dev-controls button.excluded{color:#c95dc9;background:repeating-linear-gradient(-45deg,#0a0a0a 0 4px,#170a17 4px 6px);border-color:#6a2a6a}.dev-controls button.excluded:hover{color:#0a0a0a;background:#6a2a6a}.duel-status{flex-direction:column;gap:6px;padding:2px 0;display:flex}.duel-status-row{letter-spacing:.04em;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.duel-crown{color:#ffd23f;font-size:15px}.duel-king-name{color:#ffd23f;text-shadow:0 0 8px #ffd23f59;font-weight:700}.duel-streak{color:#05070c;background:#ffd23f;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:700}.duel-vs{color:#6b7a8f;font-size:10px}.duel-chal-name{color:#7fd7ff;font-weight:700}.duel-queue{flex-direction:column;gap:3px;display:flex}.duel-queue-label{color:#6b7a8f;letter-spacing:.14em;font-size:9px}.duel-queue-rail{scrollbar-width:none;gap:5px;padding-bottom:2px;display:flex;overflow-x:auto}.duel-queue-rail::-webkit-scrollbar{display:none}.duel-queue-empty{color:#4d5a6b;font-size:10px;font-style:italic}.duel-queue-chip{color:#cfe3f5;background:#7fd7ff14;border:1px solid #7fd7ff40;border-radius:3px;flex:none;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:inline-flex}.duel-queue-idx{color:#6b7a8f;font-size:9px}.duel-queue-lv{color:#7fd7ff;font-size:9px}.duel-banner{pointer-events:none;z-index:30;flex-direction:column;align-items:center;gap:4px;animation:.22s ease-out duel-banner-pop;display:flex;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.duel-banner-title{letter-spacing:.06em;color:#fff;text-shadow:0 0 18px #000000d9;font-size:46px;font-weight:800;line-height:1}.duel-banner-sub{letter-spacing:.1em;color:#cfe3f5;text-shadow:0 0 10px #000000e6;font-size:13px}.duel-banner--ko .duel-banner-title{color:#ff5f5f}.duel-banner--crown .duel-banner-title{color:#ffd23f}.duel-banner--digivolve .duel-banner-title{color:#7fd7ff}@keyframes duel-banner-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.82)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.chat-line.kind-crown,.chat-line.kind-crown .tag{color:#ffd23f}.duel-mvp{flex-direction:column;gap:3px;padding:2px 0;display:flex}.duel-mvp-empty{color:#6b7a8f;font-size:11px;font-style:italic}.duel-mvp-main{white-space:nowrap;align-items:center;gap:8px;display:flex}.duel-mvp-badge{color:#05070c;letter-spacing:.08em;background:#ffd23f;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700}.duel-mvp-name{color:#ffd23f;text-shadow:0 0 10px #ffd23f59;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.duel-mvp-sub{color:#6b7a8f;letter-spacing:.05em;font-size:10px}.duel-mvp-streak{color:#ffd23f;letter-spacing:.06em;font-size:15px}.dev-spin-row{align-items:center;gap:8px}.dev-spin-toggle{color:#cfe3f5;align-items:center;gap:4px;font-size:10px;display:inline-flex}.dev-spin-slider{accent-color:#7fd7ff;flex:1;min-width:80px}.dev-spin-value{color:#7fd7ff;text-align:right;min-width:30px;font-size:10px}.viewer-avatar{object-fit:cover;background:#05070c;border-radius:50%;flex:none;display:inline-block;box-shadow:0 0 0 1px #7fd7ff8c}.viewer-avatar--hud{align-self:center;width:18px;height:18px}.duel-ov-hud--king .viewer-avatar--hud{box-shadow:0 0 0 1px #ffd23f}.viewer-avatar--mvp{width:20px;height:20px;box-shadow:0 0 0 1px #ffd23f}.viewer-avatar--feed{vertical-align:-2px;width:14px;height:14px;margin-right:5px}.viewer-avatar--dev{width:16px;height:16px}.duel-ov-queue-art img.viewer-avatar--queue{object-fit:cover;z-index:1;width:18px;height:18px;inset:2px 2px auto auto}.dev-names-row{flex-wrap:nowrap;align-items:center;font-size:10px}.dev-names-where{color:#7fd7ff;min-width:20px}.dev-names-nick,.dev-names-handle{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.dev-names-handle{color:#8a8a8a}.dev-names-empty{color:#8a8a8a;font-size:10px}.duel-banner--levelup .duel-banner-title{color:#7dff9b}.duel-banner--special,.duel-banner--evolve{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--banner-edge,#1a2440) 78%, transparent) 18%, color-mix(in srgb, var(--banner-edge,#1a2440) 78%, transparent) 82%, transparent);padding:6px 22px 8px;animation:.26s cubic-bezier(.2,1.4,.4,1) duel-banner-slam;top:30%}.duel-banner--special .duel-banner-title,.duel-banner--evolve .duel-banner-title{letter-spacing:.08em;white-space:nowrap;color:var(--banner-core,#fff);text-shadow:0 0 10px var(--banner-glow,#7fd7ff), 0 0 26px var(--banner-glow,#7fd7ff), 0 2px 0 #000;font-family:VT323,Share Tech Mono,monospace;font-size:52px;font-weight:400}.duel-banner--evolve .duel-banner-title{font-size:40px}.duel-banner--special .duel-banner-sub,.duel-banner--evolve .duel-banner-sub{color:#fff;letter-spacing:.16em;text-transform:uppercase;font-size:12px}@keyframes duel-banner-slam{0%{opacity:0;letter-spacing:.3em;transform:translate(-50%,-50%)scale(1.35)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.duel-ov{z-index:5;pointer-events:none;font-family:Share Tech Mono,monospace;position:absolute;inset:0}.panel-overlay{--panel-title-bg:#05070ce6;border:1px solid var(--duel-blue);background:#040810b8}.panel-overlay>.panel-title{color:var(--duel-blue);letter-spacing:.12em;font-size:10px;top:-7px}.duel-ov .duel-ov-band{padding:7px 9px 6px;position:absolute;left:2.5%;right:2.5%}.duel-ov .duel-ov-gifts{height:9.5%;top:1.5%}.duel-ov .duel-ov-queue{height:11%;bottom:1.5%}.duel-ov .duel-ov-hud{height:12.5%}.duel-ov .duel-ov-hud--king{top:14%}.duel-ov .duel-ov-hud--challenger{bottom:14%}.duel-ov-hud{border-color:var(--duel-red);--panel-title-bg:#0c0507e0;background:#10060899}.duel-ov-hud>.panel-title{color:var(--duel-red)}.duel-ov-empty{color:#6b7a8f;align-items:center;height:100%;font-size:10px;font-style:italic;display:flex}.duel-ov-hud-body{align-items:center;gap:9px;height:100%;display:flex;overflow:hidden}.duel-ov-hud--challenger .duel-ov-hud-body{flex-direction:row-reverse}.duel-ov-portrait{aspect-ratio:1;background:repeating-linear-gradient(135deg,#cfe3f50d 0 4px,#0000 4px 8px);border:1px dashed #cfe3f559;border-radius:4px;flex:none;justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative;overflow:hidden}.duel-ov-portrait-tag{letter-spacing:.05em;color:#8fa4bb;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#0000008c;width:100%;padding:1px 0;font-size:7px;overflow:hidden}.duel-ov-stack{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.duel-ov-hud--challenger .duel-ov-stack{align-items:stretch}.duel-ov-idline{white-space:nowrap;align-items:baseline;gap:6px;display:flex;overflow:hidden}.duel-ov-hud--challenger .duel-ov-idline{flex-direction:row-reverse}.duel-ov-crown{color:#ffd23f;font-size:11px}.duel-ov-nick{color:#e8f1ff;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.duel-ov-hud--king .duel-ov-nick{color:#ffd23f}.duel-ov-hud--challenger .duel-ov-nick{color:#7fd7ff}.duel-ov-lv{color:#cfe3f5;font-size:10px}.duel-ov-stage{letter-spacing:.12em;color:#7fd7ff;font-size:8px}.duel-ov-hud--king .duel-ov-stage{color:#ffd23f}.duel-ov-buffs{gap:4px;display:inline-flex}.duel-ov-buff{letter-spacing:.08em;background:#0006;border:1px solid;border-radius:2px;padding:0 3px;font-size:8px}.duel-ov-bar-track{background:#0b0f16;border-radius:1px;width:100%;display:flex;overflow:hidden}.duel-ov-hud--challenger .duel-ov-bar-track{justify-content:flex-end}.duel-ov-bar-fill{height:100%;transition:width .14s linear}.duel-ov-bar--xp .duel-ov-bar-track{background:var(--violet-deep);height:4px}.duel-ov-bar--xp .duel-ov-bar-fill{background:var(--violet)}.duel-ov-bar--hp .duel-ov-bar-track{background:#14181f;height:9px}.duel-ov-bar--hp.is-ok .duel-ov-bar-fill{background:#3ce66a}.duel-ov-bar--hp.is-warn .duel-ov-bar-fill{background:#f2bf33}.duel-ov-bar--hp.is-danger .duel-ov-bar-fill{background:#f24040}.duel-ov-bar--haste .duel-ov-bar-track{background:#0e1520;height:4px}.duel-ov-bar--haste .duel-ov-bar-fill{background:#7fd7ff;transition:none}.duel-ov-bar--sp .duel-ov-bar-track{background:#1d1808;height:3px}.duel-ov-bar--sp .duel-ov-bar-fill{background:#ffd23f;box-shadow:0 0 6px #ffd23f8c}.duel-ov-sp-ready{color:#ffd23f;letter-spacing:.08em;text-shadow:0 0 8px #ffd23f99;font-weight:700}.duel-ov-readout{color:#9fb3c8;letter-spacing:.04em;gap:8px;font-size:9px;display:flex}.duel-ov-hud--challenger .duel-ov-readout{flex-direction:row-reverse}.duel-ov-readout{align-items:center}.duel-ov-xpnum{color:#a78bfa}.duel-ov-sidegifts{align-items:center;gap:6px;display:flex}.duel-ov-hud--king .duel-ov-sidegifts{margin-left:auto}.duel-ov-hud--challenger .duel-ov-sidegifts{margin-right:auto}.duel-ov-sidegift{background:#05080e8c;border:1px solid #5b8cff47;border-radius:3px;align-items:center;gap:2px;padding:1px 4px 1px 2px;display:inline-flex}.duel-ov-sidegift-art{object-fit:contain;filter:drop-shadow(0 1px 2px #0009);width:18px;height:18px}.duel-ov-sidegift-fx{text-shadow:0 0 6px;font-size:12px;font-weight:700;line-height:1}.duel-ov-sidegift-coins{color:#6b7a8f;font-size:7px}.duel-ov .duel-ov-gifts{flex-direction:column;gap:3px;display:flex}.duel-ov-gifts .duel-ov-gift-row{flex:auto;height:auto;min-height:0}.duel-ov-ticker{letter-spacing:.1em;color:#9fb3c8;white-space:nowrap;border-top:1px solid #5b8cff38;flex:0 0 12px;font-size:9px;line-height:12px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.duel-ov-ticker-track{will-change:transform;animation:duel-ov-ticker var(--ticker-s,42s) linear infinite;display:inline-flex}.duel-ov-ticker-item{padding-right:18px}.duel-ov-ticker-sep{color:#7fd7ff;padding-right:18px}@keyframes duel-ov-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.duel-ov-rung-count{color:#ff8fb3;text-shadow:0 0 8px #ff5d8f73;flex:none;font-family:VT323,Share Tech Mono,monospace;font-size:22px;line-height:1}.duel-ov-rung-heart{vertical-align:3px;margin-right:1px;font-size:13px}.duel-ov-gift-row{align-items:center;gap:5px;height:100%;display:flex;overflow:hidden}.duel-ov-gift{background:#5b8cff0f;border:1px solid #5b8cff47;border-radius:3px;flex:1 1 0;align-items:center;gap:5px;min-width:0;height:100%;padding:3px 5px;display:flex}.duel-ov-gift--fallback{opacity:.75;border-style:dashed;flex:none}.duel-ov-gift-art{flex:0 0 32px;justify-content:center;align-items:center;height:32px;font-size:14px;line-height:1;display:flex}.duel-ov-gift-art img{object-fit:contain;filter:drop-shadow(0 1px 2px #0009);width:100%;height:100%}.duel-ov-gift--fallback .duel-ov-gift-art{background:#00000059;border:1px dashed #cfe3f547;border-radius:3px;flex-basis:26px;height:26px}.duel-ov-gift-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.duel-ov-gift-name{color:#cfe3f5;letter-spacing:.04em;white-space:nowrap;font-size:10px;font-weight:700}.duel-ov-gift-head{align-items:baseline;gap:4px;display:flex}.duel-ov-gift-effect{letter-spacing:.04em;color:var(--duel-blue);white-space:nowrap;font-size:8px}.duel-ov-gift-coins{color:#6b7a8f;font-size:7px}.duel-ov-queue .duel-queue-rail{align-items:stretch;height:100%}.duel-ov-queue .duel-queue-empty{align-items:center;height:100%;display:flex}.duel-ov-queue .duel-ov-queue-card{flex-direction:column;justify-content:flex-end;align-items:center;gap:1px;width:70px;padding:3px 4px;position:relative}.duel-ov-queue-card .duel-queue-idx{z-index:1;position:absolute;top:2px;left:4px}.duel-ov-queue-art{flex:auto;width:100%;min-height:0;position:relative}.duel-ov-queue-art img{object-fit:contain;object-position:bottom center;width:100%;height:100%;position:absolute;inset:0}.duel-ov-queue-art:not(.has-sprite){background:#0000004d;border:1px dashed #7fd7ff66;border-radius:2px}.duel-ov-queue-nick{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.duel-ov-queue-card .duel-queue-lv{font-size:8px}.duel-ov-queue .duel-ov-queue-more{align-self:center}.duel-ov-queue-more{color:#6b7a8f;border-style:dashed}.dev-controls button.is-active{color:#7fd7ff;background:#7fd7ff24;border-color:#7fd7ff}.dev-controls button:disabled{opacity:.38;cursor:not-allowed}.duel-ov-portrait.has-sprite{background:radial-gradient(circle at 50% 40%,#7fd7ff33,#04081000 70%);border-style:solid;border-color:#7fd7ff73}.duel-ov-hud--king .duel-ov-portrait.has-sprite{background:radial-gradient(circle at 50% 40%,#ffd23f33,#04081000 70%);border-color:#ffd23f80}.duel-ov-portrait-img{object-fit:contain;object-position:bottom center;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.duel-ov-portrait-tag{z-index:1;position:relative}.duel-ov-gift.duel-ov-gift--hint{opacity:.9;flex:1 1 0}.duel-ov-hint-text{animation:.36s ease-out duel-ov-hint-in}@keyframes duel-ov-hint-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.chat-line.kind-likes{color:#ff8fb3}.chat-line.kind-likes .tag{color:#ff5d8f}.chat-line.kind-pick{color:#cfe3f5}.chat-line.kind-pick .tag{color:#7fd7ff}.chat-line.kind-special{color:#ffe9a8}.chat-line.kind-special .tag{color:#ff9d5c}.duel-ov-queue-card.is-evolved{animation:1.5s ease-out duel-queue-evolve}@keyframes duel-queue-evolve{0%{border-color:#fff;box-shadow:0 0 #fff0}18%{transform:scale(1.08);box-shadow:0 0 18px 4px #ffffffd9}to{transform:scale(1);box-shadow:0 0 #7fd7ff00}}.dev-controls-live{color:#ff8fb3;letter-spacing:.06em;border:1px dashed #ff5d8f8c;border-radius:3px;margin-top:6px;padding:6px 8px;font-size:10px;line-height:1.35}
