@import"https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700&display=swap";:root,:root[data-theme=latte]{--rosewater: #d08770;--flamingo: #bf616a;--pink: #b48ead;--mauve: #b48ead;--red: #bf616a;--maroon: #a34f58;--peach: #d08770;--yellow: #ebcb8b;--green: #a3be8c;--teal: #8fbcbb;--sky: #88c0d0;--sapphire: #81a1c1;--blue: #5e81ac;--lavender: #81a1c1;--text: #2b303b;--subtext: #434c5e;--base: #e5e9f0;--mantle: #dfe5ee;--crust: #d3dbe7;--surface0: #d1dae8;--surface1: #c3cedf;--surface2: #b1bfd4;--app-bg: #f2f2f7;--sidebar-bg: rgba(242, 242, 247, .88);--sidebar-control-bg: rgba(0, 0, 0, .05);--sidebar-control-bg-hover: rgba(0, 0, 0, .09);--sidebar-control-border: rgba(0, 0, 0, .08);--sidebar-control-active-bg: rgba(94, 129, 172, .14);--sidebar-control-active-border: rgba(94, 129, 172, .5);--sidebar-accent: #5e81ac;--sidebar-divider: rgba(0, 0, 0, .07);--rail-fg: rgba(0, 0, 0, .38);--rail-fg-hover: rgba(0, 0, 0, .75);--rail-fg-active: #5e81ac;--rail-collapse-bg: rgba(0, 0, 0, .06);--rail-collapse-fg: rgba(0, 0, 0, .6);--btn-fg: #1d2430;--btn-fg-hover: #111827;--btn-fg-disabled: #8a95a8;--board-player-name: #1c2635;--board-player-name-active: #111827;--board-material-plus: #1f9a57;--board-captures-fg: #1f2b3d;--board-clock-bg: rgba(16, 24, 40, .13);--board-clock-fg: #111827;--board-mini-control-bg: transparent;--board-mini-control-bg-hover: transparent;--board-mini-control-fg: #1f2b3c;--board-mini-control-fg-hover: #101827;--panel: color-mix(in srgb, var(--base) 84%, white);--panel-border: color-mix(in srgb, var(--surface2) 52%, transparent);--panel-shadow: 0 14px 28px color-mix(in srgb, var(--surface2) 34%, transparent);--board-light: #f2dfc3;--board-dark: #b78255;--board-border: #7d5536;--cardboard-line: #1e1812;--cardboard-hatch: color-mix(in srgb, #a78260 52%, transparent);--cardboard-shadow: color-mix(in srgb, black 30%, transparent);--piece-white-color: #F8F5F0;--piece-black-color: #2a2520;--piece-white-stroke: #1a1815;--piece-black-stroke: #b8b0a0;--piece-white-filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .38)) drop-shadow(0 1px 2px rgba(0, 0, 0, .18));--piece-black-filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .5)) drop-shadow(0 1px 2px rgba(0, 0, 0, .25));--chip-bg: color-mix(in srgb, var(--base) 90%, white);--chip-border: color-mix(in srgb, var(--surface1) 68%, transparent);--board-size: clamp(36rem, 84vmin, 70rem);--move-row-height: 2rem;--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(0, 0, 0, .08);--glass-shadow: 0 4px 24px rgba(0, 0, 0, .1);--glass-shadow-hover: 0 8px 32px rgba(0, 0, 0, .14);--blur-sm: blur(8px);--blur-md: blur(16px);--blur-lg: blur(24px);--settings-sidebar-bg: color-mix(in srgb, var(--surface0) 30%, transparent);--settings-sidebar-item-active-bg: rgba(94, 129, 172, .12);--settings-sidebar-item-active-border: #5e81ac;--modal-divider: rgba(0, 0, 0, .07)}:root[data-theme=mocha]{--rosewater: #d08770;--flamingo: #bf616a;--pink: #b48ead;--mauve: #b48ead;--red: #bf616a;--maroon: #a34f58;--peach: #d08770;--yellow: #ebcb8b;--green: #a3be8c;--teal: #8fbcbb;--sky: #88c0d0;--sapphire: #81a1c1;--blue: #5e81ac;--lavender: #81a1c1;--text: #e5e9f0;--subtext: #b4bece;--base: #242933;--mantle: #212734;--crust: #1b212c;--surface0: #2f3542;--surface1: #394150;--surface2: #465064;--app-bg: rgb(23, 23, 23);--sidebar-bg: rgba(28, 28, 32, .82);--sidebar-control-bg: rgba(255, 255, 255, .06);--sidebar-control-bg-hover: rgba(255, 255, 255, .11);--sidebar-control-border: rgba(255, 255, 255, .09);--sidebar-control-active-bg: rgba(255, 255, 255, .12);--sidebar-control-active-border: rgba(255, 255, 255, .28);--sidebar-accent: rgba(255, 255, 255, .88);--sidebar-divider: rgba(255, 255, 255, .07);--rail-fg: rgba(255, 255, 255, .38);--rail-fg-hover: rgba(255, 255, 255, .85);--rail-fg-active: rgba(255, 255, 255, .92);--rail-collapse-bg: rgba(255, 255, 255, .07);--rail-collapse-fg: rgba(255, 255, 255, .7);--btn-fg: #eef2f8;--btn-fg-hover: #ffffff;--btn-fg-disabled: #8d95a4;--board-player-name: #e8edf6;--board-player-name-active: #ffffff;--board-material-plus: #8fdea2;--board-captures-fg: #d8deea;--board-clock-bg: rgba(0, 0, 0, .48);--board-clock-fg: #f2f4f7;--board-mini-control-bg: transparent;--board-mini-control-bg-hover: transparent;--board-mini-control-fg: #dde4ef;--board-mini-control-fg-hover: #ffffff;--panel: color-mix(in srgb, var(--surface0) 92%, var(--base));--panel-border: color-mix(in srgb, var(--surface2) 60%, transparent);--panel-shadow: 0 14px 32px color-mix(in srgb, var(--crust) 78%, transparent);--board-light: #566078;--board-dark: #343c4d;--board-border: #414a5d;--piece-white-color: #F8F5F0;--piece-black-color: #2a2520;--piece-white-stroke: #1a1815;--piece-black-stroke: #b8b0a0;--piece-white-filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .5)) drop-shadow(0 1px 2px rgba(0, 0, 0, .28));--piece-black-filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .62)) drop-shadow(0 1px 2px rgba(0, 0, 0, .35));--chip-bg: color-mix(in srgb, var(--surface0) 94%, var(--base));--chip-border: color-mix(in srgb, var(--surface2) 70%, transparent);--board-size: clamp(36rem, 84vmin, 70rem);--glass-bg: rgba(28, 28, 34, .7);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4);--glass-shadow-hover: 0 12px 40px rgba(0, 0, 0, .52);--blur-sm: blur(8px);--blur-md: blur(16px);--blur-lg: blur(24px);--settings-sidebar-bg: color-mix(in srgb, var(--surface0) 28%, transparent);--settings-sidebar-item-active-bg: rgba(255, 255, 255, .1);--settings-sidebar-item-active-border: rgba(255, 255, 255, .75);--modal-divider: rgba(255, 255, 255, .07)}:root[data-board-theme=vert]{--board-light: #EEEED2;--board-dark: #769656;--board-border: #5a7840}:root[data-board-theme=bois]{--board-light: #F0D9B5;--board-dark: #B58863;--board-border: #8a6240}:root[data-board-theme=bleu]{--board-light: #DEE3E6;--board-dark: #8CA2AD;--board-border: #6b8090}:root[data-board-theme=marine]{--board-light: #EAE9D2;--board-dark: #4B7399;--board-border: #365670}:root[data-board-theme=violet]{--board-light: #E2CBF7;--board-dark: #9E6DB8;--board-border: #7a50a0}:root[data-board-theme=ardoise]{--board-light: #E8E8E8;--board-dark: #AEAEAE;--board-border: #888888}:root[data-board-theme=corail]{--board-light: #F2D2C2;--board-dark: #C0735C;--board-border: #9a5040}:root[data-board-theme=minuit]{--board-light: #5A6B80;--board-dark: #1E2A38;--board-border: #152030}:root[data-board-theme=sable]{--board-light: #F5E6C8;--board-dark: #C8A060;--board-border: #9a7040}:root[data-piece-theme=neo]{--piece-white-color: #ffffff;--piece-black-color: #1a1a2e;--piece-white-stroke: #1a1a2e;--piece-black-stroke: #d0d0e0;--piece-white-filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .35)) drop-shadow(0 1px 1px rgba(0, 0, 0, .12));--piece-black-filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .4)) drop-shadow(0 1px 1px rgba(0, 0, 0, .15))}:root[data-piece-theme=ivory]{--piece-white-color: #faf6eb;--piece-black-color: #2c2416;--piece-white-stroke: #3d3529;--piece-black-stroke: #d4c9a8;--piece-white-filter: sepia(.25) saturate(.8) drop-shadow(0 2px 3px rgba(40, 30, 10, .35)) drop-shadow(0 1px 1px rgba(0, 0, 0, .1));--piece-black-filter: sepia(.3) saturate(.7) drop-shadow(0 2px 3px rgba(0, 0, 0, .45)) drop-shadow(0 1px 1px rgba(0, 0, 0, .15))}:root[data-piece-theme=metal]{--piece-white-color: #c8d8ee;--piece-black-color: #1e2d42;--piece-white-stroke: #1e3a5f;--piece-black-stroke: #8faec8;--piece-white-filter: saturate(.4) brightness(1.05) hue-rotate(200deg) drop-shadow(0 2px 4px rgba(10, 30, 60, .4)) drop-shadow(0 1px 1px rgba(0, 0, 0, .1));--piece-black-filter: saturate(.5) brightness(.95) hue-rotate(200deg) drop-shadow(0 2px 4px rgba(0, 0, 0, .5)) drop-shadow(0 1px 1px rgba(0, 0, 0, .15))}:root[data-piece-theme=amber]{--piece-white-color: #ffd166;--piece-black-color: #1b1f2a;--piece-white-stroke: #5c3d00;--piece-black-stroke: #d4a84a;--piece-white-filter: sepia(.6) saturate(1.8) hue-rotate(-10deg) brightness(1.05) drop-shadow(0 2px 3px rgba(60, 30, 0, .4)) drop-shadow(0 1px 1px rgba(0, 0, 0, .12));--piece-black-filter: sepia(.15) saturate(.8) drop-shadow(0 2px 3px rgba(0, 0, 0, .5)) drop-shadow(0 1px 1px rgba(0, 0, 0, .15))}:root[data-piece-theme=ruby]{--piece-white-color: #fff5e6;--piece-black-color: #6a0f2e;--piece-white-stroke: #6a1a30;--piece-black-stroke: #f0d0b0;--piece-white-filter: sepia(.15) saturate(.9) brightness(1.02) drop-shadow(0 2px 3px rgba(80, 10, 30, .3)) drop-shadow(0 1px 1px rgba(0, 0, 0, .1));--piece-black-filter: sepia(.3) saturate(1.4) hue-rotate(-20deg) brightness(.6) drop-shadow(0 2px 3px rgba(0, 0, 0, .5)) drop-shadow(0 1px 1px rgba(0, 0, 0, .15))}:root[data-piece-theme=cyber]{--piece-white-color: #67e8f9;--piece-black-color: #0b1020;--piece-white-stroke: #042f38;--piece-black-stroke: #4dd8e8;--piece-white-filter: saturate(.6) hue-rotate(160deg) brightness(1.1) drop-shadow(0 2px 4px rgba(0, 40, 50, .4)) drop-shadow(0 0 6px rgba(100, 230, 250, .18));--piece-black-filter: saturate(.7) brightness(.9) drop-shadow(0 2px 4px rgba(0, 0, 0, .5)) drop-shadow(0 0 6px rgba(70, 210, 230, .1))}*{box-sizing:border-box;box-shadow:none!important}*:before,*:after{box-shadow:none!important}html,body,#root{min-height:100%}body{margin:0;font-family:Nunito,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;color:var(--text);background:var(--app-bg);transition:background .22s ease,color .22s ease;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:none}.page{width:100%;min-height:100vh;padding:0 .8rem 1.1rem;display:flex;flex-direction:column;position:relative;transition:padding-right .22s ease}.page.panel-open{padding-right:.8rem}.top-bar{position:fixed;top:.65rem;right:.75rem;z-index:300;display:flex;align-items:center;gap:.25rem;pointer-events:none;transition:right .24s cubic-bezier(.4,0,.2,1)}.page.panel-open .top-bar{right:22.75rem}.top-bar-btn{pointer-events:all;width:2.6rem;height:2.6rem;min-height:0!important;padding:0!important;display:grid;place-items:center;border-radius:10px!important;border:none!important;background:transparent!important;color:var(--rail-fg)!important;transition:color .12s ease,background .12s ease!important}.top-bar-btn:hover{color:var(--rail-fg-hover)!important;background:var(--sidebar-control-bg)!important;transform:none!important;filter:none!important}.top-bar-btn.active{color:var(--rail-fg-active)!important;background:var(--sidebar-control-active-bg)!important}.top-bar-btn:disabled{opacity:.28!important}.top-bar-icon{width:1.5rem;height:1.5rem;stroke-width:1.7}.connection-banner{position:fixed;top:.78rem;left:.8rem;z-index:280;padding:.34rem .62rem;border-radius:999px;font-size:.72rem;line-height:1.2;border:1px solid var(--sidebar-divider);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.connection-banner.connecting{background:color-mix(in srgb,var(--yellow) 26%,var(--panel));color:color-mix(in srgb,var(--text) 80%,#8a6a00)}.connection-banner.offline{background:color-mix(in srgb,var(--red) 20%,var(--panel));color:color-mix(in srgb,var(--text) 78%,#8a1826);border-color:color-mix(in srgb,var(--red) 35%,var(--sidebar-divider))}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:149;background:#00000038;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);animation:reveal .18s ease;display:none}@keyframes panel-in{0%{opacity:0}to{opacity:1}}@keyframes panel-out{0%{opacity:1}to{opacity:0}}.right-drawer{grid-column:3;grid-row:1;align-self:center;width:17rem;height:30rem;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:var(--blur-lg) saturate(1.8);-webkit-backdrop-filter:var(--blur-lg) saturate(1.8);border:none;border-radius:18px;box-shadow:var(--glass-shadow);overflow:hidden;animation:panel-in .22s ease}.right-drawer.closing{animation:panel-out .22s ease forwards}.drawer-close-float{position:absolute;top:.6rem;right:.6rem;z-index:2;width:2rem!important;height:2rem!important;min-height:0!important;padding:0!important;border-radius:8px!important;border:none!important;display:grid;place-items:center;color:var(--subtext)!important;background:transparent!important;transition:color .1s ease,background .1s ease!important}.drawer-close-float:hover{color:var(--text)!important;background:var(--sidebar-control-bg)!important;transform:none!important;filter:none!important}.settings-page{display:flex;flex-direction:column;height:100dvh;background:var(--base)}.settings-page-header{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--modal-divider);flex-shrink:0}.settings-page-title{font-size:1rem;font-weight:600;letter-spacing:-.015em;margin:0}.settings-two-panel{display:flex;flex:1;overflow:hidden}.settings-sidebar{width:160px;flex-shrink:0;border-right:1px solid var(--modal-divider);background:var(--settings-sidebar-bg);display:flex;flex-direction:column;padding:.75rem .5rem;gap:.15rem;overflow-y:auto}.settings-cat-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.52rem .75rem;border-radius:9px;border:none!important;background:transparent!important;color:var(--subtext)!important;font-size:.85rem!important;font-weight:500!important;font-family:inherit!important;text-align:left;cursor:pointer;position:relative;transition:background 80ms ease,color 80ms ease!important}.settings-cat-item:hover{background:var(--sidebar-control-bg)!important;color:var(--text)!important;transform:none!important;filter:none!important}.settings-cat-item.active{background:var(--settings-sidebar-item-active-bg)!important;color:var(--text)!important;font-weight:600!important}.settings-cat-item.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:2.5px;border-radius:0 2px 2px 0;background:var(--settings-sidebar-item-active-border)}.settings-content{flex:1;overflow-y:auto;padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem;scrollbar-width:thin}.settings-content::-webkit-scrollbar{width:3px}.settings-content::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:2px}.settings-content-section{display:flex;flex-direction:column;gap:.65rem}.settings-content-label{margin:0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--subtext)}@media (max-width: 600px){.settings-two-panel{flex-direction:column}.settings-sidebar{width:100%;flex-direction:row;flex-shrink:0;border-right:none;border-bottom:1px solid var(--modal-divider);padding:.4rem .5rem;gap:.2rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.settings-sidebar::-webkit-scrollbar{display:none}.settings-cat-item{flex-shrink:0;width:auto;padding:.4rem .7rem;font-size:.82rem!important}.settings-cat-item.active:before{left:20%;right:20%;top:auto;bottom:0;width:auto;height:2.5px;border-radius:2px 2px 0 0}.settings-content{padding:1rem}}.settings-board-swatch-grid{display:flex;flex-wrap:wrap;gap:.55rem}.settings-swatch-btn{border:2px solid transparent!important;border-radius:50%!important;background:transparent!important;padding:2px!important;cursor:pointer;display:grid;place-items:center;min-height:0!important;transition:border-color 80ms ease!important}.settings-swatch-btn:hover{border-color:var(--glass-border)!important;transform:none!important;filter:none!important}.settings-swatch-btn.active{border-color:var(--sidebar-accent)!important}.settings-swatch-ball{width:2.4rem;height:2.4rem;border-radius:50%;background:linear-gradient(135deg,var(--swatch-light) 0 50%,var(--swatch-dark) 50% 100%);border:1px solid color-mix(in srgb,var(--surface2) 60%,transparent);display:block}.drawer-close{width:1.7rem!important;height:1.7rem!important;min-height:0!important;padding:0!important;border-radius:6px!important;border:none!important;display:grid;place-items:center;color:var(--subtext)!important;background:transparent!important;flex-shrink:0;transition:color .1s ease,background .1s ease!important}.drawer-close:hover{color:var(--text)!important;background:var(--sidebar-control-bg)!important;transform:none!important;filter:none!important}.panel-header{display:flex;align-items:center;padding:.75rem 1rem .5rem;flex-shrink:0}.panel-header-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--subtext)}.right-drawer-body{flex:1;overflow-y:auto;padding:0}.panel-footer{flex-shrink:0;display:flex;flex-direction:column;gap:.4rem;padding:.6rem .75rem .75rem;border-top:1px solid var(--sidebar-divider)}.game-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.8rem 1rem;background:var(--result-bg)}.game-result--win{--result-bg: color-mix(in srgb, var(--green) 18%, var(--surface0));--result-accent: var(--green)}.game-result--loss{--result-bg: rgba(250, 250, 253, .97);--result-accent: var(--red)}.game-result--draw{--result-bg: color-mix(in srgb, var(--subtext) 12%, var(--surface0));--result-accent: var(--subtext)}.game-result-title{font-size:.95rem;font-weight:800;color:var(--result-accent);margin:0;letter-spacing:.03em;text-transform:uppercase}.game-result-reason{font-size:.7rem;color:var(--subtext);margin:0;text-align:center}.panel-footer-row{display:flex;gap:.4rem}.panel-nav-row{display:flex;gap:.3rem;padding-bottom:.4rem;border-bottom:1px solid var(--sidebar-divider);margin-bottom:.4rem}.panel-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:.35rem;border-radius:6px;border:none;background:transparent;color:var(--subtext);cursor:pointer;transition:background .12s ease,color .12s ease}.panel-nav-btn:hover:not(:disabled){background:var(--surface1);color:var(--text)}.panel-nav-btn:disabled{opacity:.25;cursor:not-allowed}.panel-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .5rem;border-radius:8px;border:none;background:var(--surface1);color:var(--subtext);font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.panel-action-btn:hover:not(:disabled){background:var(--surface2);color:var(--text)}.panel-action-btn:disabled{opacity:.4;cursor:not-allowed}.panel-action-btn.danger{color:var(--red)}.panel-action-btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--red) 15%,var(--surface1));color:var(--red)}.drawer-section{padding:.85rem 0;border-top:1px solid var(--sidebar-divider);display:flex;flex-direction:column;gap:.62rem}.drawer-section:first-child{border-top:none;padding-top:.3rem}.drawer-section-title{margin:0;font-size:.63rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--subtext);opacity:.7}.drawer-section-history{flex:1}.drawer-section-history .timeline-track{max-height:calc(100vh - 14rem);background:transparent;border:none;padding:0}.drawer-section-history .timeline-turn{background:color-mix(in srgb,var(--base) 26%,transparent)}.drawer-section-history .timeline-header{margin-bottom:.35rem}.ui-icon{width:1rem;height:1rem;stroke-width:2.1}.settings-btn .ui-icon,.theme-toggle-btn .ui-icon{width:1.08rem;height:1.08rem}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;left:4.4rem;background:color-mix(in srgb,var(--crust) 40%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;animation:reveal .2s ease}.settings-panel{position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);background:var(--mantle);border-left:1px solid var(--panel-border);box-shadow:-8px 0 30px color-mix(in srgb,var(--surface2) 25%,transparent);z-index:100;overflow-y:auto;padding:3.5rem 1.2rem 1.5rem;animation:slide-in .28s ease}.settings-section{padding:.2rem 0}.settings-section h3{margin:0 0 .6rem;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;color:var(--subtext);font-weight:700}.settings-divider{border:none;border-top:1px solid var(--panel-border);margin:.6rem 0}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.layout{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--board-size)) minmax(0,1fr);column-gap:2.5rem;row-gap:1rem;grid-template-rows:auto;align-items:center;align-content:center;width:100%}.board-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:20px;box-shadow:var(--panel-shadow);padding:.8rem;width:min(620px,64vw);animation:reveal .56s ease}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:20px;box-shadow:var(--panel-shadow)}.turn-spotlight{margin:0;padding:.45rem .62rem;border-radius:12px;border:1px solid var(--chip-border);background:color-mix(in srgb,var(--panel) 88%,transparent);display:flex;align-items:center;justify-content:space-between;gap:.6rem}.turn-spotlight strong{display:block;font-size:.93rem;color:var(--text);line-height:1.2}.turn-sub{margin:.12rem 0 0;font-size:.8rem;color:var(--subtext)}.turn-indicator{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;border-radius:999px;padding:.2rem .42rem;border:1px solid var(--chip-border);color:var(--subtext);background:color-mix(in srgb,var(--base) 78%,transparent)}.turn-spotlight.human{border-color:color-mix(in srgb,var(--teal) 35%,var(--chip-border));background:linear-gradient(130deg,color-mix(in srgb,var(--teal) 12%,var(--panel)),var(--panel));box-shadow:0 8px 18px color-mix(in srgb,var(--teal) 10%,transparent)}.turn-spotlight.human .turn-indicator{color:color-mix(in srgb,var(--teal) 86%,var(--text));border-color:color-mix(in srgb,var(--teal) 40%,var(--chip-border))}.turn-spotlight.engine{border-color:color-mix(in srgb,var(--peach) 32%,var(--chip-border));background:linear-gradient(130deg,color-mix(in srgb,var(--peach) 12%,var(--panel)),var(--panel))}.turn-spotlight.engine .turn-indicator{color:color-mix(in srgb,var(--peach) 86%,var(--text));border-color:color-mix(in srgb,var(--peach) 40%,var(--chip-border))}.turn-spotlight.over{border-color:color-mix(in srgb,var(--surface2) 52%,var(--chip-border))}.left-rail{position:fixed;left:0;top:0;bottom:0;width:6.2rem;z-index:60;display:flex;flex-direction:column;align-items:stretch;gap:.45rem;padding:.85rem .5rem .65rem;background:var(--sidebar-bg);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border-right:1px solid var(--sidebar-divider);overflow:hidden;transition:width .24s cubic-bezier(.4,0,.2,1)}.left-rail.expanded{width:34rem;box-shadow:2px 0 40px #00000038}.left-rail-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;flex:1;min-height:0}.left-rail.expanded .left-rail-shell{grid-template-columns:minmax(0,1fr) 5.1rem}.sidebar-panel{background:transparent;border:none;border-radius:0;padding:2.8rem 2.6rem 2.4rem;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:0;justify-content:center;align-items:stretch;min-height:0;scrollbar-width:none}.sidebar-panel::-webkit-scrollbar{display:none}.sidebar-panel.sidebar-panel-pace{justify-content:center;padding-top:2.8rem;padding-bottom:2.8rem}.sidebar-profile{border:none;background:transparent;display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:.5rem 0 2rem;text-align:center;width:100%}.sidebar-avatar{width:5.6rem;height:5.6rem;border-radius:999px;border:none;background:var(--sidebar-control-bg);display:grid;place-items:center;font-size:2.6rem;line-height:1}.sidebar-profile h2{margin:0;font-size:1.28rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;max-width:21rem;color:var(--text)}.sidebar-profile p{margin:0;font-size:.82rem;color:var(--subtext);font-weight:500;letter-spacing:.005em}.sidebar-active{border:none;border-radius:0;background:transparent;padding:0;display:flex;flex-direction:column;gap:0;justify-content:center;flex:1}.sidebar-active-head{border:none;background:transparent;padding:0 0 1.6rem;display:flex;flex-direction:column;gap:.22rem}.sidebar-kicker{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:var(--sidebar-accent);opacity:.85}.sidebar-active-head h3{margin:0;font-size:1.55rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text)}.sidebar-block{border:none;background:transparent;padding:1.15rem 0;display:flex;flex-direction:column;gap:.75rem}.sidebar-block+.sidebar-block{border-top:1px solid var(--sidebar-divider)}.sidebar-block h4{margin:0 0 .1rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--subtext);opacity:.7}.sidebar-history{margin-top:.34rem;padding-top:.66rem}.sidebar-history .timeline-header{margin-bottom:.4rem}.sidebar-history .timeline-track{max-height:min(70vh,40rem);background:transparent;border:none;padding:0}.sidebar-history .timeline-turn{border:none;background:color-mix(in srgb,var(--base) 26%,transparent);min-height:2.2rem}.sidebar-active button:not(.square){box-shadow:none!important}.seg-control{display:flex;background:var(--sidebar-control-bg);border-radius:10px;padding:3px;gap:2px}.seg-control.seg-control-col{flex-direction:column;border-radius:12px}.seg-btn{flex:1;border:none!important;border-radius:8px!important;background:transparent!important;color:var(--subtext)!important;padding:.44rem .5rem!important;font-size:.83rem!important;font-weight:500!important;letter-spacing:-.005em;display:flex;flex-direction:column;align-items:center;gap:.08rem;transition:color 80ms ease!important;cursor:pointer;min-height:0!important}.seg-btn:hover{color:var(--text)!important;background:transparent!important;transform:none!important;filter:none!important}.seg-btn.active{background:var(--seg-active-bg)!important;color:var(--text)!important;font-weight:600!important}.seg-btn:disabled{opacity:.35!important}.seg-label{font-size:.83rem;font-weight:inherit;line-height:1.2}.seg-detail{font-size:.66rem;color:var(--subtext);line-height:1;font-weight:400}:root[data-theme=mocha]{--seg-active-bg: rgba(255, 255, 255, .12)}:root[data-theme=latte],:root:not([data-theme]){--seg-active-bg: #ffffff}.color-choice{display:flex;background:var(--sidebar-control-bg);border-radius:10px;padding:3px;gap:2px}.color-chip{flex:1!important;border:none!important;border-radius:8px!important;background:transparent!important;color:var(--subtext)!important;padding:.44rem .5rem!important;font-size:.83rem!important;font-weight:500!important;transition:color 80ms ease!important}.color-chip:hover{background:transparent!important;color:var(--text)!important;transform:none!important;filter:none!important}.color-chip.active{background:var(--seg-active-bg)!important;color:var(--text)!important;font-weight:600!important}.theme-mode-chip{width:100%;justify-content:flex-start}.sound-row{display:grid;gap:.62rem}.sound-chip{width:100%;justify-content:flex-start}.left-rail-top{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.3rem;flex:1;min-height:0;padding:.2rem 0}.rail-item{width:100%;border:none!important;border-radius:10px!important;background:transparent!important;color:var(--rail-fg)!important;padding:.58rem .3rem!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.32rem;min-height:3.2rem;transition:color .12s ease,background .12s ease}.rail-item:hover{background:var(--sidebar-control-bg)!important;color:var(--rail-fg-hover)!important;transform:none!important;filter:none!important}.rail-item.active{background:var(--sidebar-control-active-bg)!important;color:var(--rail-fg-active)!important}.rail-item.active .rail-label{color:var(--rail-fg-active)}.rail-icon{width:1.18rem;height:1.18rem;stroke-width:1.7;flex:0 0 1.18rem}.rail-label{font-size:.66rem;line-height:1;font-weight:500;letter-spacing:.01em;display:block}.rail-collapse{border:none!important;background:var(--sidebar-control-bg)!important;color:var(--rail-collapse-fg)!important;min-height:2.2rem;padding:.45rem!important;display:grid;place-items:center;border-radius:10px!important;transition:background .12s ease}.rail-collapse:hover{background:var(--sidebar-control-bg-hover)!important}.board-wrap{grid-column:2;grid-row:1;position:relative;z-index:0;isolation:isolate;width:100%;max-width:var(--board-size);justify-self:center;align-self:center;margin:0;border-radius:14px;overflow:visible}.board-player-bar{display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.26rem .25rem;min-height:2rem}.board-player-bar.top{margin-bottom:.26rem}.board-player-bar.bottom{margin-top:.34rem}.board-player-bar.active .board-player-name{color:var(--board-player-name-active)}.board-player-bar.active .board-clock{background:#1a7a3a;color:#d4f5de}.board-player-left{display:inline-flex;align-items:center;gap:.42rem;min-width:0}.board-player-name{font-size:.92rem;font-weight:700;color:var(--board-player-name);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-player-right{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.board-material-plus{font-size:.82rem;font-weight:800;color:var(--board-material-plus)}.board-captures{font-size:1.14rem;line-height:1.05;letter-spacing:.03em;font-weight:700;color:var(--board-captures-fg);white-space:nowrap}.board-clock{min-width:3.65rem;text-align:center;border-radius:8px;background:var(--board-clock-bg);color:var(--board-clock-fg);padding:.28rem .44rem;font-size:.86rem;font-weight:800;letter-spacing:.01em}.board-player-controls{gap:.26rem}.board-mini-control{min-width:1.9rem;min-height:1.9rem;padding:.35rem!important;border-radius:8px!important;display:grid;place-items:center;background:var(--board-mini-control-bg)!important;color:var(--board-mini-control-fg)!important}.board-mini-control:hover{background:var(--board-mini-control-bg-hover)!important;color:var(--board-mini-control-fg-hover)!important}.board-mini-control.danger{color:var(--red)!important}.board-mini-control.danger:hover{color:color-mix(in srgb,var(--red) 75%,var(--text))!important}.board-grid{position:relative;display:grid;grid-template-columns:repeat(8,1fr);border-radius:18px;overflow:hidden;border:5px solid var(--board-border);box-shadow:0 0 0 1px color-mix(in srgb,var(--board-border) 40%,black) inset,0 0 0 2px color-mix(in srgb,var(--crust) 70%,transparent),0 12px 32px color-mix(in srgb,var(--crust) 50%,transparent);transition:filter .5s ease}.board-grid.game-over{filter:saturate(.5) brightness(.88)}.square{position:relative;border:none;margin:0;padding:0;aspect-ratio:1 / 1;display:grid;place-items:center;cursor:pointer;user-select:none;-webkit-user-select:none;isolation:isolate}.square.light{background:var(--board-light)}.square.dark{background:var(--board-dark)}.square.active{outline:3px solid rgba(246,246,105,.9);outline-offset:-3px}.square.check-marked.active{outline:none}.square.hint:after{content:"";position:absolute;width:31%;height:31%;border-radius:999px;background:#00000038;box-shadow:none;z-index:2}.square.hint.has-piece:after{width:85%;height:85%;background:transparent;border:4px solid rgba(0,0,0,.18);box-shadow:none}.square.drag-source{outline:3px solid var(--teal);outline-offset:-3px}.square.drop-target{outline:3px solid var(--green);outline-offset:-3px;background:color-mix(in srgb,var(--green) 30%,var(--board-light))!important}.square.dark.drop-target{background:color-mix(in srgb,var(--green) 30%,var(--board-dark))!important}.square.premove-from,.square.premove-to{background:color-mix(in srgb,var(--blue) 35%,var(--board-light))!important}.square.dark.premove-from,.square.dark.premove-to{background:color-mix(in srgb,var(--blue) 35%,var(--board-dark))!important}.square.premove-from .piece-token{opacity:.4}.square.premove-to:after{content:"";position:absolute;width:34%;height:34%;border-radius:50%;background:#5a82dcd1;z-index:2;pointer-events:none}.square.premove-to.has-piece:after{width:88%;height:88%;background:transparent;border:5px solid rgba(90,130,220,.78);box-sizing:border-box}.square.premove-hint:after{content:"";position:absolute;width:31%;height:31%;border-radius:999px;background:#5a82dc8c;z-index:2}.square.premove-hint.has-piece:after{width:85%;height:85%;background:transparent;border:4px solid rgba(90,130,220,.5);border-radius:999px}.square.in-check{box-shadow:none}.square.king-result-loss:after,.square.king-result-draw:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.square.king-result-loss:after{background:color-mix(in srgb,#e45b54 42%,transparent)}.square.king-result-draw:after{background:color-mix(in srgb,#5b9bd5 42%,transparent)}.check-marker{position:absolute;top:0;right:0;bottom:0;left:0;transform:none;border-radius:inherit;pointer-events:none;z-index:1}.check-marker.source{background:color-mix(in srgb,#e45b54 34%,transparent)}.check-marker.path{background:color-mix(in srgb,#e45b54 22%,transparent)}.check-marker.target{background:color-mix(in srgb,#e45b54 44%,transparent);box-shadow:none}.square.last-from:before,.square.last-to:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.square.last-from:before{background:#f6f66980}.square.last-to:before{background:#f6f669a3}.square.checkmate-from:before,.square.checkmate-to:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.square.checkmate-from:before{background:color-mix(in srgb,#e45b54 28%,transparent)}.square.checkmate-to:before{background:color-mix(in srgb,#e45b54 12%,transparent)}.coord{position:absolute;font-size:.68rem;font-weight:700;line-height:1;letter-spacing:.01em;pointer-events:none;z-index:3}.coord-file{left:.34rem;bottom:.2rem}.coord-rank{top:.2rem;right:.28rem}.square.light .coord{color:color-mix(in srgb,var(--board-dark) 68%,black)}.square.dark .coord{color:color-mix(in srgb,var(--board-light) 75%,white)}.piece-token{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:transparent;border:none;box-shadow:none;transition:opacity .12s ease;pointer-events:none}.piece-token.dragging{opacity:.3}.drag-ghost{position:fixed;pointer-events:none;z-index:100;width:calc(var(--board-size) / 8);height:calc(var(--board-size) / 8);display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%)}.drag-ghost .piece{width:85%;height:85%}.piece{width:85%;height:85%;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;position:relative}.piece svg{width:100%;height:100%;display:block}.piece-image{width:100%;height:100%;display:block;object-fit:contain;object-position:center bottom;pointer-events:none}.piece.piece-white{filter:var(--piece-white-filter)}.piece.piece-black{filter:var(--piece-black-filter)}:root[data-piece-set=classic] .piece{width:91%;height:91%}:root[data-piece-set="3d-wood"] .piece,:root[data-piece-set="3d-wood-light"] .piece{width:108%;height:132%}:root[data-piece-set="3d-wood"] .piece-token,:root[data-piece-set="3d-wood-light"] .piece-token{align-items:flex-end}:root[data-piece-set="3d-wood"] .drag-ghost,:root[data-piece-set="3d-wood-light"] .drag-ghost{align-items:flex-end}:root[data-piece-set="3d-wood"] .piece-image,:root[data-piece-set="3d-wood-light"] .piece-image{width:auto;height:100%}:root[data-piece-set="3d-wood"] .piece.piece-white,:root[data-piece-set="3d-wood"] .piece.piece-black,:root[data-piece-set="3d-wood-light"] .piece.piece-white,:root[data-piece-set="3d-wood-light"] .piece.piece-black{filter:none}:root[data-piece-set=chess-com] .piece{width:91%;height:91%}:root[data-piece-set=chess-com] .piece.piece-white,:root[data-piece-set=chess-com] .piece.piece-black{filter:none}:root[data-piece-set=tabler] .piece{width:78%;height:78%}:root[data-piece-set=tabler] .piece.piece-white{filter:var(--piece-white-filter)}:root[data-piece-set=tabler] .piece.piece-black{filter:var(--piece-black-filter)}.tabler-piece-icon{width:100%;height:100%;display:block}.tabler-piece-icon-white{color:var(--piece-white-color);stroke:var(--piece-white-stroke);stroke-width:1.4;stroke-linejoin:round;paint-order:stroke fill}.tabler-piece-icon-black{color:var(--piece-black-color);stroke:var(--piece-black-stroke);stroke-width:.9;stroke-linejoin:round;paint-order:stroke fill}:root[data-piece-set=tabler] .piece.piece-in-check .tabler-piece-icon{color:#e86861!important;stroke:#7d2f2a!important}.piece.piece-in-check{transform:scale(1.05);filter:drop-shadow(0 0 2px color-mix(in srgb,#ee6f68 52%,transparent)) drop-shadow(0 0 8px color-mix(in srgb,#ee6f68 40%,transparent))}.piece.piece-in-check svg [fill]:not([fill=none]){fill:#e86861!important}.piece.piece-in-check svg [stroke]:not([stroke=none]){stroke:#7d2f2a!important}.state-strip{margin-top:.92rem;display:flex;flex-wrap:wrap;gap:.45rem;color:var(--subtext)}.state-strip>span{background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:999px;padding:.34rem .65rem;font-size:.85rem}.badge.alert{color:var(--red)}.badge.over{color:var(--green)}.badge.turn-human{color:var(--teal)}.badge.turn-engine{color:var(--peach)}.turn-pill{font-weight:800;border-width:2px!important;padding-inline:.72rem!important}.badge.turn-human.turn-pill{background:color-mix(in srgb,var(--teal) 18%,var(--chip-bg));border-color:color-mix(in srgb,var(--teal) 38%,var(--chip-border))}.badge.turn-engine.turn-pill{background:color-mix(in srgb,var(--peach) 16%,var(--chip-bg));border-color:color-mix(in srgb,var(--peach) 34%,var(--chip-border))}.timeline-panel{margin:0;animation:reveal .62s ease}.timeline-header{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin-bottom:.35rem}.timeline-controls{display:flex;gap:.25rem}.timeline-nav{border:1px solid var(--chip-border)!important;border-radius:8px!important;background:color-mix(in srgb,var(--chip-bg) 90%,transparent)!important;color:var(--text)!important;display:grid;place-items:center;padding:.18rem .42rem!important;min-width:1.8rem}.timeline-nav:hover{transform:none!important;filter:none!important}.timeline-track{display:grid;gap:.5rem;overflow-x:hidden;overflow-y:auto;padding:.5rem .18rem .5rem .04rem;max-height:calc((var(--move-row-height) * 10) + (.5rem * 9) + 1rem);scrollbar-width:thin;border-radius:10px;background:color-mix(in srgb,var(--base) 46%,transparent);border:1px solid var(--chip-border)}.timeline-turn{min-height:var(--move-row-height);border-radius:9px;border:1px solid color-mix(in srgb,var(--surface1) 54%,transparent);background:color-mix(in srgb,var(--chip-bg) 88%,transparent);padding:.55rem .6rem;display:grid;grid-template-columns:1.9rem minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.34rem}.timeline-turn.latest{border-color:color-mix(in srgb,var(--teal) 32%,var(--chip-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--teal) 16%,transparent) inset}.timeline-turn-placeholder{background:color-mix(in srgb,var(--chip-bg) 30%,transparent);border-color:color-mix(in srgb,var(--surface1) 22%,transparent);pointer-events:none}.timeline-turn-no{color:var(--subtext);font-weight:700;font-size:.73rem;min-width:1.1rem}.timeline-san{font-size:.85rem;font-weight:700;color:var(--text);letter-spacing:.01em;display:inline-flex;align-items:center;gap:.24rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.timeline-piece-symbol{font-size:.97rem;line-height:1;flex:0 0 auto}.timeline-san-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-san.white{color:color-mix(in srgb,var(--text) 94%,white)}.timeline-san.black{color:color-mix(in srgb,var(--subtext) 86%,var(--text))}.timeline-san.empty{font-weight:600;color:color-mix(in srgb,var(--subtext) 85%,var(--text))}.timeline-empty{margin:0;padding:.44rem 0;font-size:.84rem;text-align:center}.quick-actions{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.44rem;align-items:stretch}.quick-primary{grid-column:1 / -1}.btn-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:.42rem}.inline-error{margin:0}.card{padding:.95rem}.card h2{margin:0 0 .7rem;font-size:.98rem;letter-spacing:.04em}.actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}button:not(.square){border:none;border-radius:12px;padding:.62rem .78rem;background:transparent!important;color:var(--btn-fg);font-weight:700;font-family:inherit;cursor:pointer;transition:transform .13s ease,opacity .13s ease,filter .13s ease}button:not(.square):hover{background:transparent!important;color:var(--btn-fg-hover);transform:translateY(-1px);filter:saturate(1.06)}button:not(.square):active,button:not(.square):focus,button:not(.square):focus-visible,button:not(.square):disabled{background:transparent!important}button:not(.square):disabled{opacity:.5;color:var(--btn-fg-disabled);cursor:not-allowed}button:not(.square).ghost{background:transparent!important;color:var(--btn-fg)}.sidebar-panel .sidebar-block button:not(.square):not(.seg-btn):not(.board-theme-chip):not(.color-chip):not(.sound-chip):not(.quick-primary):not(.timeline-nav){background:transparent!important;color:var(--sidebar-accent)!important;border:none!important;border-radius:8px!important;padding:.5rem .8rem!important;font-size:.84rem!important;font-weight:500!important;transition:opacity 80ms ease!important}.sidebar-panel .sidebar-block button:not(.square):not(.seg-btn):not(.board-theme-chip):not(.color-chip):not(.sound-chip):not(.quick-primary):not(.timeline-nav):hover{opacity:.7!important;background:transparent!important;transform:none!important;filter:none!important}.sidebar-panel .sidebar-block button:not(.square):not(.seg-btn):not(.board-theme-chip):not(.color-chip):not(.sound-chip):not(.quick-primary):not(.timeline-nav):disabled{opacity:.25!important;background:transparent!important}.sidebar-panel .quick-primary{background:#fff!important;color:#111!important;border:none!important;border-radius:10px!important;padding:.76rem 1rem!important;font-size:.88rem!important;font-weight:600!important;letter-spacing:-.01em;transition:opacity 80ms ease!important}.sidebar-panel .quick-primary:hover{opacity:.85!important;filter:none!important;transform:none!important}.sidebar-panel .quick-primary:disabled{opacity:.3!important}.hint-text{margin:.75rem 0 0;color:var(--subtext);font-size:.9rem}.controls.is-human-turn h3{color:var(--teal)}.hint-text.user-focus{color:var(--text);font-weight:700}.engine-tune{display:grid;gap:.72rem}.theme-tune{display:grid;gap:.68rem}.engine-pace{display:flex;flex-direction:column;gap:.5rem}.pace-chip{border:1px solid var(--sidebar-control-border)!important;border-radius:12px!important;background:var(--sidebar-control-bg)!important;color:var(--text)!important;padding:.75rem .8rem!important;display:grid;justify-items:start;align-content:center;gap:.2rem;min-height:3.6rem;text-align:left;transition:background .12s ease,border-color .12s ease!important}.pace-chip:hover{background:var(--sidebar-control-bg-hover)!important;transform:none!important;filter:none!important}.pace-chip.active{border-color:var(--sidebar-control-active-border)!important;background:var(--sidebar-control-active-bg)!important}.pace-label{font-size:.85rem;font-weight:600;line-height:1.1;letter-spacing:-.005em}.pace-detail{font-size:.71rem;color:var(--subtext);line-height:1.1;font-weight:400}.board-theme-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.56rem}.board-theme-chip{border:none!important;border-radius:9px!important;background:var(--sidebar-control-bg)!important;color:var(--text)!important;padding:.58rem .72rem!important;display:inline-flex;align-items:center;justify-content:flex-start;gap:.48rem;font-weight:400!important;font-size:.83rem!important;text-align:left;letter-spacing:-.005em;transition:background 80ms ease!important}.board-theme-chip:hover{background:var(--sidebar-control-bg-hover)!important;transform:none!important;filter:none!important}.board-theme-chip.active{background:var(--sidebar-control-bg-hover)!important;font-weight:600!important;color:var(--sidebar-accent)!important}.board-theme-chip:disabled{opacity:.35}.board-theme-ball{width:1.05rem;height:1.05rem;border-radius:999px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--surface2) 60%,transparent);background:linear-gradient(135deg,var(--swatch-light) 0 50%,var(--swatch-dark) 50% 100%);box-shadow:0 1px 2px color-mix(in srgb,black 18%,transparent)}.board-theme-name{font-size:.83rem;line-height:1.15}.piece-set-preview{width:1.05rem;height:1.05rem;border-radius:999px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--surface2) 56%,transparent);background:color-mix(in srgb,var(--base) 76%,var(--surface0));display:grid;place-items:center;font-size:.72rem;font-weight:800;line-height:1}.engine-tune label{font-size:.92rem}.engine-tune input[type=range]{width:100%}.engine-tune input[type=number]{width:100%;border-radius:10px;border:1px solid var(--panel-border);background:color-mix(in srgb,var(--base) 80%,transparent);color:var(--text);padding:.54rem .62rem;font:inherit}.elo-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}.moves{max-height:calc((var(--move-row-height) * 5) + (.25rem * 4));overflow-y:auto;display:grid;gap:.25rem;align-content:start;padding-right:.1rem}.move-row{display:grid;grid-template-columns:24px 48px 1fr auto;gap:.3rem;font-size:.84rem;align-items:center;background:color-mix(in srgb,var(--base) 60%,transparent);border-radius:8px;padding:.3rem .4rem;min-height:var(--move-row-height)}.actor{text-transform:uppercase;font-size:.68rem;letter-spacing:.05em}.actor.human{color:var(--teal)}.actor.engine{color:var(--peach)}.uci{color:var(--subtext);font-size:.81rem}code{display:inline-block;margin-top:.2rem;font-size:.75rem;word-break:break-word;color:var(--lavender)}.error{color:var(--red);background:color-mix(in srgb,var(--red) 16%,transparent);border:1px solid color-mix(in srgb,var(--red) 32%,transparent);padding:.46rem .55rem;border-radius:9px}.muted{color:var(--subtext)}.loading-screen{min-height:100vh;display:grid;place-items:center;font-family:Nunito,sans-serif;color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2);display:grid;place-items:center;z-index:80;animation:modal-fade-in .18s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-sheet{background:var(--glass-bg);backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--glass-border);border-radius:24px;width:min(520px,95vw);box-shadow:var(--glass-shadow);animation:modal-slide-up .22s cubic-bezier(.34,1.28,.64,1);overflow:hidden}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}:root[data-theme=mocha]{--modal-bg: rgba(36, 38, 46, .96);--modal-border: rgba(255, 255, 255, .1);--modal-divider: rgba(255, 255, 255, .07);--modal-section-bg: rgba(255, 255, 255, .05);--modal-section-bg-hover: rgba(255, 255, 255, .09);--modal-section-active: rgba(255, 255, 255, .13);--modal-cancel-bg: rgba(255, 255, 255, .07);--modal-cancel-fg: var(--text);--modal-confirm-bg: #ffffff;--modal-confirm-fg: #111111;--modal-icon-color: rgba(255, 255, 255, .72)}:root[data-theme=latte],:root:not([data-theme]){--modal-bg: rgba(250, 250, 253, .97);--modal-border: rgba(0, 0, 0, .1);--modal-divider: rgba(0, 0, 0, .07);--modal-section-bg: rgba(0, 0, 0, .04);--modal-section-bg-hover: rgba(0, 0, 0, .07);--modal-section-active: rgba(0, 0, 0, .09);--modal-cancel-bg: rgba(0, 0, 0, .06);--modal-cancel-fg: var(--text);--modal-confirm-bg: #1a1a2e;--modal-confirm-fg: #ffffff;--modal-icon-color: rgba(0, 0, 0, .55)}.modal-header{display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.5rem}.ng-header{padding:1.1rem 1.5rem}.modal-title{flex:1;margin:0;font-size:1rem;font-weight:600;letter-spacing:-.015em;color:var(--text);line-height:1.2}.modal-icon-wrap{width:2.8rem;height:2.8rem;border-radius:12px;background:var(--modal-section-bg);display:grid;place-items:center;flex:0 0 2.8rem;color:var(--modal-icon-color)}.modal-icon-svg{width:2rem;height:2rem;color:var(--modal-icon-color)}.modal-header-text{flex:1;min-width:0}.modal-header-text h3{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2}.modal-header-text p{margin:.18rem 0 0;font-size:.76rem;color:var(--subtext);font-weight:400;line-height:1.3}.modal-close-btn{width:2rem!important;height:2rem!important;min-height:0!important;border:none!important;background:transparent!important;color:var(--subtext)!important;border-radius:999px!important;padding:0!important;display:grid!important;place-items:center!important;cursor:pointer;transition:opacity 80ms ease!important;flex:0 0 2rem}.modal-close-btn:hover{opacity:.7!important;background:transparent!important;transform:none!important;filter:none!important}.modal-close-btn svg{width:1.5rem;height:1.5rem}.modal-divider{height:1px;background:var(--modal-divider);margin:0}.modal-section{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.modal-section-label{display:flex;align-items:center;gap:.4rem;font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--subtext);opacity:.8}.modal-section-icon{width:.88rem;height:.88rem;opacity:.6}.modal-section-row{display:flex;align-items:center;justify-content:space-between}.ng-body{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem}.ng-section{display:flex;flex-direction:column;gap:.6rem}.ng-label-row{display:flex;align-items:center;justify-content:space-between}.ng-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--subtext);opacity:.8;display:flex;align-items:center}.ng-camp-control{border-radius:14px;padding:4px;gap:3px}.ng-camp-control .seg-btn{padding:1rem .5rem .85rem!important;font-size:.84rem!important;gap:.4rem!important;border-radius:11px!important}.ng-camp-control .seg-btn svg{opacity:.75;transition:opacity 80ms ease}.ng-camp-control .seg-btn.active svg{opacity:1}.promo-tabler-icon{width:.9rem;height:.9rem;flex-shrink:0;opacity:.85}.ng-elo-badge{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}.ng-slider-wrap{display:flex;flex-direction:column;gap:.38rem}.ng-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:99px;background:linear-gradient(to right,var(--text) var(--pct, 50%),var(--modal-section-bg) var(--pct, 50%));outline:none;cursor:pointer}.ng-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--text);box-shadow:0 2px 6px #0000004d;cursor:pointer;transition:transform 80ms ease}.ng-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.ng-slider-labels{display:flex;justify-content:space-between;font-size:.68rem;color:var(--subtext);opacity:.6}.ng-elo-unsupported{display:flex;align-items:center;gap:.5rem;color:var(--subtext);font-size:.8rem;opacity:.7}.ng-elo-unsupported svg{width:1.1rem;height:1.1rem;flex:0 0 1.1rem}.modal-actions{display:flex;gap:.7rem;padding:1rem 1.5rem 1.4rem}@media (max-width: 600px){.modal-backdrop{align-items:flex-end;background:#0000008c}.modal-sheet{width:100%;border-radius:20px 20px 0 0;max-height:92dvh;display:flex;flex-direction:column;animation:modal-slide-up-mobile .24s cubic-bezier(.34,1.1,.64,1)}@keyframes modal-slide-up-mobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.new-game-sheet .ng-body{flex:1;overflow-y:auto}}.modal-backdrop .modal-sheet button.modal-btn-cancel{flex:1;border:none!important;border-radius:12px!important;background:var(--modal-cancel-bg)!important;color:var(--modal-cancel-fg)!important;padding:.78rem 1rem!important;font-size:.9rem!important;font-weight:500!important;cursor:pointer;transition:opacity .1s ease!important;transform:none!important;filter:none!important}.modal-backdrop .modal-sheet button.modal-btn-cancel:hover{opacity:.72!important;transform:none!important;filter:none!important}.modal-backdrop .modal-sheet button.modal-btn-cancel.modal-btn-full{flex:1 1 100%}.modal-backdrop .modal-sheet button.modal-btn-confirm{flex:1.6;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.44rem!important;border:none!important;border-radius:12px!important;background:var(--modal-confirm-bg)!important;color:var(--modal-confirm-fg)!important;padding:.78rem 1.1rem!important;font-size:.9rem!important;font-weight:600!important;cursor:pointer;transition:opacity .1s ease!important;transform:none!important;filter:none!important;letter-spacing:-.01em}.modal-backdrop .modal-sheet button.modal-btn-confirm:hover{opacity:.85!important;transform:none!important;filter:none!important}.modal-backdrop .modal-sheet button.modal-btn-confirm:disabled,.modal-backdrop .modal-sheet button.modal-btn-cancel:disabled{opacity:.32!important;cursor:not-allowed}.modal-backdrop .modal-sheet button.modal-btn-confirm svg{width:1.05rem;height:1.05rem}@keyframes modal-spin{to{transform:rotate(360deg)}}.modal-spinner{width:1.05rem!important;height:1.05rem!important;animation:modal-spin .75s linear infinite}.modal-backdrop .modal-sheet button.modal-close-btn{width:2rem!important;height:2rem!important;min-height:0!important;border:none!important;background:var(--modal-section-bg)!important;color:var(--subtext)!important;border-radius:999px!important;padding:0!important;display:grid!important;place-items:center!important;cursor:pointer;transition:background .1s ease!important;transform:none!important;filter:none!important}.modal-backdrop .modal-sheet button.modal-close-btn:hover{background:var(--modal-section-bg-hover)!important;transform:none!important;filter:none!important}.modal-backdrop .modal-sheet button.promo-choice-btn{display:flex!important;flex-direction:column!important;align-items:center!important;gap:.5rem!important;padding:.9rem .4rem!important;border:1px solid var(--modal-divider)!important;border-radius:14px!important;background:var(--modal-section-bg)!important;color:var(--text)!important;cursor:pointer;transition:background .1s ease,border-color .1s ease!important;transform:none!important;filter:none!important}.modal-backdrop .modal-sheet button.promo-choice-btn:hover{background:var(--modal-section-bg-hover)!important;border-color:#fff3!important;transform:none!important;filter:none!important}:root[data-theme=latte] .modal-backdrop .modal-sheet button.promo-choice-btn:hover,:root:not([data-theme]) .modal-backdrop .modal-sheet button.promo-choice-btn:hover{border-color:#00000029!important}.promo-sheet{width:min(360px,92vw)}.promo-icon-wrap{background:color-mix(in srgb,var(--yellow) 15%,transparent);color:var(--yellow)}.promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:1rem 1.4rem}.promo-choice-btn{display:flex!important;flex-direction:column!important;align-items:center!important;gap:.42rem!important;padding:.75rem .4rem!important;border:1px solid var(--modal-divider)!important;border-radius:14px!important;background:var(--modal-section-bg)!important;color:var(--text)!important;cursor:pointer;transition:background .1s ease,border-color .1s ease!important;min-height:0!important}.promo-choice-btn:hover{background:var(--modal-section-bg-hover)!important;border-color:#ffffff2e!important;transform:none!important;filter:none!important}:root[data-theme=latte] .promo-choice-btn:hover,:root:not([data-theme]) .promo-choice-btn:hover{border-color:#00000024!important}.promo-piece{width:2.8rem;height:2.8rem;display:flex;align-items:center;justify-content:center}.promo-piece .piece{width:100%;height:100%}.promo-piece svg{width:100%;height:100%}.promo-name{font-size:.68rem!important;font-weight:500!important;color:var(--subtext)!important;letter-spacing:-.01em;line-height:1}@keyframes reveal{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 1480px){:root{--board-size: clamp(34rem, 80vmin, 64rem)}.layout{column-gap:.72rem}}@media (max-height: 860px) and (min-width: 1181px){.layout{min-height:auto;align-items:start;align-content:start}.board-wrap{align-self:start}}@media (max-width: 1180px){:root{--board-size: min(90vw, 48rem)}.page{min-height:auto;padding:.6rem .6rem 1rem}.page.panel-open{padding-right:.6rem}.page.panel-open .top-bar{display:none}.layout{grid-template-columns:1fr;grid-template-rows:auto;justify-items:center;align-items:center;min-height:100vh;row-gap:.78rem;align-content:center}.board-wrap{grid-column:1;width:min(96vw,var(--board-size));position:static;align-self:center}.drawer-backdrop{display:block}.right-drawer{display:none}}@media (max-width: 760px){:root{--board-size: min(98vw, 38rem)}.page{padding:.25rem .25rem .75rem}.top-bar{top:.5rem;right:.5rem;gap:.15rem}.connection-banner{top:.55rem;left:.5rem;right:4.9rem;border-radius:10px}.top-bar-btn{width:2.2rem;height:2.2rem}.top-bar-icon{width:1.3rem;height:1.3rem}.layout{row-gap:.5rem;min-height:100vh}.board-wrap{width:min(99vw,var(--board-size))}.board-player-name{font-size:.8rem}.board-captures{font-size:.98rem}.board-clock{min-width:3.2rem;font-size:.76rem;padding:.24rem .36rem}.card{border-radius:16px;padding:.82rem}}.mobile-game-result,.mobile-board-footer,.history-modal{display:none}@media (max-width: 1180px){.mobile-game-result{display:block;margin-bottom:.35rem}.mobile-board-footer{display:flex;flex-direction:column;padding:.45rem 0 .15rem;width:100%}.history-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--base);display:flex;flex-direction:column;overflow:hidden}.history-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--surface1);flex-shrink:0}.history-modal-title{font-weight:600;font-size:1rem;color:var(--text)}.history-modal-body{flex:1;overflow-y:auto;padding:.5rem 0}.history-modal-footer{display:flex;justify-content:center;gap:.4rem;padding:.6rem 1rem;border-top:1px solid var(--surface1);flex-shrink:0}}.panel-coach-divider{height:1px;background:var(--sidebar-divider);margin:.4rem .75rem;flex-shrink:0}.coach-block{display:flex;align-items:flex-start;gap:.6rem;padding:.65rem .8rem;background:var(--toast-color);border-bottom:1px solid rgba(0,0,0,.15)}.coach-block--waiting{background:color-mix(in srgb,var(--surface1) 60%,transparent);border-bottom-color:var(--sidebar-divider);opacity:.6}.coach-block--waiting .coach-block-avatar{background:#ffffff0f;color:var(--subtext);font-size:.8rem}.coach-block--waiting .coach-block-title,.coach-block--waiting .coach-block-sub{color:var(--subtext)}.coach-block-avatar{width:1.9rem;height:1.9rem;border-radius:50%;background:#ffffff38;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.coach-block-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.08rem}.coach-block-title{font-size:.8rem;font-weight:700;color:#fff;margin:0;line-height:1.3}.coach-block-cp{font-size:.7rem;font-weight:500;color:#ffffffb8;font-variant-numeric:tabular-nums}.coach-block-sub{font-size:.72rem;color:#ffffffd1;margin:0;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.coach-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.coach-status{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem .75rem;flex-shrink:0}.coach-status-emoji{font-size:1.6rem;line-height:1;flex-shrink:0;color:var(--badge-color, var(--subtext));transition:color .35s}.coach-status-info{display:flex;flex-direction:column;gap:.12rem;min-width:0;flex:1}.coach-status-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--badge-color, var(--subtext));transition:color .35s;line-height:1}.coach-status-san{font-size:1.25rem;font-weight:700;color:var(--text);font-family:Nunito,monospace;line-height:1.15}.coach-status-cp{font-size:.72rem;font-weight:600;color:var(--badge-color, var(--subtext));opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums;transition:color .35s}.coach-status-waiting{font-size:.8rem;color:var(--subtext)}.panel-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:1rem;text-align:center}.panel-empty-icon{font-size:2rem;opacity:.25;line-height:1;-webkit-user-select:none;user-select:none}.panel-empty-text{font-size:.8rem;color:var(--subtext);letter-spacing:.01em}.coach-comment{margin:0;padding:.5rem 1rem .9rem;font-size:.82rem;color:color-mix(in srgb,var(--badge-color, var(--subtext)) 85%,var(--subtext));line-height:1.6;transition:color .35s;flex-shrink:0}.coach-move-list{flex:1;overflow-y:auto;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.18rem}.coach-move-list::-webkit-scrollbar{width:3px}.coach-move-list::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:2px}.coach-move-row{display:flex;align-items:center;gap:.45rem;padding:.28rem .4rem;border-radius:7px;font-size:.8rem;transition:background .12s}.coach-move-row:last-child{background:color-mix(in srgb,var(--surface0) 48%,transparent)}.coach-move-san{font-weight:600;color:var(--text);font-family:Nunito,monospace;min-width:3rem}.coach-move-badge{font-size:.72rem;font-weight:700;color:var(--badge-color, #5fbc5f);min-width:1.4rem;text-align:center}.coach-move-cp{font-size:.68rem;color:var(--subtext);margin-left:auto}.panel-history{display:flex;flex-direction:column;padding:.4rem .5rem}.history-row{display:flex;align-items:center;gap:.4rem;padding:.22rem .45rem;border-radius:6px;font-size:.82rem}.history-row:nth-child(2n){background:color-mix(in srgb,var(--surface0) 35%,transparent)}.history-num{font-size:.7rem;color:var(--subtext);min-width:1.6rem;font-variant-numeric:tabular-nums}.history-san{display:flex;align-items:center;font-weight:600;color:var(--text);font-family:Nunito,monospace;flex:1;cursor:pointer;border-radius:4px;padding:.05rem .2rem;transition:background .12s}.history-san:hover{background:color-mix(in srgb,var(--surface1) 60%,transparent)}.history-san.black{color:color-mix(in srgb,var(--text) 70%,var(--subtext))}.history-san--active{background:var(--blue);color:var(--base)}.history-san--active .history-piece-icon{filter:brightness(0) invert(1)}.history-san.black.history-san--active{color:var(--base)}.history-san--empty{cursor:default}.history-san--empty:hover{background:transparent}.history-piece-icon{display:inline-flex;width:14px;height:14px;vertical-align:middle;margin-right:.1rem;flex-shrink:0;position:relative;top:-1px}.history-piece-icon img,.history-piece-icon svg{width:100%;height:100%;object-fit:contain}.history-badge-col{width:1.5rem;flex-shrink:0;display:flex;justify-content:flex-end;align-items:center}.history-badge{font-size:.78rem;line-height:1;opacity:.9}.openings-page{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:var(--app-bg);color:var(--text)}.openings-page .layout{min-height:0;flex:1;overflow-y:auto;align-items:start;align-content:start;padding:.5rem 0}.openings-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--glass-border);flex-shrink:0;min-height:3rem}.openings-header-title{display:flex;align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;color:var(--text)}.openings-main{flex:1;overflow-y:auto;padding:1rem}.openings-list-page{display:flex;flex-direction:column;gap:.75rem}.openings-search-bar{position:relative;display:flex;align-items:center}.openings-search-icon{position:absolute;left:.65rem;color:var(--subtext);pointer-events:none}.openings-search-input{width:100%;padding:.55rem .75rem .55rem 2.2rem;background:var(--glass-bg);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--glass-border);border-radius:12px;color:var(--text);font-size:.88rem;font-family:inherit;outline:none;transition:border-color .12s ease}.openings-search-input:focus{border-color:color-mix(in srgb,var(--blue) 50%,var(--glass-border))}.openings-cat-tabs{display:flex;gap:.35rem;flex-wrap:wrap}.openings-cat-tab{padding:.28rem .85rem;border-radius:999px;border:1px solid var(--glass-border);background:transparent;color:var(--subtext);font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.openings-cat-tab:hover{background:var(--glass-bg);color:var(--text)}.openings-cat-tab.active{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.openings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(160px,calc(100% / 6 - 1rem)),1fr));gap:1rem}.opening-card{display:flex;flex-direction:column;align-items:stretch;padding:0;background:var(--glass-bg);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:none;border-radius:14px;text-align:left;cursor:pointer;overflow:hidden;box-shadow:var(--glass-shadow);transition:transform .1s ease,box-shadow .12s ease}.opening-card:hover{transform:translateY(-2px);box-shadow:var(--glass-shadow-hover)}.opening-card-board{display:grid;grid-template-columns:repeat(8,1fr);width:100%;aspect-ratio:1;flex-shrink:0;border-bottom:none}.ocb-sq{aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.ocb-sq.light{background:var(--board-light)}.ocb-sq.dark{background:var(--board-dark)}.ocb-sq.last-from{background:color-mix(in srgb,var(--yellow) 50%,var(--board-light))}.ocb-sq.dark.last-from{background:color-mix(in srgb,var(--yellow) 50%,var(--board-dark))}.ocb-sq.last-to{background:color-mix(in srgb,var(--yellow) 65%,var(--board-light))}.ocb-sq.dark.last-to{background:color-mix(in srgb,var(--yellow) 65%,var(--board-dark))}.ocb-sq .piece{width:88%;height:88%}.opening-card-text{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .9rem .85rem}.opening-card-header{display:flex;align-items:center;gap:.4rem}.opening-eco{font-size:.75rem;font-weight:700;color:var(--subtext);letter-spacing:.04em}.opening-badge{font-size:.7rem;padding:.1rem .45rem;border-radius:999px;font-weight:600;margin-left:auto}.badge-white{background:color-mix(in srgb,var(--yellow) 18%,transparent);color:var(--yellow)}.badge-black{background:color-mix(in srgb,var(--mauve) 18%,transparent);color:var(--mauve)}.opening-card-name{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.25}.opening-card-desc{font-size:.78rem;color:var(--subtext);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.openings-empty{color:var(--subtext);font-size:.85rem;text-align:center;padding:2rem;grid-column:1/-1}.opening-detail{display:flex;flex-direction:column;align-items:center;gap:.9rem;max-width:480px;margin:0 auto}.opening-detail-header{display:flex;align-items:center;gap:.5rem;width:100%}.opening-back-btn{flex-shrink:0}.opening-detail-title{flex:1;display:flex;align-items:baseline;gap:.5rem;overflow:hidden}.opening-detail-name{font-size:1rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opening-detail-eco{font-size:.75rem;font-weight:600;color:var(--subtext);white-space:nowrap}.opening-flip-btn.active{color:var(--blue)}.opening-topbar-name{font-size:.88rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12rem}.opening-topbar-eco{font-size:.72rem;font-weight:600;color:var(--subtext);white-space:nowrap}.opening-mode-tabs{display:flex;gap:.3rem;flex-shrink:0}.opening-mode-tab{display:flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--glass-border);background:transparent;color:var(--subtext);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .1s,color .1s,border-color .1s;white-space:nowrap}.opening-mode-tab:hover{background:var(--glass-bg);color:var(--text)}.opening-mode-tab.active{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.opening-side-tabs{display:flex;gap:.25rem;flex-shrink:0}.opening-side-tab{display:flex;align-items:center;gap:.3rem;padding:.28rem .65rem;border-radius:999px;border:1px solid var(--glass-border);background:transparent;color:var(--subtext);font-size:.78rem;font-weight:500;cursor:pointer;transition:background .1s,color .1s,border-color .1s;white-space:nowrap}.opening-side-tab:hover{background:var(--glass-bg);color:var(--text)}.opening-side-tab.active{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.opening-move-strip{display:flex;flex-wrap:wrap;gap:.1rem 0;align-items:center;padding:.5rem .6rem;margin-top:.15rem;background:var(--glass-bg);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--glass-border);border-radius:0 0 12px 12px;font-size:.85rem;overflow-x:auto;scrollbar-width:none}.opening-move-strip::-webkit-scrollbar{display:none}.opening-comment{padding:.55rem .8rem;font-size:.8rem;line-height:1.5;color:var(--subtext);background:transparent;border-left:2px solid color-mix(in srgb,var(--blue) 60%,transparent);border-radius:0 0 0 4px;margin-top:.1rem}.board-player-bar.flash-correct{background:color-mix(in srgb,var(--green) 18%,transparent)!important;transition:background .2s}.board-player-bar.flash-wrong{background:color-mix(in srgb,var(--red) 18%,transparent)!important;transition:background .2s}@keyframes opening-hint-pulse{0%,to{box-shadow:inset 0 0 0 2.5px #fad2328c}50%{box-shadow:inset 0 0 0 3px #fad232f2}}.square.opening-hint{animation:opening-hint-pulse 1.4s ease-in-out infinite}@keyframes opening-shake{0%{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}to{transform:translate(0)}}.opening-board-shake{animation:opening-shake .35s ease}.mini-board-wrap{width:100%;max-width:min(100%,400px);border-radius:12px;overflow:hidden;transition:outline .2s ease}.mini-board-wrap.mini-board-correct{outline:3px solid var(--green);outline-offset:2px}.mini-board-wrap.mini-board-wrong{outline:3px solid var(--red);outline-offset:2px}.mini-board-grid{display:grid;grid-template-columns:repeat(8,1fr);width:100%;border-radius:11px;border:3px solid color-mix(in srgb,var(--board-border) 80%,var(--text));box-shadow:0 0 0 1px color-mix(in srgb,var(--base) 55%,transparent) inset,0 0 0 1px color-mix(in srgb,var(--board-border) 42%,transparent),0 6px 18px color-mix(in srgb,var(--crust) 30%,transparent);overflow:hidden}.mini-board-grid>.square:nth-child(1){border-top-left-radius:8px}.mini-board-grid>.square:nth-child(8){border-top-right-radius:8px}.mini-board-grid>.square:nth-child(57){border-bottom-left-radius:8px}.mini-board-grid>.square:nth-child(64){border-bottom-right-radius:8px}.square.mini-clickable{cursor:pointer}.opening-study{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.study-move-strip{display:flex;flex-wrap:wrap;gap:.2rem .05rem;align-items:center;width:100%;padding:.5rem .6rem;background:var(--glass-bg);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--glass-border);border-radius:10px;font-size:.85rem}.study-move{padding:.18rem .35rem;border-radius:6px;cursor:pointer;color:var(--text);transition:background 80ms}.study-move:hover{background:color-mix(in srgb,var(--text) 10%,transparent)}.study-move.current{background:var(--blue);color:#fff;font-weight:700}.study-move-num{color:var(--subtext);margin-right:.1rem;font-size:.78rem}.study-comment{width:100%;padding:.65rem .8rem;background:transparent;border-left:2px solid color-mix(in srgb,var(--blue) 60%,transparent);border-radius:0 4px 4px 0;font-size:.84rem;line-height:1.5;color:var(--subtext);min-height:3.2rem}.study-nav{display:flex;align-items:center;gap:.3rem}.study-nav-btn{display:flex;align-items:center;justify-content:center;padding:.4rem .5rem;border-radius:8px;border:1px solid var(--glass-border);background:transparent;color:var(--text);cursor:pointer;transition:background 80ms}.study-nav-btn:hover:not(:disabled){background:var(--glass-bg)}.study-nav-btn:disabled{opacity:.3;cursor:default}.study-step-label{min-width:8rem;text-align:center;font-size:.82rem;color:var(--subtext)}.practice-status{font-size:.9rem;font-weight:500;color:var(--subtext);text-align:center;min-height:1.5rem;transition:color .2s}.practice-status.practice-correct{color:var(--green)}.practice-status.practice-wrong{color:var(--red)}.practice-dots{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;padding:.6rem 0 .2rem}.practice-dot{width:.55rem;height:.55rem;border-radius:999px;background:var(--surface2);transition:background .2s}.practice-dot.done{background:var(--green)}.practice-dot.current{background:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 35%,transparent)}.opening-done-badge{margin-left:.4rem;font-size:.8rem;font-weight:700;color:var(--green)}.app-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--app-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;pointer-events:none;animation:splash-fade-out .45s ease 1.15s forwards}.app-splash-logo{color:var(--text);animation:splash-in .55s cubic-bezier(.34,1.4,.64,1) both}.app-splash-name{font-size:1.7rem;font-weight:700;letter-spacing:-.03em;color:var(--text);animation:splash-in .55s cubic-bezier(.34,1.4,.64,1) .07s both}@keyframes splash-in{0%{opacity:0;transform:scale(.82) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes splash-fade-out{to{opacity:0}}.home-page{display:flex;flex-direction:column;min-height:100dvh;background:var(--app-bg)}.home-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.6rem;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--app-bg) 85%,transparent);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm)}.home-logo{display:flex;align-items:center;gap:.5rem;color:var(--text)}.home-logo-text{font-size:1.05rem;font-weight:600;color:var(--text);letter-spacing:-.02em}.home-header-actions{display:flex;align-items:center;gap:.3rem}.home-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;gap:1.75rem}.home-cards{display:flex;flex-direction:row;gap:1.25rem;width:100%;max-width:820px;align-items:stretch}.home-card{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.2rem 1.5rem 2rem;border-radius:22px;border:1px solid color-mix(in srgb,var(--card-accent) 22%,var(--glass-border));background:var(--glass-bg);backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);box-shadow:var(--glass-shadow);cursor:pointer;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;color:inherit}button.home-card{outline:none}.home-card:hover{transform:scale(1.025) translateY(-2px);box-shadow:var(--glass-shadow-hover),0 0 0 1px color-mix(in srgb,var(--card-accent) 45%,transparent)}.home-card:active{transform:scale(1.01)}.home-card-disabled{opacity:.45;cursor:default;pointer-events:none}.home-card-icon{width:68px;height:68px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;flex-shrink:0;background:color-mix(in srgb,var(--card-accent) 13%,transparent)}.home-card-icon-robot{color:var(--blue)}.home-card-icon-book{color:var(--green)}.home-card-icon-lichess{color:var(--mauve)}.home-card-icon-lichess-soon{color:var(--peach)}.home-card-title{font-size:1rem;font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.55rem;line-height:1.25;letter-spacing:-.01em}.home-card-desc{font-size:.8rem;font-weight:400;color:var(--subtext);line-height:1.6;margin:0;flex:1}.home-card-soon{font-size:.55rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--mauve) 20%,transparent);color:var(--mauve);padding:.14em .55em;border-radius:999px;flex-shrink:0}.home-tagline{font-size:.78rem;font-weight:500;color:var(--subtext);letter-spacing:.08em;text-transform:uppercase;margin:0;opacity:.7}@media (max-width: 800px){.home-main{padding:2rem 1.25rem 1.5rem;gap:1.25rem;justify-content:flex-start}.home-tagline{text-align:center}.home-cards{flex-direction:column;max-width:520px;width:100%;gap:.85rem}.home-card{flex-direction:row;align-items:center;text-align:left;padding:1.3rem 1.5rem;gap:1.2rem;border-radius:18px;box-shadow:var(--glass-shadow),inset 3px 0 color-mix(in srgb,var(--card-accent) 60%,transparent)}.home-card:hover{box-shadow:var(--glass-shadow-hover),inset 3px 0 color-mix(in srgb,var(--card-accent) 80%,transparent),0 0 0 1px color-mix(in srgb,var(--card-accent) 35%,transparent)}.home-card-icon{margin-bottom:0;width:56px;height:56px;border-radius:14px;flex-shrink:0}.home-card-title{justify-content:flex-start;margin-bottom:.25rem}.home-card-desc{flex:unset}}@media (max-width: 480px){.home-header{padding:.85rem 1rem}.home-main{padding:1.75rem 1rem 1.25rem;gap:1rem;justify-content:flex-start}.home-tagline{font-size:.72rem}.home-cards{flex-direction:column;gap:.75rem;width:100%;max-width:100%}.home-card{flex-direction:column;align-items:center;text-align:center;padding:1.6rem 1.25rem 1.4rem;gap:0;border-radius:18px;box-shadow:var(--glass-shadow)}.home-card:hover{box-shadow:var(--glass-shadow-hover),0 0 0 1px color-mix(in srgb,var(--card-accent) 45%,transparent)}.home-card-icon{width:58px;height:58px;border-radius:16px;margin-bottom:.9rem}.home-card-icon svg{width:36px;height:36px}.home-card-title{justify-content:center;font-size:.95rem;margin-bottom:.4rem}.home-card-desc{font-size:.78rem;line-height:1.5;flex:unset}}.opening-nav-btn{opacity:.6}.opening-nav-btn:disabled{opacity:.2;cursor:default}.opening-title-btn{display:flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border-radius:8px;border:none;background:transparent;cursor:pointer;color:inherit;transition:background .1s;min-width:0;flex-shrink:1}.opening-title-btn:hover{background:var(--surface0)}.opening-title-btn .opening-topbar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}.opening-title-btn svg{flex-shrink:0;color:var(--subtext)}.opening-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:stretch}.opening-picker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.opening-picker-sheet{position:relative;z-index:1;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);border-bottom:1px solid var(--glass-border);max-height:82dvh;animation:picker-slide-in .18s ease}@keyframes picker-slide-in{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.opening-picker-header{display:flex;align-items:center;padding:.55rem .75rem;border-bottom:1px solid var(--glass-border);gap:.5rem}.opening-picker-title{flex:1;font-size:.9rem;font-weight:700;color:var(--text)}.opening-picker-search{margin:.45rem .75rem 0}.opening-picker-cats{padding:0 .75rem;margin-bottom:.25rem}.opening-picker-list{flex:1;overflow-y:auto;padding:.25rem 0 .5rem}.opening-picker-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.65rem 1rem;border:none;background:transparent;cursor:pointer;text-align:left;color:var(--text);transition:background 80ms}.opening-picker-item:hover{background:var(--surface0)}.opening-picker-item.current{background:color-mix(in srgb,var(--green) 10%,transparent)}.opening-picker-eco{font-size:.68rem;font-weight:700;color:var(--subtext);min-width:2.8rem;font-variant-numeric:tabular-nums}.opening-picker-name{flex:1;font-size:.88rem;font-weight:500}.opening-picker-item.current .opening-picker-name{font-weight:700;color:var(--green)}.opening-picker-check{font-size:.82rem;color:var(--green);font-weight:700}.opening-info-panel{grid-column:3;grid-row:1;align-self:start;display:flex;flex-direction:column;gap:1rem;padding:.75rem .5rem .75rem 0;max-height:calc(var(--board-size) + 5rem);overflow-y:auto;scrollbar-width:thin}.oip-description{font-size:.82rem;line-height:1.55;color:var(--subtext);margin:0;padding:.65rem .8rem;background:var(--glass-bg);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:none;border-radius:10px}.oip-section{display:flex;flex-direction:column;gap:.4rem}.oip-heading{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0;display:flex;align-items:center;gap:.35rem}.oip-heading:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.oip-heading-plus{color:var(--green)}.oip-heading-plus:before{background:var(--green)}.oip-heading-minus{color:var(--red)}.oip-heading-minus:before{background:var(--red)}.oip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.oip-list li{font-size:.8rem;line-height:1.45;color:var(--text);padding:.35rem .6rem .35rem .85rem;background:var(--glass-bg);border:none;border-radius:8px;position:relative}.oip-list li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:8px 0 0 8px}.oip-list-plus li:before{background:var(--green)}.oip-list-minus li:before{background:var(--red)}@media (max-width: 1180px){.opening-info-panel{grid-column:1;grid-row:2;max-height:none;overflow-y:visible;padding:0 .5rem 1rem;width:min(96vw,var(--board-size));justify-self:center}}.online-lobby{display:flex;flex-direction:column;align-items:center;gap:1rem;width:min(420px,92vw);padding:2rem 1.5rem}.online-lobby-subtitle{margin:0 0 .5rem;font-size:.9rem;color:var(--subtext);text-align:center}.online-lobby-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.online-lobby-btn{width:100%;padding:.75rem 1.25rem;border:none;border-radius:10px;background:var(--blue);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.online-lobby-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.online-lobby-btn:active:not(:disabled){transform:scale(.98)}.online-lobby-btn:disabled{opacity:.4;cursor:default}.online-lobby-btn.secondary{background:var(--surface1);color:var(--text);border:1px solid var(--surface2)}.online-lobby-link{background:none;border:none;color:var(--subtext);font-size:.82rem;cursor:pointer;padding:.25rem .5rem;text-decoration:underline;text-underline-offset:3px}.online-lobby-link:hover{color:var(--text)}.online-room-code{display:flex;align-items:center;gap:.75rem;background:var(--surface1);border:1px solid var(--surface2);border-radius:12px;padding:.75rem 1rem}.online-code-text{font-size:2rem;font-weight:700;letter-spacing:.25em;font-family:monospace;color:var(--mauve)}.online-copy-btn{color:var(--subtext);padding:.25rem}.online-copy-btn:hover{color:var(--text)}.online-lobby-waiting{margin:0;font-size:.85rem;color:var(--subtext);animation:pulse-opacity 1.6s ease-in-out infinite}.online-code-input{width:100%;padding:.75rem 1rem;border:1.5px solid var(--surface2);border-radius:10px;background:var(--surface0);color:var(--text);font-size:1.6rem;font-weight:700;letter-spacing:.3em;text-align:center;font-family:monospace;outline:none;transition:border-color .15s}.online-code-input:focus{border-color:var(--mauve)}.online-lobby-error{margin:0;font-size:.82rem;color:var(--red);text-align:center}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.45}}.lc-setup-page{display:flex;flex-direction:column;min-height:100dvh;background:var(--app-bg)}.lc-setup-main{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}.lc-setup-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:22px;padding:2rem 2rem 2.2rem;backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);box-shadow:var(--glass-shadow)}.lc-profile-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.25rem}.lc-profile-name{font-weight:600;font-size:1rem;color:var(--text)}.lc-profile-rating{font-size:.82rem;color:var(--subtext);background:var(--surface0);padding:.1rem .45rem;border-radius:6px}.lc-setup-title{font-size:1.15rem;font-weight:700;color:var(--text);margin:0}.lc-setup-desc{font-size:.84rem;color:var(--subtext);line-height:1.55;margin:0}.lc-link{color:var(--blue);text-decoration:underline;text-underline-offset:2px}.lc-token-input{width:100%;padding:.6rem .85rem;border-radius:10px;border:1px solid var(--surface1);background:var(--surface0);color:var(--text);font-family:inherit;font-size:.88rem;outline:none;box-sizing:border-box;transition:border-color .12s}.lc-token-input:focus{border-color:var(--blue)}.lc-error{font-size:.82rem;color:var(--red);margin:0}.lc-btn-primary{padding:.65rem 1.2rem;border-radius:10px;border:none;background:var(--blue);color:#fff;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .12s,transform 80ms}.lc-btn-primary:hover:not(:disabled){opacity:.88}.lc-btn-primary:active:not(:disabled){transform:scale(.97)}.lc-btn-primary:disabled{opacity:.45;cursor:not-allowed}.lc-btn-secondary{padding:.6rem 1.1rem;border-radius:10px;border:1px solid var(--surface1);background:transparent;color:var(--text);font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .12s}.lc-btn-secondary:hover{background:var(--surface0)}.lc-tc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.lc-tc-btn{padding:.55rem .5rem;border-radius:9px;border:1px solid var(--surface1);background:var(--surface0);color:var(--text);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s}.lc-tc-btn:hover:not(:disabled){background:var(--surface1)}.lc-tc-btn:disabled{opacity:.45;cursor:not-allowed}.lc-tc-btn.active{background:color-mix(in srgb,var(--peach) 18%,var(--surface0));border-color:var(--peach);color:var(--text);font-weight:600}.lc-seeking-text{font-size:1rem;font-weight:600;color:var(--text);text-align:center;margin:0}.lc-seeking-tc{font-size:.88rem;color:var(--subtext);text-align:center;margin:0;animation:pulse-opacity 1.6s ease-in-out infinite}.lc-seeking-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:lc-spin .9s linear infinite}@keyframes lc-spin{to{transform:rotate(360deg)}}.chat-root{position:fixed;bottom:1rem;right:1rem;z-index:200;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;pointer-events:none}.chat-fab{pointer-events:all;width:2.75rem;height:2.75rem;border-radius:50%;border:none;background:#fff;color:#4a5568;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:color .12s ease,background .12s ease;flex-shrink:0}.chat-fab:hover,.chat-fab.open{background:#f0f4f8;color:#1a202c}.chat-fab-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:var(--red);color:#fff;font-size:.6rem;font-weight:700;line-height:16px;text-align:center;animation:chat-badge-pop .18s cubic-bezier(.34,1.56,.64,1)}@keyframes chat-badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}.chat-panel{pointer-events:all;width:min(280px,88vw);height:min(360px,58vh);background:var(--glass-bg);backdrop-filter:var(--blur-lg) saturate(1.8);-webkit-backdrop-filter:var(--blur-lg) saturate(1.8);border:none;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;animation:chat-panel-in .2s cubic-bezier(.34,1.4,.64,1);transform-origin:bottom right}@keyframes chat-panel-in{0%{opacity:0;transform:scale(.9) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .6rem .55rem .9rem;flex-shrink:0}.chat-panel-title{font-size:.7rem;font-weight:700;color:var(--subtext);letter-spacing:.1em;text-transform:uppercase}.chat-close-btn{width:1.7rem!important;height:1.7rem!important;border-radius:8px;color:var(--rail-fg)!important;transition:color .12s ease,background .12s ease!important}.chat-close-btn:hover{color:var(--rail-fg-hover)!important;background:var(--sidebar-control-bg)!important}.chat-messages{flex:1;overflow-y:auto;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.4rem;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:3px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--sidebar-divider);border-radius:2px}.chat-empty{margin:auto;font-size:.76rem;color:var(--subtext);text-align:center;opacity:.65}.chat-msg{display:flex;max-width:84%}.chat-msg.mine{align-self:flex-end}.chat-msg.theirs{align-self:flex-start}.chat-bubble{display:inline-block;padding:.34rem .6rem;border-radius:11px;font-size:.81rem;line-height:1.45;word-break:break-word;white-space:pre-wrap}.chat-msg.mine .chat-bubble{background:color-mix(in srgb,var(--blue) 88%,transparent);color:#fff;border-bottom-right-radius:3px}.chat-msg.theirs .chat-bubble{background:var(--sidebar-control-bg);color:var(--text);border-bottom-left-radius:3px}.chat-input-row{display:flex;align-items:center;margin:0 .65rem .65rem;background:var(--sidebar-control-bg-hover);border-radius:12px;padding:.25rem .25rem .25rem .75rem;flex-shrink:0}.chat-input{flex:1;background:transparent;border:none;padding:.3rem 0;font-size:.81rem;color:var(--text);outline:none;font-family:inherit;min-width:0}.chat-input::placeholder{color:var(--subtext);opacity:.45}.chat-send-btn{width:2.1rem;height:2.1rem;border-radius:9px;border:none;background:transparent;color:var(--rail-fg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .12s ease;flex-shrink:0}.chat-send-btn:not(:disabled){color:var(--blue)}.chat-send-btn:hover:not(:disabled){color:var(--sapphire)}.chat-send-btn:active:not(:disabled){transform:scale(.9)}.chat-send-btn:disabled{opacity:.2;cursor:default}
