dialog.carousel-reader{box-sizing:border-box;position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:#0b110e;color:#eef3ef;overflow:hidden}dialog.carousel-reader[open]{display:flex;flex-direction:column}dialog.carousel-reader::backdrop{background:#0b110e}dialog.carousel-reader header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 24px;flex-shrink:0;border-bottom:1px solid #27392e}dialog.carousel-reader h2{font-size:18px;line-height:1.25;margin:4px 0;color:#eef3ef}dialog.carousel-reader small{color:#a9c1b1;font-size:11px}dialog.carousel-reader button{font:inherit;color:#eef3ef;background:#203127;border:1px solid #3a5042;cursor:pointer}dialog.carousel-reader .carousel-close{height:40px;width:40px;border-radius:50%;font-size:25px;flex-shrink:0}.carousel-stage{display:flex;flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain}.carousel-stage::-webkit-scrollbar{display:none}.carousel-stage figure{box-sizing:border-box;flex:0 0 100%;width:100%;height:100%;min-width:0;margin:0;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always;position:relative;padding:8px}.carousel-stage img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.carousel-stage figcaption{position:absolute;bottom:20px;background:#17241d;padding:12px}.carousel-stage.dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
dialog.carousel-reader footer{display:flex;align-items:center;justify-content:center;gap:28px;padding:8px 20px;flex-shrink:0}dialog.carousel-reader footer>button{padding:10px 16px;border-radius:100px;font-size:13px}dialog.carousel-reader button:disabled{opacity:.3;cursor:default}.carousel-position{display:block;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.carousel-dots{display:flex;justify-content:center;gap:0}dialog.carousel-reader .carousel-dots button{width:24px;height:22px;border:0;background:transparent;position:relative}dialog.carousel-reader .carousel-dots button:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#6d8577;top:9px;left:10px}dialog.carousel-reader .carousel-dots button[aria-current=true]:after{background:#e0ecb5;width:14px;left:5px;border-radius:4px}.carousel-reader-links{display:flex;justify-content:center;gap:22px;align-items:center;padding:0 20px 12px;font-size:11px;color:#9ab1a2;flex-shrink:0}.carousel-reader-links a{color:#c2d6c9;text-decoration:none}.carousel-reader button:focus-visible,.carousel-stage:focus-visible{outline:2px solid #97b69f;outline-offset:3px}
.carousel-reader-links a:hover{text-decoration:underline}
@media(max-width:650px){dialog.carousel-reader header{padding:12px 14px}dialog.carousel-reader h2{font-size:15px}.carousel-reader-links span{display:none}.carousel-reader-links{padding-bottom:max(12px,env(safe-area-inset-bottom))}dialog.carousel-reader footer{gap:10px;padding:8px}.carousel-dots button{max-width:20px}dialog.carousel-reader footer>button{padding:10px;font-size:12px}.carousel-stage figure{padding:0}}
@media(prefers-reduced-motion:reduce){.carousel-stage{scroll-behavior:auto}}
.carousel-stage video{display:block;width:100%;height:100%;object-fit:contain}
dialog.carousel-reader footer>button{min-height:44px}dialog.carousel-reader .carousel-close{width:44px;height:44px}
/* The day theme paints dialogs white; the carousel reader stays dark so the title and page number read. */
dialog.carousel-reader{background:#0b110e!important;color:#eef3ef!important}
