:root{--chan-bg: #f0e0d6;--chan-panel: #d9bfb7;--chan-border: #aa6c39;--chan-text: #800000;--chan-link: #0f0c5d;--chan-green: #117743;--chan-quote: #789922;--chan-highlight: #ffffcc;--chan-shadow: rgba(170, 108, 57, .8);--chan-font: system-ui, -apple-system, sans-serif;--chan-font-size: 10px;--chan-font-size-small: 9px;--chan-font-size-tiny: 8px;--chan-padding-xs: 1px;--chan-padding-sm: 2px;--chan-padding-md: 4px;--chan-padding-lg: 6px;--chan-padding-xl: 8px;--chan-border-width: 1px;--chan-border-style: solid var(--chan-border)}.chan-container{background:var(--chan-bg);font-family:var(--chan-font);font-size:var(--chan-font-size);color:var(--chan-text);height:100%;display:flex;flex-direction:column}.chan-header{background:var(--chan-panel);border-bottom:var(--chan-border-style);padding:var(--chan-padding-md) var(--chan-padding-xl);display:flex;align-items:center;justify-content:space-between;font-weight:700}.chan-board-title{color:var(--chan-text);font-weight:700}.chan-button{background:var(--chan-bg);border:var(--chan-border-style);color:var(--chan-text);padding:var(--chan-padding-xs) var(--chan-padding-md);cursor:pointer;font-size:var(--chan-font-size-small);font-family:var(--chan-font)}.chan-button:hover{background:var(--chan-panel)}.chan-button:disabled{opacity:.6;cursor:not-allowed}.chan-tab{flex:1;background:var(--chan-bg);color:var(--chan-text);border:var(--chan-border-style);border-bottom:none;padding:3px 4px;cursor:pointer;font-size:var(--chan-font-size-small);font-family:var(--chan-font);font-weight:400}.chan-tab.active{background:var(--chan-panel);font-weight:700}.chan-tab+.chan-tab{border-left:none}.chan-content{flex:1;overflow-y:auto;padding:var(--chan-padding-md);background:var(--chan-bg)}.chan-post{padding:var(--chan-padding-sm) var(--chan-padding-md);background:var(--chan-bg);border:var(--chan-border-style);border-bottom:none;font-size:var(--chan-font-size-small);font-family:var(--chan-font);display:flex;align-items:center;justify-content:space-between}.chan-post:last-child{border-bottom:var(--chan-border-style)}.chan-post-highlighted{background:var(--chan-highlight)}.chan-status-online{color:var(--chan-green);font-weight:700;font-size:var(--chan-font-size-tiny)}.chan-status-offline{color:var(--chan-text);font-weight:700;font-size:var(--chan-font-size-tiny)}.chan-meta{color:var(--chan-quote);font-size:var(--chan-font-size-tiny)}.chan-link{color:var(--chan-link)}.chan-input{width:100%;padding:var(--chan-padding-sm) var(--chan-padding-md);border:var(--chan-border-style);font-size:var(--chan-font-size);font-family:var(--chan-font);box-sizing:border-box}.chan-modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--chan-shadow);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--chan-padding-xl)}.chan-modal{background:var(--chan-bg);border:2px solid var(--chan-border);padding:var(--chan-padding-xl);width:100%;max-width:280px;font-family:var(--chan-font);font-size:var(--chan-font-size)}.chan-modal-header{background:var(--chan-panel);margin:calc(-1 * var(--chan-padding-xl)) calc(-1 * var(--chan-padding-xl)) var(--chan-padding-lg) calc(-1 * var(--chan-padding-xl));padding:var(--chan-padding-md) var(--chan-padding-xl);color:var(--chan-text);font-weight:700;border-bottom:var(--chan-border-style)}.chan-notification{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--chan-highlight);border:2px solid var(--chan-border);color:var(--chan-text);padding:var(--chan-padding-lg) 12px;font-size:var(--chan-font-size);font-family:var(--chan-font);z-index:1000;max-width:90%;text-align:center}.chan-error{border:var(--chan-border-style);background:var(--chan-highlight);padding:var(--chan-padding-lg);margin:var(--chan-padding-md) 0;font-size:var(--chan-font-size);color:var(--chan-text);text-align:center}.chan-actions{display:flex;gap:var(--chan-padding-md);margin-top:var(--chan-padding-xl)}.chan-action-button{flex:1;background:var(--chan-bg);border:var(--chan-border-style);color:var(--chan-text);padding:3px 6px;cursor:pointer;font-size:var(--chan-font-size-small);font-family:var(--chan-font)}.chan-action-button:hover:not(:disabled){background:var(--chan-panel)}.chan-text-center{text-align:center}.chan-text-bold{font-weight:700}.chan-text-italic{font-style:italic}.chan-mb-sm{margin-bottom:var(--chan-padding-md)}.chan-mb-md{margin-bottom:var(--chan-padding-lg)}.chan-flex{display:flex}.chan-flex-between{justify-content:space-between}.chan-flex-center{align-items:center}.chan-flex-1{flex:1}.chan-gap-sm{gap:var(--chan-padding-sm)}.chan-gap-md{gap:var(--chan-padding-md)}@media (max-width: 480px){:root{--chan-font-size: 9px;--chan-font-size-small: 8px;--chan-font-size-tiny: 7px}.chan-modal{max-width:95%}}.ability-bar{position:relative;display:flex;gap:12px;margin-bottom:12px;margin-left:auto;margin-right:auto;width:fit-content;-webkit-user-select:none;user-select:none;padding:8px 16px;background:#000c;border:2px solid rgba(255,255,255,.2);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d;transition:all .3s ease}.ability-slot{position:relative;width:48px;height:48px}.ability-icon{width:100%;height:100%;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:0 2px 4px #0003;transition:all .2s ease;cursor:pointer;pointer-events:auto}.ability-icon:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.ability-icon.dash{background:#1e90ff33;border-color:#1e90ff66}.ability-icon.dash:hover{background:#1e90ff4d}.ability-icon.attack{background:#ff454533;border-color:#ff454566}.ability-icon.attack:hover{background:#ff45454d}.ability-icon.cooldown{opacity:.7;background:#32323280!important;border-color:#64646466!important;cursor:not-allowed}.ability-icon.cooldown:hover{background:#32323280!important;transform:none;box-shadow:0 2px 4px #0003}.ability-key{font-size:16px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);margin-bottom:2px;letter-spacing:.5px}.ability-name{font-size:8px;color:#fffc;text-transform:uppercase;letter-spacing:.5px;font-weight:500;text-shadow:0 1px 1px rgba(0,0,0,.5)}.cooldown-overlay{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0009}.cooldown-timer{position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);background:conic-gradient(transparent 0deg,rgba(255,255,255,.2) 0deg,rgba(255,255,255,.2) var(--progress, 0deg),transparent var(--progress, 0deg));border-radius:50%;animation:cooldown-radial linear forwards}.cooldown-text{font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9);z-index:10;position:relative;min-width:16px;text-align:center}@keyframes cooldown-radial{0%{clip-path:circle(100%)}to{clip-path:circle(0%)}}.ability-bar:hover{box-shadow:0 6px 16px #0006;transform:translateY(-2px)}@media (max-width: 768px){.ability-bar{padding:6px 12px;gap:8px;margin-bottom:8px}.ability-slot{width:42px;height:42px}.ability-key{font-size:14px}.ability-name{font-size:7px}.cooldown-text{font-size:10px;padding:1px 2px}}@media (max-width: 480px){.ability-bar{padding:4px 8px;gap:6px;margin-bottom:6px}.ability-slot{width:38px;height:38px}.ability-key{font-size:12px}.ability-name{font-size:6px}}@media (prefers-contrast: high){.ability-icon{border-width:3px;border-color:#fff}.ability-icon.cooldown{border-color:#888}}.ability-icon.activating{animation:ability-flash .3s ease}@keyframes ability-flash{0%{transform:scale(1);box-shadow:0 2px 4px #0000004d}50%{transform:scale(1.1);box-shadow:0 0 16px #fffc}to{transform:scale(1);box-shadow:0 2px 4px #0000004d}}.chat-history-container{position:fixed;bottom:110px;left:20px;width:300px;padding:0;overflow:hidden;background:var(--hud-bg, rgba(0, 0, 0, .8));color:var(--hud-text, #ffffff);font-size:12px;line-height:1.3;border-radius:10px;border:2px solid var(--hud-border, rgba(255, 255, 255, .2));box-shadow:0 4px 20px #0000004d;z-index:999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;resize:none}.chat-history-resize-handle{height:8px;background:transparent;cursor:ns-resize;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.chat-history-resize-handle:hover .chat-history-resize-bar,.chat-history-resize-handle.dragging .chat-history-resize-bar{background:var(--hud-accent, rgba(255, 233, 122, .8));height:3px}.chat-history-resize-bar{width:40px;height:2px;background:var(--hud-border, rgba(255, 255, 255, .3));border-radius:2px;transition:all .2s ease}.chat-history-resize-handle:active{cursor:ns-resize}.chat-history-content{flex:1;overflow-y:auto;padding:8px 10px 4px;display:flex;flex-direction:column;min-height:0}.chat-history-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px 8px;border-top:1px solid var(--hud-border, rgba(255, 255, 255, .2));background:var(--hud-button-bg, rgba(255, 255, 255, .05));border-radius:0 0 8px 8px;flex-shrink:0}.chat-history-player-count{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--hud-accent, #4ade80);font-weight:500}.chat-history-player-count svg{opacity:.8}.chat-history-player-count-collapsed{position:absolute;top:-4px;right:-4px;display:flex;align-items:center;gap:2px;background:var(--hud-accent, #4ade80);color:#000;font-size:10px;font-weight:600;padding:2px 4px;border-radius:8px;min-width:16px;justify-content:center}.chat-history-player-count-collapsed svg{width:10px;height:10px}.chat-history-line{display:block;width:100%;margin:2px 0;padding:3px 6px;background:#ffffff1f;border-radius:6px;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;transition:background .2s ease}.chat-history-line:hover{background:#ffffff2e}.chat-history-message{display:block;width:100%;text-indent:0;padding-left:0}.chat-history-name{font-weight:600;color:var(--hud-accent, #FFD943)}.chat-history-separator{color:var(--hud-text, #ffffff)}.chat-history-text{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;line-height:1.4}.chat-history-timestamp{color:#999;font-size:10px;margin-left:6px;font-weight:400}.chat-history-hide-btn{background:var(--hud-button-bg, rgba(255, 255, 255, .1));border:none;color:var(--hud-text, #ffffff);font-size:12px;cursor:pointer;padding:4px;line-height:1;border-radius:4px;opacity:.7;transition:all .2s ease}.chat-history-toggle-button{position:fixed;bottom:110px;left:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--hud-bg, rgba(0, 0, 0, .8));color:var(--hud-text, #ffffff);border:2px solid var(--hud-border, rgba(255, 255, 255, .2));border-radius:10px;font-size:16px;cursor:pointer;z-index:999;box-shadow:0 4px 20px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.chat-history-toggle-button:hover{background:var(--hud-button-hover, rgba(255, 255, 255, .2));transform:scale(1.05)}.chat-history-hide-btn:hover{background:var(--hud-button-hover, rgba(255, 255, 255, .2));opacity:1}@media (max-width: 768px){.chat-history-container{bottom:80px;left:10px;width:270px;max-height:calc(100vh - 160px)}.chat-history-toggle-button{bottom:80px;left:10px;width:36px;height:36px;font-size:14px}.chat-history-resize-handle{height:6px}.chat-history-resize-bar{width:30px}}@media (max-width: 480px){.chat-history-container{bottom:70px;left:5px;width:240px;font-size:11px;max-height:calc(100vh - 140px)}.chat-history-toggle-button{bottom:70px;left:5px;width:32px;height:32px;font-size:12px}.chat-history-resize-handle{height:5px}.chat-history-resize-bar{width:25px;height:1.5px}.chat-history-content{padding:6px 8px 3px}.chat-history-header{padding:4px 8px 6px}.chat-history-line{padding:2px 4px;margin:1px 0}.chat-history-timestamp{font-size:9px}}.player-context-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:transparent;z-index:1000;pointer-events:all}.player-context-menu{position:absolute;min-width:180px;background:#000000e6;border:1px solid rgba(255,255,255,.2);border-radius:6px;box-shadow:0 4px 12px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;pointer-events:all;transform:translate(-50%);animation:contextMenuAppear .15s ease-out;padding:8px}@keyframes contextMenuAppear{0%{opacity:0;transform:translate(-50%) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.player-name{font-size:14px;font-weight:500;color:#fff;padding:8px 12px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.passive-mode-status{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;margin-bottom:8px;background:#ffffff0d;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.passive-mode-icon{font-size:14px}.passive-mode-text{font-size:12px;font-weight:500}.passive-mode-text.passive{color:#4caf50}.passive-mode-text.combat{color:#ff6b35}.add-friend-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:6px}.add-friend-btn:hover{background:#ffffff26;border-color:#ffffff40}.add-friend-btn:active{transform:scale(.98)}.add-friend-btn svg{flex-shrink:0}.duel-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:#ff6b3526;border:1px solid rgba(255,107,53,.3);border-radius:4px;color:#ff6b35;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.duel-btn:hover:not(:disabled){background:#ff6b3540;border-color:#ff6b3580}.duel-btn:active:not(:disabled){transform:scale(.98)}.duel-btn:disabled{opacity:.5;cursor:not-allowed;color:#999;background:#ffffff0d;border-color:#ffffff1a}.duel-btn svg{flex-shrink:0}.betting-header{display:flex;align-items:center;gap:8px;padding:8px 4px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.back-btn{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:4px;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.back-btn:hover{background:#ffffff1a;color:#ffffffe6}.betting-title{font-size:12px;font-weight:500;color:#ffffffe6;flex:1;text-align:center}.betting-options{display:flex;flex-direction:column;gap:4px}.bet-option{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:12px}.bet-option:hover{background:#ffffff1a;border-color:#fff3}.bet-option:active{transform:scale(.98)}.bet-label{font-weight:500;color:#ffffffe6}.bet-amount{font-weight:400;color:#ffffffb3;font-size:11px}.custom-bet{display:flex;gap:6px;margin-top:4px}.custom-bet-input{flex:1;padding:8px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:12px;outline:none;transition:all .2s ease}.custom-bet-input:focus{border-color:#ffffff4d;background:#ffffff14}.custom-bet-input::placeholder{color:#fff6}.custom-bet-btn{padding:8px 12px;background:#ff6b3526;border:1px solid rgba(255,107,53,.3);border-radius:4px;color:#ff6b35;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.custom-bet-btn:hover:not(:disabled){background:#ff6b3540;border-color:#ff6b3580}.custom-bet-btn:active:not(:disabled){transform:scale(.98)}.custom-bet-btn:disabled{opacity:.5;cursor:not-allowed;color:#999;background:#ffffff0d;border-color:#ffffff1a}.duel-notification{position:fixed;bottom:120px;left:20px;transform:none;z-index:9999;animation:slideUpFade .3s ease-out}@keyframes slideUpFade{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.duel-compact-popup{background:#000000e6;border:1px solid rgba(255,107,107,.5);border-radius:8px;padding:8px 12px;box-shadow:0 4px 20px #0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:12px;min-width:280px;max-width:320px;color:#fff;font-family:Segoe UI,system-ui,sans-serif;font-size:13px;transition:all .3s ease}.duel-compact-popup:hover{border-color:#ff6b6bcc;box-shadow:0 6px 25px #000000b3}.duel-icon{font-size:18px;filter:drop-shadow(0 0 4px rgba(255,255,255,.5));flex-shrink:0}.duel-info{flex-grow:1;min-width:0}.duel-challenger{font-size:12px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-challenger strong{color:#4fc3f7;font-weight:600}.duel-bet{font-size:11px;opacity:.8;color:#ffffffb3}.bet-amount{color:gold;font-weight:600}.duel-timer-compact{flex-shrink:0}.timer-ring{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.timer-inner{width:20px;height:20px;background:#000c;border-radius:50%;display:flex;align-items:center;justify-content:center}.timer-text{font-size:10px;font-weight:600;color:#fff}.duel-actions{display:flex;gap:6px;flex-shrink:0}.duel-btn-compact{width:24px;height:24px;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#fff}.duel-btn-compact.accept{background:#2ecc71cc;border:1px solid rgba(46,204,113,.6)}.duel-btn-compact.accept:hover:not(:disabled){background:#2ecc71;transform:scale(1.1)}.duel-btn-compact.accept:disabled{background:#2ecc714d;cursor:not-allowed;opacity:.5}.duel-btn-compact.decline{background:#e74c3ccc;border:1px solid rgba(231,76,60,.6)}.duel-btn-compact.decline:hover{background:#e74c3c;transform:scale(1.1)}.duel-btn-compact:active{transform:scale(.95)}@media (max-width: 768px){.duel-notification{bottom:100px;left:16px;right:16px;transform:none}.duel-compact-popup{min-width:auto;max-width:none;padding:6px 10px;gap:8px}.duel-info{font-size:12px}.duel-challenger{font-size:11px}.duel-bet{font-size:10px}.timer-ring{width:24px;height:24px}.timer-inner{width:16px;height:16px}.timer-text{font-size:9px}.duel-btn-compact{width:22px;height:22px;font-size:11px}}.duel-status-indicator{position:fixed;top:20px;left:20px;z-index:9998;animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.duel-status-content{background:#000c;border:2px solid rgba(255,255,255,.2);border-radius:20px;padding:16px 20px;color:#fff;box-shadow:0 4px 20px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:16px;min-width:240px;transition:all .3s ease}.duel-status-content:hover{border-color:#ffffff4d;box-shadow:0 6px 25px #0006}.duel-status-icon{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;flex-shrink:0}.duel-swords{font-size:20px;position:relative;z-index:1}.duel-pulse{position:absolute;top:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);border-radius:50%;background:#f443;border:2px solid rgba(255,68,68,.4);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:.4}to{transform:scale(1);opacity:.8}}.duel-status-info{flex:1;display:flex;flex-direction:column;gap:4px}.duel-status-title{font-size:12px;font-weight:700;color:#ff6b6b;text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}.duel-opponent{font-size:16px;font-weight:600;color:#fff;margin-bottom:2px}.duel-bet{font-size:12px;color:#ffd700e6;font-weight:500;background:#ffd7001a;padding:2px 8px;border-radius:8px;display:inline-block;width:fit-content;border:1px solid rgba(255,215,0,.3)}.duel-timer-container{margin-top:8px;display:flex;flex-direction:column;gap:4px}.duel-timer-bar{width:100%;height:8px;background:#ffffff1a;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.duel-timer-progress{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:8px;box-shadow:0 0 8px #fff3}.duel-timer-text{font-size:13px;font-weight:600;color:#fff;text-align:center;font-family:Segoe UI,system-ui,sans-serif;background:#ffffff0d;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.1);margin-top:2px}@media (max-width: 768px){.duel-status-indicator{top:16px;left:16px}.duel-status-content{padding:12px 16px;min-width:200px;gap:12px}.duel-status-icon{width:36px;height:36px}.duel-swords{font-size:16px}.duel-status-title{font-size:10px}.duel-opponent{font-size:14px}.duel-bet{font-size:10px;padding:1px 6px}.duel-timer-text{font-size:11px;padding:2px 6px}}@media (max-width: 480px){.duel-status-indicator{top:12px;left:12px}.duel-status-content{padding:10px 12px;min-width:180px;gap:10px;border-radius:16px}.duel-status-icon{width:32px;height:32px}.duel-swords{font-size:14px}.duel-status-title{font-size:9px}.duel-opponent{font-size:12px}.duel-bet{font-size:9px}.duel-timer-bar{height:6px}.duel-timer-text{font-size:10px}}.duel-bet-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.duel-bet-modal{width:480px;max-width:95vw;max-height:80vh;background:#000000d9;border:1px solid rgba(255,255,255,.15);border-radius:12px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 8px 32px #0006;color:#fff;overflow:hidden;animation:slideUp .3s ease;display:flex;flex-direction:column}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.duel-bet-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08;flex-shrink:0}.header-title{display:flex;align-items:center;gap:6px;color:#fff}.header-title h3{margin:0;font-size:14px;font-weight:600}.bet-timer{display:flex;align-items:center;gap:3px;background:#ffffff14;padding:3px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.15)}.timer-text{font-family:monospace;font-weight:700;font-size:11px}.close-button{width:24px;height:24px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.close-button:hover{background:#ffffff26;transform:scale(1.05)}.duel-bet-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0}.duel-bet-content::-webkit-scrollbar{width:4px}.duel-bet-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.duel-bet-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.duel-bet-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.duel-bet-info{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.bet-amount,.opponent-info{display:flex;flex-direction:column;gap:1px}.label{color:#fff9;font-size:10px;text-transform:uppercase;letter-spacing:.3px}.amount{font-weight:700;font-size:13px;color:#ffe97a}.opponent-name{font-weight:700;color:#fff;font-size:13px}.wallet-connection-section{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.wallet-not-connected{text-align:center}.wallet-icon{display:flex;justify-content:center;align-items:center;width:28px;height:28px;margin:0 auto 6px;background:#ffffff14;border-radius:50%;border:1px solid rgba(255,255,255,.15);color:#ffe97a}.wallet-not-connected h4{margin:0 0 4px;font-size:12px;color:#fff}.wallet-not-connected p{margin:0 0 8px;font-size:10px;color:#ffffffb3;line-height:1.3}.connect-wallet-button{background:linear-gradient(135deg,#ffe97ae6,#ffc107e6);border:none;border-radius:6px;color:#000;padding:6px 12px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px;margin:0 auto}.connect-wallet-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ffe97a4d}.connect-wallet-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.wallet-error{display:flex;align-items:center;gap:4px;margin-top:6px;padding:4px 6px;background:#e74c3c33;border:1px solid rgba(231,76,60,.3);border-radius:4px;font-size:10px}.error-text{color:#e74c3c;font-size:10px}.wallet-info{display:flex;justify-content:center;gap:8px;margin-top:6px;font-size:9px;color:#ffffff80}.wallet-info span{display:flex;align-items:center;gap:2px}.debug-info{padding:4px 12px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.05);font-size:9px;color:#fff6;cursor:pointer;transition:background .2s ease}.debug-info:hover{background:#ffffff0d}.loading-bet-status{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px;color:#ffffffb3}.escrow-info{padding:4px 12px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.05)}.escrow-address{display:flex;justify-content:space-between;align-items:center;font-size:10px}.address{font-family:monospace;color:#ffe97acc;background:#ffe97a1a;padding:2px 4px;border-radius:3px;border:1px solid rgba(255,233,122,.2)}.bet-status-section{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.bet-status-section h4{margin:0 0 6px;font-size:11px;color:#fffc;text-transform:uppercase;letter-spacing:.3px}.players-status{display:flex;align-items:center;gap:8px}.player-status{flex:1;display:flex;justify-content:space-between;align-items:center;padding:4px 6px;background:#ffffff08;border-radius:4px;border:1px solid rgba(255,255,255,.08)}.player-info{display:flex;flex-direction:column;gap:1px}.player-label{font-size:10px;font-weight:600;color:#fff}.player-address{font-size:9px;color:#fff9;font-family:monospace}.status-indicator{display:flex;align-items:center;gap:3px}.status-icon-lucide{flex-shrink:0}.status-text{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.2px}.vs-divider{font-size:10px;font-weight:700;color:#ffffff80;padding:0 4px}.error-message{display:flex;align-items:center;gap:4px;margin:6px 12px;padding:4px 6px;background:#e74c3c26;border:1px solid rgba(231,76,60,.3);border-radius:4px;font-size:10px}.transaction-step{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.05);font-size:10px;color:#ffffffb3}.step-text{font-weight:500}.loading-spinner{display:flex;align-items:center}.spinner{width:12px;height:12px;border:1px solid rgba(255,255,255,.2);border-top:1px solid rgba(255,233,122,1);border-radius:50%;animation:spin 1s linear infinite}.payment-method-selection{padding:6px 12px;border-bottom:1px solid rgba(255,255,255,.05)}.payment-method-selection h4{margin:0 0 4px;font-size:10px;color:#ffffffb3;text-transform:uppercase;letter-spacing:.2px}.payment-methods{display:flex;gap:4px}.payment-method-btn{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fffc;padding:4px 6px;font-size:9px;font-weight:500;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.2px}.payment-method-btn:hover{background:#ffffff1a;border-color:#fff3}.payment-method-btn.active{background:#ffe97a33;border-color:#ffe97a66;color:#ffe97a}.payment-info-container{padding:4px 12px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.05)}.jupiter-error-info,.jupiter-quote-info,.sol-payment-info{font-size:9px;line-height:1.3;color:#ffffffb3}.jupiter-quote-info p,.sol-payment-info p{margin:2px 0;display:flex;align-items:center;gap:3px}.retry-quote-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#fff;padding:2px 4px;font-size:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:2px;margin-top:3px}.retry-quote-btn:hover{background:#ffffff26;transform:scale(1.02)}.modal-actions{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1);background:#ffffff05;flex-shrink:0}.confirm-bet-button{width:100%;background:linear-gradient(135deg,#ffe97ae6,#ffc107e6);border:none;border-radius:6px;color:#000;padding:8px 12px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.confirm-bet-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ffe97a4d}.confirm-bet-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.both-confirmed{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;background:#27ae6033;border:1px solid rgba(39,174,96,.3);border-radius:4px;margin-bottom:6px}.success-text{font-size:10px;font-weight:600;color:#27ae60}.cancel-button{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fffc;padding:6px 12px;font-size:10px;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background:#ffffff1a;border-color:#fff3}.bet-disclaimer{padding:6px 12px;background:#ffffff05;border-top:1px solid rgba(255,255,255,.05);flex-shrink:0}.bet-disclaimer p{margin:2px 0;font-size:9px;color:#ffffff80;display:flex;align-items:center;gap:3px;line-height:1.2}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.duel-bet-modal{width:95vw;max-height:85vh}.duel-bet-header{padding:6px 10px}.header-title h3{font-size:13px}.players-status{flex-direction:column;gap:4px}.vs-divider{transform:rotate(90deg)}.payment-methods{flex-direction:column}.payment-info-container{padding:3px 10px}.bet-amount,.opponent-info{font-size:12px}.wallet-info{flex-direction:column;gap:2px}.debug-info{padding:3px 10px}}@media (max-width: 480px){.duel-bet-modal{width:98vw;max-height:90vh}.duel-bet-header{padding:5px 8px}.header-title h3{font-size:12px}.timer-text{font-size:10px}.wallet-icon{width:24px;height:24px}.modal-actions,.wallet-connection-section,.bet-status-section{padding:6px 8px}}.announcement-banner{position:fixed;top:16px;right:16px;min-width:280px;max-width:400px;background:linear-gradient(135deg,#1a4d2e,#0f3d1f);border-radius:6px;padding:8px 12px;display:flex;align-items:center;gap:12px;z-index:9999;font-family:Courier New,monospace;font-size:13px;color:#a8e6cf;box-shadow:0 4px 12px #2ed5734d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid #2ed573;animation:slideInRight .3s ease-out}.announcement-banner.red{border-color:#4ade80;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-banner.orange{border-color:#22c55e;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-banner.yellow{border-color:#16a34a;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-banner.blue{border-color:#15803d;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-banner.green{border-color:#2ed573;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-banner.purple{border-color:#22c55e;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-banner.pink{border-color:#4ade80;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-banner.cyan{border-color:#2ed573;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-banner.gray{border-color:#22c55e;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-banner.default{border-color:#2ed573;background:linear-gradient(135deg,#1a4d2e,#0f3d1f)}.announcement-priority{flex-shrink:0}.announcement-priority-label{font-size:9px;font-weight:700;letter-spacing:.5px;opacity:.9;padding:2px 4px;border-radius:2px;background:#2ed57333;color:#4ade80;border:1px solid rgba(46,213,115,.3)}.announcement-banner.red .announcement-priority-label{color:#4ade80;background:#4ade8033;border-color:#4ade804d}.announcement-banner.orange .announcement-priority-label{color:#22c55e;background:#22c55e33;border-color:#22c55e4d}.announcement-banner.yellow .announcement-priority-label{color:#16a34a;background:#16a34a33;border-color:#16a34a4d}.announcement-banner.blue .announcement-priority-label{color:#15803d;background:#15803d33;border-color:#15803d4d}.announcement-banner.green .announcement-priority-label{color:#2ed573;background:#2ed57333;border-color:#2ed5734d}.announcement-banner.purple .announcement-priority-label{color:#22c55e;background:#22c55e33;border-color:#22c55e4d}.announcement-banner.pink .announcement-priority-label{color:#4ade80;background:#4ade8033;border-color:#4ade804d}.announcement-banner.cyan .announcement-priority-label{color:#2ed573;background:#2ed57333;border-color:#2ed5734d}.announcement-banner.gray .announcement-priority-label{color:#22c55e;background:#22c55e33;border-color:#22c55e4d}.announcement-banner.default .announcement-priority-label{color:#2ed573;background:#2ed57333;border-color:#2ed5734d}.announcement-content{flex:1;line-height:1.3;font-weight:400;word-wrap:break-word;color:#d1fae5}.announcement-controls{flex-shrink:0;display:flex;align-items:center;gap:8px}.announcement-progress{display:flex;align-items:center;gap:6px;font-size:11px;color:#a8e6cfb3}.announcement-counter{font-size:10px;color:#a8e6cf}.announcement-dots{display:flex;gap:3px}.announcement-dot{width:4px;height:4px;border-radius:50%;background:#a8e6cf66;transition:background-color .3s ease}.announcement-dot.active,.announcement-banner.red .announcement-dot.active{background:#4ade80}.announcement-banner.orange .announcement-dot.active{background:#22c55e}.announcement-banner.yellow .announcement-dot.active{background:#16a34a}.announcement-banner.blue .announcement-dot.active{background:#15803d}.announcement-banner.green .announcement-dot.active{background:#2ed573}.announcement-banner.purple .announcement-dot.active{background:#22c55e}.announcement-banner.pink .announcement-dot.active{background:#4ade80}.announcement-banner.cyan .announcement-dot.active{background:#2ed573}.announcement-banner.gray .announcement-dot.active{background:#22c55e}.announcement-banner.default .announcement-dot.active{background:#2ed573}.announcement-actions{display:flex;align-items:center;gap:4px}.announcement-dismiss,.announcement-dismiss-all{background:#2ed5731a;border:1px solid rgba(46,213,115,.3);color:#a8e6cf;cursor:pointer;padding:4px;border-radius:3px;transition:all .2s ease;display:flex;align-items:center}.announcement-dismiss:hover,.announcement-dismiss-all:hover{color:#4ade80;background:#2ed57333;border-color:#2ed57380}.announcement-dismiss-all{margin-right:2px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.announcement-banner{top:8px;right:8px;left:8px;min-width:auto;max-width:none}.announcement-content{font-size:12px}.announcement-priority-label{font-size:8px}}:root{--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}body{margin:0;padding:0;font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{width:100vw;height:100vh}
