#welcomeComic {
  position: fixed; inset: 0; margin: 0; width: 100%; height: 100dvh; max-width: none; max-height: none;
  box-sizing: border-box; padding: 0; border: 0; border-radius: 0; background: var(--panel); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  color: var(--label); overflow: hidden; font-family: var(--font);
}
#welcomeComic::backdrop { background: rgba(120, 11, 41, .12); }
#welcomeComic[open] #comicScroll, #welcomeComic[open] footer { animation: fade 1.4s ease-out both; }
#comicScroll { height: 100%; box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; padding-top: 12dvh; padding-bottom: calc(88px + env(safe-area-inset-bottom)); scrollbar-width: none; }
#comicScroll::-webkit-scrollbar { display: none; }
#comicScroll > * { max-width: 560px; margin-inline: auto; }
#comicScroll figure { margin-block: 0; }
.comicScene { aspect-ratio: 724 / var(--scene-height); background: url('/welcome-webtoon-v3.png') center var(--scene-y) / 100% auto no-repeat; }
#comicScroll details { box-sizing: border-box; padding: 8px 24px 24px; color: var(--label-2); font-size: 13px; line-height: 1.8; }
#comicScroll summary { cursor: pointer; padding: 12px 0; }
#comicScroll ol { padding-left: 22px; }
#comicScroll li + li { margin-top: 12px; }
#welcomeComic footer { position: absolute; inset: auto 0 0; z-index: 1; display: flex; justify-content: center; padding: 72px 20px max(20px, env(safe-area-inset-bottom)); background: linear-gradient(to top, var(--paper) 20%, #fff9eddd 55%, transparent); pointer-events: none; }
#comicScrollHint { position: absolute; bottom: calc(88px + env(safe-area-inset-bottom)); left: 0; right: 0; z-index: 2; display: grid; justify-items: center; gap: 4px; pointer-events: none; color: var(--label-2); font-size: 12px; }
#comicScrollHint svg { width: 22px; height: 22px; animation: comicScrollNudge 1.6s ease-in-out infinite; }
@keyframes comicScrollNudge { 0%, 100% { transform: translateY(-2px); opacity: .45; } 55% { transform: translateY(4px); opacity: 1; } }
#welcomeComic .comicEnter { min-height: 48px; padding: 13px 40px; background: var(--ink); color: var(--paper); font-size: 15px; font-weight: 700; pointer-events: auto; }
#welcomeComic .comicEnter:hover { background: #a01037; }
#welcomeComic label { display: flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 16px; font-size: 13px; cursor: pointer; }
#welcomeComic input { width: 20px; height: 20px; accent-color: var(--ink); }
#comicStorageStatus { margin: 4px 0 0; color: var(--label-2); font-size: 12px; }
[data-webtoon-open] { margin-top: 14px; }
#welcomeComic :focus-visible { outline: 2px solid var(--label-2); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { #welcomeComic[open] #comicScroll, #welcomeComic[open] footer, #comicScrollHint svg { animation: none; } }
