/* Scoped styles shared by the public dialog and the administrative preview. */
.announcement-dialog{color-scheme:light;color:#203340;background:#fffdf9;border:1px solid #ddcfb5;border-radius:24px;padding:0;width:calc(100% - 40px);max-width:780px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);margin:auto;overflow:hidden;box-shadow:0 24px 100px #0006;font-family:NotoSansTC,system-ui,sans-serif;font-size:17px;line-height:1.8;text-align:left}
.announcement-dialog::backdrop{background:#071724b8;backdrop-filter:blur(4px)}.announcement-dialog [hidden]{display:none!important}.announcement-dialog *{box-sizing:border-box}.announcement-dialog button,.announcement-dialog input{font:inherit}.announcement-shell{display:flex;flex-direction:column;max-height:calc(100vh - 42px);max-height:calc(100dvh - 42px)}
.announcement-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid #e8e1d4;flex-shrink:0}.announcement-label{font-size:14px;font-weight:600;letter-spacing:.1em;color:#81612c}.announcement-close{border:0;background:transparent;color:#536570;width:44px;height:44px;min-width:44px;font-size:30px!important;line-height:1;cursor:pointer;border-radius:12px;padding:0}
.announcement-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;-webkit-overflow-scrolling:touch}.announcement-image{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;background:#f0ede7;margin:0}.announcement-image-error{padding:16px 28px;color:#6b582f;font-size:14px;margin:0}.announcement-copy{padding:24px 32px 30px;overflow-wrap:anywhere}.announcement-copy h2{margin:0 0 18px;color:#284456;font-size:clamp(23px,3vw,30px);font-weight:700;line-height:1.45;letter-spacing:.015em}.announcement-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#344956;line-height:1.9}
.announcement-footer{flex-shrink:0;padding:18px 28px 22px;border-top:1px solid #e8e1d4;background:#faf7f0}.announcement-remember{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.7;color:#45565d;cursor:pointer;margin:0}.announcement-remember input{width:20px;height:20px;flex:none;margin:3px 0 0;accent-color:#856126}.announcement-controls{display:flex;align-items:center;gap:10px;margin-top:15px}.announcement-progress{margin-right:auto;color:#6b7880;font-size:14px;white-space:nowrap}.announcement-next,.announcement-previous{border:1px solid #dbd0ba;border-radius:12px;min-height:46px;padding:10px 20px;font-size:15px!important;cursor:pointer;line-height:1.5;background:white;color:#344956}.announcement-next{background:#29495a;border-color:#29495a;color:white}.announcement-previous:disabled{opacity:.4;cursor:default}.announcement-storage-note{font-size:13px;line-height:1.5;color:#895313;margin:8px 0 0}.announcement-dialog :focus-visible{outline:3px solid #b68b41;outline-offset:3px}.announcement-close:hover{background:#ede9df}.announcement-next:hover{background:#183748}.announcement-previous:hover:enabled{background:#eee7da}html.announcement-open{overflow:hidden}
.announcement-copy h2:focus{outline:none}
:root[data-text-size=large] .announcement-body{font-size:21px}:root[data-text-size=large] .announcement-remember{font-size:18px}
@media(max-width:600px){.announcement-dialog{width:calc(100% - 24px);border-radius:18px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));font-size:16px}.announcement-shell{max-height:calc(100vh - 26px);max-height:calc(100dvh - 26px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.announcement-header{padding:8px 14px}.announcement-label{font-size:13px;letter-spacing:.04em}.announcement-copy{padding:20px}.announcement-copy h2{font-size:23px;margin-bottom:14px}.announcement-image{max-height:240px}.announcement-footer{padding:14px 16px 18px}.announcement-remember{font-size:14px}.announcement-controls{gap:8px;flex-wrap:wrap}.announcement-next,.announcement-previous{padding:10px 12px;font-size:14px!important}.announcement-progress{font-size:13px}.announcement-image-error{padding:12px 20px}}
@media(max-height:500px){.announcement-image{max-height:140px}.announcement-header{padding-block:3px}.announcement-footer{padding-block:8px}.announcement-controls{margin-top:7px}}
