:root{font-family:Arial,Helvetica,sans-serif;color:#fff;background:#100651;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button,.button{font:700 1rem/1.2 Arial;padding:17px 23px;border:1px solid transparent;border-radius:10px;background:#00d0d4;color:#100651;cursor:pointer;text-decoration:none;min-height:48px;display:inline-flex;align-items:center;justify-content:center}button:disabled{opacity:.5;cursor:wait}.secondary{background:#3925d8;color:#fff;border-color:#ffffff40}button:focus-visible,a:focus-visible{outline:3px solid #00d0d4;outline-offset:4px}header{position:relative;z-index:3;padding:28px 5vw;display:flex;align-items:center;justify-content:space-between}.brand{color:#fff;text-decoration:none;font-weight:900;font-size:1.7rem;letter-spacing:.03em}.brand span{display:block;font-size:.75rem;font-weight:400;letter-spacing:.22em;margin-top:3px}.edition{font-size:.9rem;color:#c4d8e4}#welcome{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:6vw;min-height:calc(100svh - 110px);padding:35px 8vw 70px;background:radial-gradient(ellipse at 70% 50%,#4333f055,transparent 65%)}h1{font-size:clamp(2.3rem,4.3vw,4.5rem);line-height:1.06;font-weight:600;letter-spacing:-.045em;max-width:720px;margin:22px 0}h1 em{font-style:normal;color:#00d0d4}.intro>p{font-size:1.1rem;line-height:1.6;max-width:530px;color:#d0e0e8}.eyebrow{font-size:.85rem;letter-spacing:.15em;font-weight:700;color:#00d0d4}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 16px}.intro .hint{font-size:.9rem;max-width:420px;color:#b0c7d3}.wallet{width:100%;max-width:440px;justify-self:center;border-radius:9px;box-shadow:0 24px 70px #0005;transform:rotate(-3deg)}#view{position:fixed;inset:0;overflow:hidden}#view canvas,#view video{position:absolute!important}#panel{position:fixed;z-index:3;right:5vw;top:24%;width:min(42vw,470px);padding:28px;background:#100651eb;border:1px solid #ffffff30;border-radius:16px;backdrop-filter:blur(12px)}h2{font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.06;margin:14px 0;letter-spacing:-.025em}#panel-copy{color:#d0e0e8;line-height:1.5}#panel-list{padding-left:20px;line-height:1.55;font-size:1rem}#panel-list:empty,#panel-copy:empty{display:none}#connect{margin-top:12px}#controls{position:fixed;z-index:5;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:min(92%,440px)}#controls button{padding:12px 20px}progress{width:100%;height:5px;accent-color:#00d0d4;margin-top:8px}#tracking{position:fixed;z-index:4;top:100px;left:50%;transform:translateX(-50%);text-align:center;padding:12px 20px;background:#100651e8;border-radius:12px;width:max-content;max-width:90vw;font-size:1rem}#error{position:fixed;z-index:8;bottom:100px;left:5%;right:5%;padding:18px;background:#692d25;border-radius:12px;max-width:650px;margin:auto;line-height:1.5}.ar{background:transparent}.active .edition{display:none}.active header{pointer-events:none}.active header a{pointer-events:auto}[hidden]{display:none!important}@media(max-width:700px){header{padding:20px 6vw}.edition{display:none}#welcome{grid-template-columns:1fr;gap:32px;padding:24px 7vw 45px;min-height:auto}.wallet{max-width:260px;order:2}h1{font-size:2.65rem}.actions{margin:24px 0}.active #panel{top:auto;bottom:108px;left:5%;right:5%;width:90%;padding:16px 20px;max-height:38svh;overflow:auto}.active h2{font-size:1.55rem;margin:8px 0}.active #panel-list{font-size:.95rem;margin:8px 0;columns:2;column-gap:22px}.active #panel-list li{break-inside:avoid}.active #panel-copy{margin:8px 0;font-size:1rem}#scene-number{font-size:.75rem}#tracking{top:83px}#controls button{font-size:.9rem}#panel .button{padding:12px 20px;min-height:44px}}@media(prefers-reduced-motion:reduce){.wallet{transform:none}}

/* RESCO identity — official vector artwork and violet / turquoise palette. */
.brand img{display:block;width:72px;height:90px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}.brand{line-height:0}header{padding:20px 6vw}.edition{color:#c5c2f5}#welcome{grid-template-columns:1fr;max-width:1160px;margin:auto;min-height:calc(100svh - 130px);align-content:center;gap:44px;padding-top:10px}.intro{max-width:800px}h1{max-width:800px;font-size:clamp(2.6rem,5.5vw,5.2rem)}.brand-pattern{width:min(520px,85%);height:auto;justify-self:start;max-height:90px;object-fit:contain;object-position:left}button,.button{background:#00d0d4;color:#100651;border-radius:100px;box-shadow:0 7px 25px #0002}.secondary{color:#fff;background:#4230dc;border-color:#8b7ef155}.intro>p{color:#e1def8}.intro .hint{color:#b9b4e1}.actions{gap:14px}.active header{padding:15px 5vw}.active .brand img{width:52px;height:65px}#tracking{background:#100651ee}#controls{gap:8px}#controls button{background:#261777e8;border:1px solid #8b7ef180;color:white;backdrop-filter:blur(10px)}progress{accent-color:#00d0d4;height:4px}#panel{background:#fcfbff;color:#17095c;border:0;border-radius:24px 24px 24px 5px;box-shadow:0 16px 60px #09003750;padding:28px;overflow:hidden}#panel:before{content:'';position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#00ccd1 0 25%,#4730e9 25% 60%,#9185ff 60% 85%,#100651 85%)}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}#scene-number{background:#eeeaff;color:#4930dc;padding:7px 11px;border-radius:40px;letter-spacing:.12em;font-size:.75rem}#scene-category{font-size:.72rem;letter-spacing:.13em;color:#655d85;text-transform:uppercase;font-weight:700}#panel h2{color:#1b095e;font-size:clamp(1.5rem,2.8vw,2.4rem);text-transform:none;letter-spacing:-.04em;margin:10px 0}#panel-copy{color:#5c5576;font-size:1rem;line-height:1.45}#panel-stat{font-weight:800;font-size:clamp(3.5rem,7vw,5.3rem);letter-spacing:-.055em;line-height:1;color:#4328df;margin:8px 0}#panel-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 0;line-height:1.3}#panel-list li{background:#efedff;border-left:3px solid #8675f5;border-radius:4px 11px 11px 4px;padding:11px 12px;font-size:.92rem;font-weight:600;opacity:0;animation:itemIn .48s ease forwards;animation-delay:var(--delay,0ms)}#panel-list li:nth-child(3n+1){border-color:#00bfc8}#panel-list li:nth-child(3n+2){border-color:#4930e9}#panel.enter{animation:panelIn .55s cubic-bezier(.2,.8,.2,1) both}#panel[data-scene="5"]{background:#4530e6;color:white}#panel[data-scene="5"] h2,#panel[data-scene="5"] #panel-copy,#panel[data-scene="5"] #scene-category{color:white}#panel[data-scene="5"] #scene-number{background:#ffffff20;color:#fff}@keyframes panelIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}@keyframes itemIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:700px){#welcome{padding:18px 7vw 35px;min-height:calc(100svh - 130px);gap:30px}h1{font-size:clamp(2.35rem,9vw,3.4rem);line-height:1.06;margin:18px 0}.brand-pattern{max-height:54px;width:88%}.actions{display:grid;grid-template-columns:1fr 1fr}.actions button{padding:16px 12px;font-size:.95rem}.intro>p{font-size:1rem}.active #panel{bottom:calc(105px + env(safe-area-inset-bottom));padding:20px;max-height:43svh;overflow-y:auto;border-radius:20px 20px 20px 4px}.active #panel h2{font-size:1.7rem}.active #panel-list{display:grid;columns:unset;font-size:.9rem;gap:7px;margin-top:12px}.active #panel-list li{font-size:.85rem;padding:9px 10px}.panel-top{margin-bottom:10px}#panel-stat{font-size:3.8rem}#controls{bottom:calc(15px + env(safe-area-inset-bottom))}#controls button{font-size:.85rem;padding:12px 19px;min-height:44px}.active #panel-copy{font-size:.92rem}#tracking{top:92px}.active .brand img{height:58px;width:47px}}@media(prefers-reduced-motion:reduce){#panel.enter,#panel-list li{animation:none;opacity:1;transform:none}}

/* Two items per timed card: no concealed list rows or internal scrolling. */
#panel,#panel.enter{max-height:none;overflow:visible}#panel-list{grid-template-columns:1fr 1fr}#panel-list li{overflow-wrap:anywhere}#scene-category{text-align:right;line-height:1.4}.panel-top{align-items:flex-start}#welcome h1{font-size:clamp(2.2rem,5vw,4.5rem)}
@media(max-width:700px){.active #panel{max-height:none;overflow:visible;padding:18px;bottom:calc(104px + env(safe-area-inset-bottom))}.active #panel h2{font-size:1.4rem;margin:8px 0}.active #panel #panel-stat{font-size:2.9rem}.active #panel-copy{font-size:.9rem;margin:8px 0}.active #panel-list{margin:10px 0 0}.active #panel-list li{font-size:.9rem;line-height:1.35;padding:10px}.panel-top{margin-bottom:8px}#scene-category{font-size:.66rem;max-width:65%}#scene-number{flex-shrink:0}#welcome h1{font-size:clamp(2.2rem,8.3vw,3.3rem)}}
@media(max-height:560px){body.active{overflow-y:auto}.active #panel{position:relative;inset:auto;width:min(90%,500px);margin:100px auto 20px;max-height:none;overflow:visible}.active #controls{position:sticky;bottom:0;left:auto;transform:none;margin:0 auto;padding:10px;background:#100651e8}.active header{position:absolute;top:0;left:0;right:0}}

#map-card{height:155px;position:relative;margin:14px 0 0;overflow:hidden;background:#eeebff;border:1px solid #dcd6ff;border-radius:14px}#america-map{display:block;width:100%;height:100%;overflow:hidden}.map-country{fill:#b7aef0;stroke:#fcfbff;stroke-width:.6;vector-effect:non-scaling-stroke}.guatemala{fill:#00bdc9;stroke:#12064f;stroke-width:1;vector-effect:non-scaling-stroke}#map-ring{fill:none;stroke:#00aebb;stroke-width:1.5;vector-effect:non-scaling-stroke}#map-dot{fill:#fff;stroke:#100651;stroke-width:1;vector-effect:non-scaling-stroke}.map-caption{position:absolute;left:12px;bottom:12px;background:#100651;color:white;padding:8px 12px;border-radius:9px;font-size:.75rem;letter-spacing:.1em;font-weight:700}.map-caption small{display:block;font-weight:400;letter-spacing:.02em;margin-top:3px;font-size:.72rem;color:#c9c2ff}.map-credit{position:absolute;right:8px;bottom:7px;color:#635a84;font-size:.75rem;text-decoration:none}#panel-stat{position:relative;padding-bottom:7px;width:fit-content}#panel-stat:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,#00c7cf,#4830df);transform-origin:left}#panel.enter #panel-stat{animation:dataReveal .8s cubic-bezier(.2,.7,.2,1) both}#panel.enter #panel-stat:after{animation:dataLine 1.4s cubic-bezier(.2,.7,.2,1) both}#panel.enter h2{animation:dataReveal .6s .12s both}@keyframes dataReveal{from{opacity:0;transform:translateY(10px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes dataLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:700px){#map-card{height:130px;margin-top:10px}.active #panel[data-scene="0"] #panel-copy{display:none}.active #panel[data-scene="1"] #map-card{height:105px}.map-caption{bottom:9px;left:9px;padding:6px 9px;font-size:.68rem}.map-caption small{font-size:.65rem}#panel.enter #panel-stat{font-size:2.7rem}}@media(prefers-reduced-motion:reduce){#panel.enter #panel-stat,#panel.enter #panel-stat:after,#panel.enter h2{animation:none;filter:none;transform:none}}

/* One coordinated transition: remove stacked/restarted entrance animations. */
#panel.enter,#panel-list li,#panel.enter h2,#panel.enter #panel-stat{animation:none;opacity:1;transform:none;filter:none}
#panel>*{transition:none}
#panel.enter #panel-stat:after{animation:none}

/* Keep Close available during camera startup and first acquisition. */
.starting #pause,.starting #replay,.starting #progress,.searching #pause,.searching #replay,.searching #progress{display:none}

/* Indeterminate loading and scanning: no artificial percentage. */
#asset-loading{max-width:340px;margin:24px 0;color:#ddd8ff;font-size:.95rem;line-height:1.5}
.loading-track{display:block;height:16px;border:1px solid #b6a1ff;border-radius:99px;padding:3px;overflow:hidden;margin-bottom:12px;background:#100651b8;box-shadow:0 0 16px #7562f52b}
.loading-track>span{display:block;width:42%;height:100%;border-radius:99px;background:linear-gradient(90deg,#e6bddc,#8a85ff,#00d0d4);animation:loadingSweep 1.7s ease-in-out infinite alternate}
#tracking{top:22%;padding:20px 24px;width:min(88vw,390px);font-size:1rem;line-height:1.45;border:1px solid #9482f54d;box-shadow:0 12px 40px #10065130}
.searching #tracking{top:14%}
@keyframes loadingSweep{from{transform:translateX(0)}to{transform:translateX(138%)}}
@media(prefers-reduced-motion:reduce){.loading-track>span{animation:none;width:65%}}

#asset-loading{position:fixed;inset:0;z-index:20;display:grid;place-items:center;max-width:none;margin:0;padding:28px;background:#080514b8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);text-align:center;color:#f1ecff}
.loading-card{width:min(82vw,390px);font-size:1.3rem;font-weight:400;letter-spacing:.01em}
.loading-card .loading-track{height:25px;padding:4px;border-color:#c8a5df;box-shadow:0 0 25px #877af533}
.loading-card small{display:block;font-size:.85rem;color:#bbb4ce;margin-top:8px}

.reacquiring #tracking{top:88px;font-size:.85rem;padding:10px 16px;pointer-events:none}.reacquiring #tracking .loading-track{display:none}
