/* Figma 1130:16153 / 902:9933. Outside the app render tree: polling does not rebuild the page. */
.notification-toggle[hidden],.mobile-notifications:has([hidden]),.notifications-panel[hidden]{display:none!important}
.notification-toggle{display:grid;place-items:center;position:relative;width:56px;height:56px;flex:none;padding:0;border:1px solid #ffffff14;border-radius:50%;background:#1e1e1e;color:#fff;cursor:pointer;transition:background 300ms ease}
.notification-toggle>img{position:absolute;width:24px;height:24px;pointer-events:none;transition:opacity 220ms ease}
.notification-bell{opacity:1}.notification-bell-active{opacity:0}
.notification-toggle[aria-expanded="true"] .notification-bell{opacity:0}.notification-toggle[aria-expanded="true"] .notification-bell-active{opacity:1}
/* The desktop button inherits the same hover surface as search. The outline SVG already carries its Figma opacity. */
.notification-toggle:hover{background-color:#252525}
.notification-dot{position:absolute;right:14px;top:14px;width:6px;height:6px;border-radius:50%;background:#fe5400;box-shadow:0 0 0 2px #1e1e1e;opacity:0;transition:opacity 200ms}
.notification-toggle[data-unread="true"] .notification-dot{opacity:1}
.notification-toggle:focus-visible,.notifications-panel button:focus-visible{outline:2px solid #fe5400;outline-offset:3px}
html[data-viewport="desktop"] .desktop-header-actions{gap:4px!important}
.mobile-notifications{display:none}
.notifications-panel{position:fixed;z-index:150;box-sizing:border-box;padding:16px;background:linear-gradient(#262626,#262626) padding-box,linear-gradient(135deg,#ffffff36,#ffffff05) border-box;border:1px solid transparent;border-radius:24px;color:#fff;box-shadow:0 8px 24px #0005;overflow:auto;overscroll-behavior:contain;font:400 14px/20px "Medeo Sans",Arial,sans-serif;animation:notification-in 220ms cubic-bezier(.22,1,.36,1)}
.notifications-panel h2{margin:0 0 10px;font:700 20px/24px "Medeo Sans",Arial,sans-serif;text-align:center;outline:none}
.notification-list{display:grid;gap:10px}.notification-card{display:flex;gap:12px;align-items:flex-start;position:relative;padding:12px;border-radius:16px;background:#333;min-height:138px;box-sizing:border-box}
.notification-pictures{position:relative;flex:none;width:48px;height:80px}
.notification-poster{display:block;width:48px;height:72px;border-radius:9px;object-fit:cover;border:1px solid #ffffff29;background:#444;box-sizing:border-box}
.notification-avatar{display:grid;place-items:center;position:absolute;top:50px;left:24px;width:28px;height:28px;border-radius:50%;overflow:hidden;background:#555;border:1px solid #333;font-weight:600}
.notification-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.notification-copy{min-width:0;flex:1}.notification-copy p{margin:0;font:400 14px/20px "Medeo Sans",Arial,sans-serif;overflow-wrap:anywhere}.notification-copy strong{font-weight:600}.notification-copy time{display:block;margin-top:6px;color:#ffffff80;font:500 12px/16px "Medeo Sans",Arial,sans-serif}
.notification-actions{display:flex;gap:4px;margin-top:12px}.notification-actions button{display:flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;border:1px solid transparent;border-radius:999px;white-space:nowrap;font:600 14px/20px "Medeo Sans",Arial,sans-serif;cursor:pointer;transition:background 300ms ease,color 300ms ease,opacity 300ms ease}
.notification-actions button:first-child{background:#fff;color:#000;flex:1}.notification-actions button:first-child:hover{background:#e5e5e5}.notification-actions button:last-child{background:transparent;border-color:#ffffff99;color:#ffffff99}.notification-actions button:last-child:hover{background:#ffffff0d;color:#fff}.notification-actions button:disabled{opacity:.5;cursor:wait}.notification-row-message:empty{display:none}.notification-row-message{display:block;margin-top:8px;color:#ffba93;font-size:12px;line-height:16px}
.notifications-status{margin:16px 0 8px;text-align:center;color:#aaa}.notifications-status:empty{display:none}.notifications-retry{display:block;margin:12px auto 0;padding:10px 16px;color:#fff;background:#333;border:0;border-radius:999px;cursor:pointer}.notifications-result:not(:empty){display:block;margin-top:10px;font-size:12px;line-height:16px;color:#ddd}
@keyframes notification-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:719px){.mobile-notifications{display:block;margin-left:auto}.notification-toggle{width:44px;height:44px}.notification-dot{top:9px;right:9px}.games-hub-header:has(.mobile-notifications:not(:has([hidden]))) .games-ranking-period{display:none}.notifications-panel{padding:12px}.notification-actions button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.notifications-panel{animation:none}.notification-toggle,.notification-toggle>img,.notification-dot,.notification-actions button{transition:none}}

@media(min-width:720px) and (max-width:799px){html[data-layout="mobile"][data-viewport="desktop"] .sidebar{padding-inline:16px}html[data-layout="mobile"][data-viewport="desktop"] .desktop-topbar{gap:12px}}
