.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--bg-glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-bottom:1px solid var(--border);height:var(--header-h);transition:background var(--duration-normal) var(--ease-smooth)}.app-header.in-room{background:rgba(7,10,18,.92)}.app-header-inner{max-width:1040px;margin:0 auto;height:100%;justify-content:space-between;padding:0 16px}.app-header-inner,.logo-btn{display:flex;align-items:center}.logo-btn{gap:8px;background:none;color:var(--text-primary);padding:4px 0;min-height:44px}.logo-text{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;letter-spacing:-.2px;color:hsla(0,0%,100%,.92)}.header-right{gap:8px}.header-right,.install-btn{display:flex;align-items:center}.install-btn{gap:4px;background:rgba(59,130,246,.1);color:hsla(0,0%,100%,.86);font-size:var(--text-xs);font-weight:650;padding:6px 14px;border-radius:50px;border:1px solid rgba(59,130,246,.22);min-height:32px;transition:all var(--duration-fast)}.install-btn:hover{border-color:rgba(59,130,246,.35);background:rgba(59,130,246,.14)}.install-btn:active{transform:scale(.98)}.install-icon{font-size:var(--text-base);font-weight:400;line-height:1}.user-avatar-btn{width:36px;height:36px;border-radius:50%;background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;transition:transform var(--duration-fast) var(--ease-spring);box-shadow:var(--shadow-2)}.user-avatar-btn img{width:100%;height:100%;object-fit:cover}.user-avatar-btn:active{transform:scale(.88)}.user-avatar-letter{font-size:var(--text-sm);font-weight:800;color:#070a12}.user-menu{position:relative}.user-menu:before{content:"";position:absolute;left:0;right:0;top:100%;height:12px;z-index:199}.user-menu-dropdown{position:absolute;top:calc(100% - 4px);right:0;min-width:148px;padding:6px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-4);z-index:200;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,visibility .12s ease}.user-menu.is-open .user-menu-dropdown,.user-menu:focus-within .user-menu-dropdown,.user-menu:hover .user-menu-dropdown{opacity:1;visibility:visible;pointer-events:auto}.user-menu-item{display:flex;align-items:center;width:100%;padding:10px 12px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:650;color:hsla(0,0%,100%,.9);background:none;border:none;text-align:left;cursor:pointer;text-decoration:none;transition:background var(--duration-fast)}.user-menu-item:focus-visible,.user-menu-item:hover{background:hsla(0,0%,100%,.06);outline:none}.user-menu-item.danger{color:hsla(0,91%,71%,.95)}.user-menu-item.danger:focus-visible,.user-menu-item.danger:hover{background:rgba(239,68,68,.12)}.logout-confirm-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse 90% 70% at 50% 45%,rgba(34,197,94,.09),transparent 65%),rgba(4,12,8,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.logout-confirm-dialog{position:relative;width:100%;max-width:380px;padding:24px 22px 20px;border-radius:var(--radius-xl);overflow:hidden;border:1px solid rgba(167,243,208,.22);box-shadow:0 0 0 1px rgba(0,0,0,.35),0 22px 48px rgba(0,0,0,.55),0 0 60px rgba(34,197,94,.12);background:repeating-linear-gradient(90deg,rgba(0,0,0,.04),rgba(0,0,0,.04) 1px,transparent 0,transparent 14px),radial-gradient(ellipse 110% 85% at 50% -5%,rgba(34,197,94,.28),transparent 58%),linear-gradient(168deg,#0f241c,#0a1a14 42%,#081018)}.logout-confirm-dialog:before{content:"";position:absolute;left:12px;right:12px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.45) 20%,hsla(0,0%,100%,.55) 50%,hsla(0,0%,100%,.45) 80%,transparent);opacity:.85;pointer-events:none}.logout-confirm-title{position:relative;font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;margin:0 0 10px;letter-spacing:-.03em;color:rgba(240,253,244,.96);text-shadow:0 1px 12px rgba(34,197,94,.25)}.logout-confirm-text{position:relative;margin:0 0 22px;font-size:var(--text-sm);color:rgba(209,250,229,.78);line-height:1.5}.logout-confirm-actions{position:relative;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.logout-confirm-cancel{min-height:42px;padding:0 16px;border-radius:999px;font-size:var(--text-sm);font-weight:750;color:rgba(236,253,245,.95);background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.42);transition:background var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast)}.logout-confirm-cancel:hover{background:rgba(34,197,94,.2);border-color:rgba(34,197,94,.55)}.logout-confirm-cancel:active{transform:scale(.98)}.logout-confirm-ok{min-height:42px;padding:0 16px;border-radius:999px;font-size:var(--text-sm);font-weight:800;color:rgba(255,250,247,.96);background:linear-gradient(180deg,rgba(180,83,9,.35),rgba(120,53,15,.45));border:1px solid rgba(251,146,60,.45);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06);transition:background var(--duration-fast),transform var(--duration-fast),border-color var(--duration-fast)}.logout-confirm-ok:hover{background:linear-gradient(180deg,rgba(217,119,6,.42),rgba(146,64,14,.5));border-color:rgba(251,146,60,.6)}.logout-confirm-ok:active{transform:scale(.98)}.logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.22);color:hsla(0,0%,100%,.88);font-size:var(--text-xs);font-weight:700;letter-spacing:.1px;transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-fast),border-color var(--duration-fast)}.logout-btn:hover{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.32)}.logout-btn:active{transform:scale(.97)}.google-signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease;box-shadow:0 1px 2px rgba(0,0,0,.05)}.google-signin-btn:hover{background:#f8f9fa;border-color:#d2d4d7;box-shadow:0 2px 8px rgba(0,0,0,.1)}.google-signin-btn:active{background:#f1f3f4;transform:scale(.98)}.google-signin-btn svg{flex-shrink:0}.google-signin-btn--header{gap:8px;padding:6px 12px;min-height:34px;font-size:var(--text-xs)}.google-signin-btn--wide{width:100%;padding:12px 16px;min-height:48px;font-size:var(--text-sm);margin-top:12px}.app-main{flex:1 1;max-width:1040px;margin:0 auto;width:100%}.landing-match-section{scroll-margin-top:calc(var(--header-h) + 12px)}@media (min-width:768px){.app-header-inner,.app-main{padding:0 24px}.logo-text{font-size:1.22rem}}