.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:1000;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(var(--inverse-rgb),.94)}.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-brand);font-size:1.5rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;background:linear-gradient(135deg,#c0392b,#e74c3c 40%,#d4a017);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:8px}.app-header-center{display:flex;align-items:center;justify-content:center;flex:1 1;min-width:0;padding:0 12px}@media (max-width:520px){.app-header-center{padding:0 6px}}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border);color:rgba(var(--neutral-rgb),.9);transition:background var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast)}.theme-toggle-btn:hover{background:rgba(var(--neutral-rgb),.08);border-color:var(--border-light)}.theme-toggle-btn:active{transform:scale(.97)}.theme-toggle-icon{line-height:1;font-size:1rem}.install-btn{display:flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--accent-yellow) 12%,transparent);color:rgba(var(--neutral-rgb),.86);font-size:var(--text-xs);font-weight:650;padding:6px 14px;border-radius:50px;border:1px solid color-mix(in srgb,var(--accent-yellow) 24%,transparent);min-height:32px;transition:all var(--duration-fast)}.install-btn:hover{border-color:color-mix(in srgb,var(--accent-yellow) 42%,transparent);background:color-mix(in srgb,var(--accent-yellow) 16%,transparent)}.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-avatar-empty{width:100%;height:100%;background:rgba(var(--neutral-rgb),.14)}.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:rgba(var(--neutral-rgb),.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:rgba(var(--neutral-rgb),.06);outline:none}.user-menu-item.danger{color:hsla(0,93%,94%,.95)}.user-menu-item.danger:focus-visible,.user-menu-item.danger:hover{background:color-mix(in srgb,var(--accent-red) 14%,transparent)}.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%,color-mix(in srgb,var(--accent-green) 11%,transparent),transparent 65%),rgba(var(--neutral-rgb),.2);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 color-mix(in srgb,var(--accent-green) 26%,transparent);box-shadow:0 0 0 1px rgba(var(--neutral-rgb),.12),0 22px 48px rgba(var(--neutral-rgb),.18),0 0 60px color-mix(in srgb,var(--accent-green) 14%,transparent);background:repeating-linear-gradient(90deg,rgba(var(--neutral-rgb),.04) 0,rgba(var(--neutral-rgb),.04) 1px,transparent 1px,transparent 14px),radial-gradient(ellipse 110% 85% at 50% -5%,color-mix(in srgb,var(--accent-green) 30%,transparent),transparent 58%),linear-gradient(165deg,#fff 0,#f8fafc 55%,#eef2f7 100%)}.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,rgba(var(--neutral-rgb),.45) 20%,rgba(var(--neutral-rgb),.55) 50%,rgba(var(--neutral-rgb),.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(15,23,42,.94);text-shadow:0 1px 0 hsla(0,0%,100%,.65)}.logout-confirm-text{position:relative;margin:0 0 22px;font-size:var(--text-sm);color:rgba(30,41,59,.82);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(15,23,42,.9);background:color-mix(in srgb,var(--accent-green) 20%,#fff);border:1px solid color-mix(in srgb,var(--accent-green) 34%,rgba(15,23,42,.08));transition:background var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast)}.logout-confirm-cancel:hover{background:color-mix(in srgb,var(--accent-green) 30%,#fff);border-color:color-mix(in srgb,var(--accent-green) 46%,rgba(15,23,42,.12))}.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:0 1px 0 rgba(var(--neutral-rgb),.06) inset;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:color-mix(in srgb,var(--accent-red) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-red) 26%,transparent);color:rgba(var(--neutral-rgb),.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:color-mix(in srgb,var(--accent-red) 16%,transparent);border-color:color-mix(in srgb,var(--accent-red) 36%,transparent)}.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--loading{opacity:.72;cursor:progress;pointer-events:none;position:relative;overflow:hidden}.google-signin-btn--loading:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,hsla(0,0%,100%,.45) 45%,transparent 90%);transform:translateX(-100%);animation:googleSignInPulse 1.15s ease-in-out infinite}.google-signin-btn--wide{width:100%;padding:12px 16px;min-height:48px;font-size:var(--text-sm);margin-top:12px}@keyframes googleSignInPulse{to{transform:translateX(100%)}}.app-main{flex:1 1;max-width:1040px;margin:0 auto;width:100%;padding:0 12px;overflow-x:clip}.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}}