/* Potápníček – kresba tužkou (SVG) + nálady. Přepínač: data-mood na rodiči (.bot, .figure-slot).
   Princip: PÓZA (natočení ruky, hlavy…) je na vnější skupině a mění se plynule přes transition,
   KMITÁNÍ (mávání, výskok, tleskání) běží na vnitřní .swing a začíná i končí v klidové poloze,
   takže mezi náladami nikdy nic neskočí. Výrazy (pusa, obočí) se prolínají přes opacity. */
.bot svg, .figure-slot svg { width: 100%; height: auto; overflow: visible; display: block; }
.pt { --ink: #3a3a3a; --paper: #fbf9f2; --glass: #6fb4ff; --t: .5s; --ease: cubic-bezier(.45, 0, .2, 1); }
.pt .ink { stroke: var(--ink); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; filter: url(#pt-pencil); }
.pt .thin, .pt .thin path { stroke-width: 1.6; }
.pt .paper-fill { fill: var(--paper); }
.pt .glass { stroke: var(--glass); stroke-width: 1.6; stroke-linecap: round; opacity: .8; }
.pt .tube.ink { stroke-width: 9; }
.pt .tube.paper { stroke: var(--paper); stroke-width: 4.6; fill: none; stroke-linecap: round; }
.pt .pupil { fill: #2c2c2c; }
.pt .glint { fill: #fff; }
.pt .fx { opacity: 0; transition: opacity .35s; }
.pt .mouth, .pt .brows { opacity: 0; transition: opacity .25s; }
.pt .mouth-smile, .pt .brows-normal { opacity: 1; }
.pt .scope { opacity: 0; transition: opacity .3s; }

/* otočné body + plynulé přechody póz */
.pt .figure, .pt .figure > .swing { transform-origin: 120px 266px; }
.pt .head { transform-origin: 120px 124px; }
.pt .arm-l { transform-origin: 86px 142px; }
.pt .arm-r { transform-origin: 154px 142px; }
.pt .leg-l { transform-origin: 104px 212px; }
.pt .leg-r { transform-origin: 136px 212px; }
.pt .swing { transform-origin: inherit; }
.pt .head, .pt .arm, .pt .leg, .pt .eyes, .pt .figure { transition: transform var(--t) var(--ease); }
.pt .pupil { transform-box: fill-box; transform-origin: center; transition: transform .25s; }
.pt .head > .swing { animation: pt-breathe 3.4s ease-in-out infinite; }
@keyframes pt-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.02); } }

/* idle – dalekohled v ruce, mrká */
[data-mood="idle"] .pt .scope { opacity: 1; }
[data-mood="idle"] .pt .arm-r { transform: rotate(-30deg); }
[data-mood="idle"] .pt .pupil { animation: pt-blink 4.2s linear infinite; }
@keyframes pt-blink { 0%, 93%, 100% { transform: scaleY(1); } 96% { transform: scaleY(.08); } }

/* thinking – ruka na bradě, pohled vzhůru, bublina s lodičkou, pomalé naklánění */
[data-mood="thinking"] .pt .arm-r { transform: rotate(152deg) scale(.9); }
[data-mood="thinking"] .pt .think { opacity: 1; animation: pt-pulse 1.6s ease-in-out infinite; }
[data-mood="thinking"] .pt .eyes { transform: translate(-2px, -3px); animation: pt-look 2.6s ease-in-out infinite .5s; }
[data-mood="thinking"] .pt .mouth-smile { opacity: 0; } [data-mood="thinking"] .pt .mouth-flat { opacity: 1; }
[data-mood="thinking"] .pt .brows-normal { opacity: 0; } [data-mood="thinking"] .pt .brows-think { opacity: 1; }
[data-mood="thinking"] .pt .head > .swing { animation: pt-tilt 2.4s ease-in-out infinite; }
@keyframes pt-pulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes pt-look { 0%, 100% { transform: translate(-2px, -3px); } 50% { transform: translate(3px, -4px); } }
@keyframes pt-tilt { 0%, 100% { transform: rotate(0); } 30% { transform: rotate(-3deg); } 70% { transform: rotate(2deg); } }

/* action – předklon k moři, levá ruka natažená, šplouchnutí (jednorázově, začíná i končí v klidu) */
[data-mood="action"] .pt .figure > .swing { animation: pt-lean .7s var(--ease); }
[data-mood="action"] .pt .arm-l { transform: rotate(-50deg) scale(1.2); }
[data-mood="action"] .pt .head { transform: rotate(-10deg); }
[data-mood="action"] .pt .splash { opacity: 1; transition-delay: .25s; animation: pt-splash .7s ease-out .25s; }
@keyframes pt-lean { 0%, 100% { transform: translate(0, 0) rotate(0); } 45% { transform: translate(-16px, 8px) rotate(-10deg); } }
@keyframes pt-splash { 0% { transform: translateY(6px) scale(.6); opacity: 0; } 40% { opacity: 1; } 100% { transform: translateY(-8px) scale(1.1); opacity: 0; } }

/* win – ruce plynule nahoru, pak výskok a mávání; otevřená pusa, konfety */
[data-mood="win"] .pt .arm-l { transform: rotate(110deg); }
[data-mood="win"] .pt .arm-r { transform: rotate(-110deg); }
[data-mood="win"] .pt .figure > .swing { animation: pt-jump .7s ease-in-out infinite var(--t); }
[data-mood="win"] .pt .arm-l > .swing { animation: pt-wave .7s ease-in-out infinite var(--t); }
[data-mood="win"] .pt .arm-r > .swing { animation: pt-wave .7s ease-in-out infinite var(--t) reverse; }
[data-mood="win"] .pt .leg-l > .swing { animation: pt-kick .7s ease-in-out infinite var(--t); }
[data-mood="win"] .pt .leg-r > .swing { animation: pt-kick .7s ease-in-out infinite var(--t) reverse; }
[data-mood="win"] .pt .mouth-smile { opacity: 0; } [data-mood="win"] .pt .mouth-open { opacity: 1; }
[data-mood="win"] .pt .brows-normal { opacity: 0; } [data-mood="win"] .pt .brows-up { opacity: 1; }
[data-mood="win"] .pt .confetti { opacity: 1; transition-delay: var(--t); }
[data-mood="win"] .pt .confetti > * { animation: pt-confetti 1.4s ease-in-out infinite var(--t); }
[data-mood="win"] .pt .confetti .c2, [data-mood="win"] .pt .confetti .c4 { animation-delay: calc(var(--t) - .7s); }
@keyframes pt-jump { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
@keyframes pt-wave { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(14deg); } }
@keyframes pt-kick { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(18deg); } }
@keyframes pt-confetti { 0% { transform: translateY(-6px) rotate(0); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(14px) rotate(50deg); opacity: 0; } }

/* cheer – krátká radost po zásahu / potopení: ruce nahoru, dva výskoky, bez konfet */
[data-mood="cheer"] .pt .arm-l { transform: rotate(110deg); }
[data-mood="cheer"] .pt .arm-r { transform: rotate(-110deg); }
[data-mood="cheer"] .pt .figure > .swing { animation: pt-jump .6s ease-in-out 2 var(--t); }
[data-mood="cheer"] .pt .mouth-smile { opacity: 0; } [data-mood="cheer"] .pt .mouth-open { opacity: 1; }
[data-mood="cheer"] .pt .brows-normal { opacity: 0; } [data-mood="cheer"] .pt .brows-up { opacity: 1; }

/* clap – ruce se plynule sejdou před tělem, pak tleskají */
[data-mood="clap"] .pt .arm-l { transform: rotate(-96deg); }
[data-mood="clap"] .pt .arm-r { transform: rotate(96deg); }
[data-mood="clap"] .pt .arm-l > .swing { animation: pt-clap .34s ease-in-out infinite var(--t); }
[data-mood="clap"] .pt .arm-r > .swing { animation: pt-clap .34s ease-in-out infinite var(--t) reverse; }
[data-mood="clap"] .pt .claplines { opacity: 1; transition-delay: var(--t); animation: pt-pulse .34s ease-in-out infinite var(--t); }
[data-mood="clap"] .pt .mouth-smile { opacity: 0; } [data-mood="clap"] .pt .mouth-open { opacity: 1; }
[data-mood="clap"] .pt .head > .swing { animation: pt-nod .68s ease-in-out infinite var(--t); }
@keyframes pt-clap { 0%, 100% { transform: rotate(8deg); } 50% { transform: rotate(-8deg); } }
@keyframes pt-nod { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(3deg) translateY(3px); } }

/* sad – svěšená hlava, ruce dolů, slzy */
[data-mood="sad"] .pt .head { transform: rotate(6deg) translateY(5px); }
[data-mood="sad"] .pt .head > .swing { animation: none; }
[data-mood="sad"] .pt .mouth-smile { opacity: 0; } [data-mood="sad"] .pt .mouth-sad { opacity: 1; }
[data-mood="sad"] .pt .brows-normal { opacity: 0; } [data-mood="sad"] .pt .brows-sad { opacity: 1; }
[data-mood="sad"] .pt .tears { opacity: 1; transition-delay: .3s; animation: pt-drip 1.3s ease-in infinite .3s; }
[data-mood="sad"] .pt .arm-l { transform: rotate(-12deg); } [data-mood="sad"] .pt .arm-r { transform: rotate(12deg); }
@keyframes pt-drip { 0% { transform: translateY(0); opacity: .9; } 100% { transform: translateY(16px); opacity: 0; } }

/* surprised – obočí nahoru, pusa „o“, ruce od těla, zatřese se (zásah do jeho lodi) */
[data-mood="surprised"] .pt .mouth-smile { opacity: 0; } [data-mood="surprised"] .pt .mouth-o { opacity: 1; }
[data-mood="surprised"] .pt .brows-normal { opacity: 0; } [data-mood="surprised"] .pt .brows-up { opacity: 1; }
[data-mood="surprised"] .pt .pupil { transform: scale(1.3); }
[data-mood="surprised"] .pt .figure > .swing { animation: pt-shake .4s ease-in-out 2; }
[data-mood="surprised"] .pt .arm-l { transform: rotate(40deg); } [data-mood="surprised"] .pt .arm-r { transform: rotate(-40deg); }
@keyframes pt-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }

@media (prefers-reduced-motion: reduce) { .pt *, .pt { animation: none !important; transition-duration: 0s !important; } }
