/* Announcement board (see tongtang-board.js). Colours come from the app's own tokens so light/dark and the themes follow the page. */
#tt-board-button.tt-board-button{position:absolute;right:56px;top:50%;transform:translateY(-50%);z-index:40;display:grid;place-items:center;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color .15s}
#tt-board-button.tt-board-button:hover{background:color-mix(in srgb,currentColor 14%,transparent)}
#tt-board-button.tt-board-button:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.tt-board-dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:#ffb43a;box-shadow:0 0 0 2px rgba(0,0,0,.28);pointer-events:none}
.tt-board-dot[hidden]{display:none}
.tt-board-panel{position:fixed;z-index:2147482000;box-sizing:border-box;width:min(380px,calc(100vw - 24px));max-height:min(70vh,540px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-line,rgba(128,128,128,.28));border-radius:14px;background:linear-gradient(var(--color-menu-bg,var(--color-surface-raised,#262626)),var(--color-menu-bg,var(--color-surface-raised,#262626))),var(--color-bg,#121212);color:var(--color-text,rgba(255,255,255,.88));box-shadow:0 16px 44px rgba(0,0,0,.32),0 2px 8px rgba(0,0,0,.16);font-size:13px;line-height:1.55;animation:tt-board-in .16s ease-out}
.tt-board-panel *{box-sizing:border-box}
.tt-board-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 12px 18px;border-bottom:1px solid var(--color-line,rgba(128,128,128,.22))}
.tt-board-title{font-size:15px;font-weight:600;color:var(--color-text-strong,var(--color-text,#fff))}
.tt-board-panel button.tt-board-close{width:30px;height:30px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--color-text-muted,rgba(255,255,255,.6));font:inherit;font-size:20px;line-height:1;cursor:pointer}
.tt-board-panel button.tt-board-close:hover{background:var(--color-hover,rgba(128,128,128,.14));color:var(--color-text,#fff)}
.tt-board-list{overflow:auto;overscroll-behavior:contain}
.tt-board-item{padding:14px 18px;border-bottom:1px solid var(--color-line,rgba(128,128,128,.18))}
.tt-board-item:last-child{border-bottom:0}
.tt-board-item-head{display:flex;align-items:center;gap:8px;min-width:0}
.tt-board-item-title{font-size:14px;font-weight:600;color:var(--color-text-strong,var(--color-text,#fff));word-break:break-word}
.tt-board-tag{flex:none;padding:1px 6px;border:1px solid var(--color-accent,#c8352e);border-radius:3px;background:color-mix(in srgb,var(--color-accent,#c8352e) 12%,transparent);color:var(--color-accent,#c8352e);font-size:11px;line-height:16px;letter-spacing:.1em}
.tt-board-panel button.tt-board-update{margin-top:10px;min-height:32px;padding:0 18px;border:0;border-radius:999px;background:var(--color-accent,#c8352e);color:var(--color-text-on-accent,#fff);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.tt-board-done{margin-top:8px;font-size:12px;line-height:18px;color:var(--color-text-muted,rgba(255,255,255,.5))}
.tt-board-panel button.tt-board-update:disabled{opacity:.7;cursor:progress}
.tt-board-panel button.tt-board-update:focus-visible{outline:2px solid var(--color-accent,#c8352e);outline-offset:2px}
.tt-board-item-time{display:block;margin-top:2px;color:var(--color-text-muted,rgba(255,255,255,.5));font-size:12px}
.tt-board-item-body{margin:8px 0 0;color:var(--color-text-muted,rgba(255,255,255,.66));white-space:pre-line;word-break:break-word}
.tt-board-empty{padding:28px 18px;text-align:center;color:var(--color-text-muted,rgba(255,255,255,.6))}
.tt-board-panel button.tt-board-retry{display:block;margin:0 auto 24px;min-height:32px;padding:0 18px;border:1px solid var(--color-line,rgba(128,128,128,.3));border-radius:999px;background:transparent;color:var(--color-text,#fff);font:inherit;font-size:13px;cursor:pointer}
@keyframes tt-board-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tt-board-panel{animation:none}}
@media (max-width:700px){.tt-board-panel{max-height:calc(100vh - 90px)}}
