/* URBI V5 — evolución viva, interfaz legible, sin dependencias externas */
:root{--v5-ink:#0e345a;--v5-sky:#0aa4e9;--v5-soft:#eaf7ff}
.edition{background:#dcf6ff!important;color:#0872a9!important;font-weight:900!important}
.hello h1{color:#ffffff!important;text-shadow:0 2px 13px #0c275b77!important;font-size:clamp(25px,2.65vw,40px)}
.hello .eyebrow{color:#e8faff!important;text-shadow:0 1px 5px #102b5960}
.hello p:not(.eyebrow){color:#e9f7ff!important;text-shadow:0 1px 5px #102b5960}
/* Keep light scene text accessible, without sacrificing dark-world contrast */
.world[data-scene="studio"] .hello h1,.world[data-scene="garden"] .hello h1,.world[data-scene="sunset"] .hello h1,.world[data-scene="beach"] .hello h1{color:#103c68!important;text-shadow:0 1px 2px #fff9!important}
.world[data-scene="studio"] .hello .eyebrow,.world[data-scene="garden"] .hello .eyebrow,.world[data-scene="sunset"] .hello .eyebrow,.world[data-scene="beach"] .hello .eyebrow{color:#125988!important;text-shadow:none!important}
.world[data-scene="studio"] .hello p:not(.eyebrow),.world[data-scene="garden"] .hello p:not(.eyebrow),.world[data-scene="sunset"] .hello p:not(.eyebrow),.world[data-scene="beach"] .hello p:not(.eyebrow){color:#235e86!important;text-shadow:none!important}
/* Level indicator and evolution details */
.evo-hud{position:absolute;top:165px;right:clamp(20px,4vw,60px);z-index:11;width:min(265px,30vw);display:flex;align-items:center;gap:10px;background:#ffffffed;border:1px solid #fff;border-radius:20px;padding:10px 12px;box-shadow:0 14px 40px #285c9334;backdrop-filter:blur(12px);color:#174c78}
.evo-hud-mark{height:40px;width:40px;display:grid;place-items:center;background:#daf4ff;border-radius:13px;font-size:23px;flex-shrink:0}.evo-hud-copy{min-width:0;flex:1}.evo-hud-copy strong{font-size:13px;display:block}.evo-hud-copy small{font-size:10px;display:block;color:#557c98;margin:2px 0 5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.evo-hud button{border:0;background:#e7f5ff;border-radius:10px;padding:7px;font-size:17px}
.evo-progress{height:7px;background:#d8eafa;border-radius:999px;overflow:hidden;min-width:35px}.evo-progress span{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#02c6e7,#236cf4,#8a66e8);transition:width .45s ease}.evo-progress.wide{height:11px;margin:12px 0 15px}
.evo-current{display:flex;align-items:center;gap:15px;background:linear-gradient(120deg,#d9f7ff,#f3efff);border:1px solid #d8ebff;border-radius:21px;padding:17px;margin:17px 0 13px}.evo-current-emoji{font-size:38px;background:#fff;border-radius:17px;padding:10px}.evo-current span{color:#5d85a7;font-size:10px;font-weight:900;letter-spacing:.11em}.evo-current h3{font-size:22px;color:#134b7b;margin:2px 0!important}.evo-current p{font-size:12px;color:#507b98;margin:0}.evo-total{display:flex;justify-content:space-between;gap:10px;color:#3b6289;font-size:11px}.evo-total strong{color:#2767ae}.evo-subtitle{font-size:16px;color:#144879;margin:24px 0 10px}
.evo-stage-list{display:grid;gap:9px}.evo-stage-card{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e0ebf7;border-radius:17px;padding:12px 13px}.evo-stage-card.is-active{border:2px solid #3caae9;background:#f1faff}.evo-stage-card.is-locked{opacity:.68}.evo-stage-icon{font-size:24px;width:43px;height:43px;border-radius:13px;background:#e6f6ff;display:grid;place-items:center}.evo-stage-body{flex:1}.evo-stage-body strong{display:block;font-size:13px;color:#1d4775}.evo-stage-body small{display:block;font-size:11px;color:#7290a9;margin-top:3px}.evo-stage-check{font-size:15px;color:#147ec4;font-weight:800}
.evo-achievements{display:grid;grid-template-columns:1fr 1fr;gap:8px}.evo-achievement{border-radius:15px;border:1px solid #deecfa;background:#fff;padding:11px;min-height:93px}.evo-achievement.is-done{border-color:#a5e0d2;background:#effbf7}.evo-achievement strong{display:block;font-size:12px;color:#184a74;margin:4px 0}.evo-achievement small{font-size:10px;color:#6884a2}.evo-activities{display:grid;grid-template-columns:1fr 1fr;gap:9px}.evo-activities button{background:#e8f6ff;border-color:#d3e8fa;color:#174b7c;text-align:left;font-size:12px;min-height:76px}.evo-activities small{display:block;color:#7290aa;font-size:10px;margin-top:5px;font-weight:550}
.evo-mini-game{margin-top:15px;border:1px solid #b6dff5;border-radius:19px;padding:15px;background:#f4fbff;color:#1d4b74}.evo-mini-game h4{margin:0 0 9px;font-size:15px}.evo-mini-game p{font-size:12px;line-height:1.5}.evo-game-options{display:flex;flex-wrap:wrap;gap:8px}.evo-game-options button{padding:10px 13px;border:1px solid #cae3fb;border-radius:13px;background:#fff;color:#16588c;font-size:13px}.evo-game-options button:disabled{opacity:.5}.evo-game-result{font-weight:800;color:#155d94}
/* Visible evolution changes: preserve EXACT character silhouette and parts */
.pet{transition:filter .5s ease}.world[data-evolution="curious"] .pet{filter:drop-shadow(0 15px 29px #00a9ff7b)!important}.world[data-evolution="companion"] .pet{filter:drop-shadow(0 13px 26px #1acbf6a8) drop-shadow(0 0 14px #8de4ff85)!important}.world[data-evolution="stellar"] .pet{filter:drop-shadow(0 13px 24px #1fd6ffb8) drop-shadow(0 0 24px #a48df9c2)!important}
.evo-sparkles{pointer-events:none;position:absolute;left:50%;top:42%;width:370px;height:380px;transform:translate(-50%,-50%);z-index:4;opacity:0;transition:opacity .7s ease}.evo-sparkles i{position:absolute;font-style:normal;color:#a8edff;font-size:23px;text-shadow:0 0 12px #52cafe}.evo-sparkles i:nth-child(1){top:12%;left:9%}.evo-sparkles i:nth-child(2){top:30%;right:4%;color:#f8df94}.evo-sparkles i:nth-child(3){bottom:15%;left:5%;font-size:17px}.evo-sparkles i:nth-child(4){bottom:20%;right:8%;color:#d5b1ff}.world[data-evolution="companion"] .evo-sparkles,.world[data-evolution="stellar"] .evo-sparkles{opacity:1}.world[data-evolution="stellar"] .evo-sparkles i{animation:evoTwinkle 3s ease-in-out infinite alternate}.world[data-evolution="stellar"] .evo-sparkles i:nth-child(2){animation-delay:.8s}.world[data-evolution="stellar"] .evo-sparkles i:nth-child(3){animation-delay:1.5s}@keyframes evoTwinkle{to{opacity:.4;transform:translateY(-7px) scale(1.18)}}
.evo-celebration{position:fixed;inset:0;z-index:110;background:#081f4fcc;display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}.evo-celebration>div{background:linear-gradient(145deg,#fff,#e6f8ff);padding:29px;max-width:395px;width:100%;border-radius:29px;text-align:center;box-shadow:0 25px 90px #09285877}.evo-celebration b{font-size:53px}.evo-celebration h2{font-size:27px;color:#104775;margin:8px 0}.evo-celebration p{color:#567893;line-height:1.5}.evo-celebration button{min-width:190px}
/* More breathing room for text and actions on large and small screens */
.conversation .messages{min-height:90px}.chat-heading strong{font-size:15px}.chat-input input{color:#123756!important;min-height:43px}.shortcuts{flex-shrink:0}
body.v4-contrast .evo-hud,body.v4-contrast .evo-stage-card{border:2px solid #0a416e!important}
@media(min-width:721px){.conversation{width:min(690px,calc(100vw - 24px))!important}.evo-hud{top:166px}.side-tools{top:28%!important}.tool-button{padding:9px 10px!important}.evo-sparkles{top:42%}}
@media(max-width:720px){.hello h1{font-size:20px!important}.evo-hud{display:none}.side-tools{top:21%;gap:6px!important}.side-tools .tool-button{min-width:45px!important;padding:6px!important}.care-dock{bottom:241px!important}.conversation{bottom:6px!important;padding:10px!important}.conversation .messages{height:70px!important;min-height:60px}.conversation.expanded .messages{height:min(37dvh,260px)!important}.evo-sparkles{width:285px;height:300px;top:34%}.quick-health{top:21%}.bubble{top:53%!important;max-width:80vw!important}.evo-achievements{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.side-tools{top:19%;gap:5px!important}.side-tools .tool-button{padding:4px!important}.side-tools .tool-button span{font-size:15px!important}.care-dock{bottom:238px!important}.evo-sparkles{width:245px;height:270px}.conversation .messages{height:54px!important;min-height:54px}}
@media(max-height:700px) and (min-width:721px){.evo-hud{top:145px;right:19px}.evo-sparkles{top:36%}}
@media(prefers-reduced-motion:reduce){.evo-progress span,.evo-sparkles{transition:none!important}.evo-sparkles i{animation:none!important}}
/* Finish polish: speech bubble stays above the head; mobile actions do not sit behind chat. */
@media(min-width:721px){.bubble{top:11%!important;max-width:min(33vw,410px)}}
@media(max-width:720px){.care-dock{bottom:281px!important}}
@media(max-width:390px){.care-dock{bottom:277px!important}}
