/* EatPlan 站内通知 (eatplan-notices 0.1.0) — AppKit 我的 tab, 390px first, light + .theme-dark */
.ep-nt,.ep-nt-sheet__panel{--n-ink:#254b40;--n-text:#1f3a32;--n-muted:#5c6f66;--n-line:#e3ece7;--n-soft:#f1f6f3;--n-accent:#3d7a5e;--n-accent-ink:#fff;--n-badge:#d64545;--n-unread:#eef6f2;--n-sheet:#fff;--n-chip:#e7f1ed}
.theme-dark .ep-nt,.theme-dark .ep-nt-sheet__panel{--n-ink:#e6f2ec;--n-text:#d9e6df;--n-muted:#a3b7ad;--n-line:#2b3530;--n-soft:#1a2320;--n-accent:#6cc79b;--n-accent-ink:#0b1712;--n-badge:#ff6b6b;--n-unread:#18261f;--n-sheet:#151b19;--n-chip:#1f2e28}
.ep-nt[hidden]{display:none!important}
.ep-nt .ep-nt-row{position:relative}
.ep-nt .ep-me-ico{background:var(--n-chip)!important;color:var(--n-accent)!important}
.ep-nt .ep-me-text small{color:var(--n-muted)}
.ep-nt-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--n-badge);color:#fff;font-size:12.5px;font-weight:700;line-height:1;margin-left:auto;margin-right:6px;font-variant-numeric:tabular-nums;flex:0 0 auto}
.ep-nt-badge[hidden]{display:none!important}
.theme-dark .ep-nt-badge{color:#1a0b0b}
html.ep-nt-lock,html.ep-nt-lock body{overflow:hidden!important}
.ep-nt-sheet{position:fixed;inset:0;z-index:100010;background:rgba(10,20,16,0);display:flex;align-items:flex-end;justify-content:center;transition:background .18s ease}
.ep-nt-sheet.is-open{background:rgba(10,20,16,.48)}
.theme-dark .ep-nt-sheet.is-open{background:rgba(0,0,0,.6)}
.ep-nt-sheet__panel{width:100%;max-width:480px;max-height:88vh;max-height:88dvh;display:flex;flex-direction:column;background:var(--n-sheet);color:var(--n-text);border-radius:20px 20px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.2);transform:translateY(100%);transition:transform .2s ease;padding-bottom:env(safe-area-inset-bottom)}
.ep-nt-sheet.is-open .ep-nt-sheet__panel{transform:none}
.ep-nt-sheet__head{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 52px 10px;border-bottom:1px solid var(--n-line)}
.ep-nt-sheet__grab{position:absolute;top:7px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--n-line)}
.ep-nt-sheet__title{font-size:16px;font-weight:700;margin:0;color:var(--n-ink);text-align:center}
.ep-nt-sheet__close,.ep-nt-sheet__back{position:absolute;top:10px;width:44px;height:44px;border:0;background:transparent;color:var(--n-muted);font-size:18px;border-radius:12px;cursor:pointer}
.ep-nt-sheet__close{right:8px}.ep-nt-sheet__back{left:8px}
.ep-nt-sheet__body{overflow:auto;-webkit-overflow-scrolling:touch;padding:12px 16px 18px}
.ep-nt-sheet__close:focus-visible,.ep-nt-sheet__back:focus-visible,.ep-nt-item:focus-visible,.ep-nt-btn:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.ep-nt-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ep-nt-bar .ep-nt-muted{flex:1;margin:0}
.ep-nt-muted{color:var(--n-muted);font-size:13px;line-height:1.6;margin:0 0 10px}
.ep-nt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--n-line);background:transparent;color:var(--n-accent);font:inherit;font-size:14px;font-weight:600;cursor:pointer;flex:0 0 auto}
.ep-nt-btn[hidden]{display:none}
.ep-nt-btn.is-block{width:100%;margin-top:16px;min-height:44px}
.ep-nt-btn:disabled{opacity:.45}
.ep-nt-list{display:flex;flex-direction:column;margin:0 -16px}
.ep-nt-item{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:12px 16px;border:0;border-bottom:1px solid var(--n-line);background:transparent;color:var(--n-text);font:inherit;cursor:pointer;min-height:64px}
.ep-nt-item:last-child{border-bottom:0}
.ep-nt-item.is-unread{background:var(--n-unread)}
.ep-nt-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;margin-top:7px;background:transparent}
.ep-nt-item.is-unread .ep-nt-dot{background:var(--n-badge)}
.ep-nt-item-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.ep-nt-item-top{display:flex;gap:8px;align-items:baseline;justify-content:space-between}
.ep-nt-item-top strong{font-size:14.5px;font-weight:600;color:var(--n-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ep-nt-item.is-unread .ep-nt-item-top strong{font-weight:800}
.ep-nt-item-top time{font-size:12px;color:var(--n-muted);flex:0 0 auto;font-variant-numeric:tabular-nums}
.ep-nt-item-prev{font-size:13px;color:var(--n-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ep-nt-item-meta{font-size:11.5px;color:var(--n-accent);font-weight:600}
.ep-nt-empty{text-align:center;color:var(--n-muted);padding:28px 0}
.ep-nt-empty i{font-size:28px;opacity:.6}
.ep-nt-empty p{margin:8px 0 0}
.ep-nt-read-title{font-size:18px;font-weight:700;color:var(--n-ink);margin:4px 0 4px;line-height:1.4}
.ep-nt-read-meta{font-size:12.5px;color:var(--n-muted);margin:0 0 12px}
.ep-nt-read-body{font-size:15px;line-height:1.7;color:var(--n-text)}
.ep-nt-read-body p,.ep-nt-read-body ul,.ep-nt-read-body ol{margin:0 0 10px}
.ep-nt-read-body ul,.ep-nt-read-body ol{padding-left:20px}
.ep-nt-read-body h4{font-size:15px;font-weight:700;color:var(--n-ink);margin:12px 0 4px}
.ep-nt-read-body strong{color:var(--n-ink)}
