:root{--primary-orange: #ff6b00;--primary-orange-glow: rgba(255, 107, 0, .3);--dark-bg: #060608;--card-bg: rgba(255, 255, 255, .04);--card-border: rgba(255, 255, 255, .08);--body-text: #e0e0e0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--dark-bg);background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(255,107,0,.08),transparent);color:#fff;min-height:100vh;display:flex;flex-direction:column;align-items:center}.game-header{padding:.75rem 1rem;width:100%;max-width:500px;display:flex;align-items:center;justify-content:space-between}body.logged-in .game-header{max-width:860px}@media(max-width:768px){body.logged-in .game-header{max-width:500px}}.header-brand{display:flex;align-items:center;gap:.5rem}.header-logo{flex-shrink:0;filter:drop-shadow(0 0 6px var(--primary-orange-glow))}.game-header h1{font-size:1.3rem;font-weight:800;white-space:nowrap;letter-spacing:-.02em}.game-header h1 span{color:var(--primary-orange)}.main-layout{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:1rem;width:100%;max-width:860px;padding:0 .5rem}@media(max-width:768px){.main-layout{flex-direction:column;align-items:center;max-width:500px}}.game-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:500px;padding:0 .5rem}canvas{border-radius:12px;display:block;max-width:100%;touch-action:none;-webkit-user-select:none;user-select:none}.game-buttons{display:flex;gap:.75rem;margin-top:1rem;width:100%;max-width:320px}#toast-container{position:fixed;bottom:20px;left:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.toast{background:#1e1e1ef2;color:#fff;padding:10px 16px;border-radius:8px;font-size:.85rem;font-weight:600;box-shadow:0 4px 12px #0000004d;animation:toast-slide-up .3s ease-out;border:1px solid rgba(255,255,255,.1);max-width:320px;text-align:center;word-break:break-word}.toast-success{border-left:4px solid var(--primary-orange)}.toast-warning{border-left:4px solid #FFC107}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){body{overflow-y:auto;-webkit-overflow-scrolling:touch}}.auth-area{display:flex;align-items:center;gap:.5rem}.auth-username{color:var(--body-text);font-size:.85rem;font-weight:600}.auth-btn{padding:.4rem .8rem;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.login-btn{background:var(--primary-orange);color:#fff}.login-btn:hover{background:#ff8533;transform:scale(1.05)}.logout-btn{background:#ffffff1a;color:var(--body-text);border:1px solid rgba(255,255,255,.2)}.logout-btn:hover{background:#ffffff26}.leaderboard-btn,.stats-btn{flex:1;padding:.6rem 1rem;background:#ff6b001a;border:1.5px solid rgba(255,107,0,.4);border-radius:10px;color:var(--primary-orange);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.leaderboard-btn:hover,.stats-btn:hover{background:#ff6b0033;border-color:var(--primary-orange);transform:scale(1.03)}.multiplayer-cta-btn{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-orange),#ff8533);border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;box-shadow:0 4px 16px #ff6b0040}.multiplayer-cta-btn:hover{background:linear-gradient(135deg,#ff8533,#ffa060);transform:scale(1.03);box-shadow:0 4px 20px #ff6b0059}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;max-width:400px;width:100%;position:relative;box-shadow:0 10px 40px #00000080}.modal-content h2{margin:0 0 1.5rem;color:#fff;font-size:1.75rem;text-align:center}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#fff9;font-size:2rem;cursor:pointer;line-height:1;padding:0;width:2rem;height:2rem;transition:color .2s}.modal-close:hover{color:#fff}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form input{padding:.875rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;font-family:Inter,sans-serif;transition:border-color .2s}.auth-form input:focus{outline:none;border-color:var(--primary-orange);background:#ffffff14}.auth-form input::placeholder{color:#fff6}.auth-submit-btn{padding:.875rem;background:var(--primary-orange);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){background:#ff8533;transform:scale(1.02)}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error{min-height:1.5rem;color:#f44336;font-size:.9rem;text-align:center;margin-bottom:.5rem}.auth-switch{text-align:center;margin-top:1rem;color:#fff9;font-size:.9rem}.auth-switch a{color:var(--primary-orange);text-decoration:none;font-weight:600}.auth-switch a:hover{text-decoration:underline}.streak-prompt-modal{text-align:center;max-width:340px}.streak-prompt-streak{font-size:3.5rem;font-weight:800;color:var(--primary-orange);line-height:1;margin-bottom:.25rem}.streak-prompt-title{font-size:1.2rem;font-weight:700;color:#fff;margin:0 0 .75rem}.streak-prompt-text{font-size:.9rem;color:#fff9;margin:0 0 1.5rem;line-height:1.4}.streak-prompt-buttons{display:flex;flex-direction:column;gap:.5rem}.streak-prompt-register{padding:.875rem;background:var(--primary-orange);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.streak-prompt-register:hover{background:#ff8533;transform:scale(1.02)}.streak-prompt-login{padding:.75rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.streak-prompt-login:hover{background:#ffffff1f}.streak-prompt-later{padding:.75rem;background:none;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffff80;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.streak-prompt-later:hover{background:#ffffff0d;color:#ffffffb3}.leaderboard-modal{max-width:500px}.leaderboard-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid rgba(255,255,255,.1)}.leaderboard-tab{flex:1;padding:.75rem;background:none;border:none;border-bottom:3px solid transparent;color:#fff9;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;margin-bottom:-2px}.leaderboard-tab:hover{color:#ffffffe6}.leaderboard-tab.active{color:var(--primary-orange);border-bottom-color:var(--primary-orange)}.leaderboard-table-container{max-height:400px;overflow-y:auto;margin-bottom:1rem}.leaderboard-table-container .loading,.leaderboard-table-container .error,.leaderboard-table-container .empty{text-align:center;padding:2rem;color:#fff9}.leaderboard-table-container .error{color:#f44336}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th{background:#ffffff0d;padding:.75rem;text-align:left;color:#fffc;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid rgba(255,255,255,.1);position:sticky;top:0}.leaderboard-table th:first-child{width:50px;text-align:center}.leaderboard-table th:nth-child(3),.leaderboard-table th:nth-child(4){width:80px;text-align:center}.leaderboard-table td{padding:.875rem .75rem;color:var(--body-text);font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.05)}.leaderboard-table td:first-child{text-align:center;font-weight:700;color:#ffffff80}.leaderboard-table td:nth-child(3),.leaderboard-table td:nth-child(4){text-align:center;font-weight:700}.leaderboard-table tbody tr{transition:background-color .2s}.leaderboard-table tbody tr:nth-child(2n){background:#ffffff05}.leaderboard-table tbody tr:hover{background:#ffffff0d}.leaderboard-table tbody tr.current-user{background:#ff6b0026!important;border:1px solid rgba(255,107,0,.3)}.leaderboard-table tbody tr.current-user td{color:var(--primary-orange);font-weight:700}.leaderboard-table tbody tr:nth-child(1) td:first-child{color:gold;font-size:1.1rem}.leaderboard-table tbody tr:nth-child(2) td:first-child{color:silver;font-size:1.05rem}.leaderboard-table tbody tr:nth-child(3) td:first-child{color:#cd7f32;font-size:1.05rem}@media(max-width:480px){.modal-content{padding:1.5rem;margin:0 .5rem}.modal-content h2{font-size:1.5rem}.leaderboard-table th,.leaderboard-table td{padding:.625rem .5rem;font-size:.85rem}.leaderboard-table th:first-child,.leaderboard-table td:first-child{width:40px}.leaderboard-table th:nth-child(3),.leaderboard-table th:nth-child(4),.leaderboard-table td:nth-child(3),.leaderboard-table td:nth-child(4){width:60px}.auth-area{gap:.375rem}.account-prompt{padding:.75rem .5rem}.account-prompt p{font-size:.85rem}}#lobby-panel{position:sticky;top:1rem;width:320px;flex-shrink:0;background:#1a1a1af2;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.75rem 1rem 1rem;box-shadow:0 10px 40px #00000080;z-index:900;display:none;max-height:calc(100vh - 100px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}#lobby-panel::-webkit-scrollbar{display:none}#lobby-panel *::-webkit-scrollbar{display:none}#lobby-panel *{scrollbar-width:none;-ms-overflow-style:none}.lobby-header{display:none}.lobby-invite-wrapper{margin-bottom:.5rem}.lobby-invite-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem 1rem;background:#ff6b001f;border:1px dashed rgba(255,107,0,.4);border-radius:8px;color:var(--primary-orange);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.lobby-invite-btn:hover{background:#ff6b0033;border-color:#ff6b0099}.lobby-invite-btn:active{transform:scale(.98)}.lobby-invite-btn svg{flex-shrink:0}.lobby-player-list{display:flex;flex-direction:column;gap:.5rem}.lobby-player-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;transition:all .2s}.lobby-player-row:hover{background:#ffffff0f;border-color:#ff6b004d}.lobby-player-name{color:var(--body-text);font-size:.95rem;font-weight:600;flex:1;cursor:pointer;transition:color .15s}.lobby-player-name:hover{color:var(--primary-orange)}.lobby-challenge-btn{padding:.4rem .9rem;background:var(--primary-orange);border:none;border-radius:6px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.lobby-challenge-btn:hover{background:#ff8533;transform:scale(1.05)}.lobby-challenge-btn:active{transform:scale(.98)}.lobby-section{margin-bottom:.5rem;border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden}.lobby-section-toggle{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s}.lobby-section-toggle:hover{background:#ffffff0a}.lobby-section-toggle h3{margin:0;color:#fffc;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:.4rem}.lobby-section-badge{background:#ff6b0033;color:var(--primary-orange);font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:10px;min-width:1.2rem;text-align:center}.lobby-section-chevron{color:#ffffff59;font-size:1.1rem;transition:transform .2s;transform:rotate(90deg);line-height:1}.lobby-section.collapsed .lobby-section-chevron{transform:rotate(0)}.lobby-section-body{padding:0 .75rem .75rem;transition:none}.lobby-section.collapsed .lobby-section-body{display:none}.lobby-section-header{margin-bottom:.5rem;padding-bottom:.375rem;border-bottom:1px solid rgba(255,255,255,.08)}.lobby-section-header h4{margin:0;color:#ffffffb3;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.lobby-leaderboard-tabs{display:flex;gap:.25rem;margin-bottom:.5rem}.lobby-lb-tab{flex:1;padding:.3rem .5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#ffffff80;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.lobby-lb-tab.active{background:#ff6b0026;border-color:#ff6b004d;color:var(--primary-orange)}.lobby-leaderboard-content{max-height:200px;overflow-y:auto}.lobby-lb-row{display:flex;align-items:center;padding:.3rem .4rem;border-radius:4px;font-size:.8rem;gap:.5rem}.lobby-lb-row:hover{background:#ffffff0a}.lobby-lb-me{background:#ff6b001a}.lobby-lb-rank{color:#ffffff73;font-weight:700;min-width:1.6rem;font-variant-numeric:tabular-nums}.lobby-lb-rank.rank-gold{color:gold}.lobby-lb-rank.rank-silver{color:silver}.lobby-lb-rank.rank-bronze{color:#cd7f32}.lobby-lb-name{flex:1;color:var(--body-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-lb-streak{color:var(--primary-orange);font-weight:700;font-variant-numeric:tabular-nums}.lobby-lb-wins{color:#4caf50;font-weight:700;font-variant-numeric:tabular-nums}.lobby-lb-wl{color:#ffffff73;font-size:.75rem;font-variant-numeric:tabular-nums;min-width:2.5rem;text-align:right}.lobby-pager{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.4rem 0 0}.lobby-pager-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;font-size:1.1rem;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif;line-height:1}.lobby-pager-btn:hover:not(:disabled){background:#ff6b0026;border-color:#ff6b004d;color:var(--primary-orange)}.lobby-pager-btn:disabled{opacity:.3;cursor:default}.lobby-pager-info{color:#ffffff80;font-size:.75rem;font-variant-numeric:tabular-nums;min-width:3rem;text-align:center}.lobby-stats-row{display:flex;align-items:center;gap:.375rem;padding:.5rem;background:#ffffff08;border-radius:6px;font-size:.8rem;font-weight:700;justify-content:center;margin-bottom:.5rem}.lobby-stats-history{display:flex;flex-direction:column;gap:.15rem;max-height:160px;overflow-y:auto}.stats-modal-row{display:flex;align-items:center;gap:.375rem;padding:.75rem 1rem;background:#ffffff08;border-radius:8px;font-size:1.1rem;font-weight:700;margin-bottom:1rem;justify-content:center}.lobby-stat-win{color:#4caf50}.lobby-stat-loss{color:#f44336}.lobby-stat-separator{color:#fff6}.lobby-stat-winrate{color:#ffffff80;font-weight:500;margin-left:.25rem}.stats-modal{max-width:400px}.stats-modal h2{font-size:1.4rem}.stats-loading{text-align:center;color:#ffffff80;padding:1.5rem}.stats-empty{text-align:center;color:#ffffff80;padding:1rem;font-style:italic}.stats-modal-section-header{color:#ffffffb3;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.stats-modal-history{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.25rem;max-height:300px;overflow-y:auto}.stats-modal-close-btn{display:block;width:100%;padding:.75rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--body-text);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif;margin-top:.5rem}.stats-modal-close-btn:hover{background:#ffffff1f}.lobby-history-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;font-size:.8rem}.lobby-history-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;font-size:.7rem;font-weight:800;flex-shrink:0}.badge-win{background:#4caf5033;color:#4caf50}.badge-loss{background:#f4433633;color:#f44336}.lobby-history-opponent{color:var(--body-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-history-score{color:#fffc;font-weight:700;font-variant-numeric:tabular-nums}.lobby-history-time{color:#fff6;font-size:.75rem;min-width:2rem;text-align:right}.lobby-chat-section{margin-bottom:0}.lobby-chat-messages{max-height:180px;overflow-y:auto;padding:.5rem;background:#0003;border-radius:6px;margin-bottom:.5rem;scrollbar-width:none;-ms-overflow-style:none}.lobby-chat-messages::-webkit-scrollbar{display:none}.lobby-chat-empty{color:#ffffff59;font-size:.8rem;text-align:center;padding:.5rem;margin:0;font-style:italic}.lobby-chat-msg{padding:.2rem 0;font-size:.8rem;line-height:1.3}.lobby-chat-msg-name{color:var(--primary-orange);font-weight:700;margin-right:.375rem}.lobby-chat-msg-name:after{content:":"}.lobby-chat-msg-text{color:var(--body-text)}.lobby-chat-presets{display:flex;gap:.375rem;margin-bottom:.375rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.lobby-chat-presets::-webkit-scrollbar{display:none}.lobby-chat-preset-btn{padding:.3rem .6rem;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#ffffffb3;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s;font-family:Inter,sans-serif;min-height:30px}.lobby-chat-preset-btn:hover{background:#ff6b0026;border-color:#ff6b004d;color:var(--primary-orange)}.lobby-chat-preset-btn:active{transform:scale(.95)}.lobby-chat-input-row{display:flex;gap:.375rem}.lobby-chat-input{flex:1;padding:.4rem .6rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff;font-size:.8rem;font-family:Inter,sans-serif;outline:none;min-height:34px}.lobby-chat-input:focus{border-color:#ff6b0066;background:#ffffff14}.lobby-chat-input::placeholder{color:#ffffff4d}.lobby-chat-send-btn{padding:.4rem .75rem;background:var(--primary-orange);border:none;border-radius:6px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif;min-height:34px;min-width:44px}.lobby-chat-send-btn:hover{background:#ff8533}.lobby-chat-send-btn:active{transform:scale(.95)}.lobby-empty{color:#ffffff80;text-align:center;padding:1rem .5rem;font-size:.8rem;font-style:italic}.lobby-chat-msg-name-clickable{cursor:pointer;transition:color .15s}.lobby-chat-msg-name-clickable:hover{text-decoration:underline}.lobby-context-menu{background:#1a1a1afa;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.25rem;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;min-width:140px}.lobby-context-menu button{padding:.5rem .75rem;background:none;border:none;border-radius:6px;color:var(--body-text);font-size:.8rem;font-weight:500;cursor:pointer;text-align:left;transition:background .15s;font-family:Inter,sans-serif}.lobby-context-menu button:hover{background:#ff6b0026;color:var(--primary-orange)}#challenge-modal{position:fixed;inset:0;z-index:1001;display:none}#challenge-modal:not(:empty){display:block}.challenge-notification{max-width:400px;text-align:center}.challenge-text{font-size:1.3rem;font-weight:700;color:#fff;margin:0 0 1rem}.challenge-countdown{font-size:.9rem;color:#fff9;margin:0 0 1.5rem}.challenge-buttons{display:flex;gap:.75rem;justify-content:center}.challenge-accept-btn,.challenge-decline-btn{flex:1;padding:.875rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.challenge-accept-btn{background:var(--primary-orange);color:#fff}.challenge-accept-btn:hover{background:#ff8533;transform:scale(1.05)}.challenge-decline-btn{background:#ffffff1a;color:var(--body-text);border:1px solid rgba(255,255,255,.2)}.challenge-decline-btn:hover{background:#ffffff26}#toast-container{position:fixed;bottom:2rem;right:2rem;z-index:1002;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{background:#1a1a1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.875rem 1.25rem;color:#fff;font-size:.95rem;font-weight:600;box-shadow:0 4px 20px #0006;opacity:1;transition:opacity .3s;pointer-events:auto;min-width:250px}.toast-info{border-left:4px solid #2196F3}.toast-success{border-left:4px solid #4CAF50}.toast-error{border-left:4px solid #f44336}.toast-fade-out{opacity:0}@media(max-width:768px){#lobby-panel{position:static;width:100%;max-width:500px;max-height:none;overflow-y:visible;margin-top:1rem;margin-bottom:1rem}.lobby-player-row{padding:.625rem}.lobby-player-name{font-size:.9rem}.lobby-challenge-btn{padding:.35rem .75rem;font-size:.8rem}.lobby-chat-messages{max-height:200px}.lobby-chat-preset-btn{min-height:36px;padding:.35rem .7rem}.lobby-chat-input{min-height:36px}.lobby-chat-send-btn{min-height:36px;min-width:48px}#toast-container{bottom:1rem;right:1rem;left:1rem}.toast{min-width:auto;width:100%}}@media(max-width:480px){.challenge-notification{margin:.5rem;padding:1.5rem}.challenge-text{font-size:1.1rem}.challenge-buttons{flex-direction:column;gap:.5rem}.challenge-accept-btn,.challenge-decline-btn{width:100%}}#duel-overlay{display:none!important}.duel-header{display:none}.duel-player{display:flex;flex-direction:column;align-items:center}.duel-player-name{font-size:12px;color:#ffffffb3;font-family:Inter,sans-serif}.duel-player-score{font-size:32px;font-weight:800;color:#fff;font-family:Inter,sans-serif}.duel-player-me .duel-player-score{color:var(--primary-orange, #ff6b00)}.duel-vs{font-size:14px;font-weight:700;color:#ffffff80;font-family:Inter,sans-serif}.duel-turn-info{font-size:13px;color:#fffc;margin-top:4px;font-family:Inter,sans-serif}.duel-timer{font-size:12px;color:#ffffff80;font-family:Inter,sans-serif;margin-top:2px}.duel-timer.warning{color:#f44336;font-weight:700}#duel-countdown-overlay{position:fixed;inset:0;z-index:100;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.countdown-text{font-size:24px;font-weight:700;color:var(--primary-orange, #ff6b00);font-family:Inter,sans-serif;margin-bottom:16px}.countdown-number{font-size:72px;font-weight:800;color:#fff;font-family:Inter,sans-serif;animation:countdown-pulse 1s ease-in-out}@keyframes countdown-pulse{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:.5}}#chat-panel{position:fixed;bottom:0;left:0;right:0;z-index:60;background:#000000e6;border-top:1px solid rgba(255,255,255,.1);max-height:200px;display:flex;flex-direction:column;font-family:Inter,sans-serif}.chat-messages{flex:1;overflow-y:auto;padding:8px;max-height:100px}.chat-msg{padding:2px 0;font-size:12px;display:flex;gap:4px;align-items:baseline}.chat-msg-mine .chat-msg-name{color:var(--primary-orange, #ff6b00)}.chat-msg-theirs .chat-msg-name{color:#4caf50}.chat-msg-system{color:#ffffff80;font-style:italic}.chat-msg-name{font-weight:600;font-size:11px}.chat-msg-text{color:#ffffffe6}.chat-report-btn{background:none;border:1px solid rgba(255,255,255,.2);color:#fff6;font-size:9px;padding:0 4px;border-radius:3px;cursor:pointer;margin-left:auto}.chat-report-btn:hover{color:#f44336;border-color:#f44336}.chat-presets{display:flex;gap:6px;padding:6px 8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.chat-presets::-webkit-scrollbar{height:0}.chat-preset-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;white-space:nowrap;cursor:pointer;font-family:Inter,sans-serif}.chat-preset-btn:active{background:var(--primary-orange, #ff6b00);border-color:var(--primary-orange, #ff6b00)}.chat-input-row{display:flex;gap:6px;padding:6px 8px;border-top:1px solid rgba(255,255,255,.1)}.chat-input{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 10px;border-radius:6px;font-size:13px;font-family:Inter,sans-serif;outline:none}.chat-input:focus{border-color:var(--primary-orange, #ff6b00)}.chat-input::placeholder{color:#fff6}.chat-send-btn{background:var(--primary-orange, #ff6b00);color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif}#duel-result-modal{position:fixed;inset:0;z-index:200;background:#000000d9;display:flex;align-items:center;justify-content:center}.duel-result{background:var(--dark-bg, #1a1a2e);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px;text-align:center;max-width:320px;width:90%}.duel-result h2{font-size:28px;margin:0 0 16px;font-family:Inter,sans-serif}.duel-result-win h2{color:#4caf50}.duel-result-lose h2{color:#f44336}.duel-result-scores{font-size:18px;color:#fffc;margin-bottom:24px;font-family:Inter,sans-serif}.duel-result-btn{background:var(--primary-orange, #ff6b00);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif}.customizer-modal{max-width:520px;max-height:90vh;overflow-y:auto;padding:1.5rem}.customizer-layout{display:flex;gap:1.25rem;margin-bottom:1.25rem}.customizer-preview{flex-shrink:0;display:flex;align-items:flex-start;justify-content:center}.customizer-canvas{border-radius:12px;border:1px solid rgba(255,255,255,.1);width:180px;height:257px}.customizer-options{flex:1;min-width:0;display:flex;flex-direction:column;gap:.75rem;max-height:420px;overflow-y:auto;padding-right:.25rem}.customizer-options::-webkit-scrollbar{width:4px}.customizer-options::-webkit-scrollbar-track{background:transparent}.customizer-options::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.customizer-section{display:flex;flex-direction:column;gap:.35rem}.customizer-label{font-size:.75rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.customizer-swatches{display:flex;flex-wrap:wrap;gap:.375rem}.customizer-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s;padding:0;outline:none}.customizer-swatch:hover{transform:scale(1.15)}.customizer-swatch.active{border-color:var(--primary-orange);box-shadow:0 0 0 2px #ff6b0066}.customizer-pills{display:flex;flex-wrap:wrap;gap:.35rem}.customizer-pill{padding:.3rem .6rem;border-radius:16px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#ffffffb3;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.customizer-pill:hover{background:#ffffff1a;color:#fff}.customizer-pill.active{background:#ff6b0033;border-color:var(--primary-orange);color:var(--primary-orange)}.customizer-number-wrap{display:flex}.customizer-number{width:64px;padding:.35rem .5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:.9rem;font-family:Inter,sans-serif;text-align:center}.customizer-number:focus{outline:none;border-color:var(--primary-orange)}.customizer-number::-webkit-inner-spin-button,.customizer-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.customizer-number{-moz-appearance:textfield}.customizer-buttons{display:flex;gap:.75rem}.customizer-cancel{flex:1;padding:.75rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.customizer-cancel:hover{background:#ffffff1f}.customizer-save{flex:1;padding:.75rem;background:var(--primary-orange);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.customizer-save:hover:not(:disabled){background:#ff8533;transform:scale(1.02)}.customizer-save:disabled{opacity:.5;cursor:not-allowed}.customizer-error{color:#f44336;font-size:.85rem;text-align:center;margin-bottom:.5rem}.customize-btn{background:none;border:none;color:#ffffff80;cursor:pointer;padding:.2rem;font-size:.9rem;line-height:1;transition:color .2s;display:flex;align-items:center}.customize-btn:hover{color:var(--primary-orange)}.customize-btn svg{width:16px;height:16px}@media(max-width:480px){.customizer-modal{padding:1.25rem;max-height:95vh}.customizer-layout{flex-direction:column;align-items:center}.customizer-canvas{width:160px;height:228px}.customizer-options{max-height:300px;width:100%}.customizer-swatch{width:32px;height:32px}}
