/* Todos Bilingües · ZERO ERROR. Lightweight, scoped styles. */
.zero-overlay { background:rgba(14,38,41,.72); padding:18px; animation:none; }
.modal-content.zero-game {
  --zero-paper:#d9eaec; --zero-ink:#007681; --zero-black:#111b1d;
  box-sizing:border-box; width:100%; max-width:1080px; max-height:calc(100vh - 36px); max-height:calc(100dvh - 36px);
  overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  padding:26px; color:var(--zero-ink); background:var(--zero-paper); border:2px solid var(--zero-black);
  border-radius:18px; box-shadow:7px 7px 0 var(--zero-black); scrollbar-color:#007681 #d9eaec;
}
.zero-game *, .zero-game *::before, .zero-game *::after { box-sizing:border-box; }
.zero-header { display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:2px solid #007681; padding-bottom:18px; }
.zero-eyebrow { font:700 11px/1.5 monospace; letter-spacing:1.5px; color:#007681; }
.zero-header h2 { font-size:48px; font-size:clamp(29px,5vw,56px); line-height:1; font-weight:900; letter-spacing:-2px; margin:9px 0 0; color:#007681; }
.zero-header h2 em { color:#007681; font-style:normal; -webkit-text-stroke:1px #007681; }
.zero-logo { width:145px; height:83px; object-fit:contain; background:white; padding:8px; border:1px solid #007681; border-radius:3px; box-shadow:3px 3px 0 #007681; }
.zero-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:26px; margin-top:24px; }
.zero-visual,.zero-play { min-width:0; }
.zero-scene { position:relative; height:0; padding-bottom:56.25%; overflow:hidden; border:1px solid #007681; border-radius:12px; background:#f7fbfb; color:#111b1d; isolation:isolate; }
.zero-scene > video,.zero-scene > img:not(.zero-brand-mark),.zero-scene > svg { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:contain; display:block; }
.zero-brand-mark { width:34px; height:34px; object-fit:contain; flex:none; }
.zero-scene .zero-scene-signature { position:absolute; right:10px; top:10px; width:44px; height:44px; opacity:.18; pointer-events:none; }
.zero-scene-cloud { fill:none; stroke:#b9d5d9; stroke-width:5; stroke-linecap:round; }
.zero-land { fill:#bdd7db; stroke:#007681; stroke-width:3; }
.zero-land-detail { fill:none; stroke:#7baab0; stroke-width:3; stroke-linecap:round; }
.zero-bridge-line { fill:none; stroke:#007681; stroke-width:5; stroke-linecap:round; }
.zero-actor { transform-origin:0 0; animation:zero-balance 2.4s ease-in-out infinite alternate; }
.zero-boulder { fill:#007681; stroke:#111b1d; stroke-width:4; animation:zero-rock-risk 2.6s ease-in-out infinite alternate; }
.zero-boulder path { fill:none; stroke:#d9eaec; stroke-width:3; }
.zero-safe-flag { fill:#007681; stroke:#007681; stroke-width:4; }
.zero-sea-fill { fill:#bdd7db; stroke:#007681; stroke-width:3; }
.zero-boat { transform-origin:320px 250px; animation:zero-boat-rock 2.8s ease-in-out infinite alternate; }
.zero-hull { fill:#007681; stroke:#111b1d; stroke-width:4; }
.zero-oar { fill:none; stroke:#111b1d; stroke-width:6; stroke-linecap:round; }
.zero-shark { fill:#111b1d; stroke:#111b1d; stroke-width:3; animation:zero-shark-risk 4s ease-in-out infinite alternate; }
.zero-shark path + path { fill:none; stroke:#007681; stroke-width:3; }
.zero-waves { fill:none; stroke:#007681; stroke-width:3; animation:zero-water 3s linear infinite; }
.zero-machine-frame { fill:none; stroke:#007681; stroke-width:12; stroke-linejoin:round; }
.zero-press { fill:#007681; stroke:#111b1d; stroke-width:3; animation:zero-press-risk 3s ease-in-out infinite alternate; }
.zero-piston { stroke:#007681; stroke-width:14; }
.zero-press-stripes { fill:none; stroke:white; stroke-width:5; }
.zero-machine-switch { fill:white; stroke:#007681; stroke-width:3; }
.zero-scene-press circle { color:#111b1d; }
.zero-celebration { fill:#007681; stroke:#007681; stroke-width:5; stroke-linecap:round; transform-origin:320px 150px; animation:zero-celebrate 1.7s ease-out infinite; }
.zero-scene.is-won .zero-actor { animation:zero-victory-hop 1.6s ease-in-out infinite; }
.zero-scene-bridge.is-won .zero-actor { animation:zero-bridge-win 3s ease-in-out infinite; }
.zero-scene-boulder.is-won .zero-boulder { animation:zero-rock-away 3s ease-in infinite; }
.zero-scene-sea.is-won .zero-shark { animation:zero-shark-away 3s ease-in-out infinite; }
.zero-scene-press.is-won .zero-press { animation:zero-press-away 2.5s ease-in-out infinite; }
.zero-scene.is-lost { background:#e1e5e5; }
.zero-scene-bridge.is-lost .zero-actor { animation:zero-bridge-loss 2.5s ease-in infinite; }
.zero-scene-boulder.is-lost .zero-boulder { animation:zero-rock-hit 2.8s ease-in infinite; }
.zero-scene-boulder.is-lost .zero-actor { animation:zero-rock-loss 2.8s ease-in infinite; }
.zero-scene-sea.is-lost .zero-boat { animation:zero-boat-loss 3s ease-in infinite; }
.zero-scene-sea.is-lost .zero-actor { animation:none; }
.zero-scene-sea.is-lost .zero-shark { animation:zero-shark-hit 3s ease-in-out infinite; }
.zero-scene-press.is-lost .zero-press { animation:zero-press-hit 3s ease-in-out infinite; }
.zero-scene-press.is-lost .zero-actor { animation:zero-press-loss 3s ease-in-out infinite; }
.zero-scene.is-paused * { animation-play-state:paused !important; }
.zero-rule { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:16px 0 12px; }
.zero-rule strong { color:#007681; font:900 24px monospace; white-space:nowrap; }
.zero-rule span,.zero-context { font-size:12px; line-height:1.5; color:#245b61; }
.zero-progress { display:flex; gap:5px; }
.zero-progress span { flex:1; height:7px; border-radius:2px; background:#afcdd0; }
.zero-progress .is-safe { background:#007681; }.zero-progress .is-failed { background:#111b1d; }
.zero-play { padding:18px; border:1px solid #8dbac0; border-radius:12px; background:rgba(255,255,255,.66); }
.zero-context { margin:0 0 15px; overflow-wrap:break-word; }
.zero-intro h3,.zero-result h3 { font-size:36px; font-size:clamp(27px,3.8vw,42px); font-weight:900; line-height:1.08; letter-spacing:-1px; margin:15px 0; color:#007681; }
.zero-intro p,.zero-result p { line-height:1.6; color:#245b61; font-size:15px; }
.zero-game button { cursor:pointer; font-family:inherit; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.zero-button { min-height:48px; max-width:100%; background:#007681; color:white; border:2px solid #111b1d; box-shadow:4px 4px 0 #111b1d; border-radius:5px; padding:14px 18px; font-size:14px; font-weight:800; margin:12px 4px 6px 0; white-space:normal; }
.zero-button:disabled { opacity:.5; cursor:not-allowed; }
.zero-topline { display:flex; align-items:center; justify-content:space-between; gap:8px; font:700 12px monospace; letter-spacing:1px; }
.zero-topline strong { font-size:26px; color:#007681; }.zero-topline .zero-urgent { color:#111b1d; text-decoration:underline; }
.zero-clock { background:#bdd7db; height:4px; margin:12px 0 20px; }.zero-clock span { display:block; height:100%; background:#007681; }
.zero-question { color:#007681; font-size:22px; font-size:clamp(18px,2.2vw,24px); line-height:1.4; white-space:pre-wrap; overflow-wrap:break-word; margin:18px 0; }
.zero-options { display:grid; gap:10px; }
.zero-options button { display:flex; align-items:center; gap:12px; text-align:left; width:100%; min-height:52px; padding:12px; border:1px solid #007681; border-radius:6px; background:white; color:#164e55; font-size:16px; line-height:1.45; overflow-wrap:anywhere; }
.zero-options button span { flex-shrink:0; display:grid; place-items:center; width:30px; height:30px; border:1px solid #007681; border-radius:3px; font-weight:900; color:#007681; background:#d9eaec; }
.zero-game button:focus { outline:2px solid #111b1d; outline-offset:3px; }
.zero-game button:focus:not(:focus-visible) { outline:none; }
.zero-correction { border-left:3px solid #111b1d; padding:12px; background:#d9eaec; font-size:14px; line-height:1.55; overflow-wrap:break-word; }
.is-lost .zero-result h3 { color:#111b1d; }
.zero-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-top:22px; padding:8px 12px; border:1px solid #111b1d; background:#007681; border-radius:6px; font:700 11px monospace; letter-spacing:1px; color:white; }
.zero-footer-brand { display:flex; align-items:center; gap:8px; }
.zero-footer-actions { display:flex; flex-wrap:wrap; gap:4px; }
.zero-footer button { min-height:44px; border:0; background:transparent; color:white; padding:8px; font-size:12px; text-decoration:underline; }
@media(hover:hover) { .zero-button:hover {background:#005e67}.zero-options button:hover {background:#d9eaec;box-shadow:2px 2px 0 #007681} }
@supports(backdrop-filter:blur(4px)) { @media(min-width:900px) and (pointer:fine) { .zero-overlay {backdrop-filter:blur(4px)} } }
@keyframes zero-balance { from {transform:rotate(-5deg)} to {transform:rotate(5deg)} }
@keyframes zero-rock-risk { from {transform:translate(-12px,-9px)} to {transform:translate(24px,18px)} }
@keyframes zero-boat-rock { from {transform:rotate(-3deg) translateY(-2px)} to {transform:rotate(3deg) translateY(3px)} }
@keyframes zero-water { to {transform:translateX(120px)} }
@keyframes zero-shark-risk { from {transform:translateX(-60px)} to {transform:translateX(50px)} }
@keyframes zero-press-risk { from {transform:translateY(8px)} to {transform:translateY(54px)} }
@keyframes zero-celebrate { 0% {opacity:0;transform:scale(.8)} 35%,70% {opacity:1;transform:scale(1)} 100% {opacity:0;transform:scale(1.12)} }
@keyframes zero-victory-hop { 0%,45%,100% {transform:translateY(0)} 22% {transform:translateY(-18px)} }
@keyframes zero-bridge-win { 0%,12% {transform:translate(0,0)} 50% {transform:translate(160px,-28px)} 65%,100% {transform:translate(185px,-22px)} 78% {transform:translate(185px,-38px)} }
@keyframes zero-rock-away { 0%,10% {transform:translate(0,0);opacity:1} 75%,100% {transform:translate(-230px,-170px);opacity:0} }
@keyframes zero-shark-away { 0% {transform:translateX(0);opacity:1} 70%,100% {transform:translateX(220px);opacity:0} }
@keyframes zero-press-away { 0% {transform:translateY(35px)} 40%,100% {transform:translateY(-40px)} }
@keyframes zero-bridge-loss { 0%,10% {transform:translateY(0);opacity:1} 75%,100% {transform:translateY(220px) rotate(55deg);opacity:0} }
@keyframes zero-rock-hit { 0%,10% {transform:translate(0,0)} 65%,100% {transform:translate(400px,50px)} }
@keyframes zero-rock-loss { 0%,34% {transform:translate(0,0);opacity:1} 80%,100% {transform:translate(210px,115px) rotate(100deg);opacity:0} }
@keyframes zero-boat-loss { 0%,10% {transform:rotate(0);opacity:1} 78%,100% {transform:translateY(145px) rotate(-24deg);opacity:0} }
@keyframes zero-shark-hit { 0% {transform:translateX(40px)} 60%,100% {transform:translateX(-155px)} }
@keyframes zero-press-hit { 0%,10% {transform:translateY(20px)} 55%,80% {transform:translateY(175px)} 100% {transform:translateY(20px)} }
@keyframes zero-press-loss { 0%,33%,100% {transform:scaleY(1)} 55%,80% {transform:scaleY(.2)} }
@media(max-width:700px) {
  .zero-overlay {padding:8px;padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));}
  .modal-content.zero-game {padding:14px;border-radius:12px;box-shadow:3px 3px 0 #111b1d;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));}
  .zero-layout {grid-template-columns:minmax(0,1fr);gap:14px;margin-top:16px}.zero-logo {width:94px;height:60px;flex-shrink:0}
  .zero-header {gap:12px;padding-bottom:14px}.zero-header h2 {letter-spacing:-1.4px}.zero-eyebrow {font-size:10px;letter-spacing:1px}
  .zero-scene {height:165px;padding-bottom:0}.is-playing .zero-scene {height:135px}
  .zero-rule {padding:10px 0}.zero-rule strong {font-size:21px}.zero-rule span {font-size:12px;text-align:right}
  .zero-play {padding:14px}.zero-question {margin:12px 0}.zero-context {margin-bottom:10px}
  .zero-options button {min-height:50px;padding:10px}.zero-footer {margin-top:16px;padding:5px 8px;letter-spacing:.5px}
  .zero-footer-actions {gap:0}.zero-footer button {font-size:11px;padding:8px}.zero-footer-brand {font-size:10px;gap:4px}.zero-brand-mark {width:28px;height:28px}
}
@media(max-width:360px) { .zero-header h2 {font-size:29px}.zero-logo {width:78px;height:54px}.zero-header .zero-eyebrow {font-size:9px}.zero-game .zero-footer {justify-content:center}.zero-button {font-size:13px;padding:12px}.zero-play {padding:11px} }
@media(max-height:520px) and (orientation:landscape) { .zero-layout {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}.zero-header h2 {font-size:30px}.zero-logo {height:48px;width:92px}.zero-scene,.is-playing .zero-scene {height:150px;padding-bottom:0}.zero-header {padding-bottom:8px}.zero-layout {margin-top:12px} }
@media(prefers-reduced-motion:reduce) { .zero-scene * {animation:none !important;transition:none !important}.zero-scene.is-lost .zero-actor {transform:rotate(75deg);opacity:.5}.zero-scene-press.is-lost .zero-press {transform:translateY(175px)}.zero-scene-press.is-lost .zero-actor {transform:scaleY(.2)}.zero-scene.is-won .zero-actor {transform:translateY(-10px)} }
