.glassmorphism{background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.1)}.glassmorphism,.glassmorphism-dark{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glassmorphism-dark{background:rgba(15,15,15,.25);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.2)}.notification-dropdown{--notification-radius:20px;--notification-item-radius:16px;--notification-bg:rgba(255,255,255,0.9);--notification-border:rgba(255,255,255,0.3);--notification-shadow:0 8px 32px rgba(0,0,0,0.1);--notification-text:rgba(30,30,40,0.95);--notification-text-secondary:rgba(30,30,40,0.75);--notification-item-bg:rgba(255,255,255,0.9);--notification-item-border:rgba(100,100,150,0.2);--notification-item-shadow:0 4px 12px rgba(0,0,0,0.05);--notification-progress-bg:rgba(200,200,220,0.5);--notification-progress-fill:rgba(80,100,255,0.9)}.dark .notification-dropdown{--notification-bg:rgba(40,40,50,0.85);--notification-border:rgba(255,255,255,0.1);--notification-shadow:0 8px 32px rgba(0,0,0,0.2);--notification-text:rgba(255,255,255,0.95);--notification-text-secondary:rgba(255,255,255,0.7);--notification-item-bg:rgba(255,255,255,0.25);--notification-item-border:rgba(255,255,255,0.1);--notification-item-shadow:0 4px 12px rgba(0,0,0,0.1);--notification-progress-bg:rgba(80,80,100,0.3);--notification-progress-fill:rgba(100,120,255,0.8)}.notification-container{border-radius:var(--notification-radius);overflow:hidden;background:var(--notification-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--notification-border);box-shadow:var(--notification-shadow);transform:translateZ(0);will-change:transform,opacity}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.notification-title{font-size:20px;color:var(--notification-text);margin:0}.notification-view-all{font-size:14px;font-weight:500;color:var(--notification-text-secondary);background:transparent;border:none;cursor:pointer;padding:0;transition:color .2s ease}.notification-view-all:hover{color:var(--notification-text)}.notification-content{padding:0 20px;max-height:60vh;overflow-y:auto}.notification-item{border-radius:var(--notification-item-radius);background:var(--notification-item-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--notification-item-border);box-shadow:var(--notification-item-shadow);padding:12px;transition:box-shadow .2s ease}.notification-item:hover{box-shadow:0 6px 16px rgba(0,0,0,.08)}.notification-thumbnail{width:48px;height:48px;border-radius:12px;overflow:hidden;border:1px solid var(--notification-item-border);flex-shrink:0}.notification-item-title{margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-title,.notification-progress-text{font-size:16px;color:var(--notification-text)}.notification-progress-bg{flex:1;height:8px;background:var(--notification-progress-bg);border-radius:4px;overflow:hidden}.notification-progress-fill{height:100%;background:var(--notification-progress-fill);border-radius:4px;transition:width .3s ease-out}.notification-footer{display:flex;justify-content:center;padding:16px 20px}.notification-clear{font-size:16px;font-weight:500;color:var(--notification-text-secondary);background:transparent;border:none;cursor:pointer;padding:0;transition:color .2s ease}.notification-clear:hover{color:var(--notification-text)}.notification-empty{padding:24px 0;text-align:center;color:var(--notification-text-secondary)}@media (max-width:480px){.notification-dropdown{width:calc(100% - 32px)!important;right:16px!important;left:16px!important;max-width:none}}.transform-none,.transform-none:hover{transform:none!important}.notification-item-title,.notification-title{font-weight:600;letter-spacing:-.01em}.notification-progress-text{font-weight:700}.notification-item-title,.notification-progress-text,.notification-title{text-shadow:0 1px 1px rgba(255,255,255,.5)}.dark .notification-item-title,.dark .notification-progress-text,.dark .notification-title{text-shadow:0 1px 2px rgba(0,0,0,.1)}