/* Public cover links use the same hand-drawn palette. */
.cover-brand-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.cover-return{color:#c8bca6;font-size:12px;padding:8px 0}.review-top,.review-sidebar{display:none!important}

/* The base image owns its intrinsic height in WebKit; overlays follow that resolved box. */
.comic-layer-canvas>img.comic-layer-base{position:relative;inset:auto;width:100%;height:auto;object-fit:fill}
.comic-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:#f5eddd;color:#65553f;font-size:35px;line-height:1.5;pointer-events:none}
.comic-loading i{display:block;width:52px;height:52px;border:5px solid #b5a38355;border-top-color:#746044;border-radius:50%;animation:choice-spin .8s linear infinite}
.comic-layer-canvas[data-load-state="ready"]>.comic-loading{display:none}
@media(prefers-reduced-motion:reduce){.comic-loading i{animation:none}}

.comic-layer-canvas[data-load-state="error"]>.comic-loading{pointer-events:auto}
.comic-retry{min-height:150px;padding:25px 55px;border:3px solid #8c7755;border-radius:20px;background:#fffaf0;color:#65553f;font:inherit;cursor:pointer}

/* Keep a failed-image retry clear and reachable inside the waking screen. */
.wake-prelude:has(.comic-layer-canvas[data-load-state="error"]) .wake-prelude-vision{filter:none;transform:none;clip-path:none;-webkit-mask-image:none;mask-image:none;animation:none}
.wake-prelude .comic-layer-canvas[data-load-state="error"]>.comic-loading{background:#030506;color:#eee4ce}
