.site-footer{border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-primary) 92%,transparent);color:var(--color-text-secondary);padding:36px 20px 22px}.site-footer-inner{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(160px,.5fr));gap:28px}.site-footer-brand{display:flex;flex-direction:column;gap:12px}.site-footer-logo{display:inline-flex;align-items:center;gap:10px;width:fit-content;color:var(--color-text-primary);font-weight:800;font-size:1.15rem;text-decoration:none}.site-footer-logo-image{width:34px;height:34px;object-fit:contain}.site-footer-brand p{max-width:420px;margin:0;color:var(--color-text-secondary);line-height:1.6}.site-footer-nav{display:flex;flex-direction:column;gap:10px}.site-footer-title{color:var(--color-text-primary);font-weight:700;margin-bottom:4px}.site-footer-nav a{color:var(--color-text-secondary);text-decoration:none;line-height:1.4;transition:color .2s ease}.site-footer-nav a:hover{color:var(--color-accent)}.site-footer-bottom{width:min(1120px,100%);margin:28px auto 0;padding-top:18px;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--color-text-tertiary);font-size:.9rem}.site-footer-copyright{display:flex;gap:12px}.site-footer-legal{display:flex;gap:20px}.site-footer-legal a{color:var(--color-text-tertiary);text-decoration:none;transition:color .2s ease}.site-footer-legal a:hover{color:var(--color-accent)}@media(max-width:760px){.site-footer-inner{grid-template-columns:1fr}.site-footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}.site-footer-copyright{flex-direction:column;gap:4px}}.cookie-consent{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:2800;width:min(920px,calc(100vw - 24px));display:flex;flex-direction:column;gap:10px;pointer-events:none}@media(max-width:768px){body.has-mobile-tab-bar .cookie-consent{bottom:calc(var(--mobile-tab-bar-height) + 12px)}}.cookie-consent__card,.cookie-consent__panel{pointer-events:auto;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#0e0e12f5;box-shadow:0 16px 40px #0000003d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cookie-consent__card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px}.cookie-consent__content{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.cookie-consent__badge{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:12px;color:#f59e0b;background:#f59e0b1f;border:1px solid rgba(245,158,11,.2)}.cookie-consent__text{min-width:0}.cookie-consent__title{margin:0;color:var(--color-text-primary, #ffffff);font-size:.98rem;line-height:1.2;font-weight:800;letter-spacing:-.02em}.cookie-consent__description{margin:4px 0 0;max-width:64ch;color:#ffffffb8;font-size:.88rem;line-height:1.45}.cookie-consent__policy-link{display:inline-flex;margin-top:6px;color:#ffffffeb;font-size:.82rem;font-weight:700;line-height:1.2;text-decoration:underline;text-decoration-color:#d4af3780;text-underline-offset:3px;transition:color .16s ease,text-decoration-color .16s ease}.cookie-consent__policy-link:hover{color:#fff;text-decoration-color:#d4af37cc}.cookie-consent__actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.cookie-consent__button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:#ffffffe0;background:#ffffff0a;font-size:.86rem;font-weight:700;letter-spacing:-.01em;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.cookie-consent__button:hover{transform:translateY(-1px);border-color:#fff3;background:#ffffff12}.cookie-consent__button--ghost{color:#ffffffdb}.cookie-consent__button--accent{border-color:#d4af3738;color:#f5d98b;background:#d4af3714}.cookie-consent__button--accent:hover{border-color:#d4af3757;background:#d4af371f;color:#ffe6a3}.cookie-consent__panel{display:flex;flex-direction:column;gap:14px;padding:14px;max-height:min(64vh,420px);overflow:auto}.cookie-consent__panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cookie-consent__panel-heading{display:flex;align-items:flex-start;gap:12px;min-width:0}.cookie-consent__panel-badge{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;color:#f5d98b;background:#d4af3714;border:1px solid rgba(212,175,55,.16)}.cookie-consent__panel-copy{min-width:0}.cookie-consent__panel-copy h3{margin:0;color:var(--color-text-primary, #ffffff);font-size:.96rem;font-weight:800;line-height:1.2}.cookie-consent__panel-copy p{margin:4px 0 0;color:#ffffffad;font-size:.84rem;line-height:1.45}.cookie-consent__icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:#ffffffb8;background:#ffffff0a}.cookie-consent__icon-button:hover{color:#fff;background:#ffffff14}.cookie-consent__categories{display:grid;gap:8px}.cookie-consent__category{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;cursor:pointer}.cookie-consent__category-text{display:grid;gap:3px;min-width:0}.cookie-consent__category-text strong{color:var(--color-text-primary, #ffffff);font-size:.9rem;font-weight:800}.cookie-consent__category-text span{color:#ffffffa8;font-size:.82rem;line-height:1.35}.cookie-consent__switch{position:relative;flex-shrink:0;width:42px;height:24px}.cookie-consent__switch input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer}.cookie-consent__switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#ffffff1f;transition:background .16s ease,box-shadow .16s ease}.cookie-consent__switch-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#ffffffeb;transition:transform .16s ease,background .16s ease}.cookie-consent__switch input:checked+.cookie-consent__switch-track{background:#d4af376b;box-shadow:0 0 0 1px #d4af3724 inset}.cookie-consent__switch input:checked+.cookie-consent__switch-track:after{transform:translate(18px);background:#f5d98b}.cookie-consent__switch input:focus-visible+.cookie-consent__switch-track{outline:2px solid rgba(212,175,55,.5);outline-offset:2px}.cookie-consent__panel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.cookie-consent__panel-status{display:inline-flex;align-items:center;gap:6px;color:#ffffffad;font-size:.8rem;line-height:1.3}.cookie-consent__panel-actions{display:inline-flex;align-items:center;gap:8px}@media(max-width:800px){.cookie-consent{width:calc(100vw - 16px)}.cookie-consent__card{align-items:flex-start;flex-direction:column}.cookie-consent__content{width:100%}.cookie-consent__actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.cookie-consent__button{width:100%;min-width:0;padding:0 10px;justify-content:center}.cookie-consent__panel{max-height:min(60vh,480px)}}@media(max-width:560px){.cookie-consent__actions{grid-template-columns:1fr}.cookie-consent__panel-footer{flex-direction:column;align-items:stretch}.cookie-consent__panel-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cookie-consent__category{align-items:flex-start}}.match-found-toast{position:fixed;left:20px;bottom:20px;z-index:2600;width:min(360px,calc(100vw - 40px));pointer-events:auto}.match-found-toast__glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;background:radial-gradient(circle at top left,rgba(74,222,128,.26),transparent 55%);filter:blur(18px);z-index:-1}.match-found-toast__content{position:relative;display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:16px;border-radius:18px;border:1px solid rgba(74,222,128,.28);background:linear-gradient(135deg,#0c1e16f5,#112c1cf0),#0a140fe6;box-shadow:0 18px 50px #00000059,0 0 0 1px #ffffff08 inset,0 0 24px #4ade802e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:matchFoundToastIn .24s var(--ease-out)}.match-found-toast__icon{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#04280f;font-size:1.05rem;font-weight:800;background:linear-gradient(135deg,#86efac,#22c55e 55%,#16a34a);box-shadow:0 8px 20px #22c55e59}.match-found-toast__text{min-width:0}.match-found-toast__title{color:#dcfce7;font-size:.96rem;font-weight:800;letter-spacing:.01em}.match-found-toast__description{margin-top:3px;color:#dcfce7c2;font-size:.86rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-found-toast__button{padding:10px 14px;border:1px solid rgba(134,239,172,.35);border-radius:999px;background:linear-gradient(135deg,#22c55e2e,#16a34a52);color:#f0fdf4;font-size:.86rem;font-weight:700;white-space:nowrap;transition:transform .14s ease,border-color .14s ease,background .14s ease}.match-found-toast__button:hover{transform:translateY(-1px);border-color:#86efac94;background:linear-gradient(135deg,#22c55e42,#16a34a61)}@keyframes matchFoundToastIn{0%{opacity:0;transform:translate3d(-8px,14px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@media(max-width:640px){.match-found-toast{left:12px;bottom:12px;width:calc(100vw - 24px)}body.has-mobile-tab-bar .match-found-toast{bottom:calc(var(--mobile-tab-bar-height) + 12px)}.match-found-toast__content{grid-template-columns:36px 1fr;gap:12px}.match-found-toast__button{grid-column:1 / -1;justify-self:start}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.theme-toggle:hover{background:var(--color-surface-hover);border-color:var(--color-border-light);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-toggle-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);transition:color var(--transition-normal)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.language-switcher{display:inline-flex;align-items:center;position:relative}.language-switcher__dropdown{position:relative}.language-switcher__trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.4rem;min-width:64px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);padding:.55rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:0 10px 22px #00000014}.language-switcher__trigger:hover,.language-switcher__trigger.is-open{color:var(--color-text-primary);border-color:var(--color-border-light);background:var(--color-surface-hover)}.language-switcher__trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.language-switcher__flag{display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1}.language-switcher__chevron{flex-shrink:0;transition:transform var(--transition-normal),color var(--transition-normal)}.language-switcher__chevron.is-open{transform:rotate(180deg)}.language-switcher__menu{position:absolute;top:calc(100% + .55rem);right:0;z-index:30;min-width:90px;padding:.4rem;border-radius:18px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);box-shadow:0 18px 36px #0000003d}.language-switcher__option{display:flex;align-items:center;gap:.75rem;border:none;background:transparent;color:var(--color-text-secondary);width:100%;padding:.6rem .8rem;border-radius:14px;cursor:pointer;transition:all var(--transition-normal)}.language-switcher__code{font-size:.8rem;font-weight:700;letter-spacing:.02em}.language-switcher__option:hover{color:var(--color-text-primary);background:#ffffff0d}.language-switcher__option.is-active{color:#fff;background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 10px 18px #e74c3c38}.language-switcher--compact .language-switcher__trigger{min-width:64px}.language-switcher--compact .language-switcher__menu{min-width:90px}@media(max-width:768px){.language-switcher__trigger{min-width:unset;padding:.4rem .5rem;gap:.25rem}.language-switcher__menu{min-width:70px;padding:.25rem;border-radius:12px;top:calc(100% + .4rem)}.language-switcher__option{padding:.4rem .5rem;gap:.5rem;border-radius:8px}.language-switcher--compact .language-switcher__trigger{min-width:unset}.language-switcher__flag{font-size:1rem}@media(max-width:480px){.language-switcher__chevron{display:none}.language-switcher__trigger{padding:.35rem .45rem}}}.messages-page{--chat-accent: #25d366;--chat-accent-hover: #20bd5a;--chat-own-bg: #005c4b;--chat-own-fg: #e9edef;--chat-incoming-fg: #e9edef;--messages-radius: 16px;--messages-inbox-width: 340px;min-height:100dvh;padding:calc(var(--navbar-height, 65px) + 10px) 12px 12px;background:var(--gradient-dark, var(--color-bg-primary));color:var(--color-text-primary);box-sizing:border-box}[data-theme=dark] .messages-page{--messages-shell-bg: #101218;--messages-inbox-bg: #14161c;--messages-pane-bg: #0e1014;--messages-hover: rgba(255, 255, 255, .04);--messages-active: rgba(0, 92, 75, .28);--messages-incoming: #202c33;--messages-composer: #171a21;--messages-border: rgba(255, 255, 255, .06);--messages-muted: #8696a0;--chat-own-bg: #005c4b;--chat-own-fg: #e9edef;--chat-incoming-fg: #e9edef}[data-theme=light] .messages-page{--messages-shell-bg: #ffffff;--messages-inbox-bg: #f4f5f7;--messages-pane-bg: #fbfbfc;--messages-hover: rgba(0, 0, 0, .04);--messages-active: rgba(220, 248, 198, .7);--messages-incoming: #ffffff;--messages-composer: #ffffff;--messages-border: rgba(0, 0, 0, .08);--messages-muted: #667781;--chat-own-bg: #dcf8c6;--chat-own-fg: #111b21;--chat-incoming-fg: #111b21}.messages-shell{max-width:1440px;margin:0 auto;height:calc(100dvh - var(--navbar-height, 65px) - 22px);display:grid;grid-template-columns:var(--messages-inbox-width) minmax(0,1fr);border:1px solid var(--messages-border, var(--color-border));border-radius:var(--messages-radius);overflow:hidden;background:var(--messages-shell-bg, var(--color-bg-secondary));box-shadow:0 18px 50px #00000047}@media(max-width:860px){.messages-page--mobile-thread .messages-inbox,.messages-page--mobile-inbox .messages-pane{display:none}}.messages-inbox,.messages-pane{min-height:0;min-width:0;display:flex;flex-direction:column}.messages-inbox{border-right:1px solid var(--messages-border, var(--color-border));background:var(--messages-inbox-bg, var(--color-bg-primary))}.messages-pane{background:var(--messages-pane-bg, var(--color-bg-secondary));overflow:hidden}.messages-inbox-header,.messages-pane-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm, .75rem);padding:.85rem 1rem;border-bottom:1px solid var(--messages-border, var(--color-border));min-height:64px;min-width:0}.messages-inbox-heading{display:flex;align-items:center;gap:.55rem;min-width:0}.messages-inbox-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.messages-header-btn,.messages-new-group-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--messages-border, var(--color-border));background:#ffffff0a;color:inherit;border-radius:999px;height:34px;padding:0 .8rem;font:inherit;font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer}.messages-header-btn svg,.messages-new-group-btn svg{width:14px;height:14px}.messages-header-btn:hover,.messages-new-group-btn:hover{background:var(--messages-hover, var(--color-surface-hover))}.messages-new-count{display:inline-flex;align-items:center;height:22px;padding:0 .5rem;border-radius:999px;background:color-mix(in srgb,var(--chat-accent) 18%,transparent);color:var(--chat-accent);font-size:.72rem;font-weight:700;white-space:nowrap}.messages-inbox-toolbar{display:grid;gap:.7rem;padding:.75rem 1rem .35rem}.messages-search input{width:100%;height:38px;border:0;border-radius:10px;background:#ffffff0a;color:inherit;padding:0 .85rem;font:inherit;font-size:.88rem}.messages-search input::placeholder{color:var(--messages-muted, var(--color-text-tertiary))}.messages-filters{display:flex;gap:.35rem}.messages-filter{border:0;background:transparent;color:var(--color-text-secondary);border-radius:999px;height:28px;padding:0 .75rem;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.messages-filter.is-active{background:color-mix(in srgb,var(--chat-accent) 18%,transparent);color:var(--chat-accent)}.messages-pane-heading{display:flex;align-items:center;gap:.75rem;min-width:0}.messages-pane-heading-copy{min-width:0;display:flex;flex-direction:column;gap:.05rem}.messages-inbox-header h1,.messages-pane-title{margin:0;font-size:1.05rem;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-presence{font-size:.78rem;font-weight:400;color:var(--messages-muted, var(--color-text-secondary));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-presence.is-online,.chat-presence.is-typing{color:var(--chat-accent)}.chat-presence.is-typing{font-style:italic}.messages-list,.messages-user-hits{overflow-y:auto;flex:1}.messages-item{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:.75rem;padding:.8rem 1rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.messages-item:hover,.messages-item.is-active{background:var(--messages-hover, var(--color-surface-hover))}.messages-item.is-active{background:var(--messages-active, var(--color-surface-hover))}.messages-item.is-unread .messages-item-name,.messages-item.is-unread .messages-item-preview{color:var(--color-text-primary)}.chat-avatar,.messages-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;position:relative;flex-shrink:0;color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.02em}.chat-avatar-face{width:100%;height:100%;border-radius:50%;overflow:hidden;display:grid;place-items:center}.chat-avatar svg{width:18px;height:18px}.chat-avatar img,.messages-avatar img{width:100%;height:100%;object-fit:cover}.chat-avatar--sm{width:32px;height:32px;font-size:.68rem}.chat-avatar--sm svg{width:14px;height:14px}.chat-avatar--lg{width:42px;height:42px}.chat-avatar-tone-0{background:#14b8a6}.chat-avatar-tone-1{background:#f97316}.chat-avatar-tone-2{background:#6366f1}.chat-avatar-tone-3{background:#8b5cf6}.chat-avatar-tone-4{background:#0ea5e9}.chat-avatar-tone-5{background:#64748b}.messages-online-dot{position:absolute;left:1px;bottom:1px;width:10px;height:10px;border-radius:50%;background:var(--chat-accent, var(--color-success));border:2px solid var(--messages-inbox-bg, var(--color-bg-primary))}.messages-item-copy{min-width:0}.messages-item-name-row{display:flex;align-items:center;gap:.4rem;min-width:0}.messages-item-name,.messages-item-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-item-preview{color:var(--color-text-secondary);font-size:.85rem}.messages-item-preview.is-typing,.messages-item.is-unread .messages-item-preview.is-typing{color:var(--chat-accent);font-style:italic;font-weight:400}.messages-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;font-size:.75rem;color:var(--color-text-tertiary)}.messages-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--chat-accent)}.chat-unread-badge{min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--color-accent);color:#fff;font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.messages-page .chat-unread-badge{background:var(--chat-accent);color:#102015}.messages-inbox-footer{margin-top:auto;padding:.55rem .85rem;border-top:1px solid var(--messages-border, var(--color-border))}.messages-settings-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--color-text-secondary)}.messages-settings-link:hover{background:var(--messages-hover, var(--color-surface-hover));color:inherit}.messages-empty,.messages-pane-empty{padding:2rem 1.25rem;color:var(--color-text-secondary)}.messages-pane-empty{flex:1;display:flex;align-items:center;justify-content:center}.messages-thread{flex:1;min-height:0;overflow-y:auto;padding:1.1rem 1.15rem .5rem;display:flex;flex-direction:column;gap:.18rem}.messages-page .messages-thread .chat-bubble.is-own+.chat-bubble:not(.is-own),.messages-page .messages-thread .chat-bubble:not(.is-own)+.chat-bubble.is-own{margin-top:.45rem}.chat-day-divider{display:flex;align-items:center;gap:.75rem;color:var(--messages-muted, var(--color-text-tertiary));font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:.7rem 0 .45rem}.chat-day-divider:before,.chat-day-divider:after{content:"";flex:1;height:1px;background:var(--messages-border, var(--color-border))}.chat-row{display:flex;align-items:flex-start;gap:.5rem;max-width:min(86%,42rem);align-self:flex-start}.chat-row.is-own{align-self:flex-end;flex-direction:row}.chat-row.is-continued{margin-top:-.5rem}.chat-avatar-spacer{width:32px;flex-shrink:0}.chat-row-main{min-width:0;display:grid;justify-items:start;gap:.12rem}.chat-row.is-own .chat-row-main{justify-items:end}.chat-row-meta{display:flex;align-items:baseline;gap:.45rem;font-size:.72rem;color:var(--color-text-tertiary)}.chat-row-name{color:var(--color-text-secondary);font-size:.78rem;font-weight:700;padding:0 .2rem .05rem}.chat-sender-tone-0{color:#14b8a6}.chat-sender-tone-1{color:#f97316}.chat-sender-tone-2{color:#818cf8}.chat-sender-tone-3{color:#c084fc}.chat-sender-tone-4{color:#38bdf8}.chat-sender-tone-5{color:#94a3b8}.messages-page .chat-row .chat-bubble,.messages-page .chat-row .chat-typing-bubble{max-width:100%}.chat-bubble{max-width:min(78%,36rem);align-self:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem 1rem 1rem .35rem;padding:.55rem .75rem}.messages-page .chat-bubble{display:inline-block;max-width:min(78%,36rem);background:var(--messages-incoming, var(--color-surface));color:var(--chat-incoming-fg, var(--color-text-primary));border:0;border-radius:1.05rem 1.05rem 1.05rem .4rem;padding:.45rem .55rem .32rem .7rem;font-size:.92rem;line-height:1.45;box-shadow:0 1px .5px #0b141a2e}.messages-page .chat-bubble:after{content:"";display:table;clear:both}.chat-bubble.is-own{align-self:flex-end;background:#e945602e;border-color:#e9456059;border-radius:1rem 1rem .35rem}.messages-page .chat-bubble.is-own{background:var(--chat-own-bg);color:var(--chat-own-fg);border:0;border-radius:1.05rem 1.05rem .4rem}.messages-page .chat-bubble.is-own a{color:inherit}.chat-bubble-meta{display:flex;justify-content:space-between;gap:.75rem;font-size:.72rem;color:var(--color-text-tertiary);margin-top:.35rem}.messages-page .chat-bubble-text{display:inline}.messages-page .chat-bubble-meta{display:inline-flex;float:right;align-items:center;gap:.28rem;margin:.45em 0 0 .7em;font-size:.68rem;line-height:1;color:var(--messages-muted, var(--color-text-tertiary));white-space:nowrap}.messages-page .chat-bubble.is-own .chat-bubble-meta{color:color-mix(in srgb,var(--chat-own-fg) 58%,transparent)}.chat-receipt{display:inline-flex;align-items:center;margin-left:.05em;line-height:0}.chat-receipt svg{width:15px;height:11px;display:block}.chat-receipt.is-pending svg{width:11px;height:11px;opacity:.78}.chat-receipt.is-read,.messages-page .chat-bubble.is-own .chat-receipt.is-read{color:#53bdeb}.chat-bubble-text{white-space:pre-wrap;word-break:break-word}.chat-bubble-text a{color:var(--color-accent-hover, #ff6b8a)}.chat-media{max-width:240px;max-height:240px;border-radius:.75rem;display:block}.chat-sticker{font-size:.95rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.chat-composer{border-top:1px solid var(--color-border);padding:.75rem;display:grid;gap:.5rem;position:relative;z-index:4}.messages-page .chat-composer{border-top:0;padding:.55rem .85rem .85rem;gap:.45rem}.chat-composer-row{display:flex;gap:.45rem;align-items:flex-end}.chat-composer-pill{flex:1;min-width:0;display:flex;align-items:flex-end;gap:.15rem;border:1px solid var(--messages-border, var(--color-border));background:var(--messages-composer, var(--color-bg-primary));border-radius:24px;padding:.28rem .55rem .28rem .2rem}.chat-composer-pill textarea{flex:1;min-height:24px;max-height:120px;min-width:0;resize:none;overflow-y:auto;border:0;background:transparent;color:inherit;padding:.42rem .35rem .42rem .1rem;font:inherit;line-height:1.35}.chat-composer-pill textarea:focus{outline:none}.messages-page .chat-composer .chat-emoji-btn{background:transparent;color:var(--messages-muted, var(--color-text-secondary));min-width:36px;width:36px;height:36px;border-radius:999px}.messages-page .chat-composer .chat-emoji-btn.is-active{color:var(--chat-accent)}.messages-page .chat-composer .chat-send-btn{width:42px;min-width:42px;height:42px;padding:0;border-radius:999px;background:var(--chat-accent);color:#102015;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.messages-page .chat-composer .chat-send-btn svg{width:18px;height:18px;transform:rotate(-20deg)}.chat-emoji-dock{position:absolute;left:0;right:auto;bottom:calc(100% + .35rem);z-index:5;width:50%}.chat-emoji-panel{display:flex;flex-direction:column;width:100%;height:min(340px,46dvh);border:1px solid var(--messages-border, var(--color-border));border-radius:16px;background:color-mix(in srgb,var(--messages-composer, #202c33) 92%,#000);overflow:hidden;box-shadow:0 12px 32px #00000059}.chat-emoji-cats{display:flex;gap:.15rem;padding:.4rem .45rem .2rem;overflow-x:auto;flex-shrink:0}.chat-emoji-cats button,.chat-emoji-tabs button{border:0;background:transparent;color:var(--messages-muted, var(--color-text-secondary));min-width:36px;height:34px;border-radius:10px;cursor:pointer;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center;gap:.2rem}.chat-emoji-cats button.is-active,.chat-emoji-tabs button.is-active{color:var(--chat-accent);box-shadow:inset 0 -2px 0 var(--chat-accent);border-radius:0}.chat-emoji-search{display:block;padding:.35rem .7rem .45rem}.chat-emoji-search input,.chat-emoji-alt input{width:100%;height:36px;border:0;border-radius:10px;background:#ffffff0f;color:inherit;padding:0 .8rem;font:inherit}.chat-emoji-body{flex:1;min-height:0;overflow-y:auto;padding:0 .55rem .5rem}.chat-emoji-heading{margin:.15rem .35rem .45rem;color:var(--messages-muted, var(--color-text-secondary));font-size:.78rem;font-weight:600}.chat-emoji-empty{margin:1.5rem .5rem;color:var(--messages-muted, var(--color-text-secondary));font-size:.85rem}.chat-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.1rem,1fr));gap:.1rem}.chat-emoji-cell,.chat-sticker-cell{border:0;background:transparent;color:inherit;height:2.15rem;border-radius:8px;cursor:pointer;font-size:1.35rem;line-height:1}.chat-emoji-cell:hover,.chat-sticker-cell:hover,.chat-emoji-cats button:hover,.chat-emoji-tabs button:hover{background:var(--messages-hover, rgba(255, 255, 255, .06))}.chat-emoji-grid.is-sticker{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.chat-sticker-cell{height:2.4rem;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#ffffff0a}.chat-emoji-alt{flex:1;min-height:0;padding:.75rem;display:grid;align-content:start;gap:.65rem}.chat-emoji-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--messages-border, var(--color-border));padding:.15rem .4rem .25rem;flex-shrink:0}.chat-emoji-tabs button span{font-size:.72rem;font-weight:800;letter-spacing:.04em}.chat-icon-btn,.chat-send-btn{border:0;background:var(--color-surface);color:inherit;border-radius:.75rem;min-width:40px;height:40px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chat-icon-btn--ghost{background:transparent}.chat-send-btn{background:var(--color-accent);color:#fff;font-weight:700;padding:0 .9rem;height:44px}.chat-send-btn:disabled,.chat-icon-btn:disabled{opacity:.5;cursor:not-allowed}.messages-page .chat-composer .chat-icon-btn:hover{background:var(--messages-hover, var(--color-surface-hover))}.chat-picker{display:flex;flex-wrap:wrap;gap:.4rem}.chat-picker button{border:1px solid var(--color-border);background:var(--color-surface);color:inherit;border-radius:999px;padding:.25rem .6rem;cursor:pointer;font-size:.8rem}[data-theme=light] .chat-emoji-panel{background:#fff}[data-theme=light] .chat-emoji-search input,[data-theme=light] .chat-emoji-alt input{background:#0000000f}.chat-error{font-size:.8rem;color:var(--color-danger)}.chat-status{font-size:.8rem;color:var(--color-text-secondary)}.chat-typing{font-size:.8rem;color:var(--chat-accent);font-style:italic;min-height:1.1rem;padding:0 1rem .35rem}.chat-typing-bubble{align-self:flex-start;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:60px;margin-top:.2rem;padding:.72rem .9rem .68rem;background:var(--messages-incoming, var(--color-surface));color:var(--chat-incoming-fg, var(--color-text-primary));border-radius:18px 18px 18px 6px;box-shadow:0 1px .5px #0b141a2e}.chat-row .chat-typing-bubble{margin-top:0}.chat-typing-bubble:before{content:"";position:absolute;left:-5px;bottom:0;width:8px;height:12px;background:inherit;clip-path:polygon(100% 0,0 100%,100% 100%)}.chat-typing-dot{width:7px;height:7px;border-radius:50%;background:var(--messages-muted, #8696a0);animation:chat-typing-bounce 1.2s ease-in-out infinite}.chat-typing-dot:nth-child(2){animation-delay:.18s}.chat-typing-dot:nth-child(3){animation-delay:.36s}@keyframes chat-typing-bounce{0%,60%,to{transform:translateY(0) scale(.82);opacity:.42}30%{transform:translateY(-3px) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.chat-typing-dot{animation:none;opacity:.7;transform:none}}.navbar-messages{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;color:inherit;text-decoration:none}.navbar-messages:hover{background:var(--color-surface-hover)}.navbar-messages .chat-unread-badge{position:absolute;top:-2px;right:-4px}.profile-message-actions{display:flex;flex-wrap:wrap;gap:.5rem}.game-chat-panel,.replay-chat-history{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--gradient-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;min-height:180px;max-height:min(320px,40dvh)}.game-chat-rail .game-chat-panel{position:absolute;top:0;right:0;bottom:0;left:0;flex:none;width:100%;min-height:0;max-height:none;height:100%;overflow:hidden}.game-chat-rail .game-chat-panel .messages-pane{flex:1;min-height:0;height:100%;overflow:hidden}.game-chat-rail .game-chat-panel .messages-thread{overflow-y:auto;overscroll-behavior:contain}.game-chat-rail .game-chat-panel .chat-composer,.game-chat-rail .game-chat-panel .chat-typing{flex-shrink:0}.game-chat-rail .game-chat-panel .messages-pane,.game-chat-rail .game-chat-panel .messages-thread,.game-chat-rail .game-chat-panel .messages-empty,.game-chat-rail .game-chat-panel .messages-pane-empty{background:transparent}.game-chat-rail .game-chat-panel .messages-empty,.game-chat-rail .game-chat-panel .messages-pane-empty{flex:1;display:flex;align-items:center;justify-content:center}.game-chat-panel .messages-thread,.replay-chat-history .messages-thread{padding:.6rem}.game-chat-panel .messages-pane,.replay-chat-history .messages-pane{min-height:0;height:100%}.game-replay__panel .replay-chat-history .messages-empty,.game-replay__panel .replay-chat-history .messages-pane-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:.85rem .7rem;font-size:.78rem}.messages-pane.is-compact .messages-pane-header{display:none}.game-chat-panel .chat-composer{padding:.5rem}.game-chat-rail .game-chat-panel .chat-composer-row{align-items:flex-end}.game-chat-rail .game-chat-panel .chat-composer-row .chat-send-btn{height:42px;min-height:42px;max-height:42px;box-sizing:border-box}.chat-header-actions{display:flex;gap:.35rem;position:relative}.chat-header-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;display:grid;padding:.35rem;border-radius:10px;border:1px solid var(--messages-border, var(--color-border));background:var(--messages-inbox-bg, var(--color-bg-secondary));box-shadow:0 12px 30px #00000047;z-index:4}.chat-header-menu button{border:0;background:transparent;color:inherit;text-align:left;border-radius:8px;padding:.55rem .7rem;font:inherit;font-size:.85rem;cursor:pointer}.chat-header-menu button:hover{background:var(--messages-hover, var(--color-surface-hover))}.chat-dialog{display:grid;gap:.75rem}.chat-dialog select,.chat-dialog textarea,.chat-dialog input{width:100%;border-radius:.75rem;border:1px solid var(--color-border);background:var(--color-bg-primary);color:inherit;padding:.65rem .75rem;font:inherit}.group-manage{margin:.7rem .85rem .15rem;padding:.95rem 1rem 1rem;border:1px solid var(--messages-border, var(--color-border));border-radius:14px;background:var(--messages-inbox-bg, var(--color-bg-primary));display:grid;gap:.85rem}.group-manage-field{display:grid;gap:.4rem}.group-manage-field label,.group-manage-heading{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--messages-muted, var(--color-text-tertiary))}.group-manage-heading{display:flex;align-items:center;gap:.45rem}.group-manage-heading span{min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;color:inherit;font-size:.68rem;letter-spacing:0}.group-manage-input,.group-member-role-select{width:100%;height:38px;border:1px solid var(--messages-border, var(--color-border));border-radius:10px;background:#ffffff0a;color:inherit;padding:0 .85rem;font:inherit;font-size:.88rem}[data-theme=light] .group-manage-input,[data-theme=light] .group-member-role-select{background:#00000008}.group-manage-input::placeholder{color:var(--messages-muted, var(--color-text-tertiary))}.group-manage-input:disabled{opacity:.62}.group-manage-section{display:grid;gap:.45rem}.group-manage-members{display:grid;gap:.2rem;list-style:none;margin:0;padding:0}.group-member-row{display:flex;align-items:center;gap:.65rem;min-height:46px;padding:.3rem .4rem;border-radius:10px}.group-member-row:hover{background:var(--messages-hover, var(--color-surface-hover))}.group-member-copy{min-width:0;flex:1}.group-member-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:650}.group-member-you{margin-left:.4rem;color:var(--messages-muted, var(--color-text-tertiary));font-size:.74rem;font-weight:600}.group-member-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.group-member-badge{height:24px;padding:0 .6rem;border-radius:999px;display:inline-flex;align-items:center;background:#ffffff0f;color:var(--messages-muted, var(--color-text-tertiary));font-size:.72rem;font-weight:700}.group-member-badge.is-owner{background:color-mix(in srgb,var(--chat-accent) 18%,transparent);color:var(--chat-accent)}.group-member-badge.is-admin{background:color-mix(in srgb,#6cb6ff 18%,transparent);color:#8ec5ff}.group-member-role-select{width:auto;min-width:92px;height:30px;padding:0 .5rem;font-size:.78rem}.group-member-remove{border:0;background:transparent;color:#f87171;height:30px;padding:0 .55rem;border-radius:8px;font:inherit;font-size:.78rem;font-weight:650;cursor:pointer}.group-member-remove:hover,.group-member-remove:focus-visible{background:#f871711f}.group-member-remove:disabled,.group-member-role-select:disabled,.group-manage-leave:disabled,.group-manage-hit:disabled{opacity:.55;cursor:not-allowed}.group-manage-hits{display:grid;gap:.15rem;margin-top:.15rem;max-height:180px;overflow:auto}.group-manage-hit{display:flex;align-items:center;gap:.6rem;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:.4rem .45rem;border-radius:10px;font:inherit;cursor:pointer}.group-manage-hit:hover{background:var(--messages-hover, var(--color-surface-hover))}.group-manage-empty{margin:.2rem 0 0;color:var(--messages-muted, var(--color-text-tertiary));font-size:.8rem}.group-manage-leave{width:100%;height:40px;border:1px solid rgba(248,113,113,.35);background:transparent;color:#f87171;border-radius:10px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.group-manage-leave:hover,.group-manage-leave:focus-visible{background:#f871711a}@media(max-width:860px){.messages-page{padding:var(--navbar-height, 65px) 0 0}.messages-shell{grid-template-columns:1fr;height:calc(100dvh - var(--navbar-height, 65px) - var(--mobile-tab-bar-height, 0px));border-radius:0;border-left:0;border-right:0;box-shadow:none}.messages-page--mobile-thread .messages-inbox,.messages-page--mobile-inbox .messages-pane{display:none}}@media(min-width:861px){.messages-back-btn{display:none}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);transition:background var(--transition-normal),border-color var(--transition-normal)}.navbar-container{max-width:95%;margin:0 auto;padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between}.navbar-logo{display:flex;align-items:center;gap:.5rem;cursor:pointer;text-decoration:none;color:inherit;transition:opacity .2s ease}.navbar-logo:hover{opacity:.8}.logo-image{width:34px;height:34px;object-fit:contain;border-radius:8px;position:relative;left:7px;bottom:3px;filter:drop-shadow(0 0 1px rgba(255,255,255,.21))}[data-theme=light] .logo-image{filter:none}.navbar-logo .logo-text{font-size:1.3rem;font-weight:800;background-image:linear-gradient(135deg,#fff 20%,#8a94a5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;display:inline-block;letter-spacing:-.5px}[data-theme=light] .navbar-logo .logo-text{background-image:linear-gradient(135deg,#000 20%,#434343)}.logo-beta{font-size:.65rem;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.3);background:#e0dbdb1a;border-radius:6px;padding:2px 6px;margin-left:8px;letter-spacing:1px;transform:translateY(-2px)}[data-theme=light] .logo-beta{color:#000;border-color:#0000004d;background:#0000000d}.navbar-links{display:flex;align-items:center;gap:.5rem}.nav-link{background:transparent;border:none;color:var(--color-text-secondary);font-family:inherit;font-size:.8rem;font-weight:600;padding:.25rem 1rem;cursor:pointer;text-decoration:none;transition:all .2s ease;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:80px}.nav-link:hover{color:var(--color-text-primary);background:#ffffff0d}.nav-link.active{color:var(--color-accent)}.nav-icon{font-size:1.5rem;color:var(--color-text-secondary);transition:color .2s ease}.nav-link.active .nav-icon{color:var(--color-accent)}.nav-link:hover .nav-icon{color:var(--color-text-primary)}.nav-link.active:hover .nav-icon{color:var(--color-accent-hover)}.nav-link.locked{opacity:.5;cursor:not-allowed}.nav-link.locked:hover{background:transparent;color:var(--color-text-secondary)}.nav-link.locked:hover .nav-icon{color:var(--color-text-secondary)}.nav-text-with-lock{display:flex;align-items:center;gap:.25rem}.lock-icon{font-size:.8rem;color:var(--color-text-secondary)}.navbar-auth{display:flex;align-items:center;gap:.75rem}.auth-btn{border:none;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.login-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;min-width:104px}.auth-loading-placeholder{width:104px;height:36px;border-radius:8px;background:linear-gradient(90deg,#ffffff0a,#ffffff17,#ffffff0a);background-size:200% 100%;animation:authPlaceholderPulse 1.2s ease-in-out infinite}@keyframes authPlaceholderPulse{0%{background-position:0% 50%;opacity:.55}50%{background-position:100% 50%;opacity:1}to{background-position:0% 50%;opacity:.55}}.login-btn:hover{background:linear-gradient(135deg,#ff6b6b,#e74c3c);transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c4d}.profile-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.1)}.profile-btn:hover{background:#ffffff26;border-color:#fff3}.mobile-tab-bar{display:none}@media(max-width:768px){.navbar-container{padding:0 .7rem;gap:.45rem}.navbar-links--desktop{display:none}.navbar-logo{flex-shrink:0;gap:.3rem;min-width:0}.logo-image{width:30px;height:30px;left:0;bottom:0;flex-shrink:0}.navbar-logo .logo-text{font-size:1.12rem;max-width:none;opacity:1;overflow:visible;white-space:nowrap;transition:max-width .22s cubic-bezier(.4,0,.2,1),opacity .18s ease}.logo-beta{display:none}.navbar-auth{position:relative;gap:.1rem;flex-shrink:0;margin-left:auto;height:42px;padding:.2rem .22rem .2rem .18rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.14);border-radius:9999px;box-sizing:border-box;overflow:visible}.navbar.search-active .navbar-search-dock-form--cover{z-index:5;transform-origin:left center;animation:navbarSearchExpandRight .22s cubic-bezier(.4,0,.2,1)}.navbar.search-active .navbar-search-dock-form--cover .navbar-search-dock-panel{border-radius:9999px;border-color:transparent;background:var(--color-bg-secondary)}.navbar.search-active .navbar-auth>:not(.navbar-search-dock-form--cover){pointer-events:none}.navbar.search-active .navbar-search-slot{position:static}.navbar.search-active .navbar-search-dropdown{left:0;right:0;width:100%;z-index:6;pointer-events:auto}[data-theme=light] .navbar-auth{background:#0f172a0a;border-color:#0f172a1f}.navbar-auth-divider{display:block;width:1px;height:16px;margin:0 .18rem;background:#ffffff38;flex-shrink:0;align-self:center}[data-theme=light] .navbar-auth-divider{background:#0f172a2e}.navbar .navbar-search-slot,.navbar .navbar-search-wrapper{width:32px;height:32px}.navbar .navbar-search-toggle-btn{width:32px;height:32px;border:none;background:transparent;border-radius:9999px;transform:none}.navbar .navbar-search-toggle-btn:hover{background:#ffffff14;transform:none;border:none}.navbar-auth .navbar-messages{width:32px;height:32px}.auth-btn{padding:.32rem .85rem;font-size:.78rem;height:32px;min-width:0;border-radius:9999px;white-space:nowrap;line-height:1}.login-btn{min-width:0}.navbar-auth .login-btn:hover{transform:none;box-shadow:none}.auth-loading-placeholder{width:78px;height:32px;border-radius:9999px}.guest-section{gap:0}.user-info{padding:.25rem}.user-name{display:none}.navbar-search-item{gap:.5rem;padding:.4rem .55rem}.navbar-search-avatar{width:28px;height:28px;font-size:.72rem}.navbar-search-username{font-size:.8rem}.mobile-tab-bar{display:flex;position:fixed;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:16px;right:16px;z-index:1000;height:58px;padding:.28rem .4rem;align-items:stretch;justify-content:space-around;gap:.2rem;background:#16213e6b;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(255,255,255,.18);border-radius:9999px;box-shadow:0 10px 28px #00000047,inset 0 1px #ffffff29;box-sizing:border-box;overflow:hidden}[data-theme=light] .mobile-tab-bar{background:#ffffff85;border-color:#ffffffb8;box-shadow:0 8px 24px #0f172a1f,inset 0 1px #ffffffe6}.mobile-tab-bar .nav-link{flex:1;min-width:0;min-height:0;height:100%;max-height:none;padding:.3rem .4rem;font-size:.68rem;font-weight:600;gap:.12rem;border-radius:9999px;justify-content:center}.mobile-tab-bar .nav-icon{font-size:1.3rem;line-height:1}.mobile-tab-bar .nav-link.active{background:#ffffff24;box-shadow:inset 0 1px #ffffff2e}[data-theme=light] .mobile-tab-bar .nav-link.active{background:#0f172a14;box-shadow:none}}.user-section{display:flex;align-items:center}.user-info{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.4rem .75rem;border-radius:8px;transition:background .2s ease}.user-info:hover{background:#ffffff0d}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(231,76,60,.5)}.user-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#e74c3c,#c0392b);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:#fff}.user-name{font-size:.9rem;font-weight:500;color:var(--color-text-primary)}.guest-section{display:flex;align-items:center;gap:.75rem}.guest-badge{font-size:.8rem;color:var(--color-text-secondary);padding:.35rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px}.navbar-search-slot,.navbar-search-wrapper{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;z-index:1010;flex-shrink:0}@media(min-width:769px){.navbar-auth-divider{display:none}}.navbar-search-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:8px;background:#ffffff08;color:var(--color-text-secondary);cursor:pointer;transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),background .2s ease;flex-shrink:0;opacity:1;transform:scale(1)}.navbar-search-toggle-btn:hover{background:#ffffff12;color:var(--color-text-primary);border-color:var(--color-border-light);transform:scale(1.05)}.navbar-search-wrapper.active .navbar-search-toggle-btn{opacity:0;transform:scale(.8);pointer-events:none}.navbar-search-dock-panel{display:flex;align-items:center;gap:6px;height:100%;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-sizing:border-box;overflow:hidden}.navbar-search-dock-glyph{margin-left:10px;flex-shrink:0;display:flex;align-items:center;color:var(--color-text-secondary)}.navbar-search-dock-form input{flex:1;height:100%;background:transparent;border:none;outline:none;color:var(--color-text-primary);font-size:.85rem;font-family:inherit;min-width:0}.navbar-search-dock-spinner{display:inline-flex;color:var(--color-premium, #f59e0b);flex-shrink:0}.navbar-search-dock-close{margin-right:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;padding:0}.navbar-search-box{position:absolute;right:0;top:0;display:flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.4rem .85rem;transition:width .28s cubic-bezier(.4,0,.2,1),opacity .22s cubic-bezier(.4,0,.2,1);width:36px;height:36px;box-sizing:border-box;z-index:1015;opacity:0;pointer-events:none;overflow:hidden;white-space:nowrap}.navbar-search-wrapper.active .navbar-search-box{width:220px;opacity:1;pointer-events:auto}.navbar-search-box:focus-within{border-color:var(--color-premium-border);background:var(--color-surface-hover);box-shadow:0 0 15px #f59e0b26}[data-theme=light] .navbar-search-box{background:#fffffffa;border-color:#0f172a1f}[data-theme=light] .navbar-search-box:focus-within{background:#f4f6f8;border-color:#b8860b59;box-shadow:0 0 15px #b8860b1f}[data-theme=dark] .navbar-search-box{background:#111422eb;border-color:var(--color-border)}[data-theme=dark] .navbar-search-box:focus-within{background:#171b2af5;border-color:var(--color-premium-border);box-shadow:0 0 15px #f59e0b26}.navbar-search-icon{color:var(--color-text-secondary);margin-right:.5rem;flex-shrink:0}.navbar-search-box input{background:transparent;border:none;color:var(--color-text-primary);outline:none;width:100%;font-size:.85rem;font-family:inherit}.navbar-search-box input::placeholder{color:var(--color-text-secondary);opacity:.6}.navbar-search-spinner{color:var(--color-premium);margin-left:.5rem;flex-shrink:0}.navbar-search-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--color-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xl);max-height:280px;overflow-y:auto;z-index:1020;padding:.5rem;animation:navbarSearchSlide .2s ease-out}@keyframes navbarSearchSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.navbar-search-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;background:#111422;border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;transition:background .2s ease}.navbar-search-item:hover{background:#171b2a;border-color:var(--color-border-light)}[data-theme=light] .navbar-search-item{background:#fffffffa;border-color:#0f172a1f}[data-theme=light] .navbar-search-item:hover{background:#f4f6f8;border-color:#0f172a2e}[data-theme=dark] .navbar-search-item{background:#111422eb;border-color:var(--color-border)}[data-theme=dark] .navbar-search-item:hover{background:#171b2af5;border-color:var(--color-border-light)}.navbar-search-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--color-premium-bg);border:1.5px solid var(--color-premium-border);display:flex;align-items:center;justify-content:center;color:var(--color-premium);font-weight:700;font-size:.8rem;flex-shrink:0}.navbar-search-avatar img{width:100%;height:100%;object-fit:cover}.navbar-search-info{display:flex;flex-direction:column;min-width:0}.navbar-search-username{font-size:.85rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-search-dropdown.no-results{padding:1rem;text-align:center;color:var(--color-text-secondary);font-size:.85rem}.navbar-controls{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0}.navbar-controls .theme-toggle{width:36px;height:36px}.navbar-controls .language-switcher__trigger{min-width:0;height:36px;padding:0 .65rem;border-radius:8px;box-shadow:none}@media(max-width:768px){.navbar .navbar-search-slot,.navbar .navbar-search-wrapper{width:32px;height:32px}.navbar .navbar-search-toggle-btn{width:32px;height:32px;border:none;background:transparent;border-radius:9999px;transform:none}.navbar .navbar-search-toggle-btn:hover{background:#ffffff14;color:var(--color-text-primary);transform:none;border:none}.navbar-controls{gap:0}.navbar-controls .theme-toggle{width:32px;height:32px;background:transparent;border:none;border-radius:9999px}.navbar-controls .theme-toggle:hover{background:#ffffff14;transform:none}.navbar-controls .language-switcher__trigger{height:32px;padding:0 .28rem;background:transparent;border:none;border-radius:9999px;box-shadow:none;gap:.15rem}.navbar-controls .language-switcher__trigger:hover,.navbar-controls .language-switcher__trigger.is-open{background:#ffffff14}.navbar-controls .language-switcher__flag{font-size:.95rem}.navbar-controls .language-switcher__chevron{display:block;width:14px;height:14px}.navbar-search-wrapper.active .navbar-search-box{width:min(200px,calc(100vw - 11.25rem))}.navbar.search-active .navbar-search-dropdown{width:100%}}@media(max-width:360px){.navbar-container{padding:0 .45rem;gap:.3rem}.navbar-logo .logo-text{font-size:.95rem}.navbar-auth{height:38px;padding:.12rem .12rem .12rem .08rem;gap:0}.navbar-auth-divider{margin:0 .08rem;height:14px}.navbar .navbar-search-slot,.navbar .navbar-search-wrapper,.navbar .navbar-search-toggle-btn,.navbar-auth .navbar-messages,.navbar-controls .theme-toggle{width:28px;height:28px}.navbar-controls .language-switcher__trigger{height:28px;padding:0 .12rem}.navbar-controls .language-switcher__chevron{display:none}.navbar-auth .user-info{padding:0}.navbar-auth .user-avatar,.navbar-auth .user-avatar-placeholder{width:26px;height:26px}.auth-btn{padding:.24rem .62rem;font-size:.72rem;height:28px}}@keyframes navbarSearchExpandRight{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.chess-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0006;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.chess-modal-overlay.is-entering{opacity:1;visibility:visible}.chess-modal-overlay.is-entering .chess-modal-content{opacity:1;transform:scale(1) translateY(0)}.chess-modal-overlay.is-closing{opacity:0;visibility:hidden}.chess-modal-overlay.is-closing .chess-modal-content{opacity:0;transform:scale(.95) translateY(10px)}.chess-modal-content{position:relative;width:100%;max-height:90vh;display:flex;flex-direction:column;background:#000;border-radius:20px;box-shadow:0 24px 48px #0009;border:1px solid rgba(255,255,255,.08);opacity:0;transform:scale(.95) translateY(10px);transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.chess-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.chess-modal-title{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text-primary, #ffffff)}.chess-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--color-text-secondary, #a1a1aa);cursor:pointer;transition:background-color .2s,color .2s}.chess-modal-close:hover{background:#ffffff1a;color:var(--color-text-primary, #ffffff)}.chess-modal-body{padding:1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.chess-modal-body::-webkit-scrollbar{width:6px}.chess-modal-body::-webkit-scrollbar-track{background:transparent}.chess-modal-body::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:10px}@media(max-width:640px){.chess-modal-overlay{padding:0;align-items:flex-end}.chess-modal-content{max-height:85vh;border-radius:24px 24px 0 0;transform:translateY(100%)}.chess-modal-overlay.is-entering .chess-modal-content{transform:translateY(0)}.chess-modal-overlay.is-closing .chess-modal-content{transform:translateY(100%)}}.chess-modal-overlay:has(.welcome-modal){z-index:2800;backdrop-filter:none;-webkit-backdrop-filter:none}@media(min-width:641px){.chess-modal-overlay:has(.welcome-modal){align-items:flex-start;padding-top:12vh}}.chess-modal-content:has(.welcome-modal){background:#361d78;border:1px solid rgba(251,55,55,.12);box-shadow:0 24px 48px #000000b3,0 0 30px #9333ea14}.chess-modal-content:has(.welcome-modal) .chess-modal-header{padding:.75rem 1.25rem 0;border-bottom:none}.chess-modal-content:has(.welcome-modal) .chess-modal-body{padding-top:0;padding-bottom:1rem}.welcome-modal{display:flex;flex-direction:column;color:var(--color-text-primary, #ffffff);padding:0}.welcome-modal__header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.welcome-modal__logo-badge{display:flex;align-items:center;justify-content:center;animation:welcome-float 3s ease-in-out infinite}.welcome-modal__logo-image{width:52px;height:52px;object-fit:contain}@keyframes welcome-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.welcome-modal__title{margin:.25rem 0 0;font-size:1.35rem;font-weight:850;letter-spacing:-.025em;background:linear-gradient(to right,#fff,#e4e4e7,#a1a1aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.welcome-modal__description{margin:0;font-size:.9rem;line-height:1.45;color:var(--color-text-secondary, #a1a1aa);max-width:480px}.welcome-modal__divider{height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.08),transparent);margin:1rem 0}.welcome-modal__body{display:flex;flex-direction:column;gap:.75rem}.welcome-modal__section-title{margin:0 0 .5rem;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff6}.welcome-modal__features{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(max-width:640px){.welcome-modal__features{grid-template-columns:1fr}}.welcome-modal__feature-item{display:flex;gap:.75rem;padding:.6rem;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);transition:background .2s ease,border-color .2s ease}.welcome-modal__feature-item:hover{background:#ffffff0a;border-color:#9333ea40}.welcome-modal__feature-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;flex-shrink:0;transition:transform .2s ease}.welcome-modal__feature-item:hover .welcome-modal__feature-icon{transform:scale(1.1)}.welcome-modal__feature-icon--play{background:#ef44441a;color:#ef4444}.welcome-modal__feature-icon--puzzles{background:#f59e0b1a;color:#f59e0b}.welcome-modal__feature-icon--analysis{background:#10b9811a;color:#10b981}.welcome-modal__feature-icon--themes{background:#9333ea1a;color:#a855f7}.welcome-modal__feature-info{display:flex;flex-direction:column;gap:.25rem}.welcome-modal__feature-info h3{margin:0;font-size:.95rem;font-weight:700;color:#fff}.welcome-modal__feature-info p{margin:0;font-size:.85rem;line-height:1.4;color:var(--color-text-secondary, #a1a1aa)}.welcome-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.welcome-modal__btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border:none;outline:none}.welcome-modal__btn:active{transform:scale(.97)}.welcome-modal__btn--later{background:transparent;color:var(--color-text-secondary, #a1a1aa)}.welcome-modal__btn--later:hover{background:#ffffff0f;color:#fff}.welcome-modal__btn--primary{background:#ef4444;color:#fff;box-shadow:0 4px 12px #ef44444d}.welcome-modal__btn--primary:hover{background:#f87171;box-shadow:0 4px 20px #ef444480;transform:translateY(-1px)}.app{min-height:100vh;display:flex;flex-direction:column}.page-loader{min-height:220px;display:flex;align-items:center;justify-content:center;padding:96px 24px 48px}.page-loader-spinner{width:34px;height:34px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:page-loader-spin .8s linear infinite}@keyframes page-loader-spin{to{transform:rotate(360deg)}}.header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);margin:var(--spacing-md);margin-bottom:0}.logo{display:flex;align-items:center;gap:var(--spacing-sm)}.logo-icon{font-size:2rem;color:var(--color-accent)}.logo-text{font-size:1.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav{display:flex;gap:var(--spacing-sm)}.nav-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast)}.nav-btn:hover{background:var(--color-surface);color:var(--color-text-primary)}.back-btn{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:500;transition:all var(--transition-fast)}.back-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.main{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.game-container{display:flex;align-items:flex-start;gap:var(--spacing-xl)}.side-panel{display:flex;flex-direction:column;gap:var(--spacing-md);width:280px}.left-panel{align-items:flex-end}.right-panel{align-items:flex-start}.player-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);width:100%}.player-avatar{width:48px;height:48px;background:var(--color-surface);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.player-avatar.you{background:var(--gradient-primary)}.player-info{flex:1;display:flex;flex-direction:column}.player-name{font-weight:600;color:var(--color-text-primary)}.player-rating{font-size:.875rem;color:var(--color-text-tertiary)}.turn-indicator{width:12px;height:12px;background:var(--color-surface);border-radius:50%;transition:all var(--transition-fast)}.turn-indicator.active{background:var(--color-success);box-shadow:0 0 8px var(--color-success)}.board-section{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.game-status-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center}.status-icon{font-size:3rem;color:var(--color-accent)}.status-text{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.new-game-btn{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--gradient-primary);color:#fff;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast)}.new-game-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-glow)}.board-controls{display:flex;gap:var(--spacing-sm)}.control-btn{width:44px;height:44px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all var(--transition-fast)}.control-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-light)}.control-btn:active{transform:scale(.95)}.footer{padding:var(--spacing-md);text-align:center}.footer-text{font-size:.875rem;color:var(--color-text-tertiary)}@media(max-width:1200px){.game-container{flex-direction:column;align-items:center}.side-panel{width:100%;max-width:560px;flex-direction:row;justify-content:space-between}.left-panel{order:-1}.right-panel{order:1}.player-card{width:auto}.move-list{flex:1;max-height:200px}}@media(max-width:640px){.header{flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.main{padding:var(--spacing-md)}.side-panel{flex-direction:column}}[data-theme=dark]{--color-bg-primary: #1a1a2e;--color-bg-secondary: #16213e;--color-bg-tertiary: #0f3460;--color-surface: rgba(255, 255, 255, .05);--color-surface-hover: rgba(255, 255, 255, .1);--color-surface-active: rgba(255, 255, 255, .15);--color-border: rgba(255, 255, 255, .1);--color-border-light: rgba(255, 255, 255, .2);--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .7);--color-text-tertiary: rgba(255, 255, 255, .5);--color-accent: #e94560;--color-accent-hover: #ff6b8a;--color-accent-secondary: #0f3460;--color-success: #4ade80;--color-success-bg: rgba(74, 222, 128, .15);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .15);--color-error: #ef4444;--color-warning: #fbbf24;--color-neutral: #9ca3af;--color-neutral-bg: rgba(156, 163, 175, .15);--color-premium: #d4af37;--color-premium-bg: rgba(212, 175, 55, .15);--color-premium-border: rgba(212, 175, 55, .3);--color-sidebar-toggle-bg: #ffffff;--color-sidebar-toggle-bg-hover: #f3f4f4;--color-sidebar-toggle-border: rgba(0, 0, 0, .14);--color-sidebar-toggle-text: #111111;--color-sidebar-mobile-bg: rgba(29, 32, 56, .98);--color-sidebar-backdrop: rgba(10, 14, 28, .46);--shadow-floating-control: 0 4px 12px rgba(0, 0, 0, .45);--shadow-sidebar-mobile: 18px 0 40px rgba(4, 8, 22, .4);--board-light: #E2EFFF;--board-dark: #A5C9E8;--board-light-highlight: #C0D9F0;--board-dark-highlight: #87B0D1;--board-last-move-light: #D0E5F5;--board-last-move-dark: #93BBD9;--board-valid-move: rgba(167, 139, 250, .6);--board-check: rgba(255, 0, 0, .5);--board-selected: rgba(135, 206, 250, .4);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(233, 69, 96, .3);--shadow-board: 0 8px 32px rgba(0, 0, 0, .4);--gradient-primary: linear-gradient(135deg, #e94560 0%, #0f3460 100%);--gradient-surface: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%);--gradient-dark: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%)}[data-theme=light]{--color-bg-primary: #f5f7fa;--color-bg-secondary: #e8ecf1;--color-bg-tertiary: #d1d9e3;--color-surface: #ffffff;--color-surface-hover: #f8f9fa;--color-surface-active: #f0f1f3;--color-border: rgba(0, 0, 0, .15);--color-border-light: rgba(0, 0, 0, .25);--color-text-primary: #1a1a2e;--color-text-secondary: rgba(26, 26, 46, .7);--color-text-tertiary: rgba(26, 26, 46, .5);--color-accent: #e94560;--color-accent-hover: #d63850;--color-accent-secondary: #5c8fd8;--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .15);--color-danger: #dc2626;--color-danger-bg: rgba(220, 38, 38, .15);--color-error: #dc2626;--color-warning: #f59e0b;--color-neutral: #64748b;--color-neutral-bg: rgba(100, 116, 139, .15);--color-premium: #b8860b;--color-premium-bg: rgba(184, 134, 11, .15);--color-premium-border: rgba(184, 134, 11, .3);--color-sidebar-toggle-bg: #111111;--color-sidebar-toggle-bg-hover: #000000;--color-sidebar-toggle-border: rgba(255, 255, 255, .14);--color-sidebar-toggle-text: #ffffff;--color-sidebar-mobile-bg: rgba(255, 255, 255, .96);--color-sidebar-backdrop: rgba(148, 163, 184, .22);--shadow-floating-control: 0 4px 12px rgba(15, 23, 42, .16);--shadow-sidebar-mobile: 18px 0 40px rgba(15, 23, 42, .16);--board-light: #E2EFFF;--board-dark: #A5C9E8;--board-light-highlight: #C0D9F0;--board-dark-highlight: #87B0D1;--board-last-move-light: #D0E5F5;--board-last-move-dark: #93BBD9;--board-valid-move: rgba(139, 92, 246, .4);--board-check: rgba(255, 0, 0, .5);--board-selected: rgba(135, 206, 250, .4);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .02);--shadow-glow: 0 0 20px rgba(233, 69, 96, .15);--shadow-board: 0 8px 32px rgba(0, 0, 0, .15);--gradient-primary: linear-gradient(135deg, #e94560 0%, #5c8fd8 100%);--gradient-surface: linear-gradient(135deg, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, .85) 100%);--gradient-dark: linear-gradient(180deg, #f5f7fa 0%, #e8ecf1 100%)}:root{--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--navbar-height: 65px;--mobile-tab-bar-height: 0px}@media(max-width:768px){:root{--mobile-tab-bar-height: calc(76px + env(safe-area-inset-bottom, 0px)) }}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Bricolage Grotesque,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--gradient-dark);color:var(--color-text-primary);min-height:100vh;line-height:1.5;transition:background var(--transition-normal),color var(--transition-normal)}@media(max-width:768px){body.has-mobile-tab-bar .site-footer{padding-bottom:calc(22px + var(--mobile-tab-bar-height))}}#root{min-height:100vh;display:flex;flex-direction:column}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-surface-active);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}::selection{background:var(--color-accent);color:#fff}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.glass{background:var(--gradient-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.glow{box-shadow:var(--shadow-glow)}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--transition-normal) var(--ease-out)}.animate-slideUp{animation:slideUp var(--transition-slow) var(--ease-out)}.animate-scaleIn{animation:scaleIn var(--transition-normal) var(--spring)}
