:root{--light-square: #e8dcc8;--dark-square: #a07850;--bg-color: #12111a;--panel-bg: rgba(255, 255, 255, .04);--panel-text: #d4d0c8;--accent: #c49a6c;--accent-hover: #d4aa7c;--gold: #c49a6c;--btn-radius: 6px;--accent-glow: rgba(196, 154, 108, .35);--gold-glow: rgba(196, 154, 108, .35);--glass-border: rgba(255, 255, 255, .07);--glass-blur: blur(16px);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4);--dialog-radius: 16px;--transition-medium: .25s ease;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-body);background:var(--bg-color);color:var(--panel-text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}@media(max-width:1000px){html,body{overflow-y:auto;-webkit-overflow-scrolling:touch}}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:-20%;left:50%;transform:translate(-50%);width:120%;height:70%;background:radial-gradient(ellipse at center,rgba(196,154,108,.06) 0%,transparent 70%);pointer-events:none;z-index:0}#app-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}#game-layout{--right-panel-w: 240px;display:grid;grid-template-columns:220px auto var(--right-panel-w);justify-content:start;gap:0;height:100vh;max-height:100vh;width:100%;transition:grid-template-columns .3s ease}#game-layout.analysis-mode{--right-panel-w: 360px}#left-panel{background:var(--panel-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);display:flex;flex-direction:column;align-items:center;padding:80px 8px 10px;overflow-y:auto;border-right:1px solid var(--glass-border)}#board-column{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:40px 0 10px;position:relative;transition:filter .3s ease}#board-column.board-inactive{filter:blur(4px) brightness(.6);pointer-events:none;transition:filter .3s ease}#board-row{display:flex;align-items:stretch;gap:8px}#board-area{width:min(calc(100vh - 160px),calc(100vw - 220px - var(--right-panel-w) - 40px));max-width:100%;aspect-ratio:1;position:relative}.engine-error-banner{position:absolute;top:0;left:0;right:0;z-index:30;padding:10px 14px;background:#b42d2df2;color:#fff;font-size:.85rem;font-weight:600;text-align:center;border-radius:6px 6px 0 0}#below-board{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 0;min-height:60px}#right-panel{background:var(--panel-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);display:flex;flex-direction:column;padding:12px 8px;overflow:hidden;border-left:1px solid var(--glass-border);max-height:100vh}@media(max-width:1000px){#app-container{align-items:flex-start;height:auto;min-height:100%}#game-layout,#game-layout.analysis-mode{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;height:auto;max-height:none;min-height:100vh;min-height:100dvh}#left-panel{flex-direction:row;flex-wrap:wrap;justify-content:center;border-right:none;border-bottom:1px solid var(--glass-border);padding:6px 4px;order:-1;gap:4px}#board-column{padding:4px 0;align-items:center}#right-panel{border-left:none;border-top:1px solid var(--glass-border);max-height:200px;padding-bottom:max(12px,env(safe-area-inset-bottom))}#board-area{width:min(90vw,calc(100vh - 240px))}#below-board{min-height:44px;padding:6px 0}}@media(max-width:1000px)and (orientation:landscape)and (min-height:501px){#game-layout,#game-layout.analysis-mode{grid-template-rows:auto 1fr auto;overflow-y:auto}#left-panel{padding:4px;gap:3px}#board-column{padding:2px 0}#board-area{width:min(60vw,calc(100vh - 80px))}#right-panel{max-height:150px}#below-board{min-height:32px;padding:2px 0}}@media(orientation:landscape)and (max-height:500px){html,body{overflow:hidden}#app-container{align-items:center;height:100%;min-height:0}#game-layout,#game-layout.analysis-mode{grid-template-columns:120px 1fr 150px;grid-template-rows:none;height:100dvh;height:var(--app-height, 100dvh);max-height:100dvh;max-height:var(--app-height, 100dvh);min-height:0}#left-panel{flex-direction:column;order:0;border-right:1px solid var(--glass-border);border-bottom:none;padding:8px 4px max(8px,env(safe-area-inset-bottom));gap:4px;overflow-y:auto}#right-panel{max-height:none;border-top:none;border-left:1px solid var(--glass-border);padding-bottom:max(12px,env(safe-area-inset-bottom))}#board-column{display:grid;grid-template-columns:auto max-content;grid-template-rows:auto 1fr auto;grid-template-areas:"board opponent" "board mid" "board player";column-gap:10px;align-items:stretch;justify-content:center;padding:6px 0 8px}#board-row{grid-area:board}#board-column>.player-info.opponent{grid-area:opponent;align-self:start}#board-column>.player-info.player{grid-area:player;align-self:end}#below-board{grid-area:mid;align-self:center;min-height:0;padding:0}#board-area{width:min(calc(100dvh - 14px),calc(100vw - 440px));width:min(calc(var(--app-height, 100dvh) - 14px),calc(100vw - 440px))}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.overlay-enter{animation:overlayFadeIn .3s ease forwards}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.dialog-enter{animation:dialogSlideIn .35s cubic-bezier(.16,1,.3,1) forwards}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;height:100%;border:3px solid rgba(80,60,40,.6);border-radius:3px;position:relative;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 1px #ffffff0d,0 8px 40px #00000080,0 2px 12px #0000004d,0 0 80px #c49a6c14}.board.flipped{transform:rotate(180deg)}.square{position:relative;display:flex;align-items:center;justify-content:center}.square.light{background-color:var(--light-square)}.square.dark{background-color:var(--dark-square)}.square.selected{box-shadow:inset 0 0 0 4px #ffff00b3}.square.last-move{box-shadow:inset 0 0 0 4px #ffff004d}.square.check{background:radial-gradient(ellipse at center,rgba(255,0,0,.7) 0%,rgba(255,0,0,.3) 40%,transparent 70%)}.square.legal-move:after{content:"";position:absolute;width:30%;height:30%;background:#32c83299;border-radius:50%;pointer-events:none;z-index:2}.square.legal-capture:after{width:85%;height:85%;background:transparent;border:5px solid rgba(50,200,50,.5);border-radius:50%}.square.legal-hover{box-shadow:inset 0 0 0 4px #32c832cc;background-color:#32c83240!important}.square.hint-from{background-color:#00dc004d!important;box-shadow:inset 0 0 0 3px #00dc00cc}.square.hint-to{background-color:#00dc0066!important;box-shadow:inset 0 0 0 3px #00dc00cc}.piece{width:100%;height:100%;position:absolute;top:0;left:0;z-index:3;pointer-events:none}.board.flipped .piece{transform:rotate(180deg)}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}.label{position:absolute;font-size:11px;font-weight:600;pointer-events:none;z-index:4;line-height:1;font-family:var(--font-body)}.file-label{bottom:2px;right:3px}.rank-label{top:2px;left:3px}.label.on-light{color:var(--dark-square)}.label.on-dark{color:var(--light-square)}.board.flipped .label{transform:rotate(180deg)}.board-svg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.board.flipped .board-svg-overlay{transform:rotate(180deg)}.hint-arrow{pointer-events:none}.replay-controls{display:flex;gap:8px}.replay-btn{background:#ffffff0f;color:var(--panel-text);border:1px solid var(--glass-border);border-radius:var(--btn-radius);width:44px;height:36px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-medium)}.replay-btn:hover{transform:translateY(-1px);background:#ffffff1a;border-color:var(--accent);color:var(--accent)}.replay-btn:active{transform:translateY(0)}.analysis-time-picker{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:8px 0;animation:panelFadeIn .25s ease forwards}.game-result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:3px;z-index:35;animation:overlayFadeIn .25s ease forwards}.game-result{padding:16px 32px;text-align:center;font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:.01em;color:var(--accent);background:#18161eeb;border:1px solid var(--glass-border);border-radius:var(--dialog-radius);box-shadow:0 12px 48px #00000080;animation:dialogSlideIn .3s cubic-bezier(.16,1,.3,1) forwards}.game-result.is-draw{color:var(--panel-text)}.left-panel-buttons{display:flex;flex-direction:column;gap:8px;width:100%;padding:8px 0}.left-panel-buttons-inner{display:flex;flex-direction:column;gap:8px;width:100%}.inline-new-game-setup{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:4px 0;animation:panelFadeIn .25s ease forwards}@keyframes panelFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.setup-section-label{font-size:11px;color:#d4d0c8b3;font-weight:600;text-transform:uppercase;letter-spacing:.1em;width:100%;text-align:center}.setup-divider{width:60%;height:1px;background:var(--glass-border);margin:2px 0}.setup-color-row{display:flex;gap:10px;justify-content:center}.setup-color-btn{display:flex;flex-direction:column;align-items:center;gap:3px;background:#ffffff05;border:2px solid rgba(255,255,255,.06);border-radius:10px;padding:8px 14px;cursor:pointer;transition:all var(--transition-medium);color:#d4d0c899;font-family:var(--font-body);font-size:11px;font-weight:500}.setup-color-btn:hover{border-color:#ffffff26;background:#ffffff0a;color:var(--panel-text)}.setup-color-btn.selected{border-color:var(--accent);background:#c49a6c14;color:var(--accent);box-shadow:0 0 16px #c49a6c1f}.setup-color-king{width:40px;height:40px;transition:transform var(--transition-medium)}.setup-color-btn.selected .setup-color-king{transform:scale(1.08)}.setup-diff-select{width:100%;padding:9px 32px 9px 12px;border:1px solid rgba(255,255,255,.1);border-radius:var(--btn-radius);background:#ffffff0a;color:var(--panel-text);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-medium);outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c49a6c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.setup-diff-select:hover{border-color:#c49a6c66;background-color:#ffffff0f}.setup-diff-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #c49a6c26}.setup-diff-select option{background:#1a1820;color:var(--panel-text);padding:8px}.setup-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%}.setup-time-btn{padding:7px 8px;border:1px solid rgba(255,255,255,.06);border-radius:var(--btn-radius);background:transparent;color:#d4d0c8bf;font-family:var(--font-body);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-medium);text-align:center}.setup-time-btn:hover{background:#ffffff0a;color:var(--panel-text);border-color:#ffffff1a}.setup-time-btn.selected{background:#c49a6c1f;color:var(--accent);border-color:#c49a6c4d;font-weight:600}.setup-time-btn-infinite{width:50%;margin:2px auto 0;font-size:18px;line-height:1}.setup-action-row{display:flex;flex-direction:column;gap:5px;width:100%}.panel-btn{background:var(--accent);color:#1a1510;border:none;border-radius:var(--btn-radius);padding:11px 16px;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-medium);width:100%}.panel-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px var(--accent-glow);background:var(--accent-hover)}.panel-btn:active{transform:translateY(0);box-shadow:0 2px 8px var(--accent-glow)}.panel-btn:disabled{opacity:.3;cursor:default;pointer-events:none;transform:none;box-shadow:none}.panel-btn-secondary{background:#ffffff0f;color:var(--panel-text);border:1px solid var(--glass-border)}.panel-btn-secondary:hover{background:#ffffff1a;border-color:var(--accent);color:var(--accent);box-shadow:none}.panel-btn-danger{background:#ffffff0f;color:#c97070;border:1px solid rgba(201,112,112,.2)}.panel-btn-danger:hover{background:#c970701f;border-color:#c9707066;color:#e08080;box-shadow:none}.depth-label{font-size:10px;color:#d4d0c880;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.eval-bar{width:44px;height:100%;border:2px solid rgba(80,60,40,.4);border-radius:3px;position:relative;overflow:hidden;display:flex;flex-direction:column;flex-shrink:0;box-shadow:0 2px 8px #0003}.eval-bar.flipped{flex-direction:column-reverse}.eval-black{background:#2a2a2a;height:50%;transition:height .1s}.eval-white{background:#e8e4dc;height:50%;transition:height .1s}.eval-score{position:absolute;font-family:var(--font-body);font-size:12px;font-weight:700;text-align:center;width:100%;z-index:1}.eval-score.white-advantage{bottom:6px;color:#1a1510}.eval-bar.flipped .eval-score.white-advantage{color:#d4d0c8}.eval-score.black-advantage{top:6px;color:#d4d0c8}.eval-bar.flipped .eval-score.black-advantage{color:#1a1510}.eval-ticks{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.eval-tick{position:absolute;left:0;width:10px;height:1px;background:#96969680}.eval-center-line{position:absolute;top:50%;left:0;width:100%;height:1px;background:#969696b3}.move-list{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.move-list-title{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--accent);text-align:center;padding:8px 0;border-bottom:1px solid var(--glass-border);flex-shrink:0;letter-spacing:.04em}.move-list-content{flex:1;overflow-y:auto;padding:6px 4px}.move-list-empty{color:#d4d0c8a6;text-align:center;padding:24px 0;font-size:13px;font-style:italic}.move-row{display:grid;grid-template-columns:36px 1fr 1fr;gap:2px;padding:2px 4px;font-size:14px;line-height:1.7;border-left:2px solid transparent}.move-row:nth-child(2n){background:#ffffff05}.move-number{color:#d4d0c899;font-weight:600;text-align:right;padding-right:6px;font-variant-numeric:tabular-nums}.move-san{cursor:pointer;padding:1px 8px;border-radius:4px;transition:all .15s ease;font-variant-numeric:tabular-nums}.move-san:hover{background:#ffffff0f}.move-san[data-quality]{color:var(--q-color);font-weight:600}.move-q-glyph{margin-left:2px}.move-san.active{background:var(--accent);color:#1a1510;font-weight:600;border-radius:4px;box-shadow:0 0 12px var(--accent-glow)}.player-info{display:flex;align-items:center;gap:10px;padding:8px 0;margin-left:52px;max-width:min(80vh,700px);position:relative}.player-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:13px;font-weight:700;flex-shrink:0;box-shadow:0 0 0 2px #ffffff1a,0 2px 6px #0000004d}.player-avatar.white-piece{background:#e8e4dc;color:#1a1510}.player-avatar.black-piece{background:#2a2a2a;color:#d4d0c8}.player-name{font-size:13px;font-weight:500;color:var(--panel-text)}.chess-clock{position:absolute;right:0;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:min(1vh,8px);padding:min(.75vh,6px) min(2vh,16px);display:flex;align-items:center;justify-content:center;min-width:min(14vh,120px);transition:all .3s ease;overflow:hidden}.chess-clock:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.03),transparent);pointer-events:none}.chess-clock-digits{font-family:JetBrains Mono,SF Mono,Fira Code,Cascadia Code,monospace;font-size:min(3vh,26px);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#d4d0c880;transition:color .3s ease;position:relative;z-index:1}.chess-clock.active{background:#c49a6c1a;border-color:#c49a6c4d;box-shadow:0 0 16px #c49a6c1f,inset 0 0 12px #c49a6c0a}.chess-clock.active .chess-clock-digits{color:var(--accent)}.chess-clock.low-time{border-color:#e6a03259}.chess-clock.low-time .chess-clock-digits{color:#e6a032}.chess-clock.critical-time{border-color:#dc503c66;animation:clockPulse 1s ease-in-out infinite}.chess-clock.critical-time .chess-clock-digits{color:#dc503c}@keyframes clockPulse{0%,to{background:#dc503c14;box-shadow:0 0 12px #dc503c1a}50%{background:#dc503c29;box-shadow:0 0 20px #dc503c33}}.chess-clock.flagged{background:#dc503c1f;border-color:#dc503c4d;animation:none}.chess-clock.flagged .chess-clock-digits{color:#dc503c}.pgn-btn{margin-top:36px;padding:8px 12px;font-size:13px;background:#ffffff0f;border:1px solid var(--glass-border);color:var(--panel-text)}.pgn-btn:hover{background:#ffffff1a;border-color:var(--accent);color:var(--accent);box-shadow:none}.fen-btn{padding:8px 12px;font-size:13px;background:#ffffff0f;border:1px solid var(--glass-border);color:var(--panel-text)}.fen-btn:hover{background:#ffffff1a;border-color:var(--accent);color:var(--accent);box-shadow:none}.settings-btn{margin-top:36px}.best-move-btn{background:transparent;border:1px solid var(--accent);color:var(--accent)}.best-move-btn:hover{background:#c49a6c1f;border-color:var(--accent-hover);color:var(--accent-hover);box-shadow:0 4px 16px var(--accent-glow)}.analysis-progress-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000e0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20;gap:12px}.analysis-graph-panel{flex-shrink:0;display:flex;flex-direction:column;border-top:1px solid var(--glass-border)}.analysis-graph-canvas{display:block;width:100%}.analysis-graph-close{background:var(--accent);color:#1a1510;border:none;border-radius:var(--btn-radius);padding:8px 24px;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-medium)}.analysis-graph-close:hover{transform:translateY(-1px);box-shadow:0 4px 16px var(--accent-glow);background:var(--accent-hover)}.analysis-time-options{display:flex;gap:5px}.analysis-time-btn{width:46px;height:36px;border:1px solid var(--glass-border);border-radius:var(--btn-radius);background:#ffffff0f;color:var(--panel-text);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-medium);display:flex;align-items:center;justify-content:center}.analysis-time-btn:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.analysis-time-btn.selected{background:var(--accent);color:#1a1510;border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.analysis-progress{display:flex;flex-direction:column;align-items:center;gap:16px;width:80%;max-width:400px}.analysis-progress-text{font-family:var(--font-body);font-size:16px;font-weight:500;color:#fff}.analysis-progress-bar-outer{width:100%;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden}.analysis-progress-bar-inner{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),#d4aa7c);border-radius:4px;transition:width .3s ease}@media(max-width:1000px){.left-panel-buttons{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px;padding:4px 0}.left-panel-buttons-inner{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px}.inline-new-game-setup{max-width:400px}.setup-time-grid{grid-template-columns:repeat(4,1fr)}.panel-btn{width:auto;padding:6px 10px;font-size:12px}.pgn-btn,.fen-btn,.settings-btn{margin-top:0}.player-info{width:100%;margin-left:0;max-width:min(90vw,calc(100vh - 240px))}.player-info .chess-clock{min-width:0;padding:3px 12px;border-radius:6px}.chess-clock-digits{font-size:18px}.eval-bar{width:30px}}@media(max-width:1000px)and (orientation:landscape)and (min-height:501px){.panel-btn{padding:4px 8px;font-size:11px}.left-panel-buttons{gap:3px;padding:2px 0}.left-panel-buttons-inner{gap:3px}.eval-bar{width:24px}.player-info{max-width:min(60vw,calc(100vh - 80px));padding:2px 0}}@media(orientation:landscape)and (max-height:500px){.left-panel-buttons,.left-panel-buttons-inner{flex-direction:column;gap:5px;padding:4px 0}.panel-btn{width:100%;padding:5px 6px;font-size:11px}.pgn-btn,.fen-btn,.settings-btn{margin-top:0}.player-info{flex-direction:column;align-items:flex-start;gap:4px;margin-left:0;max-width:120px;padding:0}.player-info .chess-clock{position:static;min-width:0;padding:2px 10px}.chess-clock-digits{font-size:16px}.eval-bar{width:24px}.inline-new-game-setup{max-width:none}.setup-time-grid{grid-template-columns:1fr 1fr}.setup-color-btn{padding:5px 8px}.setup-color-king{width:30px;height:30px}}.promotion-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:30;animation:overlayFadeIn .2s ease forwards}.promotion-dialog{display:flex;flex-direction:column;background:#18161ef2;border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;box-shadow:0 12px 48px #00000080;animation:dialogSlideIn .25s cubic-bezier(.16,1,.3,1) forwards}.promotion-piece{width:80px;height:80px;border:none;background:#ffffff0a;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;transition:background .15s}.promotion-piece:nth-child(2n){background:#ffffff05}.promotion-piece:hover{background:#c49a6c33}.promotion-piece img{width:100%;height:100%}.settings-inline{display:flex;flex-direction:column;gap:6px}.settings-inline-title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--panel-text);text-align:center;margin-bottom:2px}.settings-vol-row{display:flex;align-items:center;gap:8px;justify-content:center}.settings-vol-label{font-family:var(--font-body);font-size:13px;font-weight:500;min-width:70px;text-align:center;color:var(--panel-text)}.settings-btn-small{background:var(--accent);color:#1a1510;border:none;border-radius:50%;width:30px;height:30px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-medium)}.settings-btn-small:hover{transform:scale(1.1);box-shadow:0 2px 8px var(--accent-glow);background:var(--accent-hover)}
