.announcement-btn-nav{position:relative;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#00d68f,#00b374);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px #00d68f59;margin-right:12px;flex-shrink:0}.announcement-btn-nav:hover{background:linear-gradient(135deg,#00e69c,#00c783);transform:translateY(-2px);box-shadow:0 4px 12px #00d68f73}.announcement-btn-nav:active{transform:scale(.95)}.announcement-btn-nav svg{width:18px;height:18px;pointer-events:none}.announcement-btn-nav .announcement-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;background:linear-gradient(135deg,#ff4d4f,#ff7875);color:#fff;font-size:11px;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #ff4d4f66;animation:badgePulse 2s ease-in-out infinite;border:2px solid #fff}.announcement-btn{position:fixed;top:20px;right:20px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#00d68f,#00b374);border:2px solid rgba(255,255,255,.3);color:#fff;cursor:move;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:1000;box-shadow:0 4px 15px #00d68f66,0 2px 8px #0003,inset 0 1px #ffffff4d;-webkit-user-select:none;user-select:none;touch-action:none}.announcement-btn:hover{background:linear-gradient(135deg,#00e69c,#00c783);border-color:#ffffff80;color:#fff;transform:scale(1.08) translateY(-2px);box-shadow:0 8px 25px #00d68f80,0 4px 12px #00000040,inset 0 1px #fff6}.announcement-btn:active{transform:scale(.95);box-shadow:0 2px 8px #00d68f4d,inset 0 2px 4px #0000001a}.announcement-btn.dragging{cursor:grabbing;transform:scale(1.12);box-shadow:0 12px 35px #00d68f99,0 6px 15px #0000004d;transition:none}.announcement-btn svg{width:22px;height:22px;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.announcement-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;background:linear-gradient(135deg,#ff4d4f,#ff7875);color:#fff;font-size:12px;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #ff4d4f80,0 0 0 2px #fff3;animation:badgePulse 2s ease-in-out infinite;border:2px solid #fff}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.announcement-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1999;opacity:0;visibility:hidden;transition:all .3s ease}.announcement-modal-overlay.show{opacity:1;visibility:visible}.announcement-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:90%;max-width:560px;max-height:80vh;background:#fff;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 20px 60px #00000026;z-index:2000;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.announcement-modal.show{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.announcement-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f0f0f0;background:linear-gradient(180deg,#fafafa,#fff);border-radius:12px 12px 0 0}.announcement-modal-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#262626}.announcement-modal-title svg{color:#00d68f}.announcement-modal-actions{display:flex;align-items:center;gap:8px}.announcement-modal-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #d9d9d9;background:#fff;color:#595959;border-radius:8px;cursor:pointer;font-size:13px;transition:all .25s ease}.announcement-modal-btn:hover{background:#f5f5f5;border-color:#bfbfbf;color:#262626}.announcement-modal-btn.primary{background:linear-gradient(135deg,#00d68f,#00b374);border-color:#00d68f;color:#fff;font-weight:500}.announcement-modal-btn.primary:hover{background:linear-gradient(135deg,#00e699,#00d68f);transform:translateY(-1px);box-shadow:0 4px 12px #00d68f4d}.announcement-modal-body{flex:1;overflow-y:auto;padding:16px 20px;max-height:50vh;background:#fafafa}.announcement-modal-body::-webkit-scrollbar{width:6px}.announcement-modal-body::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.announcement-modal-body::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.announcement-modal-body::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.announcement-item{padding:16px;margin-bottom:12px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;transition:all .25s ease;position:relative;box-shadow:0 2px 8px #0000000a}.announcement-item:hover{border-color:#d9d9d9;box-shadow:0 4px 12px #00000014;transform:translate(4px)}.announcement-item.unread{background:linear-gradient(135deg,#00d68f0d,#fff);border-left:3px solid #00d68f}.announcement-item-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.announcement-item-title-wrapper{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.announcement-item-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.announcement-item-badge.update{background:#00d68f1a;color:#00b374}.announcement-item-badge.feature{background:#1890ff1a;color:#1890ff}.announcement-item-badge.tip{background:#faad141a;color:#faad14}.announcement-item-badge.default{background:#0000000f;color:#8c8c8c}.announcement-item-title{font-size:14px;font-weight:600;color:#262626;margin:0}.announcement-item-new{padding:1px 6px;background:linear-gradient(135deg,#ff4d4f,#ff7875);color:#fff;font-size:10px;font-weight:700;border-radius:4px;animation:newBadgePulse 1.5s ease-in-out infinite}@keyframes newBadgePulse{0%,to{opacity:1}50%{opacity:.7}}.announcement-item-date{font-size:12px;color:#8c8c8c;white-space:nowrap}.announcement-item-content{font-size:13px;color:#595959;line-height:1.7}.announcement-empty{text-align:center;padding:40px 20px;color:#8c8c8c;font-size:14px}.announcement-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#8c8c8c;font-size:14px}.announcement-spinner{width:20px;height:20px;border:2px solid #f0f0f0;border-top-color:#00d68f;border-radius:50%;animation:announcementSpin 1s linear infinite;margin-right:10px}@keyframes announcementSpin{to{transform:rotate(360deg)}}.announcement-modal-footer{padding:16px 24px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;background:#fafafa;border-radius:0 0 12px 12px}.announcement-modal-footer-btn{padding:10px 24px;background:linear-gradient(135deg,#00d68f,#00b374);border:none;color:#fff;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .25s ease}.announcement-modal-footer-btn:hover{background:linear-gradient(135deg,#00e699,#00d68f);transform:translateY(-2px);box-shadow:0 6px 20px #00d68f59}@media (max-width: 640px){.announcement-btn{top:12px;right:12px;width:44px;height:44px}.announcement-btn svg{width:20px;height:20px}.announcement-badge{min-width:18px;height:18px;font-size:11px;top:-3px;right:-3px}.announcement-modal{width:95%;max-height:85vh}.announcement-modal-header{padding:16px 20px}.announcement-modal-title{font-size:15px}.announcement-modal-btn span{display:none}.announcement-modal-body{padding:12px 16px}.announcement-item{padding:12px}.announcement-item-title{font-size:13px}.announcement-item-content{font-size:12px}}
