body:has(.qs-announcement[open]){overflow:hidden}
.qs-announcement{--notice-forest:#123e35;--notice-ink:#243c32;--notice-muted:#52695b;--notice-line:#dce5de;--notice-gold:#d9c69c;box-sizing:border-box;width:520px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);padding:0;margin:auto;border:1px solid #ffffff3d;border-radius:16px;background:#fff;color:var(--notice-ink);box-shadow:0 24px 80px #102a2940;overflow:hidden;font:15px/1.8 "Segoe UI","Microsoft YaHei",sans-serif;color-scheme:light;text-align:left}
.qs-announcement *{box-sizing:border-box}
.qs-announcement[open]{display:flex;flex-direction:column;animation:qs-notice-appear .18s ease-out}
.qs-announcement:focus{outline:none}
.qs-announcement::backdrop{background:#142c276b;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.qs-announcement button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.qs-announcement button:focus-visible{outline:3px solid #628d76;outline-offset:4px}
.qs-announcement-header{position:relative;flex:none;background:var(--notice-forest);color:#fff;padding:26px 32px 28px}
.qs-announcement-label{display:flex;align-items:center;gap:9px;color:var(--notice-gold);font-size:13px;line-height:24px;padding-right:40px}
.qs-announcement-label svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.qs-announcement h2{margin:17px 0 0;color:#fff;font:400 28px/1.45 "STSong","Songti SC","SimSun",serif;letter-spacing:.035em;overflow-wrap:anywhere;max-height:2.9em;overflow:auto;scrollbar-width:thin}
.qs-announcement h2:focus-visible{outline:2px solid var(--notice-gold);outline-offset:3px}
.qs-announcement .qs-announcement-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;color:#e4ece7;background:transparent}
.qs-announcement-close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.qs-announcement .qs-announcement-close:hover{background:#ffffff14;color:#fff}
.qs-announcement .qs-announcement-close:focus-visible{outline:2px solid var(--notice-gold);outline-offset:-3px}
.qs-announcement-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:25px 32px 24px;font-size:15px;line-height:1.95;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:#bdcec4 transparent}
.qs-announcement-body:focus-visible{outline:2px solid #628d76;outline-offset:-5px}
.qs-announcement-text{white-space:pre-wrap}
.qs-announcement-signature{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;color:var(--notice-muted);font-size:12px;line-height:1.7}
.qs-announcement-footer{flex:none;margin:0 32px;padding:20px 0 23px;border-top:1px solid var(--notice-line)}
.qs-announcement .qs-announcement-confirm{width:100%;min-height:48px;padding:8px 14px;border:1px solid var(--notice-forest);border-radius:8px;background:var(--notice-forest);color:#fff;font-size:15px;transition:background .14s}
.qs-announcement .qs-announcement-confirm:hover{background:#205749}
.qs-announcement .qs-announcement-confirm:active{background:#0e3029}
@keyframes qs-notice-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:540px){.qs-announcement{border-radius:14px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}.qs-announcement-header{padding:23px 23px 24px}.qs-announcement h2{font-size:24px;margin-top:15px}.qs-announcement .qs-announcement-close{top:10px;right:10px}.qs-announcement-body{padding:22px 23px;font-size:14px;line-height:1.95}.qs-announcement-signature{font-size:12px;margin-top:20px}.qs-announcement-footer{margin:0 23px;padding:17px 0 20px}}
@media(max-height:500px){.qs-announcement-header{padding-top:10px;padding-bottom:10px}.qs-announcement h2{margin-top:8px;font-size:20px;line-height:1.35;max-height:2.7em}.qs-announcement-body{padding-top:12px;padding-bottom:12px}.qs-announcement-footer{padding-top:10px;padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.qs-announcement[open]{animation:none}.qs-announcement .qs-announcement-confirm{transition:none}}
