.news-cover{display:block;width:100%;margin:12px 0 0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--field);cursor:pointer}.news-cover img{display:block;width:100%;height:auto;max-height:260px;object-fit:contain}.news-open{width:100%;background:none;border:0;border-top:1px solid var(--line);cursor:pointer;text-align:left;font-family:inherit}.news-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.news-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 32px);padding:32px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);overflow:auto;box-shadow:0 28px 90px #0008;overscroll-behavior:contain}.news-dialog[open]{animation:news-appear .24s ease-out}.news-dialog::backdrop{background:#000b}.news-close{position:sticky;top:0;display:block;margin:0 0 8px auto;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:24px;cursor:pointer}.news-dialog h2{margin:10px 0 20px;overflow-wrap:anywhere;font-size:clamp(24px,4vw,34px);line-height:1.15;letter-spacing:-.04em}.news-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;color:var(--text)}.news-detail-photo{display:block;width:100%;height:auto;max-height:55vh;object-fit:contain;border-radius:12px;background:var(--field)}.news-photo-error{color:var(--muted)}.news-dialog [hidden],.news-photo-preview[hidden]{display:none!important}.news-photo-preview{display:block;max-width:100%;max-height:220px;border:1px solid var(--line);border-radius:12px;object-fit:contain;margin:12px 0}.news-dialog :focus-visible,.news-cover:focus-visible,.news-open:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@keyframes news-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.news-dialog{padding:18px;border-radius:16px}}@media(prefers-reduced-motion:reduce){.news-dialog[open]{animation:none}}
