.tgif-reader-overlay[hidden] { display:none!important; }
.tgif-reader-overlay { position:fixed; inset:0; z-index:2147483000; background:rgba(0,0,0,.8); display:flex; justify-content:center; align-items:center; padding:18px; }
.tgif-reader-active { overflow:hidden; }
.tgif-reader-window { display:flex; flex-direction:column; width:min(900px,100%); max-height:90dvh; border:1px solid #607387; border-radius:16px; overflow:hidden; background:#172431; color:#f5f8fb; box-shadow:0 20px 65px #000a; }
.tgif-reader-toolbar { flex:none; display:flex; justify-content:space-between; align-items:center; padding:12px 20px; border-bottom:1px solid #526477; font-size:1rem; }
.tgif-reader-toolbar button { min-width:44px; min-height:44px; font-size:30px; cursor:pointer; color:inherit; background:#344657; border:1px solid #778797; border-radius:9px; }
.tgif-reader-content { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:22px 28px 30px; }
.tgif-reader-content .preview-announcement { display:block!important; width:100%; max-width:none; border:0; background:transparent; padding:0; cursor:auto; }
.tgif-reader-content .preview-announcement h3 { font-size:clamp(1.4rem,2.5vw,1.9rem)!important; line-height:1.35; color:#fff; }
.tgif-reader-content .preview-announcement time { font-size:.9rem!important; color:#c4d0dd; }
.tgif-reader-content .preview-announcement__subtitle { font-size:1.1rem!important; line-height:1.55; }
.tgif-reader-content .preview-announcement__body { display:block!important; overflow:visible!important; -webkit-line-clamp:unset!important; font-size:1.075rem!important; line-height:1.7!important; overflow-wrap:anywhere; color:#f5f8fb; }
.tgif-reader-content a { color:#8dd6ff; text-decoration:underline; }
.tgif-reader-content img,.tgif-reader-content video,.tgif-reader-content iframe { max-width:100%; height:auto; }
@media(max-width:600px) { .tgif-reader-overlay { padding:0; align-items:stretch; } .tgif-reader-window { width:100%; max-height:100dvh; height:100dvh; border:0; border-radius:0; } .tgif-reader-content { padding:20px 17px 30px; } }
