/* Short, silent, original manga motion. All functional content exists without this layer. */
.dfy-mood-corner { display:flex; align-items:center; gap:16px; margin:30px 0 4px auto; padding:14px 18px; max-width:480px; border:1px dashed #a6b8d7; background:#f1f4fb; color:var(--comic-ink,#182d49); }
.dfy-mood-portrait { display:block; width:72px; height:78px; flex:0 0 72px; object-fit:contain; transform-origin:50% 85%; }
.dfy-mood-copy { min-width:0; flex:1; }
.dfy-mood-kicker { color:#597197; font:700 8px/1.6 sans-serif; letter-spacing:1px; }
.dfy-mood-line { font-size:13px; line-height:1.7; font-weight:750; margin:5px 0 9px; }
.dfy-motion-tools { display:flex; flex-wrap:wrap; align-items:center; gap:6px 9px; }
.dfy-motion-label { font-size:10px; font-weight:650; }
.dfy-motion-preference { min-width:0; max-width:160px; font:inherit; font-size:10px; padding:5px 7px; border:1px solid #9db0d1; border-radius:4px; color:#18345b; background:white; min-height:30px; }
.dfy-replay-splash { border:0; background:none; padding:5px 0; font:700 10px/1.6 sans-serif; color:#315ee7; cursor:pointer; min-height:30px; }
.dfy-replay-splash:disabled { color:#73829d; cursor:default; }
.dfy-motion-state { flex-basis:100%; color:#657792; font-size:9px; line-height:1.6; }
.dfy-motion-preference:focus-visible,.dfy-replay-splash:focus-visible { outline:3px solid #315ee7; outline-offset:3px; }
.dfy-navigation-cue { position:fixed; top:12px; left:50%; transform:translate(-50%,-18px); z-index:60; opacity:0; pointer-events:none; padding:7px 16px; background:#ffe58e; border:2px solid #182d49; color:#182d49; font-size:11px; font-weight:850; box-shadow:3px 3px 0 #182d4930; }
html[data-dfy-motion="on"][data-dfy-visibility="visible"].dfy-turning .dfy-navigation-cue { animation:dfyTurnCue .32s ease both; }
html[data-dfy-motion="on"][data-dfy-visibility="visible"].dfy-page-enter .app-shell { animation:dfyPageEnter .26s ease-out both; }
html[data-dfy-motion="on"][data-dfy-visibility="visible"] .dfy-panel-enter { animation:dfyPanelEnter .3s ease-out both; }
html[data-dfy-motion="on"][data-dfy-visibility="visible"] .dfy-character-alive.dfy-in-view { animation:dfyCharacterBreathe 5.6s ease-in-out infinite; transform-origin:50% 90%; }
html[data-dfy-motion="on"][data-dfy-visibility="visible"] .dfy-mood-corner[data-mood="wave"] .dfy-mood-portrait { animation:dfyCharacterWave .8s ease-in-out 2; }
html[data-dfy-motion="on"][data-dfy-visibility="visible"] .btn:not(:disabled):active { transform:translate(1px,2px); box-shadow:1px 1px 0 #182d4940; }
@keyframes dfyPageEnter { from { opacity:.86; translate:0 5px; } to { opacity:1; translate:0 0; } }
@keyframes dfyPanelEnter { from { opacity:.83; translate:0 6px; } to { opacity:1; translate:0 0; } }
@keyframes dfyTurnCue { 0% { opacity:0; transform:translate(-50%,-12px) rotate(-3deg); } 30%,70% { opacity:1; transform:translate(-50%,0) rotate(-2deg); } 100% { opacity:0; transform:translate(-50%,3px); } }
@keyframes dfyCharacterBreathe { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-2px) rotate(.35deg); } }
@keyframes dfyCharacterWave { 0%,100% { transform:rotate(0); } 30% { transform:rotate(-3deg); } 65% { transform:rotate(2deg); } }
.dfy-splash { position:fixed; inset:0; z-index:300; isolation:isolate; overflow:hidden; background:#07172d; color:#fff9ed; animation:dfySplashExit 3.9s ease both; }
.dfy-splash-visual { position:absolute; inset:0; overflow:hidden; background:radial-gradient(ellipse at 70% 30%,#274c76,#07172d 75%); }
.dfy-splash-scene { width:100%; height:100%; display:block; object-fit:cover; object-position:center; opacity:.9; animation:dfyScenePush 4s ease-out both; }
.dfy-splash-shade { position:absolute; inset:0; background:linear-gradient(90deg,#06172dd9,transparent 75%),linear-gradient(0deg,#06172dd9,transparent 60%); pointer-events:none; }
.dfy-splash-orbit { position:absolute; width:120%; height:32%; left:-15%; top:15%; border-top:1px solid #b5eeff8f; border-radius:50%; transform:rotate(-18deg); box-shadow:0 -6px 25px -18px #b4eaff; animation:dfyOrbitPass 3.8s ease-out both; pointer-events:none; }
.dfy-splash-orbit.orbit-two { width:145%; top:37%; left:-25%; border-color:#c8dffc4d; animation-delay:.18s; }
.dfy-splash-dust { position:absolute; inset:0; background:radial-gradient(circle at 15% 21%,#e4faffbb 0 1px,transparent 2px),radial-gradient(circle at 72% 15%,#fff3d5aa 0 1.5px,transparent 3px),radial-gradient(circle at 59% 68%,#e4faff99 0 1px,transparent 2px),radial-gradient(circle at 90% 50%,#e4faffbb 0 1px,transparent 2px); animation:dfyDustDrift 4s ease-out both; pointer-events:none; }
.dfy-splash-copy { position:absolute; left:clamp(26px,7vw,120px); bottom:18%; max-width:650px; animation:dfyTitleIn 1s ease-out both; }
.dfy-splash-eyebrow { font:600 10px/1.6 sans-serif; letter-spacing:3px; color:#c7e9fd; }
.dfy-splash-copy h1 { font-size:clamp(48px,7vw,100px); line-height:1.2; letter-spacing:7px; margin:20px 0 8px; color:#fff9ed; text-shadow:0 3px 30px #06172d; }
.dfy-splash-english { font:750 clamp(12px,1.8vw,20px)/1.7 sans-serif; letter-spacing:8px; color:#c5e9ff; }
.dfy-splash-copy > p { font-size:clamp(13px,1.5vw,18px); letter-spacing:1px; line-height:1.8; margin:25px 0 0; color:#f4f5f2; }
.dfy-splash-skip { position:absolute; top:max(22px,env(safe-area-inset-top)); right:max(24px,env(safe-area-inset-right)); display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 16px; border:1px solid #e2f1ff77; border-radius:5px; background:#0d213dbb; color:#f3f8ff; font:600 12px/1.5 sans-serif; cursor:pointer; }
.dfy-splash-skip > span { padding:1px 4px; border:1px solid #b8cfe255; border-radius:3px; color:#bfd6eb; font-size:10px; }
.dfy-splash-skip:hover { background:#1c3857; }
.dfy-splash-skip:focus-visible { outline:3px solid #ffe58e; outline-offset:4px; }
.dfy-splash-meta { position:absolute; bottom:max(21px,env(safe-area-inset-bottom)); left:clamp(26px,7vw,120px); margin:0; font-size:10px; letter-spacing:1px; color:#b7cbe0; }
.dfy-splash-paper { position:absolute; inset:-20% -10%; background:#f8f6ef; transform:translateY(130%) rotate(-8deg); box-shadow:0 -16px 80px #07172d55; clip-path:polygon(0 9%,100% 0,100% 100%,0 100%); animation:dfyPaperPass 3.9s ease both; pointer-events:none; }
.dfy-splash-no-art .dfy-splash-visual { background:radial-gradient(ellipse at 70% 30%,#234d79,#07172d 75%); }
@keyframes dfySplashExit { 0%,91% { opacity:1; visibility:visible; } 100% { opacity:0; visibility:hidden; } }
@keyframes dfyScenePush { from { transform:scale(1.015); filter:brightness(.65); } to { transform:scale(1.055); filter:brightness(1); } }
@keyframes dfyTitleIn { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@keyframes dfyOrbitPass { from { opacity:0; translate:-3% 5%; } 25% { opacity:.7; } to { opacity:.4; translate:4% -3%; } }
@keyframes dfyDustDrift { from { opacity:.3; translate:0 6px; } to { opacity:.65; translate:0 -9px; } }
@keyframes dfyPaperPass { 0%,83% { transform:translateY(130%) rotate(-8deg); } 96% { transform:translateY(0) rotate(-4deg); } 100% { transform:translateY(-10%) rotate(0); } }
html[data-dfy-motion="off"] *,html[data-dfy-motion="off"] *::before,html[data-dfy-motion="off"] *::after,html[data-dfy-motion="reduced"] *,html[data-dfy-motion="reduced"] *::before,html[data-dfy-motion="reduced"] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
html[data-dfy-visibility="hidden"] *,html[data-dfy-visibility="hidden"] *::before,html[data-dfy-visibility="hidden"] *::after { animation-play-state:paused!important; }
@media(max-width:640px) {
 .dfy-mood-corner { max-width:none; gap:11px; padding:12px; margin-top:24px; }
 .dfy-mood-portrait { width:56px; height:68px; flex-basis:56px; }
 .dfy-mood-kicker { font-size:7px; letter-spacing:.5px; }
 .dfy-mood-line { font-size:11px; }
 .dfy-motion-tools { gap:6px 8px; }
 .dfy-motion-label,.dfy-motion-preference,.dfy-replay-splash { font-size:9px; }
 .dfy-motion-preference { max-width:135px; }
 .dfy-motion-state { font-size:8px; }
 .dfy-splash-copy { bottom:22%; left:24px; right:24px; }
 .dfy-splash-copy h1 { font-size:56px; letter-spacing:4px; }
 .dfy-splash-eyebrow { font-size:8px; letter-spacing:2px; }
 .dfy-splash-english { font-size:13px; letter-spacing:6px; }
 .dfy-splash-copy > p { font-size:13px; margin-top:22px; }
 .dfy-splash-scene { object-position:78% center; }
 .dfy-splash-shade { background:linear-gradient(0deg,#06172df2,transparent 90%),linear-gradient(90deg,#06172d55,transparent); }
 .dfy-splash-skip { top:max(18px,env(safe-area-inset-top)); right:18px; padding:9px 12px; font-size:11px; }
 .dfy-splash-meta { left:24px; font-size:8px; }
}
@media(prefers-reduced-motion:reduce) { .dfy-splash { display:none!important; } }
