.kd-comic{box-sizing:border-box;width:min(900px,calc(100vw - 16px));height:calc(100dvh - 16px);max-height:100%;padding:12px;border:2px solid #7146a0;border-radius:18px;background:#fffaf1;color:#291a42;overflow:hidden;font:16px/1.4 system-ui,sans-serif}
.kd-comic[open]{display:grid;grid-template-rows:auto auto minmax(90px,1fr) auto auto;gap:8px}
.kd-comic::backdrop{background:#1a1029dc}
.kd-comic header,.kd-comic footer,.kd-comic nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;position:static;background:none;box-shadow:none}
.kd-comic h2{font-size:clamp(16px,3vw,23px);margin:0;line-height:1.2}
.kd-comic button,.kd-comic a,.kd-comic-open{box-sizing:border-box;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid #bda8d5;border-radius:12px;background:#fff;color:#291a42;font:600 16px/1.2 system-ui,sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.kd-comic [data-action=play]{background:#7040ab;color:white;white-space:nowrap}
.kd-comic button:disabled{opacity:.4;cursor:default}
.kd-comic :focus-visible,.kd-comic-open:focus-visible{outline:3px solid #bb7200;outline-offset:2px}
.kd-comic-viewport{overflow:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.kd-comic-canvas{position:relative;width:100%;overflow:hidden}
.kd-comic-canvas[hidden]{display:none}
.kd-comic-canvas img{position:absolute;left:0;width:100%;height:auto;max-width:none;margin:0;display:block}
.kd-comic details{max-height:22dvh;overflow:auto;font-size:15px}
.kd-comic summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.kd-comic details p{white-space:pre-line;margin:4px 0}
.kd-comic nav{justify-content:flex-start}
@media(max-width:640px){.kd-comic[open]{height:auto;max-height:calc(100dvh - 16px);grid-template-rows:auto auto minmax(100px,auto) auto auto}.kd-comic-viewport{max-height:calc(100dvh - 250px)}}
@media(max-height:420px){.kd-comic details{display:none}.kd-comic[open]{height:calc(100dvh - 8px);gap:4px;padding:6px}}
