*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#0b3026;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.tool-icons{position:absolute;width:0;height:0;overflow:hidden}.tool-frame-main,#tool-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#eef0eb}#tool-frame.is-hidden{display:none}.tool-float-nav,.tool-side-actions{position:fixed;z-index:20;top:max(12px,env(safe-area-inset-top));display:flex;gap:8px}.tool-float-nav{left:max(12px,env(safe-area-inset-left))}.tool-side-actions{right:max(12px,env(safe-area-inset-right))}.tool-circle{width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(8,39,31,.94);color:#fff;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25);backdrop-filter:blur(12px);cursor:pointer}.tool-circle--light{background:rgba(255,253,248,.94);color:#0b3026}.tool-circle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.tool-circle:active{transform:scale(.93)}.tool-circle.is-hidden{display:none}.tool-sr-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.tool-loading{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#f4efe5;transition:opacity .25s}.tool-loading.is-hidden{opacity:0;pointer-events:none}.tool-loading span{width:34px;height:34px;border-radius:50%;border:3px solid rgba(11,48,38,.16);border-top-color:#0b3026;animation:spin .8s linear infinite}.tool-fallback{position:absolute;z-index:9;left:50%;top:50%;transform:translate(-50%,-50%);display:none;width:min(82vw,300px);padding:18px;border-radius:22px;background:#fffdf8;text-align:center;color:#10241e;box-shadow:0 20px 50px rgba(0,0,0,.2)}.tool-fallback.is-visible{display:grid;gap:11px}.tool-fallback strong{font-size:.95rem}.tool-fallback a{display:inline-flex;justify-content:center;padding:10px 14px;border-radius:999px;background:#0b3026;color:#fff;text-decoration:none;font-size:.78rem;font-weight:800}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@keyframes spin{to{transform:rotate(360deg)}}

/* V63 · leyenda oficial del visor geológico */
.tool-geology-legend{position:absolute;z-index:19;right:max(12px,env(safe-area-inset-right));top:calc(max(12px,env(safe-area-inset-top)) + 54px);width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 84px);overflow:auto;padding:12px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:rgba(255,253,248,.97);color:#10241e;box-shadow:0 18px 48px rgba(0,0,0,.28);backdrop-filter:blur(16px)}
.tool-geology-legend.is-hidden{display:none}
.tool-legend-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.tool-legend-head strong{font-size:.9rem}
.tool-legend-head button{width:32px;height:32px;border:0;border-radius:50%;display:grid;place-items:center;background:#e9eee8;color:#0b3026;cursor:pointer}
.tool-legend-head button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.official-legend-preview{display:grid;gap:7px;padding:7px;border-radius:15px;background:#edf1ec;color:#0b3026;text-decoration:none}
.official-legend-preview img{display:block;width:100%;height:auto;border-radius:10px;background:#fff}
.official-legend-preview span{text-align:center;font-size:.68rem;font-weight:900}
@media(max-width:460px){.tool-geology-legend{left:12px;right:12px;top:auto;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-height:78vh}}
.tool-circle:focus-visible,.tool-legend-head button:focus-visible{outline:3px solid #d6b36d;outline-offset:3px}
