:root{color:#193b35;font-synthesis:none;--bg:#f4f3ed;--card:#fffefa;--text:#193b35;--muted:#5c6e67;--line:#d9ded4;--accent:#123d38;--soft:#e6ece4;--gold:#f0c788;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f3ed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.puerta{width:min(100% - 40px,520px);margin:0 auto;padding:56px 0 64px}.puerta>.brand{margin-bottom:54px;display:inline-flex}.puerta h1{letter-spacing:-1.5px;margin:18px 0;font-size:clamp(34px,8vw,48px);line-height:1.12}.puerta p,.conexion p{line-height:1.6}.ceja{letter-spacing:2px;color:var(--muted);font-size:12px;font-weight:750}.accesos{gap:12px;margin:32px 0;display:grid}.accesos a{border:1px solid var(--line);background:var(--card);border-radius:18px;align-items:center;gap:20px;padding:24px;display:flex}.accesos a>span:first-child{color:var(--muted);font-size:14px}.accesos a>span:last-child{margin-left:auto;font-size:24px}.puerta form,.conexion form{gap:12px;margin:24px 0;display:grid}.puerta label,.conexion label{font-size:14px;font-weight:650}.puerta input,.conexion input{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);background:var(--card);border-radius:12px;padding:15px;font-size:16px}.puerta form button,.conexion form button{background:var(--accent);color:var(--bg);min-height:50px}.aviso-acceso{background:var(--soft);overflow-wrap:anywhere;border-radius:12px;padding:14px 16px}.aviso-local{background:var(--soft);text-align:center;padding:10px 20px;font-size:13px}.estado-clave{padding:12px 0;font-weight:650}.conexion{max-width:620px;margin:auto}.conexion .pack{margin-bottom:20px}:root[data-theme=dark]{--bg:#102722;--card:#18332c;--text:#f1f2e9;--muted:#afc4b9;--line:#345048;--accent:#d5e9d9;--soft:#28433b;--gold:#e1b56b;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:1px solid var(--line);background:var(--card);min-height:46px;color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 15px;font-weight:600;display:inline-flex}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true]{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #cb8834}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-1.3px;margin:12px 0 18px;font-size:34px;line-height:1.12}h2{letter-spacing:-.5px;margin:12px 0;font-size:21px}h3{font-size:18px}p{margin:10px 0;font-size:16px;line-height:1.55}small{font-size:12px;line-height:1.4}.app{max-width:560px;padding-bottom:calc(95px + env(safe-area-inset-bottom));margin:auto}header{padding:calc(20px + env(safe-area-inset-top)) 22px 16px;justify-content:space-between;align-items:center;display:flex}.brand{letter-spacing:2px;font-size:26px;font-weight:800;line-height:1;position:relative}.brand span{margin-left:5px;font-weight:400}.brand small{letter-spacing:2px;color:var(--muted);margin-top:7px;font-size:9px;display:block}.icon{background:0 0;border:0;min-width:46px;padding:10px}.citybar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:5px;margin:0 22px;padding:9px 0;display:flex}.citybar select{background:0 0;border:0;width:auto;max-width:64%;min-height:44px;margin:0;padding:8px;font-size:16px;font-weight:700}.status{white-space:nowrap;color:var(--muted);align-items:center;gap:5px;margin-left:auto;font-size:11px;display:flex}.status:before{content:"";background:#27824a;border-radius:50%;width:6px;height:6px}.status.off:before{background:#bd7e32}main{padding:18px 22px}.hero{padding:13px 0 28px}.eyebrow{letter-spacing:1.9px;color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.hero h1{letter-spacing:-1.8px;margin:18px 0;font-size:40px;font-weight:650}.hero em{font-family:Georgia,serif;font-weight:400}.hero p:not(.eyebrow){color:var(--muted);font-size:15px}.route-mark{letter-spacing:2px;align-items:center;gap:12px;margin-top:24px;font-size:10px;display:flex}.route-mark i{background:var(--line);width:25px;height:1px}.now-card{color:#fff8e8;background:#123d38;border-radius:18px;justify-content:space-between;align-items:center;gap:15px;padding:23px 20px;display:flex}.now-card small{color:#efc587;letter-spacing:2px;font-size:9px}.now-card strong{letter-spacing:-.5px;margin-top:8px;font-size:21px;display:block}.now-card p{opacity:.8;margin-bottom:0;font-size:12px}.now-card>svg{flex-shrink:0}.section-title{color:var(--muted);letter-spacing:.3px;margin:28px 0 14px;font-size:13px}.modules{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modules a{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;align-items:flex-start;min-height:136px;padding:20px 16px 18px;display:flex;position:relative}.modules strong{letter-spacing:-.3px;margin:16px 0 5px;font-size:17px}.modules span{color:var(--muted);max-width:125px;font-size:11px;line-height:1.45}.modules .chevron{color:var(--muted);position:absolute;top:23px;right:10px}.download-card{text-align:left;background:0 0;border:0;justify-content:space-between;gap:12px;width:100%;margin-top:20px;padding:18px 12px;display:flex}.download-card span{flex:1}.download-card strong{font-size:14px;display:block}.download-card small{color:var(--muted);margin-top:3px;font-weight:400;display:block}footer{background:var(--bg);border-top:1px solid var(--line);width:min(100%,560px);padding:6px 10px calc(6px + env(safe-area-inset-bottom));z-index:5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}footer button{min-height:56px;color:var(--muted);background:0 0;border:0;flex-direction:column;gap:5px;padding:8px 4px;font-size:10px;font-weight:500;display:flex}footer button.active{color:var(--text);font-weight:800}.back{color:var(--muted);background:0 0;border:0;margin-bottom:10px;padding-left:0;font-size:13px}.page-title{margin-top:10px;font-size:32px}.intro{color:var(--muted);margin-bottom:24px}.muted,.provenance{color:var(--muted);font-size:13px;line-height:1.6}.provenance{padding:14px 0}.provenance p{margin:4px 0;font-size:12px}.provenance a,.source,figcaption a{text-decoration:underline}.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}label{color:var(--muted);margin:14px 0;font-size:13px;font-weight:600;display:block}input,select,textarea{border:1px solid var(--line);background:var(--card);min-height:48px;color:var(--text);border-radius:10px;width:100%;margin-top:7px;padding:12px;font-size:16px;display:block}input[type=checkbox]{width:20px;min-height:20px;margin:0}.check{align-items:center;gap:10px;display:flex}.search{border:1px solid var(--line);background:var(--card);border-radius:12px;align-items:center;gap:10px;padding:0 12px;display:flex}.search input{background:0 0;border:0;margin:0;padding-left:0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row>label{flex:1;min-width:90px}.chips,.quick{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.chips button,.quick button{padding:10px 12px;font-size:12px}.phrase{text-align:left;flex-direction:column;align-items:flex-start;gap:8px;width:100%;margin:12px 0;padding:20px;display:flex;position:relative}.phrase>span{font-size:26px}.phrase>small{color:var(--muted);font-weight:400}.phrase>svg{position:absolute;top:20px;right:16px}.display{z-index:20;background:var(--bg);padding:calc(20px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0;overflow:auto}.display>div:not(.row){margin:auto 0}.display h1{letter-spacing:0;white-space:pre-line;font-size:clamp(38px,10vw,80px);line-height:1.5}.display .close{align-self:flex-end;margin-bottom:20px}.display .row{justify-content:center}.money-card,.trip-card,.empty,.voice-card,.pack,.booking,.menu-item,form{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:16px 0;padding:20px}.amount{color:var(--text);letter-spacing:-1px;background:0 0;border:0;border-radius:0;padding:10px 0;font-size:42px;font-weight:600}.converted small{letter-spacing:1.5px;color:var(--muted);font-size:9px}.converted strong{letter-spacing:-1px;margin:12px 0;font-size:32px;display:block}.converted strong span{font-size:18px}.converted{min-height:110px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.empty,.voice-card{text-align:center;padding:30px 20px}.empty>svg,.voice-card>svg{color:var(--muted);margin-bottom:10px}.empty p,.voice-card p{color:var(--muted);font-size:14px}.voice-card .row{justify-content:center}.place-card{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:16px 0;overflow:hidden}.place-content{padding:20px}.place-card h2{margin-bottom:4px}.place-card .local{color:var(--muted);margin-top:0}figure{margin:0}.photo-error{background:var(--soft);padding:20px}.photo-error p{margin-top:0}.photo-error .action-link{font-size:13px;display:flex}figure img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}figcaption{color:var(--muted);padding:7px 12px;font-size:10px}.badge{letter-spacing:1px;background:var(--soft);border-radius:6px;padding:6px 8px;font-size:9px;display:inline-block}.service-badge{background:var(--soft);color:var(--text);border-radius:5px;margin-top:10px;padding:4px 7px;font-size:10px;display:inline-block}.service-status,.analysis-action{border:1px solid var(--line);background:var(--soft);border-radius:14px;margin:18px 0;padding:18px}.service-status h2,.analysis-action h2{margin-top:0;font-size:19px}.service-status p,.analysis-action p{font-size:14px}.analysis-action>.primary{width:100%;margin-top:6px}.action-link{align-items:center;min-height:46px;font-weight:600;text-decoration:underline;display:inline-flex}.place-card p{font-size:14px}.place-card .row button{flex:1;font-size:12px}details{border-top:1px solid var(--line);margin:16px 0;padding-top:12px}summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px;font-weight:600}.source{padding:10px 0;font-size:13px;display:block}.notice{background:var(--soft);color:var(--text);overflow-wrap:anywhere;align-items:center;gap:10px;padding:13px 16px;font-size:13px;line-height:1.6;display:flex}.notice button.icon{margin-left:auto}.app>.notice{border-radius:10px;margin:10px 22px}.reason{color:var(--muted);border-left:3px solid #c69852;margin-top:26px;padding-left:12px;font-size:13px}.readiness{background:var(--soft);border-radius:16px;align-items:flex-start;gap:12px;padding:18px;display:flex}.readiness svg{flex-shrink:0;margin-top:10px}.readiness h2{font-size:17px}.readiness p{font-size:13px}.pack h2{margin-top:0}.pack p{font-size:13px}.document{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 0;font-size:12px;display:flex}.document span{overflow-wrap:anywhere;flex:1;min-width:0}.document svg{flex-shrink:0}.document button{padding:8px;font-size:12px}.upload{border:1px solid var(--line);min-height:48px;color:var(--text);background:var(--card);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 15px;display:inline-flex;position:relative;overflow:hidden}.upload.primary{background:var(--accent);color:var(--bg)}.upload input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.danger{color:#b54437;background:0 0;border:0;margin-top:20px}.image-preview{width:100%;padding:0;display:block;overflow:hidden}.image-preview img{object-fit:contain;width:100%;max-height:500px;display:block}.image-zoom .zoom-scroll{flex:1;width:100%;max-height:80vh;overflow:auto}.image-zoom img{width:auto;max-width:none;max-height:none}.error{color:#b54437}.preserve{white-space:pre-wrap}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}form button{margin:5px 0}.trip-card .primary{width:100%;margin:16px 0}.trip-card>button:not(.primary){margin-top:12px}body:has(.display){overflow:hidden}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media (width>=600px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line);min-height:100vh}}
