:root{--crema:#f6f3ec;--crema-panel:#fffdf8;--verde:#2f4638;--verde-claro:#5c7a66;--oro:#b98f45;--tinta:#24221d;--tinta-suave:#5d5950;--linea:#ddd6c7;--sombra:0 8px 32px #24221d24;--serif:"Cormorant Garamond", Cormorant, "EB Garamond", Garamond, "Hoefler Text", "Times New Roman", serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--panel-ancho:24rem}*{box-sizing:border-box}html,body{background:var(--crema);height:100%;color:var(--tinta);font-family:var(--sans);-webkit-text-size-adjust:100%;margin:0;font-size:16px;font-weight:400;overflow:hidden}#lienzo{touch-action:none;position:fixed;top:0;bottom:0;left:0;right:0}#lienzo canvas{display:block}#encabezado{pointer-events:none;z-index:5;background:radial-gradient(120% 130% at 0 0,#faf8f3f0 0%,#faf8f3b8 42%,#faf8f300 76%);padding:1.15rem 3.5rem 2.6rem 1.5rem;position:fixed;top:0;left:0}#titulo-proyecto{font-family:var(--serif);letter-spacing:.02em;color:var(--verde);margin:0;font-size:1.9rem;font-weight:600}#ruta-navegacion{opacity:.95;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-suave);margin:.15rem 0 0;font-size:.82rem;font-weight:500}button{font-family:var(--sans);color:var(--tinta);background:var(--crema-panel);border:1px solid var(--linea);cursor:pointer;border-radius:999px;padding:.55rem 1.1rem;font-size:.88rem;font-weight:500;transition:background .18s,color .18s,border-color .18s;box-shadow:0 1px 3px #24221d14}button:hover{border-color:var(--verde-claro)}button:focus-visible{outline:2px solid var(--oro);outline-offset:2px}button[aria-pressed=true]{background:var(--verde);border-color:var(--verde);color:var(--crema)}button[hidden],section[hidden],#marcadores[hidden]{display:none}#vista-controles{z-index:6;gap:.35rem;display:flex;position:fixed;top:1rem;right:1.15rem}#vista-controles button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem .85rem;font-size:.78rem}body.con-panel #vista-controles{right:calc(var(--panel-ancho) + 1rem)}#ajustes-vista{border:1px solid var(--linea);background:var(--crema-panel);width:17rem;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 8rem);box-shadow:var(--sombra);z-index:10;border-radius:12px;padding:1.15rem;position:fixed;top:3.8rem;right:1.15rem;overflow-y:auto}body.con-panel #ajustes-vista{right:calc(var(--panel-ancho) + 1rem)}#ajustes-vista label{margin-bottom:.55rem;font-size:.88rem;font-weight:600;display:block}#ajustes-vista select{border:1px solid var(--linea);width:100%;color:var(--verde);background:var(--crema);font:inherit;border-radius:6px;padding:.6rem;font-size:.85rem}#ajustes-vista p{color:var(--tinta-suave);font-size:.8rem;line-height:1.55}#ajustes-vista select:focus-visible{outline:2px solid var(--oro);outline-offset:2px}.ayuda-gestos{border-top:1px solid var(--linea);margin-top:1.1rem;padding-top:.9rem}.ayuda-gestos strong{color:var(--verde);font-size:.82rem}.ayuda-gestos p:last-child{margin-bottom:0}#boton-atras{z-index:8;position:fixed;top:4.6rem;left:1.5rem}#controles{padding:.4rem 1rem calc(.4rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--linea);z-index:6;background:#fffdf8ed;align-items:center;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}body.con-panel #controles{right:var(--panel-ancho)}#controles button{box-shadow:none;padding:.35rem .8rem;font-size:.82rem}#etapas{align-items:center;gap:.25rem;display:flex}.etiqueta-grupo{letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave);margin-right:.35rem;font-size:.7rem;font-weight:600}#etapas .boton-etapa{font-variant-numeric:lining-nums tabular-nums;min-width:1.9rem;padding:.3rem .5rem}.controles-acciones{gap:.4rem;margin-left:auto;padding-right:.3rem;display:flex}#marcadores{pointer-events:none;z-index:4;position:fixed;top:0;bottom:0;left:0;right:0}.marcador{pointer-events:auto;border:1px solid var(--linea);color:var(--tinta);white-space:nowrap;cursor:pointer;background:#fffdf8f0;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem;font-size:.78rem;font-weight:500;transition:opacity .2s,border-color .2s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #24221d29}.marcador .numero{background:var(--verde);width:1.55rem;height:1.55rem;color:var(--crema);font-variant-numeric:lining-nums tabular-nums;border-radius:50%;place-items:center;font-size:.74rem;font-weight:600;display:inline-grid}.marcador.edificio .numero{background:var(--oro)}.marcador .texto{text-overflow:ellipsis;max-width:13rem;padding-right:.5rem;display:none;overflow:hidden}.marcador.expandido .texto{display:inline-block}@media (hover:hover){.marcador:hover{border-color:var(--verde-claro);z-index:2}.marcador:hover .texto{display:inline-block}}.marcador:focus-visible .texto{display:inline-block}.marcador .cuenta{color:var(--oro);font-variant-numeric:lining-nums;padding:0 .4rem 0 .1rem;font-size:.72rem;font-weight:600;display:none}.marcador.agrupado .cuenta{display:inline-block}.marcador.atenuado{opacity:.3}.marcador.detras{opacity:.35;box-shadow:none}.marcador.detras:hover{opacity:.85}.marcador[hidden]{display:none}.lista-marcadores{pointer-events:auto;background:var(--crema-panel);border:1px solid var(--linea);max-height:40vh;box-shadow:var(--sombra);z-index:3;border-radius:8px;gap:.15rem;padding:.3rem;display:grid;position:absolute;overflow-y:auto;transform:translate(-50%,.9rem)}.lista-marcadores button{width:100%;box-shadow:none;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:.45rem;padding:.3rem .55rem .3rem .3rem;font-size:.82rem;display:flex}.lista-marcadores button:hover{background:var(--crema)}.lista-marcadores .numero{background:var(--verde);width:1.4rem;height:1.4rem;color:var(--crema);font-variant-numeric:lining-nums;border-radius:50%;place-items:center;font-size:.7rem;font-weight:600;display:inline-grid}#panel{width:var(--panel-ancho);background:var(--crema-panel);border-left:1px solid var(--linea);height:100%;box-shadow:var(--sombra);z-index:7;padding:1.6rem 1.5rem 6rem;animation:.28s both entra-lateral;position:fixed;top:0;right:0;overflow-y:auto}@keyframes entra-lateral{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes entra-hoja{0%{transform:translateY(100%)}to{transform:translateY(0)}}#panel-cerrar{width:2rem;height:2rem;padding:0;font-size:1.3rem;line-height:1;position:absolute;top:.9rem;right:.9rem}#panel h2{font-variant-numeric:lining-nums;font-family:var(--serif);color:var(--verde);margin:0 0 .85rem;font-size:1.75rem;font-weight:600;line-height:1.15}#panel .subtitulo{letter-spacing:.08em;text-transform:uppercase;color:var(--oro);margin:0 0 1.1rem;font-size:.78rem;font-weight:500}#panel p{color:var(--tinta-suave);margin:0 0 .9rem;font-size:.95rem;line-height:1.6}#panel picture.render{margin-bottom:1rem;display:block}#panel img.render{background:#eae5da;border-radius:6px;width:100%;margin-bottom:1rem;display:block}#panel picture.render>img.render{margin-bottom:0}#panel video{background:#000;border-radius:6px;width:100%;margin-bottom:1rem}.datos-clave{flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem;padding:0;list-style:none;display:flex}.datos-clave li{font-variant-numeric:lining-nums tabular-nums;border:1px solid var(--linea);border-radius:4px;padding:.45rem .65rem;font-size:.82rem;font-weight:500}.datos-clave li span{letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-suave);font-size:.68rem;font-weight:500;display:block}.lista-acciones{gap:.5rem;margin-bottom:1.4rem;display:grid}.lista-acciones button{text-align:left;border-radius:6px}.ficha{border:1px solid var(--linea);background:var(--crema);border-radius:6px;margin-bottom:.6rem;padding:.85rem .95rem}.ficha h3{font-family:var(--sans);letter-spacing:.02em;font-variant-numeric:lining-nums;color:var(--verde);margin:0 0 .35rem;font-size:1rem;font-weight:600}.ficha .medidas{font-variant-numeric:lining-nums;margin:0;font-size:.88rem;font-weight:500}.ficha .nota{color:var(--tinta-suave);margin:.35rem 0 0;font-size:.82rem}.seccion-titulo{letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave);margin:1.4rem 0 .6rem;font-size:.75rem;font-weight:600}#aviso-recorrido,#cargando{border:1px solid var(--linea);box-shadow:var(--sombra);z-index:8;background:#fffdf8f0;border-radius:999px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:500;position:fixed;top:1.5rem;left:50%;transform:translate(-50%)}#cargando{font-family:var(--serif);font-size:1.1rem;font-weight:600}@media (max-width:900px),(orientation:portrait){#panel{border-left:none;border-top:1px solid var(--linea);border-radius:14px 14px 0 0;width:100%;height:min(58vh,34rem);padding:1.3rem 1.2rem 7rem;animation-name:entra-hoja;top:auto;bottom:0}#controles{border-top:1px solid var(--linea);z-index:8;max-width:100vw;padding:.35rem .6rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));border-bottom:none;border-left:none;border-radius:0;gap:.7rem;top:auto;bottom:0;left:0;right:0;overflow-x:auto}.controles-acciones{margin-left:auto}body.con-panel #controles{right:0}#boton-atras{top:4.2rem;left:1.1rem;right:auto}#aviso-recorrido{display:none}#encabezado{padding:.9rem 1.1rem}#titulo-proyecto{font-size:1.5rem}#vista-controles,body.con-panel #vista-controles{top:.9rem;right:.8rem}#ajustes-vista,body.con-panel #ajustes-vista{right:.8rem}#ruta-navegacion{max-width:48vw;font-size:.7rem;line-height:1.4}}@media (max-width:620px){#vista-controles,body.con-panel #vista-controles{top:4.8rem;left:1rem;right:auto}#vista-controles button{padding:.4rem .65rem}#ajustes-vista,body.con-panel #ajustes-vista{top:7.5rem;right:1rem}#boton-atras{top:1rem;left:auto;right:1rem}#controles{padding:.5rem .65rem calc(.5rem + env(safe-area-inset-bottom));flex-wrap:wrap;gap:.35rem}#controles .controles-acciones{gap:.2rem}#controles button{padding:.4rem .5rem;font-size:.72rem}#panel{height:min(52dvh,34rem)}}@media (prefers-reduced-motion:reduce){#panel{animation:none}}#aviso-datos{border:1px solid var(--oro);max-width:22rem;color:var(--tinta);background:#fffdf8f0;border-radius:8px;margin:2.9rem 0 0;padding:.35rem .7rem;font-size:.78rem;font-weight:500;line-height:1.4;animation:9s forwards se-va;display:inline-block}@keyframes se-va{0%,88%{opacity:1}to{opacity:0}}
