#userNotificationBtn { position:relative; min-width:30px; height:28px; padding:4px 7px; }
#userNotificationBtn[hidden] { display:none!important; }
#userNotificationBtn svg { width:18px; height:18px; }
#userNotificationBtn.has-unread::after { content:''; position:absolute; top:2px; right:3px; width:7px; height:7px; border-radius:50%; background:#ef4444; box-shadow:0 0 0 2px var(--panel,#fff); }
#authAccountBtn.is-restoring .header-action-icon { display:none; }
#authAccountBtn.is-restoring::before { content:''; width:13px; height:13px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:auth-restoring-spin .8s linear infinite; }
@keyframes auth-restoring-spin { to { transform:rotate(360deg); } }
.user-notice-dialog { box-sizing:border-box; width:min(440px,calc(100vw - 32px)); max-height:80dvh; margin:auto; padding:24px; border:1px solid #d6deed; border-radius:20px; background:#fff; color:#192237; box-shadow:0 24px 80px #14203940; overflow:auto; }
.user-notice-dialog::backdrop { background:#17203366; }
.user-notice-dropdown { box-sizing:border-box; position:fixed; inset:auto; margin:0; padding:12px; border:1px solid #d6deed; border-radius:12px; background:#fff; color:#192237; font-size:13px; line-height:1.5; box-shadow:0 10px 30px #14203920; overflow:auto; overscroll-behavior:contain; }
.user-notice-dropdown::backdrop { background:transparent; }
.user-notice-dropdown button { cursor:pointer; border:1px solid #d6deed; border-radius:10px; background:#f5f7fc; color:inherit; padding:10px 14px; font:inherit; }
.user-notice-dropdown .user-notice-close { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; background:transparent; border-radius:6px; color:#7b879b; font-size:21px; line-height:1; }
.user-notice-dropdown .user-notice-close:hover { background:#f0f3f8; color:#192237; }
.user-notice-dropdown .user-notice-item { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; text-align:left; column-gap:10px; row-gap:4px; margin:2px 0; padding:10px 8px; border:0; border-radius:8px; background:#fff; overflow-wrap:anywhere; }
.user-notice-dropdown .user-notice-item:hover { background:#f5f7fb; }
.user-notice-dropdown .user-notice-item strong { font-size:13px; font-weight:600; line-height:1.5; }
.user-notice-dropdown .user-notice-item span { grid-column:1 / -1; font-size:12px; line-height:1.6; }
.user-notice-dropdown time { display:block; grid-column:2; grid-row:1; align-self:center; font-size:11px; white-space:nowrap; color:#929eb1; }
.user-notice-dropdown .user-notice-head { gap:8px; margin:0 0 6px; padding:0 2px 8px; border-bottom:1px solid #edf0f5; }
.user-notice-dropdown .user-notice-head h2 { margin:0; font-size:14px; line-height:1.5; font-weight:600; }
.user-notice-dropdown .user-notice-body { margin:0; padding:18px 8px; font-size:13px; line-height:1.5; color:#8995a8; }
.user-notice-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.user-notice-head h2 { margin:0; font-size:20px; }
.user-notice-dialog button { cursor:pointer; border:1px solid #d6deed; border-radius:10px; background:#f5f7fc; color:inherit; padding:10px 14px; font:inherit; }
.user-notice-dialog .user-notice-close { padding:2px 10px; font-size:26px; flex-shrink:0; }
.user-notice-body { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; margin:16px 0; }
.user-notice-dialog h3 { overflow-wrap:anywhere; }
.user-notice-dialog time { display:block; font-size:12px; color:#6d7b94; }
.user-notice-dialog .user-notice-item { display:grid; width:100%; text-align:left; gap:7px; margin:8px 0; background:#fff; overflow-wrap:anywhere; }
.user-notice-item span { color:#6d7b94; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.user-notice-item.unread strong::before { content:'●'; color:#ef4444; margin-right:8px; font-size:10px; }
.user-notice-mute { display:flex; gap:8px; align-items:center; margin:16px 0; font-size:14px; }
.user-notice-dialog .user-notice-primary { width:100%; background:#6658eb; color:#fff; border-color:transparent; }
.user-notice-error { color:#c53030; font-size:13px; }
.user-notice-link { display:block; margin:16px 0; color:#5d50d6; }
@media(prefers-reduced-motion:reduce){#authAccountBtn.is-restoring::before{animation-duration:2s}}
