.lab-reader-dialog { --reader-paper:color-mix(in srgb,var(--paper) 96%,transparent); width:min(720px,calc(100vw - 48px)); max-width:none; max-height:75svh; padding:0; border:1px solid color-mix(in srgb,var(--line) 72%,transparent); border-radius:12px; margin:auto; background:var(--reader-paper); color:var(--ink); box-shadow:0 16px 60px rgb(0 0 0 / 12%); overflow:hidden; font:inherit; }
.lab-reader-dialog::backdrop { background:rgb(28 34 34 / 22%); }
.lab-reader-dialog[open] { animation:lab-reader-appear 180ms ease-out both; }
.lab-reader-dialog[data-view="drawer"] { width:min(390px,calc(100vw - 24px)); height:calc(100svh - 32px); max-height:calc(100svh - 32px); margin:16px 16px 16px auto; }
.lab-reader-dialog[data-view="drawer"][open] { animation:lab-drawer-appear 220ms ease-out both; }
.lab-reader-dialog .lab-reader-shell { display:flex; flex-direction:column; max-height:75svh; }
.lab-reader-dialog[data-view="drawer"] .lab-reader-shell { height:100%; max-height:100%; }
.lab-reader-dialog .lab-reader-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex:none; padding:28px 30px 24px; border-bottom:1px solid var(--line); }
.lab-reader-dialog .lab-reader-project { margin:0 0 10px; color:var(--muted); font-size:12px; line-height:1.6; }
.lab-reader-dialog h2 { margin:0; font-size:25px; line-height:1.5; font-weight:400; letter-spacing:-.01em; }
.lab-reader-dialog .lab-reader-close { display:grid; place-items:center; flex:none; width:40px; height:40px; margin-top:0; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); cursor:pointer; }
.lab-reader-dialog .lab-reader-close:hover { background:var(--surface); color:var(--ink); }
.lab-reader-dialog .lab-reader-scroll { overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:26px 30px 32px; min-height:0; background:color-mix(in srgb,var(--paper) 98%,transparent); }
.lab-reader-dialog .lab-reader-summary { margin:0; font-size:16px; line-height:1.85; color:var(--theme-body-ink,var(--ink)); }
.lab-reader-dialog .lab-reader-meta { margin:16px 0 0; color:var(--muted); font-size:12px; line-height:1.7; }
.lab-reader-dialog .lab-reader-content { margin-top:28px; }
.lab-reader-dialog .lab-reader-content p, .lab-reader-dialog .lab-reader-content li { font-size:16px; line-height:1.95; color:var(--theme-body-ink,var(--ink)); }
.lab-reader-dialog .lab-reader-content p { margin:0 0 20px; }
.lab-reader-dialog .lab-reader-content h3 { font-size:19px; line-height:1.6; font-weight:400; margin:30px 0 14px; }
.lab-reader-dialog .lab-reader-content h3:first-child { margin-top:0; }
.lab-reader-dialog .lab-reader-content ul { padding-left:22px; margin:20px 0; }
.lab-reader-dialog .lab-reader-content li + li { margin-top:10px; }
.lab-reader-dialog .lab-reader-content figure { margin:28px 0; }
.lab-reader-dialog .lab-reader-content img, .lab-reader-dialog .lab-reader-content video { display:block; width:100%; height:auto; border-radius:3px; }
.lab-reader-dialog .lab-reader-content figcaption { color:var(--muted); font-size:12px; line-height:1.7; margin-top:10px; }
.lab-reader-dialog .lab-reader-source { font-size:12px; color:var(--muted); line-height:1.8; margin-top:24px; }
.lab-reader-dialog .lab-reader-related { margin-top:28px; padding-top:16px; border-top:1px solid var(--line); }
.lab-reader-dialog .lab-reader-related button { display:block; width:100%; text-align:left; background:none; border:0; padding:12px 0; color:var(--ink); cursor:pointer; font:inherit; font-size:15px; line-height:1.7; }
.lab-reader-dialog .lab-reader-related button > span:first-child { display:block; margin-bottom:8px; color:var(--muted); font-size:12px; }
.lab-reader-dialog .lab-reader-related button:hover { color:var(--muted); }
.lab-reader-dialog .lab-reader-footer { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }
.lab-reader-dialog .lab-reader-footer button { background:none; border:0; color:var(--muted); font:inherit; font-size:13px; min-height:44px; padding:0; cursor:pointer; }
.lab-reader-dialog .lab-reader-footer button:hover { color:var(--ink); }
.lab-reader-dialog .lab-reader-list { list-style:none; margin:22px 0 0; padding:0; }
.lab-reader-dialog .lab-reader-list li + li { border-top:1px solid var(--line); }
.lab-reader-dialog .lab-reader-list button { display:grid; gap:10px; width:100%; padding:24px 0; background:none; border:0; text-align:left; color:var(--ink); font:inherit; cursor:pointer; }
.lab-reader-dialog .lab-reader-row-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; color:var(--muted); font-size:12px; line-height:1.6; }
.lab-reader-dialog .lab-reader-row-meta time { margin-left:auto; }
.lab-reader-dialog .lab-reader-row-title { font-size:17px; line-height:1.6; }
.lab-reader-dialog .lab-reader-row-summary { font-size:14px; line-height:1.85; color:var(--theme-body-ink,var(--ink)); }
.lab-reader-dialog .lab-reader-list button:hover .lab-reader-row-title { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.lab-reader-dialog .lab-reader-empty { font-size:15px; color:var(--muted); line-height:1.8; margin:28px 0; }
.lab-reader-dialog :focus-visible { outline:2px solid var(--theme-focus,var(--ink)); outline-offset:4px; }
.lab-reader-dialog h2:focus { outline:none; }
@keyframes lab-reader-appear { from { opacity:0; } to { opacity:1; } }
@keyframes lab-drawer-appear { from { opacity:0; transform:translateX(14px); } to { opacity:1; transform:translateX(0); } }
@media (max-width:767px) {
  .lab-reader-dialog { width:calc(100vw - 24px); max-height:calc(100svh - 40px); border-radius:10px; }
  .lab-reader-dialog .lab-reader-shell { max-height:calc(100svh - 40px); }
  .lab-reader-dialog[data-view="drawer"] { width:calc(100vw - 24px); height:calc(100svh - 24px); max-height:calc(100svh - 24px); margin:12px; }
  .lab-reader-dialog .lab-reader-header { gap:14px; padding:22px 20px 18px; }
  .lab-reader-dialog h2 { font-size:22px; }
  .lab-reader-dialog .lab-reader-scroll { padding:22px 20px 28px; }
  .lab-reader-dialog .lab-reader-close { width:36px; height:36px; }
  .lab-reader-dialog .lab-reader-content p, .lab-reader-dialog .lab-reader-content li { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) { .lab-reader-dialog[open], .lab-reader-dialog[data-view="drawer"][open] { animation:none; } }
