/* notice.css —— 更新公告：桌面图标 + 公告页 + 更新弹窗（风格与使用须知一致） */
.notice-icon { background: linear-gradient(145deg, #f2b6c8, #d98fa8); }
#desktop.ic-sweet .notice-icon { --c1: #fbd3df; --c2: #e8a0b8; }

/* ---------- 公告页 ---------- */
#noticeApp .nt-body { padding: 14px 16px 60px; background: var(--bg-color); }
.nt-head { text-align: center; padding: 6px 0 14px; }
.nt-head .nt-orn { font-size: 11px; letter-spacing: .5em; color: #d9bcc7; }
.nt-script, .nt-pop .nt-script { font-family: "XSJ Chorus", "Snell Roundhand", "Apple Chancery", "Segoe Script", "Brush Script MT", cursive; font-style: italic; font-weight: 400; color: #d98fa8; }
.nt-head .nt-script { font-size: 34px; line-height: 1.15; }
.nt-head .nt-face { font-size: 12px; color: #b9a3ad; margin-top: 2px; letter-spacing: .08em; }
.nt-entry { position: relative; background: #fdfbfb; border: 1px solid #ece4e7; border-radius: 16px; padding: 14px 16px 12px; margin-bottom: 12px; color: #2b2629; }
.nt-entry.nt-latest { border-color: #f0d3dc; background: #fdf6f8; }
.nt-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.nt-date { font-size: 12px; color: #9a8f95; letter-spacing: .04em; }
.nt-tag { font-size: 11px; color: #d98fa8; border: 1px solid #f0d3dc; border-radius: 999px; padding: 1px 8px; }
.nt-title { font-size: 15px; font-weight: 700; margin: 0 0 6px; letter-spacing: .02em; }
.nt-sec { margin-top: 8px; }
.nt-sec h4 { display: flex; align-items: baseline; gap: 6px; margin: 0 0 3px; font-size: 12.5px; font-weight: 700; color: #2b2629; }
.nt-sec h4 .nt-script { font-size: 15px; }
.nt-sec ul { list-style: none; margin: 0; padding: 0; }
.nt-sec li { position: relative; padding-left: 14px; font-size: 13px; line-height: 1.7; color: #6f666b; }
.nt-sec li::before { content: "♡"; position: absolute; left: 0; top: 0; font-size: 10px; line-height: 2.1; color: #d98fa8; }
.nt-note { margin-top: 10px; padding-top: 8px; border-top: 1px dashed #ece4e7; font-size: 12px; line-height: 1.6; color: #9a8f95; }
.nt-end { text-align: center; font-size: 20px; color: #d98fa8; margin-top: 14px; }
.nt-empty { text-align: center; color: #9a8f95; font-size: 13px; padding: 40px 0; }

/* ---------- 更新弹窗 ---------- */
.nt-pop { position: absolute; inset: 0; z-index: 99980; display: flex; align-items: center; justify-content: center;
    padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
    background: rgba(40, 34, 38, .42); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
    opacity: 0; transition: opacity .3s ease; font-family: var(--hand, inherit); }
.nt-pop.nt-in { opacity: 1; } .nt-pop.nt-out { opacity: 0; pointer-events: none; }
.nt-card { position: relative; width: 100%; max-width: 340px; max-height: 100%; display: flex; flex-direction: column;
    background: #fdfbfb; color: #2b2629; border: 1px solid #e9e2e5; border-radius: 22px; box-shadow: 0 18px 50px rgba(30, 20, 26, .22);
    transform: translateY(10px) scale(.985); transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.nt-pop.nt-in .nt-card { transform: none; }
.nt-scroll { overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 20px 22px 4px; }
.nt-pop .nt-orn { text-align: center; font-size: 11px; letter-spacing: .5em; color: #d9bcc7; }
.nt-pop .nt-script.nt-big { text-align: center; font-size: 34px; line-height: 1.15; }
.nt-pop .nt-ptitle { text-align: center; font-size: 17px; font-weight: 700; letter-spacing: .12em; text-indent: .12em; margin: 2px 0 2px; }
.nt-pop .nt-pdate { text-align: center; font-size: 12px; color: #b0a5ab; margin-bottom: 12px; letter-spacing: .06em; }
.nt-pop .nt-more { font-size: 12px; color: #9a8f95; text-align: center; margin: 12px 0 4px; }
.nt-foot { padding: 12px 22px 18px; border-top: 1px solid #e9e2e5; margin-top: 10px; }
.nt-btn { display: block; width: 100%; padding: 12px 0; border: 0; border-radius: 999px; font: inherit; font-size: 15px; font-weight: 700; letter-spacing: .1em; background: #2b2629; color: #fff; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.nt-btn:active { transform: scale(.97); }
.nt-link { display: block; margin: 10px auto 0; padding: 4px 8px; border: 0; background: none; font: inherit; font-size: 12px; color: #9a8f95; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .nt-pop, .nt-card { transition: none; } }
