html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}:root{--ama-android-brand:#3ddc84;--ama-android-ink:#111;--color-white:#fff;--color-black:#000;--color-gray-mid:gray;--color-alert:#d93025;--color-gray-text:#6b6b6b;--color-bg:#fdfcfc;--color-card:#f5f3f1;--color-surface:#fff;--color-surface-muted:#ebe7e3;--color-condado-dialog-backdrop:#0000008c;--water-quality-favorable:#00a651;--water-quality-exceeds:#ed1c24;--water-quality-symbol-ink:#fff;--color-border:#e6e1dc;--color-skeleton:#ece8e4;--color-btn-border:#c9c2bb;--color-primary:#3f7a3b;--color-primary-hover:#346a31;--color-on-primary:#fff;--color-primary-ink:var(--color-primary);--color-footer:#e9e6e2;--color-footer-border:#ddd8d2;--color-on-gradient:#fff;--color-beach-dark:#0b6e78;--color-beach-light:#3cc9c0;--color-food-dark:#c2410c;--color-food-light:#fb923c;--color-events-dark:#5b21b6;--color-events-light:#a78bfa;--color-savings-dark:#2f7a3a;--color-savings-light:#6fc278;--color-nightlife-dark:#1b2250;--color-nightlife-light:#4b5bb8;--color-offers-dark:#1d4ed8;--color-offers-light:#60a5fa;--color-sun:#f2a33a;--shadow-sm:0 0 #0000;--shadow-md:0 0 #0000;--shadow-lg:0 0 #0000;--font-family:"Google Sans", sans-serif;--radius-card:20px;--radius-pill:999px;--header-height:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-black);background:var(--color-bg);font-family:var(--font-family);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--color-white:#2c2a28;--color-black:#fff;--color-gray-mid:#8c8681;--color-gray-text:#cfcac5;--color-bg:#1f1d1b;--color-card:#292725;--color-surface:#2c2a28;--color-surface-muted:#37342f;--color-border:#3a3633;--color-skeleton:#34312d;--color-btn-border:#5a5550;--color-primary-ink:#76ae71;--color-footer:#000;--color-footer-border:#000;--shadow-sm:0 0 #0000;--shadow-md:0 0 #0000;--shadow-lg:0 0 #0000;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .hero h1,:root[data-theme=dark] .btn-hero-secondary{color:#fff;border-color:#fff}:root[data-theme=dark] .btn-hero-primary{color:#000;background:#fff;border-color:#fff}:root[data-theme=dark] .discover-video{background:#000}:root[data-theme=dark] .discover-video-placeholder{color:#fff}:root[data-theme=dark] .discover-video-play{color:#000;background:#fff}:root[data-theme=dark] img.group-qr{background:#fff}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-black);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}.site-header{z-index:60;height:var(--header-height);border-bottom:1px solid var(--color-border);background:var(--color-bg);justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}.site-header-actions{align-items:center;gap:8px;display:flex}:root{--dashboard-bg:var(--color-bg);--dashboard-surface:#fff;--dashboard-line:#bfcac6;--dashboard-muted:#52615b;--dashboard-green:#187542;--dashboard-gold:#92540a;--dashboard-purple:#793ca2;--dashboard-teal:#087b65;--dashboard-camera-ink:#fff;--dashboard-savings-start:#e1f4e8;--dashboard-savings-end:#f6edd2;--dashboard-progress-track:#d7dfdb;--dashboard-scan-start:#16a780;--dashboard-scan-end:#087258;--category-tile-paper:#fff;--category-tile-ink:#101514;--category-tile-shadow:#283a3d;--category-tile-turquoise:#16c8d1;--category-tile-amber:#efb636;--category-tile-coral:#ed843b;--category-tile-mint:#57ae66;--category-tile-sky:#26a9e1;--category-tile-violet:#9d48ce;--category-tile-lime:#78c83d;--category-tile-coffee:#aa702e;--category-tile-gold:#d99a13;--category-tile-yellow:#d6be28;--category-tile-rose:#e55b91;--category-tile-tobacco:#94603e;--category-tile-blue:#258fe0;--category-tile-lavender:#9868d5;--category-tile-pink:#ed5573;--category-tile-gray:#656d78;--category-tile-green-ink:#17613e;--category-tile-event-ink:#985316;--category-photo-label:#fff;--category-photo-food:#457a4e;--category-photo-sky:#7fd3e0;--category-photo-casino:#123a6b}:root[data-theme=dark]{--dashboard-surface:#101519;--dashboard-line:#30383c;--dashboard-muted:#c0c3c4;--dashboard-green:#55d680;--dashboard-gold:#ffb449;--dashboard-purple:#c079ed;--dashboard-teal:#59ead0;--dashboard-savings-start:#073321;--dashboard-savings-end:#59420d;--dashboard-progress-track:#3b413b;--category-photo-food:#2b5d39;--category-photo-sky:#2a7f95;--category-photo-casino:#0e2b52}:root{--codevisa-unit-821:#f47b20;--codevisa-unit-711:#d9262e;--codevisa-unit-818:#2166db;--codevisa-unit-110:#23813c;--codevisa-unit-257:#8626c8;--codevisa-unit-767:#845021;--codevisa-unit-217:#727272;--codevisa-unit-853:#666;--nature-risk-low:#246b37;--nature-risk-moderate:#f4cf30;--nature-risk-moderate-text:#1f1d1b;--nature-risk-high:#b52028;--nature-risk-unavailable:#667085;--nature-risk-text:#fff;--dashboard-hero-ink:#fff;--dashboard-hero-muted:#e8e4df;--dashboard-hero-sun:#ffc861;--dashboard-glass:linear-gradient(135deg, #ffffff38, #ffffff14);--dashboard-glass-rim:#ffffff59;--dashboard-glass-highlight:#ffffff80;--dashboard-hero-veil:linear-gradient(180deg, #0006 0%, #0002 35%, #0005 65%, #000b 100%);--home-expense-bg:#203f52;--home-expense-amount:#ffc66d;--home-sky-day:#2b98dd;--home-sky-day-horizon:#3188c4;--home-sky-night:#0b1935;--home-sky-cloud:#9caebb;--home-sky-cloud-shape:#648199;--home-sky-storm:#354959;--home-sky-ink:#fff;--home-sky-sun:#ffe19a;--home-sky-moon-dark:#253b50;--home-sky-dawn:#f4ab75;--home-sky-dusk:#c06982;--home-weather-alert-red:#ff626b;--nature-notice-accent:#b52028}:root[data-theme=dark]{--nature-notice-accent:#ff626b}.site-logo{min-height:44px;color:var(--color-black);white-space:nowrap;align-items:center;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.site-header-icon{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-black);flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.site-header-icon .material-symbols{font-size:28px}.site-header-icon .material-symbols,.budget-shortcut .material-symbols{flex:none;width:1em;overflow:hidden}.site-header-icon:hover{background:var(--color-surface-muted)}@media (width<=400px){.site-header,.site-header.dashboard-site-header{gap:8px;padding-inline:12px}.site-header-actions{gap:2px}.site-header.living-site-header .lang-toggle{padding-inline:12px}}@media (width<=359px){.site-header-icon{display:none}}.site-signin{white-space:nowrap;align-self:center;padding:8px 16px}.lang-toggle{height:44px;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:7px 0;display:flex}.lang-toggle-option{background:var(--color-white);min-width:30px;height:30px;color:var(--color-black);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:700;display:flex}.lang-toggle-option:first-child{border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.lang-toggle-option:last-child{border-radius:0 var(--radius-pill) var(--radius-pill) 0}.lang-toggle-option.is-active{background:var(--color-primary);color:var(--color-on-primary)}.lang-toggle:focus-visible{outline:none}.lang-toggle:focus-visible .lang-toggle-option{outline:2px solid var(--color-black);outline-offset:1px}.profile-menu{position:relative}.profile-menu-trigger{border-radius:var(--radius-pill);background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:relative}.attention-dot{background:var(--color-alert);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.profile-menu-dot{border:2px solid var(--color-bg);box-sizing:content-box;width:12px;height:12px;position:absolute;top:2px;right:2px}.profile-menu-action .attention-dot{margin-left:auto}.attention-anchor{display:inline-flex;position:relative}.attention-dot-corner{border:2px solid var(--color-white);box-sizing:content-box;width:8px;height:8px;position:absolute;top:-2px;right:-4px}.profile-menu-trigger .material-symbols{color:var(--color-black);font-size:44px}.profile-menu-panel{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-card);text-align:left;z-index:100;width:min(280px,100vw - 32px);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:0;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.profile-menu-account{align-items:center;gap:4px;padding-left:12px;display:flex}.profile-menu-email{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.profile-menu-settings{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-black);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.profile-menu-settings:hover{background:var(--color-surface-muted)}.profile-menu-settings .material-symbols{font-size:22px}.profile-menu-status{color:var(--color-gray-text);margin-bottom:4px;padding-left:12px;font-size:14px}.site-header .profile-menu-panel p{margin:0}.profile-menu-panel .profile-menu-action{justify-content:flex-start;align-self:stretch;gap:8px;width:100%;padding-top:0;padding-bottom:0;padding-left:12px}.profile-menu-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.profile-menu-action .material-symbols{font-size:20px}section+section{border-top:1px solid var(--color-border);padding-top:32px}main{box-sizing:border-box;flex-direction:column;gap:32px;width:100%;max-width:960px;margin:0 auto;padding:32px 24px 48px;display:flex}main h1{font-size:32px}main>.hero:first-child{margin-top:-32px}main>p{color:var(--color-gray-text)}section h2{margin-bottom:12px;font-size:20px}h1,h2,h3,h4,h5,h6,p,button,input,textarea{font-family:var(--font-family);font-style:normal}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700}p{margin:0;font-weight:400}button{cursor:pointer;border:none;font-weight:500}.btn{border-radius:var(--radius-pill);min-width:44px;min-height:44px;box-shadow:none;justify-content:center;align-self:flex-start;align-items:center;padding:12px 24px;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary)}.btn-secondary{background:var(--color-white);color:var(--color-black);border:1px solid var(--color-btn-border);box-shadow:var(--shadow-sm)}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:16px}.material-symbols{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;font-family:Material Symbols Outlined;font-size:24px;line-height:1}.card-grid{text-align:left;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:16px;display:grid}.card-grid>*{min-width:0}.card-grid>.place-row{grid-column:1/-1}.place-card{text-align:left;flex-direction:column;align-items:stretch;padding:0;display:flex;overflow:hidden}.place-card-media{display:block;position:relative}.place-card-media>img,.place-card-placeholder{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.place-card-placeholder{background:var(--color-surface-muted)}.kayakealo-place-details{display:contents}.kayakealo-place-details .modal-icons a[href^="https://www.kayakealopr.com/"]{color:var(--color-primary-ink)}.place-card-body{flex-direction:column;gap:2px;padding:12px 16px 16px;display:flex}.budget-badge{vertical-align:middle;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);white-space:nowrap;align-items:center;margin-left:8px;padding:2px 10px;font-size:12px;font-weight:700;line-height:18px;display:inline-flex}.budget-badge.is-on-photo{box-shadow:var(--shadow-sm);margin:0;position:absolute;top:10px;right:10px}.modal h4+.budget-badge{align-self:flex-start;margin:0}.tag-icon{vertical-align:-3px;margin-right:4px;font-size:16px}.place-card-name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;font-size:16px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.modal-overlay{z-index:1001;background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--color-white);border-radius:var(--radius-card);text-align:left;width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-lg);padding:16px;position:relative;overflow-y:auto}.swipe-overlay{flex-direction:column}.swipe-deck{flex-direction:column;gap:12px;width:100%;max-width:480px;display:flex}.swipe-cards{display:grid}.swipe-card{touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-area:1/1;height:min(560px,100svh - 140px);max-height:none}.swipe-card img{-webkit-user-drag:none}.swipe-card-under{pointer-events:none;translate:0 24px;scale:.94}.swipe-controls{justify-content:center;align-items:center;gap:16px;display:flex}.swipe-arrow{border-radius:var(--radius-pill);background:var(--color-white);min-width:44px;min-height:44px;color:var(--color-black);justify-content:center;align-items:center;display:flex}.swipe-arrow:disabled{opacity:.4}.swipe-count{min-width:64px;color:var(--color-white);text-align:center;margin:0;font-size:14px}.swipe-hint{margin:0}.modal-photo{aspect-ratio:16/9;object-fit:cover;border-radius:calc(var(--radius-card) - 8px);width:100%;margin-bottom:16px}.modal-close{background:var(--color-white);border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex;position:absolute;top:16px;right:16px}.modal-icons{gap:12px;margin-top:16px;display:flex}.modal-icons a{border:1px solid var(--color-black);border-radius:var(--radius-pill);min-width:44px;min-height:44px;color:var(--color-black);justify-content:center;align-items:center;text-decoration:none;display:flex}.modal h4{padding-right:52px;font-size:20px}.modal-photo+h4{padding-right:0}.modal-description{margin-top:12px}.modal-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.modal-tags .tag{cursor:default;align-items:center;min-height:28px;padding:4px 12px;display:inline-flex}.modal-meta{color:var(--color-gray-text);margin-top:4px;font-size:14px}.event-scroll{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.event-card{scroll-snap-align:start;text-align:left;flex-direction:column;flex:0 0 260px;gap:0;padding:0;display:flex;overflow:hidden}.event-card img,.event-card .place-card-placeholder{aspect-ratio:4/3;object-fit:cover;border-radius:0;width:100%}.event-card-body{flex-direction:column;gap:4px;padding:16px;display:flex}.event-card-when{align-items:center;gap:6px;margin-bottom:4px;font-size:14px;font-weight:700;display:flex}.event-card-when .material-symbols{font-size:18px}.event-card-name{font-size:16px;font-weight:500}.event-card-place{color:var(--color-gray-text);font-size:13px}.event-card-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:4px 0 12px;font-size:14px;font-weight:400;display:-webkit-box;overflow:hidden}.event-card .btn{align-self:flex-start;margin-top:auto}.event-card-body{flex:1}.event-more{align-items:center;gap:12px;margin-top:16px;display:flex}.event-more-count{color:var(--color-gray-text);font-size:14px}@media (width>=641px){.event-scroll{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding-bottom:0;display:grid;overflow-x:visible}}.hero{box-sizing:border-box;background-color:var(--color-primary);text-align:center;background-position:50%;background-size:cover;justify-content:center;align-items:center;width:100vw;min-height:80vh;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:24px;display:flex;position:relative}.hero-content{flex-direction:column;align-items:center;gap:16px;max-width:640px;display:flex}.hero h1{color:var(--color-white);margin:0;font-size:40px}.hero p{color:#fffc;margin:0;font-size:18px}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn-hero-primary{background:var(--color-white);color:var(--color-black);border:1px solid var(--color-white)}.btn-hero-secondary{color:var(--color-white);border:1px solid var(--color-white);background:0 0}.hero .hero-note{color:#ffffffb3;font-size:14px}.how-steps{grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (width>=641px){.how-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.how-step{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);box-shadow:var(--shadow-sm);align-items:flex-start;gap:16px;padding:16px;display:flex}.how-step-number{border-radius:var(--radius-pill);background:var(--color-black);width:36px;height:36px;color:var(--color-white);flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.how-step h3{align-items:center;gap:6px;margin-bottom:4px;font-size:16px;display:flex}.how-step h3 .material-symbols{font-size:20px}.how-step p{color:var(--color-gray-text);font-size:14px}.tour-preview{grid-template-columns:1fr;gap:16px;display:grid}.tour-preview-media{aspect-ratio:16/9;border-radius:calc(var(--radius-card) - 8px);background:var(--color-surface-muted);justify-content:center;align-items:center;display:flex}.tour-preview-media .material-symbols{color:var(--color-gray-text);font-size:48px}.tour-preview-body{flex-direction:column;gap:16px;display:flex}.tour-preview-options{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.tour-preview-options li{border:1px solid var(--color-gray-mid);text-align:center;border-radius:16px;flex-direction:column;gap:2px;padding:12px;font-size:14px;display:flex}.tour-preview-options span{color:var(--color-gray-text)}.tour-preview-perks{flex-direction:column;gap:8px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.tour-preview-perks li{align-items:center;gap:8px;display:flex}.tour-preview-perks .material-symbols{font-size:20px}@media (width>=720px){.tour-preview{grid-template-columns:1fr 1fr;align-items:center}.tour-preview-media{aspect-ratio:auto;height:100%;min-height:260px}}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.feature-card{border:1px solid var(--color-border);border-radius:var(--radius-card);text-align:left;background:var(--color-card);box-shadow:var(--shadow-sm);padding:20px}.feature-card .material-symbols{font-size:28px}.feature-card h3{margin:12px 0 4px;font-size:16px}.feature-card p{color:var(--color-gray-text);font-size:14px;font-weight:400}.section-intro{color:var(--color-gray-text);margin-bottom:16px}.pricing-grid{grid-template-columns:1fr;gap:16px;display:grid}.pricing-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:20px;display:flex}.pricing-card-featured{border:2px solid var(--color-primary)}.pricing-card h3{font-size:18px}.pricing-price{font-size:36px;font-weight:700;line-height:1.1}.pricing-detail{color:var(--color-gray-text)}.pricing-perks{flex-direction:column;gap:8px;margin:8px 0 12px;padding:0;font-size:15px;list-style:none;display:flex}.pricing-perks li{align-items:center;gap:8px;display:flex}.pricing-perks .material-symbols{font-size:20px}.pricing-card .btn{align-self:stretch;margin-top:auto}.pricing-note{color:var(--color-gray-text);margin-top:16px;font-size:14px}@media (width>=720px){.pricing-grid{grid-template-columns:1fr 1fr}}.faq-list{flex-direction:column;gap:12px;display:flex}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);box-shadow:var(--shadow-sm)}.faq-item summary{cursor:pointer;box-sizing:border-box;min-height:44px;padding:16px;font-weight:500}.faq-item p{color:var(--color-gray-text);margin:-4px 16px 16px;font-weight:400}.site-footer{background:var(--color-footer);border-top:1px solid var(--color-footer-border);margin-top:auto}.site-footer-inner{padding:40px 24px calc(40px + env(safe-area-inset-bottom));text-align:center;box-sizing:border-box;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:960px;margin:0 auto;display:flex}.site-footer p{color:var(--color-gray-text);font-weight:400}.footer-links{flex-wrap:wrap;justify-content:center;gap:0 16px;display:flex}.footer-links a{color:var(--color-black);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.footer-copy{font-size:14px}.auth-page{flex:1;justify-content:center;align-items:center;min-height:70vh;display:flex}.auth-card{text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);width:100%;max-width:380px;box-shadow:var(--shadow-sm);flex-direction:column;align-items:stretch;gap:8px;padding:40px 32px;display:flex}.auth-icon{align-self:center;margin-bottom:8px;font-size:32px}.auth-card h1{font-size:24px}.auth-card>p{color:var(--color-gray-text);margin-bottom:16px;font-size:15px}.field-label{text-align:left;color:var(--color-gray-text);margin-bottom:4px;font-size:13px;font-weight:500}.input{border:1px solid var(--color-gray-mid);width:100%;font-size:16px;font-family:var(--font-family);box-sizing:border-box;background:var(--color-surface);border-radius:12px;min-height:44px;margin-bottom:16px;padding:12px 16px}.password-field{position:relative}.password-field .input{padding-right:56px}.password-toggle{border-radius:var(--radius-pill);width:48px;height:46px;color:var(--color-gray-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0}.input:focus{outline:2px solid var(--color-black);outline-offset:1px}.auth-submit{width:100%}.auth-error{margin-top:12px;font-size:14px;font-weight:500}.auth-info{color:var(--color-gray-text);margin-top:12px;font-size:14px}.auth-link{color:var(--color-black);cursor:pointer;background:0 0;border:none;min-height:44px;padding:8px 0;font-size:14px;font-weight:500;text-decoration:underline}.category-picker{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.category-question{margin-bottom:0;font-size:20px;font-weight:700}.places-count{color:var(--color-gray-text);font-size:14px}.place-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;display:grid}.place-row{border:1px solid var(--color-border);background:var(--color-card);width:100%;min-height:64px;color:var(--color-black);text-align:left;box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;display:flex}.place-row-icon{border-radius:var(--radius-pill);background:var(--color-surface-muted);flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.place-row-icon .material-symbols{font-size:22px}.place-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.place-row-name{font-size:16px;font-weight:500}.place-row-meta{color:var(--color-gray-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.place-row-chevron{color:var(--color-gray-text);flex:none}.scroll-row{width:100%;min-width:0;position:relative}.scroll-row-track{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;width:fit-content;max-width:100%;margin:0 auto;display:flex;overflow-x:auto}.scroll-row-track::-webkit-scrollbar{display:none}.scroll-row-more .scroll-row-track{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),#0000)}.scroll-row-chevron{color:var(--color-black);pointer-events:none;font-size:20px;position:absolute;top:50%;right:0;translate:0 -50%}.tag-filter{padding:7px 0}.tag-filter .tag{min-width:44px;min-height:30px;padding:4px 12px;font-size:13px;position:relative}.tag-filter .tag:before{content:"";position:absolute;inset:-7px 0}.place-filter-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;width:100%;display:flex}.place-search{flex:220px;align-items:center;max-width:420px;display:flex;position:relative}.place-search>.material-symbols{color:var(--color-gray-text);pointer-events:none;font-size:20px;position:absolute;left:12px}.place-search input{border:1px solid var(--color-btn-border);border-radius:var(--radius-pill);background:var(--color-white);width:100%;height:44px;color:var(--color-black);box-shadow:var(--shadow-sm);font:inherit;padding:0 44px 0 40px;font-size:16px}.place-search input::placeholder{color:var(--color-gray-text)}.place-search input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.place-search input::-webkit-search-cancel-button{-webkit-appearance:none}.place-search-clear{width:44px;height:44px;color:var(--color-gray-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:0}.place-search-clear .material-symbols{font-size:20px}.place-filter-pills{gap:8px;display:flex}.place-filter-pills .tag{align-items:center;min-height:44px;display:inline-flex}.food-sections{flex-direction:column;gap:4px;width:100%;display:flex}.food-section-description{color:var(--color-gray-text);max-width:560px;margin:0 auto;font-size:14px}.tag{white-space:nowrap;border-radius:var(--radius-pill);border:1px solid var(--color-btn-border);background:var(--color-white);min-height:36px;color:var(--color-gray-text);cursor:pointer;box-shadow:var(--shadow-sm);flex:none;padding:6px 14px;font-size:13px;font-weight:500}.tag-active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.guided-tour-card{scroll-snap-align:start;text-align:left;flex-direction:column;flex:0 0 240px;padding:0;display:flex;overflow:hidden}.guided-tour-thumb{aspect-ratio:4/3;background:var(--color-surface-muted);object-fit:cover;justify-content:center;align-items:center;width:100%;display:flex}.guided-tour-thumb-wrap{position:relative}.guided-tour-thumb-credit{border-radius:var(--radius-pill);background:var(--color-white);color:var(--color-black);padding:2px 6px;font-size:10px;line-height:1.4;position:absolute;bottom:6px;right:6px}.guided-tour-thumb .material-symbols{color:var(--color-gray-text);font-size:40px}.guided-tour-body{flex-direction:column;gap:4px;padding:16px;display:flex}.guided-tour-name{margin-bottom:8px;font-size:16px;font-weight:500}.guided-tour-btn{align-self:stretch;width:100%}.guided-tour-btn+.guided-tour-btn{margin-top:8px}.guided-tour-progress{color:var(--color-gray-text);font-size:14px}.guided-tour-body .journey-progress-track{margin:4px 0 12px}.survey-card{gap:20px;padding:40px 32px}.survey-progress{justify-content:center;gap:8px;display:flex}.survey-dot{border-radius:var(--radius-pill);background:var(--color-gray-mid);opacity:.4;width:8px;height:8px}.survey-dot-active{opacity:1;background:var(--color-black)}.survey-intro{color:var(--color-gray-text);font-size:14px}.survey-step-count{color:var(--color-gray-text);margin-top:-12px;font-size:13px}.survey-question{text-align:center;font-size:22px}.survey-text-input{text-align:center;margin-bottom:0}.survey-options{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.survey-option{border-radius:var(--radius-pill);border:1px solid var(--color-btn-border);background:var(--color-white);min-height:44px;color:var(--color-black);box-shadow:var(--shadow-sm);padding:10px 20px;font-size:15px;font-weight:500}.survey-option-active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.survey-actions{justify-content:center;gap:12px;margin-top:8px;display:flex}.survey-next{flex:1}.hero .hero-meta{color:#fff9;font-size:14px}.duration-picker{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.duration-explainer{color:var(--color-gray-text);max-width:480px;margin-top:-8px;font-size:14px}.duration-options{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.duration-option{border:1px solid var(--color-btn-border);background:var(--color-white);min-width:150px;min-height:44px;color:var(--color-black);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:10px 20px;font-size:15px;font-weight:500;display:flex}.duration-option-active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.duration-option-name{font-weight:700}.duration-option-meta{opacity:.75;font-size:13px;font-weight:400}@media (width>=900px){.tour-places-body{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:24px;display:grid}.tour-places-map{position:sticky;top:16px}.tour-places-map .tour-map-wrap{margin-bottom:0}}.tour-start-btn{align-self:center}.tour-start-note{color:var(--color-gray-text);font-size:14px}.btn:disabled{opacity:.4;cursor:not-allowed}.parada-list{flex-direction:column;gap:10px;display:flex}.parada-row{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-card);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:8px 8px 8px 18px;display:flex}.parada-order{border-radius:var(--radius-pill);background:var(--color-black);width:24px;height:24px;color:var(--color-white);flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.parada-name{flex:1;font-size:15px;font-weight:500}.parada-directions{border-radius:var(--radius-pill);border:1px solid var(--color-black);background:var(--color-white);min-width:44px;min-height:44px;color:var(--color-black);flex:none;justify-content:center;align-items:center;display:flex}.parada-directions:disabled{border-color:var(--color-gray-mid);color:var(--color-gray-text);opacity:1}.parada-row-covered{opacity:.55}.parada-row-covered .parada-order{background:var(--color-gray-mid)}.tour-map-wrap{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.tour-map-hint{color:var(--color-gray-text);border-top:1px solid var(--color-border);margin:0;padding:12px 16px;font-size:13px}.tour-map-placeholder{border:1px solid var(--color-gray-mid);border-radius:var(--radius-card);text-align:center;color:var(--color-gray-text);margin-bottom:16px;padding:32px 16px}.tour-map-reset{color:var(--color-black);background:0 0;border:none;min-height:44px;margin-bottom:16px;padding:0;font-size:14px;text-decoration:underline}.modal-start-here{width:100%;margin-top:16px}.tour-pin-badge{border-radius:var(--radius-pill);background:var(--color-black);width:28px;height:28px;color:var(--color-white);border:2px solid var(--color-white);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.tour-pin-badge-covered{background:var(--color-gray-mid)}.walk-heading-cone{pointer-events:none;display:block}.walk-heading-cone path{fill:#1a73e8;fill-opacity:.3}:root[data-theme=dark] .walk-heading-cone path{fill-opacity:.55}.tour-user-dot{border-radius:var(--radius-pill);border:2px solid var(--color-white);background:#1a73e8;width:18px;height:18px;display:block}.tour-map-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.tour-map-footer .tour-map-hint{border-top:none;padding:0}.tour-locate-btn{align-self:flex-start;gap:8px;min-height:40px;padding:8px 16px}.tour-locate-btn .material-symbols{font-size:18px}.tour-map-error{color:var(--color-black);margin:0;font-size:13px}.settings-row{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.settings-name{margin-bottom:12px}.settings-edit{gap:8px;margin-top:16px}.settings-edit .material-symbols{font-size:20px}.settings-switches{flex-direction:column;gap:8px;max-width:560px;display:flex}.setting-switch{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);width:100%;min-height:64px;color:var(--color-black);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.setting-switch:disabled{cursor:default;opacity:.5}.setting-switch-text{flex-direction:column;gap:2px;min-width:0;display:flex}.setting-switch-label{font-weight:700}.setting-switch-hint{color:var(--color-gray-text);font-size:14px;line-height:20px}.setting-switch-track{border-radius:var(--radius-pill);border:1px solid var(--color-gray-mid);background:var(--color-surface-muted);flex:none;width:48px;height:28px;position:relative}.setting-switch-knob{border-radius:var(--radius-pill);background:var(--color-white);width:20px;height:20px;box-shadow:var(--shadow-sm);position:absolute;top:3px;left:3px}.setting-switch[aria-checked=true] .setting-switch-track{border-color:var(--color-primary);background:var(--color-primary)}.setting-switch[aria-checked=true] .setting-switch-knob{translate:20px}.checkout-card{gap:16px}.checkout-card h1{font-size:28px}.auth-card>.checkout-price{color:var(--color-black);margin-bottom:0;font-size:16px}.checkout-price strong{font-size:22px}.checkout-included{text-align:left;flex-direction:column;gap:12px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.checkout-included li{align-items:flex-start;gap:10px;display:flex}.checkout-included .material-symbols{flex:none;font-size:22px}.auth-card>.checkout-secure{justify-content:center;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.checkout-secure .material-symbols{font-size:16px}a.auth-link{justify-content:center;align-items:center;display:inline-flex}.skeleton-group{flex-direction:column;gap:16px;width:100%;display:flex}.skeleton{background:var(--color-skeleton);border-radius:16px}.skeleton-line{border-radius:var(--radius-pill);height:20px}.skeleton-row{gap:16px;display:flex;overflow:hidden}.skeleton-card{border-radius:var(--radius-card);flex:0 0 260px;height:180px}.skeleton-block{border-radius:var(--radius-card);height:240px}.skeleton-list-row{height:64px}@media (width<=640px){.site-header{padding:8px 16px}main{padding:24px 16px 40px}main>.hero:first-child{margin-top:-24px}.hero{padding:24px 16px}.hero h1{font-size:34px}.place-list{grid-template-columns:minmax(0,1fr)}.duration-options{flex-direction:column;align-self:stretch}.duration-option{width:100%}.tour-start-btn{align-self:stretch}.tour-preview-options li{padding:10px 6px}.auth-card{padding:32px 20px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.place-card-body{padding:10px 12px 12px}.place-card-name{font-size:14px}.guided-tour-card{flex:0 0 82%}.guided-tour-thumb{aspect-ratio:16/11}.guided-tour-name{font-size:18px}}.journey-page{text-align:left;width:100%;max-width:560px;margin:0 auto;padding:24px 16px 0}.journey-top{top:var(--header-height);z-index:20;background:var(--color-bg);margin:0 -16px;padding:16px 16px 0;position:sticky}.journey-header{align-items:flex-start;gap:12px;display:flex}.journey-back-btn{border-radius:var(--radius-pill);background:var(--color-white);border:1px solid var(--color-gray-mid);width:44px;height:44px;color:var(--color-black);flex:none;justify-content:center;align-items:center;display:flex}.journey-reset-btn{flex:none;gap:6px;min-height:44px;margin-left:auto;padding:0 16px;font-size:14px}.journey-reset-btn .material-symbols{font-size:20px}.journey-title{flex-direction:column;gap:2px;min-width:0;display:flex}.journey-title h1{margin:0;font-size:32px;font-weight:700;line-height:38px}.journey-subtitle,.journey-stop-caption,.journey-progress-label{color:var(--color-gray-text);font-size:14px;line-height:20px}.journey-progress{flex-direction:column;gap:8px;margin:16px 0 0;padding-bottom:12px;display:flex}.journey-progress-track{border-radius:var(--radius-pill);background:var(--color-border);height:8px;overflow:hidden}.journey-progress-fill{border-radius:var(--radius-pill);background:var(--color-black);height:100%}.journey-progress-label{color:var(--color-black)}.journey-road{margin:16px 0 24px;position:relative}.journey-road-line{pointer-events:none;position:absolute;top:0;left:0}.journey-road-done,.journey-road-rest{fill:none;stroke-linecap:round;stroke-linejoin:round}.journey-road-done{stroke:var(--color-black);stroke-width:6px}.journey-road-rest{stroke:var(--color-gray-mid);stroke-width:4px;stroke-dasharray:2 10}.journey-stops{margin:0;padding:0;list-style:none;position:relative}.journey-stop{align-items:center;display:flex}.journey-node-slot{flex:none;height:100%;position:relative}.journey-node{border-radius:var(--radius-pill);justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.journey-node-visited{background:var(--color-black);color:var(--color-white);border:none}.journey-node-visited,.journey-node-upcoming{cursor:pointer;padding:0;font-family:inherit;font-size:20px;font-weight:700}.journey-node-upcoming{background:var(--color-white);border:2px solid var(--color-gray-mid);color:var(--color-gray-text)}.journey-node-current{cursor:pointer;background:var(--color-black);width:72px;height:72px;color:var(--color-white);outline:2px solid var(--color-black);outline-offset:6px;border:none;padding:0;font-family:inherit;font-size:24px;font-weight:700}.journey-stop-label{flex-direction:column;min-width:0;padding-left:8px;display:flex}.journey-stop-name{font-size:16px;line-height:20px}.journey-stop-current .journey-stop-name{font-weight:700}.journey-stop-upcoming .journey-stop-name{color:var(--color-gray-text)}.journey-cta{z-index:10;background:var(--color-bg);flex-direction:column;align-items:center;gap:12px;padding:16px 0 24px;display:flex;position:sticky;bottom:0}.journey-cta-btn{align-self:stretch;gap:8px;width:100%;min-height:52px;font-weight:700}.journey-cta-text,.journey-toast-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.journey-toast{border:1px solid var(--color-border);border-radius:var(--radius-pill);max-width:100%;box-shadow:var(--shadow-md);align-items:center;gap:8px;padding:8px 16px;font-size:14px;line-height:20px;display:flex}.journey-toast .material-symbols{font-size:20px}.walk-toast{z-index:500;background:var(--color-white);max-width:calc(100% - 32px);box-shadow:var(--shadow-md);position:absolute;top:80px;left:50%;translate:-50%}.walk-page{height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));position:relative;overflow:hidden}.walk-map{width:100%;height:100%}.walk-marker{display:block;position:relative}.walk-map .walk-label{text-overflow:ellipsis;white-space:nowrap;border:1px solid gray;border-radius:999px;max-width:200px;padding:4px 12px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.3;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%)}.walk-map .walk-label-destination{color:#000;background:#fff}.walk-map .walk-label-user{color:#fff;background:#000;border-color:#000}.walk-view-btn{z-index:500;position:absolute;top:76px;right:16px}.walk-compass-btn{z-index:500;position:absolute;top:128px;right:16px}.walk-map .maplibregl-ctrl-top-right{top:180px}.walk-map-placeholder{text-align:center;color:var(--color-gray-text);background:var(--color-surface-muted);justify-content:center;align-items:center;padding:24px;display:flex}.walk-top-bar{z-index:500;align-items:center;gap:8px;display:flex;position:absolute;top:16px;left:16px;right:16px}.walk-icon-btn{border-radius:var(--radius-pill);background:var(--color-white);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-black);box-shadow:var(--shadow-md);flex:none;justify-content:center;align-items:center;text-decoration:none;display:flex}.walk-title{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-white);min-width:0;min-height:52px;box-shadow:var(--shadow-md);flex:1;align-items:center;gap:8px;padding:4px 4px 4px 18px;display:flex}.walk-title-text{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.walk-stop-nav{flex:none;gap:4px;display:flex}.walk-stop-nav-btn{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-white);width:44px;height:44px;color:var(--color-black);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.walk-stop-nav-btn:disabled{opacity:.35}.walk-title-counter,.walk-instruction-meta,.walk-location-note,.walk-step-distance{color:var(--color-gray-text);font-size:14px;line-height:20px}.walk-title-name{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;line-height:20px;overflow:hidden}.walk-bottom{z-index:500;flex-direction:column;gap:8px;max-width:560px;margin:0 auto;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.walk-card{border-radius:var(--radius-card);border:1px solid var(--color-border);background:var(--color-white);text-align:left;box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:16px;display:flex}.walk-instruction{width:100%;color:var(--color-black);text-align:left;background:0 0;align-items:center;gap:16px;padding:0;font-family:inherit;display:flex}.walk-instruction-icon{border-radius:var(--radius-pill);background:var(--color-black);width:56px;height:56px;color:var(--color-white);flex:none;justify-content:center;align-items:center;display:flex}.walk-instruction-icon .material-symbols{font-size:32px}.walk-instruction-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.walk-instruction-text{font-size:20px;font-weight:700;line-height:26px}.walk-instruction-chevron{color:var(--color-gray-text);flex:none}.walk-instruction-empty,.walk-location-note{margin:0}.walk-steps{border-top:1px solid var(--color-border);flex-direction:column;gap:10px;max-height:30svh;margin:0;padding:12px 0 0;list-style:none;display:flex;overflow-y:auto}.walk-step{align-items:center;gap:12px;font-size:16px;line-height:22px;display:flex}.walk-step .material-symbols{flex:none;font-size:22px}.walk-step-text{flex:1;min-width:0}.walk-here-btn{align-self:stretch;width:100%;min-height:52px;font-weight:700}.poi-marker{border-radius:var(--radius-pill);border:1px solid var(--color-gray-mid);background:var(--color-white);width:26px;height:26px;color:var(--color-black);box-shadow:var(--shadow-sm);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.poi-marker:before{content:"";position:absolute;inset:-9px}.poi-marker .material-symbols{font-size:16px}.poi-marker-draft{border-style:dashed;border-width:2px}.poi-marker-active{border-color:var(--color-primary);background:var(--color-primary);width:32px;height:32px;color:var(--color-on-primary)}.poi-marker-active .material-symbols{font-size:20px}.poi-card{border-radius:var(--radius-card);border:1px solid var(--color-border);background:var(--color-white);box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:12px;display:flex;position:relative}.poi-card-main{width:100%;min-height:56px;color:var(--color-black);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0 44px 0 0;font-family:inherit;display:flex}.poi-card-photo{object-fit:cover;background:var(--color-surface-muted);border-radius:12px;flex:none;width:56px;height:56px}.poi-card-photo-icon{justify-content:center;align-items:center;display:flex}.poi-card-photo-icon .material-symbols{font-size:28px}.poi-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.poi-card-kind{color:var(--color-gray-text);align-items:center;gap:4px;font-size:13px;line-height:18px;display:flex}.poi-card-kind .material-symbols{font-size:16px}.poi-card-draft{border:1px dashed var(--color-gray-mid);border-radius:var(--radius-pill);white-space:nowrap;margin-left:4px;padding:0 8px}.poi-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;line-height:24px;overflow:hidden}.poi-card-close{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-black);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:8px;right:8px}.poi-card-actions{gap:8px;display:flex}.poi-card-actions .btn{flex:1;gap:6px}.poi-card-time{font-variant-numeric:tabular-nums;font-weight:300}.discover-overlay.poi-sheet-overlay{z-index:1002}.poi-sheet-kind{align-items:center;gap:6px;display:flex}.poi-sheet-kind .material-symbols{font-size:18px}.poi-sheet-photo{aspect-ratio:4/3;object-fit:cover;background:var(--color-surface-muted);border-radius:16px;width:100%;display:block}.discover-video+.poi-sheet-photos{margin-top:8px}.poi-sheet-gallery{scroll-snap-type:x mandatory;gap:8px;margin-right:-16px;padding-right:16px;display:flex;overflow-x:auto}.poi-sheet-gallery .poi-sheet-photo{scroll-snap-align:start;flex:0 0 88%}.poi-sheet-audio{align-items:center;gap:8px;margin-bottom:12px;display:flex}.poi-sheet-audio audio{flex:1;min-width:0;height:44px}.discover-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.discover-sheet{background:var(--color-white);border-radius:var(--radius-card) var(--radius-card) 0 0;text-align:left;width:100%;max-width:560px;max-height:calc(100svh - 40px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.discover-header{justify-content:space-between;align-items:center;padding:16px 16px 8px;display:flex}.discover-counter{color:var(--color-gray-text);font-size:14px;line-height:20px}.discover-close{border-radius:var(--radius-pill);background:var(--color-white);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-black);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.discover-body{flex:1;min-height:0;padding:0 16px;overflow-y:auto}.discover-video{aspect-ratio:16/9;background:var(--color-black);object-fit:cover;border-radius:16px;width:100%;display:block}.discover-video-thumb{cursor:pointer;border:0;padding:0;position:relative;overflow:hidden}.discover-video-thumb img{object-fit:cover;width:100%;height:100%;display:block}.discover-video-play{border-radius:var(--radius-pill);background:var(--color-white);width:64px;height:64px;color:var(--color-black);justify-content:center;align-items:center;margin:-32px 0 0 -32px;display:flex;position:absolute;top:50%;left:50%}.discover-video-play .material-symbols{font-size:40px}.video-theater{z-index:1100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.video-theater-backdrop{background:var(--color-black);position:absolute;inset:0}.video-theater-frame{aspect-ratio:16/9;background:var(--color-black);border-radius:16px;width:min(100vw,177.778dvh);position:relative;overflow:hidden}.video-theater-video{object-fit:contain;width:100%;height:100%;display:block}.video-theater-close{top:max(16px, calc(env(safe-area-inset-top) + 8px));right:max(16px, calc(env(safe-area-inset-right) + 8px));position:absolute}.discover-video-placeholder{color:var(--color-white);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.discover-video-placeholder .material-symbols{font-size:56px}.discover-video-placeholder p{margin:0;font-size:14px}.admin-stop-media-list{flex-direction:column;gap:12px;margin:0 0 12px;padding:0;list-style:none;display:flex}.admin-stop-media-item{border:1px solid var(--color-border);background:var(--color-card);border-radius:16px;flex-direction:column;gap:8px;padding:12px;display:flex}.admin-stop-media-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-stop-media-actions{gap:4px;display:flex}.admin-stop-media-actions button{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-black);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.admin-stop-media-actions button:disabled{opacity:.35;cursor:default}.admin-stop-media-add{flex-wrap:wrap;gap:8px;display:flex}.stop-slides{flex-direction:column;gap:8px;display:flex}.stop-slide{touch-action:pan-y}.stop-slide-title{margin:8px 0 0;font-weight:700}.stop-slide-audio{align-items:center;gap:8px;display:flex}.stop-slide-audio[hidden]{display:none}.stop-slide-audio audio{flex:1;min-width:0;height:44px}.stop-slides-nav{justify-content:center;align-items:center;gap:16px;display:flex}.stop-slides-arrow{border:1px solid var(--color-btn-border);border-radius:var(--radius-pill);background:var(--color-white);width:44px;height:44px;color:var(--color-black);cursor:pointer;justify-content:center;align-items:center;display:flex}.stop-slides-arrow:disabled{opacity:.35;cursor:default}.stop-slides-count{text-align:center;min-width:56px;color:var(--color-gray-text);font-size:14px}.discover-body h2{margin:16px 0 8px;font-size:28px;font-weight:700;line-height:34px}.discover-text{margin:0;font-size:16px;line-height:24px}.discover-block{border:1px solid var(--color-gray-mid);border-radius:var(--radius-card);margin-top:16px;padding:16px}.discover-block h3{margin:0 0 4px;font-size:16px;font-weight:700;line-height:22px}.discover-footer{padding:16px 16px 24px}.discover-next-btn{gap:8px;width:100%;min-height:52px;font-weight:700}.discover-next-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.walk-arrived{text-align:center;flex-direction:column;align-items:center;gap:4px;padding-top:8px;display:flex}.walk-arrived-icon{border-radius:var(--radius-pill);background:var(--color-black);width:64px;height:64px;color:var(--color-white);justify-content:center;align-items:center;margin-bottom:12px;display:flex}.walk-arrived-icon .material-symbols{font-size:36px}.walk-arrived-title{font-size:28px;font-weight:700;line-height:34px}.walk-arrived-name{margin-bottom:12px;font-size:16px;line-height:24px}.walk-arrived .walk-here-btn{gap:8px}.insignia{flex:none;justify-content:center;align-items:center;display:flex}.insignia-large{width:160px;height:160px}.insignia-small{width:96px;height:96px}.insignia img{object-fit:contain;width:100%;height:100%}.insignia-placeholder{border-radius:var(--radius-pill);border:2px solid var(--color-black);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.insignia-large .insignia-placeholder .material-symbols{font-size:80px}.insignia-small .insignia-placeholder .material-symbols{font-size:48px}.passport-modal{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px 24px 24px;display:flex}.passport-modal h2{margin:0;font-size:32px;font-weight:700;line-height:38px}.passport-subtitle,.passport-count{margin:0;font-size:16px;line-height:24px}.passport-done-btn{align-self:stretch;width:100%;min-height:52px;font-weight:700}.passport-page{text-align:left;width:100%;max-width:720px;margin:0 auto;padding:32px 16px 64px}.passport-page h1{margin:0;font-size:32px;font-weight:700;line-height:38px}.passport-page-subtitle,.passport-card-meta{color:var(--color-gray-text);margin:4px 0 0;font-size:14px;line-height:20px}.passport-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-top:24px;display:flex}.passport-empty .material-symbols{font-size:48px}.passport-empty p{margin:0}.passport-empty .btn{align-self:center}.passport-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-top:24px;display:grid}.passport-card{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.passport-card .insignia{margin-bottom:8px}.passport-card-name{font-size:16px;font-weight:700;line-height:22px}.passport-card-meta{margin:0}.stop-photo{margin-top:12px}.stop-photo-input{display:none}.stop-photo-thumb{object-fit:cover;border:1px solid var(--color-border);border-radius:16px;width:96px;height:96px;margin-bottom:8px;display:block}.stop-photo-actions{flex-wrap:wrap;gap:8px;display:flex}.stop-photo-btn{gap:8px;min-height:44px}.stop-photo-error{margin:8px 0 0;font-size:14px;line-height:20px}.passport-photos{flex-direction:column;align-self:stretch;gap:12px;display:flex}.passport-photos h3{margin:0;font-size:18px;font-weight:700;line-height:24px}.passport-photos-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.passport-photo-tile{aspect-ratio:1;background:var(--color-black);border-radius:12px;display:block;position:relative;overflow:hidden}.passport-photo-tile img{object-fit:cover;width:100%;height:100%}.passport-photo-more{color:var(--color-white);background:#0009;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex;position:absolute;inset:0}.my-journey-tabs{gap:8px;margin-top:24px;display:flex}.my-journey-tab{min-height:44px;padding:0 20px}.journey-album-card{width:100%;font:inherit;color:var(--color-black);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.journey-album-cover{aspect-ratio:1;object-fit:cover;border-radius:12px;width:100%;margin-bottom:8px;display:block}.journey-album-cover-empty{background:var(--color-surface-muted);justify-content:center;align-items:center;display:flex}.journey-photos-header{align-items:center;gap:12px;display:flex}.journey-photos-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:24px;display:grid}.journey-photo-tile{font:inherit;color:var(--color-black);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:6px;padding:0;display:flex}.journey-photo-tile img{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-border);border-radius:16px;width:100%}.journey-photo-caption{font-size:14px;line-height:20px}.journey-photo-modal h4{margin:0;font-size:20px;font-weight:700;line-height:26px}.journey-photo-full{object-fit:contain;background:var(--color-black);border-radius:12px;width:100%;max-height:70vh;margin-bottom:16px;display:block}.modal-gallery+h4{padding-right:0}.modal-gallery{scroll-snap-type:x mandatory;gap:8px;margin-bottom:16px;margin-right:-16px;padding-right:16px;display:flex;overflow-x:auto}.modal-gallery .modal-photo{scroll-snap-align:start;flex:0 0 88%;margin-bottom:0}.modal-info{border:1px solid var(--color-gray-mid);border-radius:16px;align-items:flex-start;gap:12px;margin-top:16px;padding:12px;display:flex}.modal-info-title{margin-bottom:2px;font-size:14px;font-weight:700}.commerce-admin-page{width:100%;max-width:1200px;margin-inline:auto}.commerce-admin-page header p{margin-top:12px}.commerce-admin-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.commerce-admin-layout>*,.commerce-admin-layout .card{min-width:0}.commerce-admin-directory{flex-direction:column;align-self:start;gap:16px;display:flex}.commerce-admin-form fieldset{border:0;flex-direction:column;gap:16px;min-width:0;margin:0;padding:0;display:flex}.commerce-admin-form label,.commerce-admin-search label{flex-direction:column;gap:6px;min-width:0;display:flex}.commerce-admin-form input,.commerce-admin-form select,.commerce-admin-search input{width:100%;min-height:44px;font:inherit;color:var(--color-black);background:var(--color-white);border:1px solid var(--color-btn-border);border-radius:12px;padding:10px 12px}.commerce-admin-form input,.commerce-admin-search input{font-size:16px}.commerce-admin-editor h2{margin-bottom:16px}.commerce-admin-actions{flex-wrap:wrap;gap:8px;display:flex}.commerce-admin-search{align-items:end;gap:8px;display:flex}.commerce-admin-search label{flex:1}.commerce-admin-list{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.commerce-admin-list button{text-align:left;white-space:normal;overflow-wrap:anywhere;flex-direction:column;align-items:start;width:100%;display:flex}.commerce-admin-note{color:var(--color-gray-text);font-size:14px}.commerce-admin-activity{overflow-wrap:anywhere;margin-top:24px}.commerce-admin-activity ul{padding-left:20px}.commerce-admin-activity li{margin-top:12px}@media (width<=640px){.commerce-admin-layout{grid-template-columns:minmax(0,1fr)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main.admin-page{gap:0;max-width:1200px}.admin-content{min-width:0}.admin-nav{z-index:50;background:var(--color-white);border-top:1px solid var(--color-gray-mid);padding:4px 8px calc(4px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}.admin-nav-link{min-height:56px;color:var(--color-gray-text);border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.admin-nav-link.active{color:var(--color-black);font-weight:700}.admin-nav-links{display:contents}.admin-nav-count{display:none}body:has(.admin-nav) .site-footer-inner{padding-bottom:calc(40px + 64px + env(safe-area-inset-bottom))}@media (width>=900px){main.admin-page{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:32px;display:grid}.admin-nav{border:none;flex-direction:column;gap:4px;padding:0;position:sticky;top:24px}.admin-nav-link{border-radius:var(--radius-pill);flex-direction:row;justify-content:flex-start;gap:12px;min-height:44px;padding:0 16px;font-size:15px}.admin-nav-link.active{background:var(--color-black);color:var(--color-white)}.admin-nav-label{flex:1}.admin-nav-count{font-size:13px;font-weight:400;display:inline}body:has(.admin-nav) .site-footer-inner{padding-bottom:40px}}.admin-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.admin-header h1{margin:0}.admin-header .btn,.photo-picker .btn{gap:8px}.admin-choice{gap:8px;margin-bottom:16px;display:flex}.admin-choice .tag{min-height:44px;padding:10px 20px;font-size:15px}.admin-filters{grid-template-columns:1fr;gap:0 12px;display:grid}.admin-filter-tags{gap:8px;margin-bottom:16px;display:flex}.admin-filter-tag{min-height:44px;padding:10px 20px;font-size:15px}@media (width>=641px){.admin-filters{grid-template-columns:2fr 1fr auto}.admin-filters-food{grid-template-columns:2fr 1fr 1fr auto}}.admin-empty{color:var(--color-gray-text);text-align:left}.admin-table{border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:var(--radius-card);text-align:left;background:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);font-size:15px;overflow:hidden}.admin-table th{color:var(--color-gray-text);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:8px 12px;font-size:13px;font-weight:500}.admin-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:8px 12px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover{background:var(--color-surface-muted)}.admin-table-thumb{width:56px;padding-right:0}.admin-table-actions{text-align:right;white-space:nowrap;width:148px}.admin-table-select{width:44px;padding-right:0}.admin-table .admin-table-select{padding:0 0 0 4px}.admin-check{cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.admin-check input{width:20px;height:20px;accent-color:var(--color-black);cursor:pointer;margin:0}.admin-table tbody tr.admin-row-selected{background:var(--color-surface-muted)}.admin-bulk-bar{z-index:10;background:var(--color-white);border:1px solid var(--color-black);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);align-items:center;gap:8px;margin-bottom:12px;padding:8px 8px 8px 20px;display:flex;position:sticky;top:8px}.admin-bulk-bar .btn{gap:8px}.admin-bulk-count{white-space:nowrap;flex:1;font-weight:700}.admin-form-actions .btn .material-symbols{font-size:20px}.admin-checklist{text-align:left;margin:0 0 16px;padding:0;list-style:none}.admin-checklist li{align-items:center;gap:10px;min-height:36px;display:flex}.admin-checklist-missing{color:var(--color-gray-text)}.admin-confirm-text{text-align:left;color:var(--color-gray-text);margin:0 0 16px}.admin-toast{left:16px;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:1100;background:var(--color-black);max-width:560px;color:var(--color-white);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);align-items:center;gap:8px;margin:0 auto;padding:4px 4px 4px 20px;display:flex;position:fixed}@media (width>=900px){.admin-toast{bottom:24px}}.admin-toast-message{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-toast-undo{min-height:44px;color:var(--color-white);font:inherit;cursor:pointer;background:0 0;border:none;padding:0 12px;font-weight:700;text-decoration:underline}.admin-toast .admin-toast-close{color:var(--color-white)}.admin-toast .admin-toast-close:hover{background:#333}.admin-sort{min-height:44px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.admin-sort .material-symbols{font-size:16px}th[aria-sort] .admin-sort{color:var(--color-black)}.admin-thumb{object-fit:cover;border-radius:12px;width:44px;height:44px;display:block}.admin-thumb-empty{background:var(--color-surface-muted);color:var(--color-gray-text);justify-content:center;align-items:center;display:flex}.admin-cell-name{font-weight:700}.admin-attention-tag{border:1px solid var(--color-gray-mid);border-radius:var(--radius-pill);white-space:nowrap;vertical-align:middle;align-items:center;gap:6px;margin-left:8px;padding:2px 10px;font-size:13px;font-weight:500;display:inline-flex}.admin-badge{border-radius:var(--radius-pill);border:1px solid var(--color-black);white-space:nowrap;padding:2px 10px;font-size:13px;font-weight:500;display:inline-block}.admin-badge-muted{border-color:var(--color-gray-mid);color:var(--color-gray-text)}.admin-icon-btn{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-black);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.admin-status-icon{width:44px;height:44px;color:var(--color-black);vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-icon-btn:hover{background:#e6e6e6}@media (width<=640px){.admin-table,.admin-table tbody{border:none;border-radius:0;display:block;overflow:visible}.admin-table thead{display:none}.admin-table tbody tr{border:1px solid var(--color-gray-mid);border-radius:var(--radius-card);grid-template-columns:44px 56px minmax(0,1fr) 44px;align-items:center;column-gap:12px;margin-bottom:8px;padding:8px;display:grid}.admin-table td{color:var(--color-gray-text);border:none;grid-column:3;padding:0;font-size:13px}.admin-table td[data-label]:not(.admin-cell-nombre):before{content:attr(data-label) ": "}.admin-table td:empty{display:none}.admin-table .admin-table-select{grid-area:1/1/span 6;width:auto;padding:0}.admin-table .admin-table-thumb{grid-area:1/2/span 6;width:auto}.admin-table .admin-table-actions{flex-direction:column;grid-area:1/4/span 6;width:auto;display:flex}.admin-table .admin-cell-nombre{color:var(--color-black);font-size:16px}.admin-thumb{width:56px;height:56px}}.admin-modal{max-width:560px}.admin-modal-title{margin:8px 0 20px}.admin-form{flex-direction:column;display:flex}.admin-form .field-label{margin-bottom:6px}.admin-form textarea.input{resize:vertical;line-height:1.4}.admin-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-more{border:1px solid var(--color-gray-mid);text-align:left;border-radius:16px;margin-bottom:16px;padding:0 16px}.admin-more summary{cursor:pointer;align-items:center;min-height:44px;font-weight:500;display:flex}.admin-more[open] summary{margin-bottom:8px}.admin-form-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.admin-delete{border-color:var(--color-gray-mid);margin-left:auto}.admin-error{text-align:left;margin:8px 0 12px;font-size:14px;font-weight:500}.admin-hint{color:var(--color-gray-text);text-align:left;margin:0 0 12px;font-size:13px}.admin-warning{border:1px solid var(--color-black);text-align:left;border-radius:16px;margin:0 0 16px;padding:12px 16px;font-weight:500}.admin-back{min-height:44px;color:var(--color-black);align-items:center;gap:6px;margin-bottom:8px;font-weight:500;text-decoration:none;display:inline-flex}.admin-header-title{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.admin-section-title{text-align:left;margin:0 0 16px;font-size:20px}.admin-tour-details,.admin-lengths{text-align:left;margin-bottom:24px}.admin-length-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-length-header .admin-hint{margin:0}.admin-stop-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.admin-stop-row{background:var(--color-card);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:8px;padding:6px 8px 6px 4px;display:flex}.admin-stop-row-dragging{z-index:2;border-color:var(--color-black);position:relative}.admin-drag-handle{cursor:grab;touch-action:none;color:var(--color-gray-text)}.admin-stop-number{text-align:center;flex:0 0 24px;font-weight:700}.admin-stop-name{min-width:0;min-height:44px;font:inherit;color:var(--color-black);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:4px;padding:0;display:flex}.admin-stop-name .admin-cell-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.admin-stop-meta{align-items:center;gap:6px;display:flex}.admin-stop-row .admin-thumb{flex:0 0 40px;width:40px;height:40px}.admin-stop-has{color:var(--color-gray-text);font-size:18px}.admin-tour-points{text-align:left;margin-bottom:24px}.admin-point-row{padding-left:8px}.admin-point-row .admin-stop-meta{color:var(--color-gray-text);font-size:13px;line-height:18px}.admin-route-map,.admin-location-map{border:1px solid var(--color-gray-mid);z-index:0;border-radius:16px;width:100%;margin-bottom:12px;overflow:hidden}.admin-route-map{height:280px}.admin-location-map{height:260px}.admin-map-pin{cursor:grab;display:block}.admin-map-pin .material-symbols{color:var(--color-black);font-size:40px;display:block}.admin-locate{align-self:flex-start;gap:8px;margin-bottom:12px}.admin-stop-summary{border:1px solid var(--color-gray-mid);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 12px 12px 16px;display:flex}.admin-stop-summary>span{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-stop-summary .admin-hint{margin:0}.video-picker-preview{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.video-picker-preview video{background:var(--color-black);border-radius:16px;width:100%;max-height:240px}.video-picker-preview .btn,.audio-picker-preview .btn,.photo-picker>.btn{gap:8px}.audio-picker-preview{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.audio-picker-preview audio{width:100%}.admin-media-icons{gap:6px;display:inline-flex}.admin-media-icons .material-symbols{font-size:18px}.admin-icon-choices{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.admin-icon-choice{border-radius:var(--radius-pill);border:1px solid var(--color-btn-border);background:var(--color-white);width:44px;height:44px;color:var(--color-black);box-shadow:var(--shadow-sm);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.admin-icon-choice-active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.poi-marker-context{cursor:default;opacity:.85}.poi-marker-context:before{content:none}.admin-pick-list{text-align:left;max-height:50vh;margin:0 0 16px;padding:0;list-style:none;overflow-y:auto}.admin-pick-row{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.admin-pick-row input{width:20px;height:20px;accent-color:var(--color-black)}.admin-pick-order{color:var(--color-gray-text);margin-left:auto;font-size:13px}@media (width>=641px){.admin-filters-tours{grid-template-columns:1fr auto}}.admin-collapse-toggle{width:100%;min-height:44px;font:inherit;color:var(--color-black);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.admin-collapse-text{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-collapse-text .admin-section-title,.admin-collapse-text .admin-hint{margin:0}.admin-collapse-toggle[aria-expanded=true]{margin-bottom:16px}.admin-map-toggle{gap:8px;margin-bottom:12px}.admin-action-menu{position:relative}.admin-action-menu-list{z-index:20;background:var(--color-white);border:1px solid var(--color-black);min-width:240px;box-shadow:var(--shadow-md);border-radius:16px;margin:4px 0 0;padding:8px;list-style:none;position:absolute;top:100%;right:0}.admin-action-menu-list button{width:100%;min-height:44px;font:inherit;color:var(--color-black);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:0 12px;display:flex}.admin-action-menu-list button:hover{background:var(--color-surface-muted)}.admin-location-placeholder{display:none}@media (width>=900px){.admin-modal.admin-modal-wide{max-width:920px}.admin-stop-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.admin-stop-col{flex-direction:column;min-width:0;display:flex}.admin-location-placeholder{border:1px dashed var(--color-gray-mid);height:260px;color:var(--color-gray-text);text-align:center;border-radius:16px;justify-content:center;align-items:center;margin:22px 0 12px;padding:24px;display:flex}}@media (width<=640px){.admin-tour-editor .admin-header{flex-wrap:wrap}.admin-tour-editor .admin-header h1{font-size:26px}.admin-stop-actions{bottom:calc(72px + env(safe-area-inset-bottom));z-index:5;background:var(--color-white);margin:0;padding:8px 0;position:sticky}.admin-stop-actions .btn-primary{flex:1}.modal-overlay:has(.admin-modal){align-items:stretch;padding:0}.modal.admin-modal{border-radius:0;flex-direction:column;max-width:none;height:100%;max-height:none;padding-bottom:0;display:flex}.admin-modal>form{flex:1 0 auto}.admin-modal .admin-form-actions{z-index:2;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--color-white);border-top:1px solid var(--color-gray-mid);margin:auto -16px 0;position:sticky;bottom:0}}.photo-picker{margin-bottom:16px}.photo-picker-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-bottom:12px;display:grid}.photo-picker-item{aspect-ratio:1;position:relative}.photo-picker-item img{object-fit:cover;border-radius:12px;width:100%;height:100%}.photo-picker-cover{background:var(--color-black);color:var(--color-white);border-radius:var(--radius-pill);padding:2px 8px;font-size:11px;font-weight:500;position:absolute;top:6px;left:6px}.photo-picker-actions{gap:4px;display:flex;position:absolute;bottom:4px;right:4px}.photo-picker-actions button{border-radius:var(--radius-pill);background:var(--color-white);border:1px solid var(--color-black);justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.photo-picker-actions .material-symbols{font-size:20px}.tag-picker{margin-bottom:16px}.tag-picker-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.tag-picker-row .tag{align-items:center;gap:4px;min-height:36px;display:inline-flex}.tag-remove{font-size:16px}.tag-picker-input{gap:8px;display:flex}.tag-picker-input .input{margin-bottom:12px}.admin-length-bar{margin-bottom:16px}.admin-length-picker-toggle{border:1px solid var(--color-black);border-radius:var(--radius-pill);background:var(--color-white);min-height:44px;color:var(--color-black);font:inherit;cursor:pointer;align-items:stretch;padding:0;font-weight:500;display:inline-flex}.admin-length-picker-label{align-items:center;padding:0 16px 0 20px;display:inline-flex}.admin-length-picker-chevron{border-left:1px solid var(--color-black);align-items:center;padding:0 12px 0 10px;display:inline-flex}.admin-length-picker .admin-length-picker-list{min-width:280px;left:0;right:auto}.admin-length-picker-item{flex-direction:column;padding:6px 0;display:flex}.admin-length-picker-item .admin-hint{margin:0;font-size:13px}.admin-length-picker-divider{border-top:1px solid var(--color-border);margin-top:8px;padding-top:8px}.admin-tour-header{align-items:flex-start}.admin-tour-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-tour-title{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}@media (width>=900px){main.admin-page{grid-template-columns:20% minmax(0,1fr);align-items:stretch;gap:0;max-width:none;min-height:calc(100vh - 70px);padding:0}.admin-nav{border-right:1px solid var(--color-gray-mid);padding:24px 16px;display:block;position:static}.admin-nav-links{flex-direction:column;gap:4px;display:flex;position:sticky;top:24px}.admin-content{padding:32px}.admin-content:has(.admin-tour-editor){padding:0}.admin-tour-main{padding:32px}}@media (width>=1100px){.admin-tour-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100%;display:grid}.admin-tour-main{border-right:1px solid var(--color-gray-mid);min-width:0}.admin-tour-map{height:100vh;position:sticky;top:0}.admin-tour-map .admin-route-map{border:none;border-radius:0;height:100%;margin:0}.admin-tour-map-empty{height:100%;color:var(--color-gray-text);text-align:center;justify-content:center;align-items:center;margin:0;padding:32px;display:flex}}.admin-length-picker-list .material-symbols{flex:0 0 24px;width:24px}.admin-pin-tag{border:1px solid var(--color-black);border-radius:var(--radius-pill);background:var(--color-white);color:var(--color-black);font-family:var(--font-family);white-space:nowrap;padding:6px 12px;font-size:13px;font-weight:500;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.admin-form-actions .btn{gap:8px}@media (width>=900px){main.admin-page{grid-template-columns:77px minmax(0,1fr)}.admin-nav{z-index:30;box-sizing:border-box;background:var(--color-white);width:77px;position:relative}.admin-nav:hover{width:240px}.admin-nav:has(:focus-visible){width:240px}.admin-nav-link{white-space:nowrap;width:44px;padding:0 10px;overflow:hidden}.admin-nav:hover .admin-nav-link{width:auto;padding:0 16px 0 10px}.admin-nav:has(:focus-visible) .admin-nav-link{width:auto;padding:0 16px 0 10px}.admin-nav-label,.admin-nav-count{display:none}.admin-nav:hover .admin-nav-label{display:inline}.admin-nav:has(:focus-visible) .admin-nav-label{display:inline}.admin-nav:hover .admin-nav-count{display:inline}.admin-nav:has(:focus-visible) .admin-nav-count{display:inline}}.admin-content:not(:has(.admin-tour-editor)){max-width:1200px}.admin-table-actions .admin-icon-btn{vertical-align:middle}.admin-form-row-name{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.admin-item-actions{align-items:center}.admin-item-actions-icons{gap:4px;margin-left:auto;display:flex}.admin-icon-btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.admin-icon-btn-primary:hover{background:var(--color-primary-hover)}.admin-icon-btn:disabled{opacity:.4;cursor:not-allowed}.admin-table tbody tr.admin-row-active{background:var(--color-surface-muted)}.admin-table tbody tr.admin-row-active .admin-cell-name{text-decoration:underline}@media (width>=1100px){.admin-content:has(.admin-list-layout){max-width:none}.admin-list-layout{grid-template-columns:minmax(0,1200px) minmax(360px,440px);align-items:start;gap:32px;display:grid}.admin-list-side{text-align:left;flex-direction:column;gap:16px;max-height:calc(100vh - 32px);display:flex;position:sticky;top:16px;overflow-y:auto}}.admin-attention .admin-section-title,.admin-panel .admin-section-title{margin-bottom:12px}.admin-attention-done{color:var(--color-gray-text);align-items:center;gap:8px;margin:0;display:flex}.admin-attention-list,.admin-attention-items{margin:0;padding:0;list-style:none}.admin-attention-alert{width:100%;min-height:44px;color:var(--color-black);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;padding:0 8px;display:flex}.admin-attention-alert:hover{background:var(--color-surface-muted)}.admin-attention-alert .material-symbols{font-size:20px}.admin-attention-label{flex:1;min-width:0}.admin-attention-count{font-weight:700}.admin-attention-items{border-left:1px solid var(--color-gray-mid);max-height:240px;margin:0 0 8px 38px;overflow-y:auto}.admin-attention-items button{width:100%;min-height:40px;color:var(--color-black);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:0 12px;font-size:14px;display:block;overflow:hidden}.admin-attention-items button:hover,.admin-attention-items .admin-attention-item-active{background:var(--color-surface-muted);font-weight:700}.admin-panel-hint{border:1px dashed var(--color-gray-mid);color:var(--color-gray-text);text-align:center;border-radius:16px;margin:0;padding:16px}.admin-list-side{font-size:14px}.admin-list-side .card{padding:12px 14px}.admin-list-side .admin-section-title{margin-bottom:8px;font-size:16px}.admin-list-side .admin-attention-alert{border-radius:8px;gap:8px;min-height:30px;padding:0 6px;font-size:14px}.admin-list-side .admin-attention-alert .material-symbols{font-size:18px}.admin-list-side .admin-attention-items{max-height:200px;margin:0 0 4px 32px}.admin-list-side .admin-attention-items button{min-height:28px;padding:0 10px;font-size:13px}.admin-list-side .admin-form .field-label{margin-bottom:3px;font-size:12px}.admin-list-side .input{border-radius:8px;min-height:34px;margin-bottom:10px;padding:6px 10px;font-size:14px}.admin-list-side .admin-form-row{gap:8px}.admin-list-side .btn{min-height:34px;padding:6px 14px;font-size:14px}.admin-list-side .btn .material-symbols{font-size:18px}.admin-list-side .tag{min-height:28px;padding:3px 10px;font-size:12px}.admin-list-side .tag-picker,.admin-list-side .photo-picker,.admin-list-side .admin-choice{margin-bottom:10px}.admin-list-side .photo-picker-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;margin-bottom:8px}.admin-list-side .photo-picker-actions button{width:26px;height:26px}.admin-list-side .photo-picker-actions .material-symbols{font-size:16px}.admin-list-side .admin-more{border-radius:10px;margin-bottom:10px;padding:0 10px}.admin-list-side .admin-more summary{min-height:32px;font-size:13px}.admin-list-side .admin-icon-btn{width:34px;height:34px}.admin-list-side .admin-icon-btn .material-symbols{font-size:20px}.admin-panel{position:relative}.admin-list-side .admin-panel .admin-section-title{padding-right:40px}.admin-panel-close{position:absolute;top:6px;right:6px}.admin-panel-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px;display:grid}.admin-panel-actions .btn{white-space:nowrap;gap:6px;width:100%;padding:6px 8px}.admin-list-side .admin-panel-hint{padding:12px;font-size:13px}.commerce-admin-offers,.commerce-admin-pin{overflow-wrap:anywhere;margin-top:16px}.commerce-admin-offer-detail{border-top:1px solid var(--color-border);margin-top:16px;padding-top:16px}.presential-page .card{overflow-wrap:anywhere;margin-block:16px}.presential-offers{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;display:grid}.presential-form{max-width:640px}.commerce-admin-list li>.btn+.btn{margin-top:8px}.commerce-admin-publication h4{scroll-margin-top:calc(var(--header-height) + 16px)}.commerce-admin-record-name{overflow-wrap:anywhere;margin-block:8px;display:block}.checkout-plans{flex-direction:column;gap:8px;display:flex}.checkout-plan{border:1px solid var(--color-border);background:var(--color-card);min-height:44px;color:var(--color-black);font-family:var(--font-family);text-align:left;box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.checkout-plan-active{border:2px solid var(--color-black);padding:13px 15px}.checkout-plan-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.checkout-plan-top strong{font-size:20px}.checkout-plan-name{font-size:16px;font-weight:700}.checkout-plan-detail{color:var(--color-gray-text);font-size:14px;font-weight:400}.auth-card>.checkout-group-explainer,.auth-card>.checkout-guest-note,.auth-card>.checkout-upgrade-lead{text-align:left;margin:0}.auth-card>.checkout-upgrade-lead{color:var(--color-black);text-align:center}.checkout-upgrade{text-align:left;flex-direction:column;gap:12px;display:flex}.checkout-upgrade p{margin:0}.auth-card>.join-note{margin:8px 0 0;font-size:14px}.locked-card{text-align:left;flex-direction:column;align-items:flex-start;gap:8px;display:flex}.locked-card p{margin:0}.locked-card-title{font-weight:700}.locked-card-text{color:var(--color-gray-text);font-size:15px;margin-bottom:8px!important}.group-section{text-align:left;flex-direction:column;gap:16px;display:flex}.group-section h2,.group-section p{margin:0}.group-lead,.group-hint{color:var(--color-gray-text);font-size:15px}.group-hint{font-size:13px}.group-upsell,.group-invite{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.group-upsell{text-align:left;align-items:flex-start}.group-qr{border:1px solid var(--color-gray-mid);background:var(--color-surface-muted);width:220px;max-width:100%;height:220px;image-rendering:pixelated;border-radius:16px}img.group-qr{background:var(--color-white);padding:8px}.group-link{word-break:break-all;font-size:14px;font-weight:500}.group-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.group-actions .btn{white-space:nowrap;gap:8px}.group-actions .material-symbols{font-size:20px}.group-confirm{border:1px solid var(--color-black);border-radius:16px;flex-direction:column;gap:8px;padding:12px;font-size:14px;display:flex}.group-invite .group-confirm{align-self:stretch}.group-member .group-confirm .group-actions{justify-content:flex-start}.group-notice{font-size:14px;font-weight:500}.group-members-title{margin:8px 0 0;font-size:16px}.group-members{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);box-shadow:var(--shadow-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.group-member{align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.group-member+.group-member{border-top:1px solid var(--color-border)}.group-member-ended .group-member-name,.group-member-ended .group-avatar{color:var(--color-gray-text);border-color:var(--color-gray-mid)}.group-avatar{border:1px solid var(--color-black);border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex;position:relative}.group-online-dot{border:2px solid var(--color-white);background:var(--color-black);border-radius:50%;width:14px;height:14px;position:absolute;bottom:-2px;right:-2px}.group-member-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.group-member-name{flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:700;display:flex}.group-member-tag{border:1px solid var(--color-gray-mid);border-radius:var(--radius-pill);padding:2px 10px;font-size:12px;font-weight:500}.group-member-meta{color:var(--color-gray-text);font-size:14px}.group-remove{width:44px;height:44px;color:var(--color-black);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-2px -8px 0 0;display:flex}@media (width<=640px){.group-actions .btn{flex:140px;padding:12px 16px}}.savings-section{flex-direction:column;gap:16px;display:flex}.savings-section-header h2{margin-bottom:4px}.savings-section-header p{color:var(--color-gray-text)}.transport-section{flex-direction:column;gap:16px;display:flex}.transport-note{color:var(--color-gray-text);font-size:13px}.transport-modal-icon{border-radius:var(--radius-pill);background:var(--color-surface-muted);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:12px;display:flex}.transport-details{flex-direction:column;gap:8px;margin-top:16px;padding-left:20px;font-size:15px;line-height:1.45;display:flex}.transport-links{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.transport-links .btn{gap:6px;padding:10px 16px;font-size:14px}.transport-links .btn .material-symbols{font-size:18px}.transport-links .transport-ama-app svg{fill:currentColor;flex-shrink:0;width:22px;height:22px}.transport-links .transport-ama-android{background:var(--ama-android-brand);color:var(--ama-android-ink);border-color:var(--ama-android-brand)}.transport-links .transport-ama-android .transport-ama-eye{fill:var(--ama-android-brand)}.transport-links .transport-ama-apple{background:var(--color-black);color:var(--color-white);border-color:var(--color-black)}.places-page{gap:16px}@media (width>=1100px){.places-page{max-width:1180px}}.events-weekly-text{color:var(--color-gray-text);margin-bottom:16px}.savings-empty{color:var(--color-gray-text)}.admin-cell-name .admin-badge{margin-left:8px;padding:1px 8px;font-size:12px}.admin-savings-events-hint{align-items:flex-start;gap:8px;display:flex}.admin-savings-events-hint .material-symbols{font-size:18px}.admin-savings-events-hint a{color:inherit;font-weight:700}.admin-savings-toggle{white-space:normal;text-align:left;align-self:flex-start;align-items:center;gap:6px;min-height:44px;margin:-6px 0 16px;padding:8px 16px;font-size:14px;display:inline-flex}.admin-savings-toggle .material-symbols{font-size:18px}.theme-picker{background:var(--color-surface-muted);border-radius:var(--radius-pill);align-self:flex-start;gap:4px;padding:3px;display:inline-flex}.theme-picker-option{border-radius:var(--radius-pill);min-width:44px;min-height:44px;color:var(--color-black);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;display:inline-flex}.theme-picker-option .material-symbols{font-size:20px}.theme-picker.theme-picker-compact{flex-wrap:nowrap;gap:2px;padding:2px}.theme-picker-compact .theme-picker-option{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;position:relative}.theme-picker-compact .theme-picker-option:before{content:"";position:absolute;inset:-4px}.theme-picker-compact .theme-picker-option .material-symbols{font-size:18px}.theme-picker-option-active{background:var(--color-primary);color:var(--color-on-primary)}.profile-menu-theme{align-items:center;padding:4px 0 4px 8px;display:flex}.settings-hint{color:var(--color-gray-text);margin:0 0 12px;font-size:14px}@media (width<=640px){.maplibregl-ctrl-group button{width:44px;height:44px}}:root[data-theme=dark] .maplibregl-ctrl-group,:root[data-theme=dark] .maplibregl-ctrl.maplibregl-ctrl-attrib,:root[data-theme=dark] .maplibregl-ctrl-attrib.maplibregl-compact{background:var(--color-surface);color:var(--color-gray-text)}:root[data-theme=dark] .maplibregl-ctrl-attrib a{color:var(--color-black)}:root[data-theme=dark] .maplibregl-ctrl-attrib-button,:root[data-theme=dark] .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()}.dashboard,.dashboard-top,.dashboard-intro,.dashboard-buttons{flex-direction:column;gap:16px;display:flex}@media (width>=641px){.dashboard-top{grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:24px;display:grid}.dashboard-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-buttons>.dashboard-wide-btn{grid-column:span 2}.dashboard-buttons>.dashboard-quick{display:contents}}@media (width>=900px){.dashboard-buttons{grid-template-columns:repeat(6,minmax(0,1fr))}}.dashboard-greeting{flex-direction:column;gap:4px;padding:8px 0;display:flex}.dashboard-greeting h1{font-size:34px;line-height:1.15}.dashboard-greeting p{color:var(--color-gray-text);font-size:17px}.sun-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:14px 16px 10px}.recommendation{padding:4px 0}.dashboard-card-label{color:var(--color-gray-text);align-items:center;gap:6px;font-size:14px;display:flex}.dashboard-card-label .material-symbols{color:var(--color-sun);font-size:18px}.recommendation-text{margin-top:4px;font-size:22px;font-weight:700;line-height:1.3}.recommendation-link{min-height:44px;color:var(--color-primary-hover);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.recommendation-link-name{text-underline-offset:4px;text-decoration:underline}.recommendation-link .material-symbols{font-size:24px}.sun-chart{width:100%;height:auto;margin-top:4px;display:block;overflow:visible}.sun-chart-horizon{stroke:var(--color-gray-mid);stroke-width:1px;vector-effect:non-scaling-stroke}.sun-chart-path{fill:none;stroke-width:3px;vector-effect:non-scaling-stroke;stroke-linecap:round}.sun-chart-path-night{stroke:var(--color-border)}.sun-chart-path-day{stroke:var(--color-sun)}.sun-chart-area{fill:var(--color-sun);fill-opacity:.12}.sun-chart-tick{fill:var(--color-gray-mid)}.sun-chart-now.is-day{fill:var(--color-sun);stroke:var(--color-surface);stroke-width:3px}.sun-chart-now.is-night{fill:var(--color-surface);stroke:var(--color-gray-mid);stroke-width:2px}.sun-times{height:34px;margin-top:4px;position:relative}.sun-time{white-space:nowrap;color:var(--color-gray-text);flex-direction:column;align-items:center;font-size:12px;display:flex;position:absolute;top:0;translate:-50%}.sun-time strong{color:var(--color-black);font-size:13px}.dashboard-btn-label{font-size:20px;font-weight:700}.dashboard-btn-arrow{margin-left:auto}.dashboard-wide-btn,.dashboard-scan-btn{border-radius:var(--radius-card);width:100%;min-height:72px;box-shadow:var(--shadow-md);font-family:var(--font-family);text-align:left;cursor:pointer;border:0;align-items:center;gap:12px;padding:16px 20px;display:flex}.dashboard-wide-btn{color:var(--color-on-gradient)}.dashboard-wide-btn.is-plain{border:1px solid var(--color-btn-border);background:var(--color-surface);color:var(--color-black);box-shadow:var(--shadow-sm)}.dashboard-wide-btn>.material-symbols:first-child,.dashboard-scan-btn>.material-symbols:first-child{font-size:28px}:is(.dashboard-wide-btn,.dashboard-quick-btn,.category-header,.beaches-bar).tone-beach{background:linear-gradient(110deg, var(--color-beach-dark), var(--color-beach-light))}:is(.dashboard-wide-btn,.dashboard-quick-btn,.category-header,.beaches-bar).tone-food{background:linear-gradient(110deg, var(--color-food-dark), var(--color-food-light))}:is(.dashboard-wide-btn,.dashboard-quick-btn,.category-header,.beaches-bar).tone-events{background:linear-gradient(110deg, var(--color-events-dark), var(--color-events-light))}:is(.dashboard-wide-btn,.dashboard-quick-btn,.category-header,.beaches-bar).tone-savings{background:linear-gradient(110deg, var(--color-savings-dark), var(--color-savings-light))}:is(.dashboard-wide-btn,.dashboard-quick-btn,.category-header,.beaches-bar).tone-nightlife{background:linear-gradient(110deg, var(--color-nightlife-dark), var(--color-nightlife-light))}:is(.dashboard-wide-btn,.dashboard-quick-btn,.category-header,.beaches-bar).tone-offers{background:linear-gradient(110deg, var(--color-offers-dark), var(--color-offers-light))}.dashboard-quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboard-quick.is-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-wide-btn,.dashboard-quick-btn{text-decoration:none}.dashboard-quick-btn{border:1px solid var(--color-btn-border);border-radius:var(--radius-card);background:var(--color-surface);min-height:108px;color:var(--color-black);box-shadow:var(--shadow-sm);font-family:var(--font-family);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 8px;font-size:15px;font-weight:700;display:flex}.dashboard-quick-icon{border-radius:var(--radius-pill);background:var(--color-surface-muted);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.dashboard-quick-btn.is-colored{color:var(--color-on-gradient);box-shadow:var(--shadow-md);border:0}.dashboard-quick-btn.is-colored .dashboard-quick-icon{background:color-mix(in srgb, var(--color-on-gradient) 22%, transparent)}.dashboard-scan-btn{background:var(--color-primary);color:var(--color-on-primary)}.dashboard-scan-text{flex-direction:column;gap:2px;display:flex}.dashboard-scan-sub{font-size:14px}@media (hover:hover){.dashboard-scan-btn:hover{background:var(--color-primary-hover)}}.beach-conditions{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto;display:flex}.beach-conditions-note{text-align:right;flex-basis:100%;font-size:12px}.beach-conditions-legend{margin-left:auto}.beach-weather-fallbacks{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.beach-weather-languages{gap:8px;margin:12px 0;display:flex}.beach-weather-dialog-top{align-items:flex-start;gap:8px;display:flex}.beach-weather-dialog-top h2{flex:1;min-width:0}.beach-weather-dialog-top button{flex-shrink:0}.beach-weather-languages [aria-pressed=true]{outline:2px solid var(--color-primary)}.beach-weather-legend dt{margin-top:8px;font-weight:700}.beach-weather-legend dd{margin-left:16px}.beach-weather-legend h3{margin-top:16px}.beach-condition-btn{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-black);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:6px 12px;font-size:14px;text-decoration:none;display:inline-flex}.beach-weather-dialog{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:min(480px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--color-black);box-shadow:var(--shadow-lg);margin:auto;padding:24px;overflow-y:auto}.beach-weather-dialog::backdrop{background:#000000b3}.beach-weather-dialog p{margin:12px 0}.beach-weather-dialog .btn{width:100%;margin-top:8px}@media (width<=640px){.beach-conditions{flex-basis:100%}.beach-condition-btn:not(.beach-conditions-language):not(.beach-conditions-legend){flex:1}}.beach-pin{cursor:pointer;background:0 0;border:0;place-items:center;min-width:28px;min-height:28px;padding:0;display:grid}.beach-pin:not(.beach-pin-named):after{content:"";border-radius:var(--radius-pill);background:var(--color-beach-dark);border:2px solid var(--color-surface);width:14px;height:14px;box-shadow:var(--shadow-sm)}.beach-pin-named{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);min-height:32px;color:var(--color-black);box-shadow:var(--shadow-md);font-family:var(--font-family);white-space:nowrap;padding:0 12px;font-size:14px;font-weight:700}.beach-pin-named.is-selected{border-color:var(--color-beach-dark);background:var(--color-beach-dark);color:var(--color-on-gradient)}.place-card-meta{color:var(--color-gray-text);font-size:14px}.category-header{background:var(--color-surface-muted);width:100vw;color:var(--color-black);margin:-32px calc(50% - 50vw) 8px;padding:16px 24px 32px;position:relative}.category-header.is-colored{color:var(--color-on-gradient)}.category-header-back{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface) 70%, transparent);min-height:44px;color:var(--color-black);font-family:var(--font-family);cursor:pointer;border:0;align-items:center;gap:6px;padding:0 14px 0 10px;font-size:15px;font-weight:700;display:inline-flex}.category-header.is-colored .category-header-back{background:color-mix(in srgb, var(--color-on-gradient) 22%, transparent);color:var(--color-on-gradient)}.category-header-body{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:640px;margin:8px auto 0;display:flex}.category-header-icon{border-radius:var(--radius-pill);background:var(--color-surface);justify-content:center;align-items:center;width:56px;height:56px;display:flex}.category-header-icon .material-symbols{font-size:28px}.category-header.is-colored .category-header-icon{background:color-mix(in srgb, var(--color-on-gradient) 22%, transparent)}.category-header h1{font-size:32px;line-height:1.15}.category-header p{opacity:.9;font-size:16px}@media (width>=900px){.category-header{padding:24px 32px 48px}.category-header h1{font-size:44px}}@media (width<=640px){.category-header{margin-top:-24px;padding:12px 16px 28px}}.location-prompt{align-items:flex-start;gap:12px;padding:16px;display:flex;position:relative}.location-prompt-icon{border-radius:var(--radius-pill);background:var(--color-beach-dark);width:44px;height:44px;color:var(--color-on-gradient);flex:none;justify-content:center;align-items:center;display:flex}.location-prompt-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.location-prompt-title{padding-right:32px;font-size:17px;font-weight:700}.location-prompt-text{color:var(--color-gray-text);font-size:14px}.location-prompt-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.location-prompt-close{background:0 0;top:8px;right:8px}.place-category-groups{gap:22px;width:100%;display:grid}.place-category-group{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;scroll-margin-top:calc(var(--header-height) + 16px);border-radius:24px;padding:20px}.place-category-group h2{align-items:center;gap:10px;margin:0 0 18px;display:flex}.place-category-group h2 .material-symbols{color:var(--color-primary-ink)}.place-category-group .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=640px){.place-category-group{padding:14px}}.transport-rental-section{border-top:1px solid var(--color-border);margin-block:24px;padding-top:20px}.transport-rental-section h3{margin-bottom:16px}.transport-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.transport-group{border-top:0;min-width:0;padding-top:0}.transport-group h2{margin-bottom:16px}.transport-group .card-grid,.transport-section .transport-rental-section .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=641px){.transport-section .transport-rental-section .card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.transport-groups{grid-template-columns:minmax(0,1fr)}}.budget-page{max-width:1100px;margin:auto;padding:24px 16px 64px}.budget-page>.card,.budget-pass{margin-block:24px;padding:24px}.budget-total{font-size:1.25rem}.budget-form,.budget-page form{gap:16px;margin-block:16px;display:grid}.budget-page label{gap:8px;display:grid}.budget-page input,.budget-page select{border:1px solid var(--color-border);max-width:100%;min-height:44px;color:var(--color-black);background:var(--color-surface);border-radius:12px;padding:10px}.budget-page input[type=checkbox]{width:24px;min-height:24px}.budget-ticket-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;display:grid}.budget-ticket{padding:20px}.budget-code{letter-spacing:.1em;font-size:1.5rem;font-weight:700}.budget-table{margin-block:20px;overflow-x:auto}.budget-table table{border-collapse:collapse;width:100%}.budget-table th,.budget-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:12px}.budget-page li{overflow-wrap:anywhere;margin-block:12px}.receipt-actions{flex-wrap:wrap;gap:12px;margin-block:20px;display:flex}a.dashboard-scan-btn{text-decoration:none}.receipt-review{scroll-margin-top:calc(var(--header-height) + 16px);grid-template-columns:minmax(0,1fr);gap:20px;margin-block:24px;display:grid}.receipt-preview{object-fit:contain;border-radius:16px;justify-self:center;max-width:100%;max-height:650px}.receipt-photo-tools{min-width:0}.receipt-crop-image{width:fit-content;max-width:100%;margin:0 auto 16px;line-height:0;position:relative}.receipt-crop-image .receipt-preview{width:auto;height:auto;display:block}.receipt-crop-image.selecting{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.receipt-crop-selection{border:3px solid var(--color-primary);pointer-events:none;background:0 0;position:absolute}.receipt-photo-tools label{margin-block:8px;display:block}.receipt-photo-tools input[type=range]{width:100%;min-height:44px}.dashboard-expenses{color:inherit;margin-block:8px;padding-right:75px;font-size:.875rem;display:block}.receipt-review .card{padding:24px}.receipt-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}.receipt-history{padding:0;list-style:none}.receipt-history .card{padding:20px}@media (width>=800px){.receipt-review:has(.receipt-preview){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.savings-summary{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-black);isolation:isolate;border-radius:24px;padding:24px;position:relative;overflow:hidden}.savings-summary h2{margin-bottom:8px}.savings-amount{font-variant-numeric:tabular-nums;margin-block:12px;font-size:clamp(2.5rem,9vw,4rem);font-weight:700;line-height:1.2;display:block}.savings-breakdown{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;margin-block:20px;display:grid}.savings-breakdown dt{overflow-wrap:anywhere}.savings-breakdown dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.savings-congratulations{color:var(--color-black);font-weight:700}.savings-celebration-note{font-weight:400;display:block}.savings-explanation summary{cursor:pointer;align-content:center;min-height:44px;font-weight:700;display:list-item}.savings-explanation p,.savings-explanation ul{margin-block:14px}.savings-explanation a{overflow-wrap:anywhere}.savings-fireworks{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.savings-burst{color:var(--color-primary-ink);position:absolute;top:95px;left:clamp(96px,65%,100% - 96px)}.savings-burst.burst-1{color:var(--color-offers-light);top:70px;left:clamp(96px,25%,100% - 96px)}.savings-burst.burst-2{color:var(--color-events-light);top:160px;left:clamp(96px,80%,100% - 96px)}.savings-burst i{opacity:0;background:currentColor;border-radius:50%;width:6px;height:6px;position:absolute}.savings-summary>:not(.savings-fireworks){z-index:2;position:relative}.dashboard-top{grid-template-columns:minmax(0,1fr) minmax(118px,32%);align-items:start;gap:12px;display:grid}.dashboard-top>*{min-width:0}.dashboard-greeting h1{font-size:clamp(1.5rem,6vw,2.125rem)}.dashboard-savings{border-radius:18px;padding:12px}.dashboard-savings h2{font-size:.875rem;line-height:1.3}.dashboard-savings .savings-amount{overflow-wrap:anywhere;margin-block:8px;font-size:clamp(1.3rem,5vw,2.25rem)}.dashboard-savings-kind{color:var(--color-gray-text);font-size:.75rem}.dashboard-savings-details{align-items:center;min-height:44px;font-size:.875rem;display:inline-flex}.dashboard-savings .savings-congratulations{font-size:.75rem}.dashboard-savings .savings-celebration-note{display:none}.dashboard-budget-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dashboard-budget-shortcuts .btn{text-align:center;min-height:48px;padding:10px 6px;font-size:.875rem}.dashboard-receipt-shortcut{background:var(--color-card);border:1px solid var(--color-border);min-height:48px;color:var(--color-black);box-shadow:var(--shadow-sm);border-radius:24px;justify-content:center;align-self:flex-end;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;display:inline-flex}@media (width>=641px){.dashboard-top{grid-template-columns:minmax(0,1fr) minmax(180px,28%);gap:24px}.dashboard-savings{padding:20px}.dashboard-budget-shortcuts{gap:12px}}.dashboard-page-label{color:var(--color-gray-text);margin:0;font-size:.875rem}.dashboard-page,.dashboard-site-header{--color-card:var(--dashboard-surface);--color-surface:var(--dashboard-surface);--color-border:var(--dashboard-line);--color-gray-text:var(--dashboard-muted)}.dashboard-site-header{background:var(--dashboard-bg)}.dashboard-site-header .site-logo{gap:.25ch;font-size:clamp(1.35rem,4vw,2rem)}.brand-pr{color:var(--dashboard-green)}.dashboard-hamburger{flex-direction:column;gap:5px;width:24px;display:flex}.dashboard-hamburger i{background:currentColor;border-radius:2px;width:24px;height:2px;display:block}.dashboard-page{max-width:960px;padding:12px 18px 48px}.reference-dashboard{gap:14px}.reference-dashboard .dashboard-greeting{gap:6px;padding:4px 2px}.reference-dashboard .dashboard-greeting h1{font-size:clamp(1.8rem,5.8vw,3rem);line-height:1.15}.dashboard-recommendation{gap:9px;display:grid}.dashboard-time-pill{border:1px solid var(--dashboard-line);background:var(--dashboard-surface);border-radius:24px;align-items:center;gap:8px;width:fit-content;padding:6px 12px;font-size:.9rem;display:inline-flex}.dashboard-time-pill .material-symbols{color:var(--dashboard-gold)}.dashboard-recommendation-card{text-align:left;border:1px solid var(--dashboard-line);background:var(--dashboard-surface);width:100%;min-height:54px;color:var(--color-black);border-radius:14px;align-items:center;gap:12px;padding:12px;font-size:1rem;display:flex}.dashboard-recommendation-card>span:nth-child(2){flex:1}.dashboard-recommendation-card strong{color:var(--dashboard-green);font-weight:700}.dashboard-record-icon{background:conic-gradient(var(--dashboard-purple), var(--dashboard-gold), var(--dashboard-purple));border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.dashboard-record-icon span{background:var(--dashboard-bg);border:3px solid var(--dashboard-gold);border-radius:50%;width:11px;height:11px}.reference-dashboard .sun-card{background:var(--dashboard-surface);box-shadow:none;border-radius:16px;padding:12px 14px;position:relative}.sun-card-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.sun-card-heading h2{margin:0;font-size:1.05rem}.sun-card-heading>p{align-items:center;gap:5px;margin:0;font-size:.9rem;display:flex}.sun-card-heading>p .material-symbols{color:var(--dashboard-gold)}.reference-dashboard .sun-chart{width:100%;height:78px;margin:0;display:block;overflow:visible}.reference-dashboard .sun-chart-path{stroke:var(--dashboard-gold);stroke-width:2px;fill:none}.sun-chart-marker,.sun-chart-current{fill:var(--dashboard-gold)}.reference-dashboard .sun-times{grid-template-columns:repeat(3,minmax(0,1fr));height:auto;margin:0;display:grid;position:static}.reference-dashboard .sun-time{font-size:.8rem;line-height:1.4;position:static;translate:none}.reference-dashboard .sun-time strong{color:var(--dashboard-muted);font-size:.85rem;font-weight:400}.dashboard-info{position:relative}.dashboard-info>summary{cursor:pointer;place-items:center;min-width:44px;min-height:44px;list-style:none;display:grid}.dashboard-info>summary::-webkit-details-marker{display:none}.dashboard-info-panel{z-index:20;border:1px solid var(--dashboard-line);background:var(--dashboard-surface);width:min(300px,100vw - 64px);box-shadow:var(--shadow-lg);color:var(--color-black);border-radius:16px;padding:16px;font-size:.875rem;line-height:1.5;position:absolute;top:100%;right:0}.dashboard-info-panel p+p{margin-top:12px}.reference-dashboard .dashboard-savings{border:1px solid var(--dashboard-green);background:linear-gradient(20deg, var(--dashboard-bg), var(--dashboard-savings-start) 58%, var(--dashboard-savings-end));border-radius:16px;padding:10px 18px 18px;overflow:visible}.dashboard-savings-heading{align-items:center;gap:2px;display:flex}.dashboard-savings-heading h2{margin:0;font-size:1.05rem}.savings-info .dashboard-info-panel{left:-100px;right:auto}.dashboard-savings-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;display:grid}.dashboard-monthly{border-right:1px solid var(--dashboard-line);flex-direction:column;gap:2px;display:flex}.dashboard-monthly strong{letter-spacing:-.035em;font-size:clamp(2.7rem,10vw,4.5rem);line-height:1.05}.dashboard-monthly>span,.dashboard-saved>span{color:var(--dashboard-muted);font-size:clamp(.85rem,3.5vw,1.35rem)}.dashboard-saved{min-width:0;padding-left:10px}.dashboard-saved>a{color:inherit;text-underline-offset:2px;font-weight:700;text-decoration:underline}.reference-dashboard .dashboard-savings .savings-amount{letter-spacing:-.025em;margin-block:5px;font-size:clamp(1.8rem,6.5vw,3.2rem);line-height:1.1}.dashboard-savings-encouragement{color:var(--dashboard-muted);margin-top:8px;padding-right:70px;font-size:.85rem}.dashboard-savings-bottom{min-height:16px;margin-top:10px;padding-right:70px;position:relative}.dashboard-savings-progress{background:var(--dashboard-progress-track);border-radius:20px;height:8px;overflow:hidden}.dashboard-savings-progress>span{border-radius:inherit;background:var(--dashboard-green);height:100%;display:block}.reference-dashboard .dashboard-receipt-shortcut{border:2px solid var(--dashboard-teal);background:linear-gradient(145deg, var(--dashboard-scan-start), var(--dashboard-scan-end));width:80px;height:80px;min-height:44px;color:var(--dashboard-camera-ink);box-shadow:none;border-radius:50%;flex-direction:column;gap:0;padding:5px;font-size:.65rem;text-decoration:none;display:flex;position:absolute;bottom:-33px;right:-28px}.reference-dashboard .dashboard-savings-kind{margin:2px 0 0;padding-right:75px;font-size:.65rem}.reference-dashboard .savings-congratulations{margin-top:8px;padding-right:65px}.reference-dashboard .savings-fireworks{clip-path:inset(0 round 16px)}.savings-source-options{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.savings-source-options button{border:1px solid var(--dashboard-line);min-height:44px;color:var(--color-black);background:var(--dashboard-surface);border-radius:24px;padding:8px 12px}.savings-source-options button[aria-pressed=true]{border-color:var(--dashboard-green)}.reference-dashboard .dashboard-budget-shortcuts{gap:8px;margin-top:9px}.budget-shortcut{border:1px solid;border-radius:28px;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:8px 6px;font-size:clamp(.65rem,2.5vw,1rem);line-height:1.2;text-decoration:none;display:flex}.budget-shortcut>span:last-child{color:var(--color-black)}.shortcut-budget{color:var(--dashboard-gold);background:linear-gradient(150deg, color-mix(in srgb, var(--dashboard-gold) 24%, var(--dashboard-bg)), var(--dashboard-bg));box-shadow:none}.shortcut-free{color:var(--dashboard-green);background:linear-gradient(150deg, color-mix(in srgb, var(--dashboard-green) 16%, var(--dashboard-bg)), var(--dashboard-bg));box-shadow:none}.shortcut-deals{color:var(--dashboard-purple);background:linear-gradient(150deg, color-mix(in srgb, var(--dashboard-purple) 18%, var(--dashboard-bg)), var(--dashboard-bg));box-shadow:none}.dashboard-categories{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.dashboard-category{--tile-accent:var(--category-tile-sky);border:1px solid color-mix(in srgb, var(--tile-accent) 45%, var(--category-tile-paper));background:radial-gradient(ellipse at 95% 100%, color-mix(in srgb, var(--tile-accent) 40%, transparent), transparent 65%), linear-gradient(155deg, color-mix(in srgb, var(--tile-accent) 5%, var(--category-tile-paper)), color-mix(in srgb, var(--tile-accent) 23%, var(--category-tile-paper)));min-width:0;min-height:78px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--category-tile-paper) 75%, transparent);color:var(--category-tile-ink);text-align:center;overflow-wrap:anywhere;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 2px;font-size:clamp(.55rem,1.8vw,.85rem);text-decoration:none;display:flex;position:relative}.dashboard-category:after{content:"";border-radius:var(--radius-pill);background:var(--tile-accent);width:30%;height:3px;position:absolute;bottom:8px;left:35%}.dashboard-category[data-category=beaches]{--tile-accent:var(--category-tile-turquoise)}.dashboard-category[data-category=food]{--tile-accent:var(--category-tile-amber)}.dashboard-category[data-category=events]{--tile-accent:var(--category-tile-coral)}.dashboard-category[data-category=parks]{--tile-accent:var(--category-tile-mint)}.dashboard-category[data-category=supermarkets]{--tile-accent:var(--category-tile-sky)}.dashboard-category[data-category=nightlife]{--tile-accent:var(--category-tile-violet)}.dashboard-category[data-category=outdoor-fun]{--tile-accent:var(--category-tile-lime)}.dashboard-category[data-category=coffee]{--tile-accent:var(--category-tile-coffee)}.dashboard-category[data-category=rum]{--tile-accent:var(--category-tile-gold)}.dashboard-category[data-category=breweries]{--tile-accent:var(--category-tile-yellow)}.dashboard-category[data-category=souvenirs]{--tile-accent:var(--category-tile-rose)}.dashboard-category[data-category=cigars],.dashboard-category[data-category=tobacco-beer-rum]{--tile-accent:var(--category-tile-tobacco)}.dashboard-category-icons{justify-content:center;align-items:center;gap:4px;display:flex}.dashboard-category .dashboard-category-icons .material-symbols{font-size:clamp(18px,4vw,26px)}.dashboard-category[data-category=indoor-fun]{--tile-accent:var(--category-tile-sky)}.dashboard-category[data-category=dance-classes]{--tile-accent:var(--category-tile-lavender)}.dashboard-category[data-category=casinos]{--tile-accent:var(--category-tile-pink)}.dashboard-category[data-category=car-rental],.dashboard-category[data-category=transportation]{--tile-accent:var(--category-tile-blue)}.dashboard-category[data-category=transportation]>span:last-child{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.dashboard-category[data-category=parking]{--tile-accent:var(--category-tile-gray)}.dashboard-category .material-symbols{font-size:clamp(27px,6vw,40px)}.dashboard-category[data-category=beaches] .material-symbols,.dashboard-category[data-category=parks] .material-symbols{color:var(--category-tile-green-ink)}.dashboard-category[data-category=events] .material-symbols{color:var(--category-tile-event-ink)}.dashboard-category:hover,.dashboard-category:focus-visible{border-color:var(--tile-accent)}.budget-shortcut:hover{border-color:var(--dashboard-green)}@media (width<=359px){.dashboard-categories{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-category{font-size:.7rem}.budget-shortcut{flex-direction:column}}@media (width>=641px){.reference-dashboard{gap:18px}.reference-dashboard .sun-chart{height:110px}.reference-dashboard .dashboard-savings{padding:16px 26px 24px}.dashboard-savings-encouragement{font-size:1rem}.dashboard-category{min-height:100px;font-size:.85rem}}.reference-dashboard .dashboard-savings-heading{z-index:5}@font-face{font-family:Material Symbols Outlined;src:url(/fonts/material-symbols-filled.woff2)format("woff2");font-style:normal;font-weight:400;font-display:block}.budget-shortcut{gap:4px;padding-inline:5px}.budget-shortcut>span:last-child{white-space:nowrap}.dashboard-categories{margin-inline:-8px}@media (width<=374px){.dashboard-categories{grid-template-columns:repeat(4,minmax(0,1fr))}}.reference-dashboard{--dashboard-scan-size:clamp(80px, 18vw, 136px)}.dashboard-page,.dashboard-site-header{padding-inline:clamp(18px,4.45vw,32px)}.reference-dashboard .dashboard-greeting h1{font-size:clamp(1.8rem,6.7vw,3.3rem)}.reference-dashboard .dashboard-greeting p{font-size:clamp(1rem,3.8vw,1.7rem)}.reference-dashboard .sun-chart{width:80%;margin-inline:auto}.sun-card-heading h2,.dashboard-savings-heading h2{font-size:clamp(1.05rem,4vw,1.8rem)}.sun-card-heading>p{font-size:clamp(.9rem,3.5vw,1.6rem)}.sun-card-heading>p .material-symbols{font-size:clamp(24px,5vw,36px)}.reference-dashboard .sun-time{font-size:clamp(.8rem,3.3vw,1.5rem)}.reference-dashboard .sun-time strong{font-size:clamp(.85rem,3.3vw,1.5rem)}.dashboard-monthly strong{font-size:clamp(2.7rem,10vw,4.8rem)}.dashboard-monthly>span,.dashboard-saved>span{font-size:clamp(.85rem,3.5vw,1.5rem)}.dashboard-saved{padding-left:clamp(10px,5vw,38px)}.reference-dashboard .dashboard-savings .savings-amount{font-size:clamp(1.8rem,9vw,4rem)}.reference-dashboard .dashboard-savings-encouragement{padding-right:calc(var(--dashboard-scan-size) - 10px);font-size:clamp(.85rem,3.3vw,1.4rem)}.dashboard-savings-bottom{padding-right:calc(var(--dashboard-scan-size) - 10px)}.dashboard-savings-progress{height:clamp(8px,2vw,14px)}.reference-dashboard .dashboard-receipt-shortcut{width:var(--dashboard-scan-size);height:var(--dashboard-scan-size);font-size:clamp(.65rem,2.1vw,.9rem)}.reference-dashboard .dashboard-receipt-shortcut .material-symbols{font-size:clamp(34px,7vw,58px)}.budget-shortcut{min-height:clamp(44px,10vw,76px);font-size:clamp(.65rem,2.9vw,1.35rem)}.budget-shortcut .material-symbols{font-size:clamp(20px,5vw,36px)}@media (width>=641px){.dashboard-site-header{height:92px}}.reference-dashboard .dashboard-savings-bottom{position:static}.reference-dashboard .dashboard-receipt-shortcut{z-index:3;bottom:-14px;right:-10px}.dashboard-tour-percent{color:var(--dashboard-green);margin-top:4px;font-size:.75rem}.site-logo{white-space:normal;flex-wrap:wrap;column-gap:.35ch;line-height:1.1}.site-logo>span{white-space:nowrap}.dashboard-site-header .site-logo{font-size:clamp(1.05rem,3.8vw,2rem)}.places-near-me-section .guide-map-card{flex:none;width:100%}.places-near-me-section .guide-map-preview{aspect-ratio:auto;height:clamp(220px,40svh,380px)}@media (width>=641px){.places-near-me-section .guide-map-card .guided-tour-body{flex-direction:row;justify-content:space-between;align-items:center;gap:16px}}.guide-map-preview{text-decoration:none;position:relative}.guide-map-preview .guide-places-map{border:0;border-radius:0;width:100%;height:100%}.guide-map-preview .maplibregl-ctrl-attrib{display:block}.guide-preview-pin{border:2px solid var(--color-surface);background:var(--color-primary);border-radius:50%;width:12px;height:12px;display:block}.guide-places-map{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:20px;width:100%;height:clamp(320px,60svh,650px);position:relative;overflow:hidden}.guide-map-canvas{width:100%;height:100%}.guide-map-notice{z-index:4;background:var(--color-surface);color:var(--color-black);border-radius:12px;margin:0;padding:8px 12px;font-size:.85rem;position:absolute;top:12px;left:12px;right:12px}.guide-user-marker{display:block;position:relative}.guide-user-heading{background:var(--color-primary);opacity:.65;clip-path:polygon(50% 100%,0 0,100% 0);transform-origin:50% 100%;width:24px;height:30px;position:absolute;bottom:50%;left:calc(50% - 12px)}.guide-shared-location{z-index:5;border:1px solid var(--color-border);background:var(--color-surface);max-height:55%;color:var(--color-black);box-shadow:var(--shadow-md);border-radius:16px;padding:12px;position:absolute;bottom:82px;left:12px;right:12px;overflow-y:auto}.guide-shared-location .btn{margin:4px}.nearby-page .beach-pin{--color-beach-dark:var(--color-primary);max-width:210px}.nearby-page .beach-pin span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nearby-page .beach-pin{min-width:44px;min-height:44px}.dashboard-money-counters{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:14px;display:grid}.dashboard-money-counters>section{min-width:0;min-height:245px}.reference-dashboard .dashboard-money-counters .dashboard-savings{border-radius:22px;flex-direction:column;padding:12px;display:flex}.dashboard-money-counters .dashboard-savings-heading{align-items:center;gap:0}.dashboard-money-counters h2{margin:0;font-size:clamp(.95rem,2.5vw,1.65rem);line-height:1.3}.dashboard-money-counters .dashboard-savings-heading h2{font-size:clamp(.95rem,2.5vw,1.65rem)}.dashboard-money-counters .dashboard-savings-stats{flex-direction:column;align-items:stretch;gap:12px;margin-top:12px;display:flex}.dashboard-money-counters .dashboard-saved{order:-1;padding:0}.dashboard-money-counters .dashboard-saved>span,.dashboard-expense-label{color:var(--dashboard-muted);font-size:clamp(.8rem,2vw,1.15rem)}.dashboard-money-counters .dashboard-savings .savings-amount,.dashboard-money-counters .expense-amount{font-variant-numeric:tabular-nums;letter-spacing:-.035em;overflow-wrap:anywhere;margin-block:8px 0;font-size:clamp(1.45rem,5vw,4rem);font-weight:700;line-height:1.1;display:block}.dashboard-money-counters .dashboard-monthly{border:0;flex-flow:wrap;align-items:baseline;gap:6px;display:flex}.dashboard-money-counters .dashboard-monthly strong{color:var(--dashboard-green);letter-spacing:0;font-size:clamp(1.05rem,2.5vw,1.5rem)}.dashboard-money-counters .dashboard-monthly>span{font-size:.8rem}.dashboard-money-counters .dashboard-tour-percent{flex-basis:100%;font-size:.7rem}.dashboard-money-counters .dashboard-savings-bottom{margin-top:auto;padding-top:22px;padding-right:42px}.reference-dashboard .dashboard-money-counters .dashboard-receipt-shortcut{width:64px;height:64px;font-size:.55rem;bottom:-30px;right:-22px}.reference-dashboard .dashboard-money-counters .dashboard-receipt-shortcut .material-symbols{font-size:28px}.dashboard-money-counters .savings-burst{left:50%;transform:scale(.55)}.dashboard-expense-tracker{border:2px dashed var(--dashboard-line);background:var(--dashboard-surface);color:var(--color-black);border-radius:22px;flex-direction:column;padding:18px 12px;display:flex}.dashboard-expense-label{margin-top:16px;display:block}.dashboard-money-counters .expense-amount{color:var(--dashboard-gold)}.dashboard-money-counters .savings-info .dashboard-info-panel{left:-60px}@media (width>=641px){.dashboard-money-counters{gap:30px}.dashboard-money-counters>section{min-height:310px}.reference-dashboard .dashboard-money-counters .dashboard-savings,.dashboard-expense-tracker{border-radius:26px;padding:22px}.dashboard-money-counters .dashboard-savings-stats{gap:16px;margin-top:16px}.reference-dashboard .dashboard-money-counters .dashboard-receipt-shortcut{width:86px;height:86px;font-size:.75rem}.reference-dashboard .dashboard-money-counters .dashboard-receipt-shortcut .material-symbols{font-size:36px}.dashboard-money-counters .savings-burst{transform:none}}.dashboard-expense-tracker h2{align-items:center;min-height:44px;display:flex}.dashboard-expense-tracker h2 a{color:inherit;text-decoration:none}.dashboard-expense-tracker h2 a:hover{text-decoration:underline}.receipt-history-section{scroll-margin-top:calc(var(--header-height) + 16px)}.receipt-save-confirmation{margin-block:20px;padding:20px}.dashboard-money-counters .savings-congratulations{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.receipt-save-confirmation a{color:inherit;align-items:center;min-height:44px;display:inline-flex}:root[data-appearance=puerto-rico] body:before{content:"";z-index:0;pointer-events:none;background:var(--color-bg) url(/appearance/puerto-rico.jpg) center / cover no-repeat;position:fixed;inset:0}:root[data-appearance=puerto-rico] #root{z-index:1;background:color-mix(in srgb, var(--color-bg) 65%, transparent);position:relative}.theme-picker:not(.theme-picker-compact){flex-wrap:wrap;max-width:100%}.beach-safety-entry{flex-basis:100%;justify-content:flex-end;display:flex}.beach-safety-entry .beach-condition-btn{border:2px solid var(--color-primary);font-weight:700}.nature-safety-page{gap:12px;width:100%;max-width:1240px;padding:12px 16px 32px}.nature-safety-controls{border-bottom:1px solid var(--color-border);padding-bottom:8px}.nature-safety-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nature-safety-heading h1{flex:1;min-width:150px;font-size:24px}.nature-safety-heading .btn{min-height:44px}.nature-safety-tabs{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:8px;margin:8px 0;display:grid}.nature-safety-tabs button{white-space:normal;width:100%;min-width:0;min-height:44px;padding:10px;line-height:1.25}.nature-municipality-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.nature-municipality-filter select{background:var(--color-surface);max-width:100%;min-height:44px;color:var(--color-black);border:1px solid var(--color-border);font:inherit;border-radius:12px;padding:8px}.nature-freshwater-warning{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:16px;padding:12px}.nature-place-information{overflow-wrap:anywhere}.nature-safety-tabs [aria-selected=true]{outline:2px solid var(--color-primary);font-weight:700}.nature-toolbar{top:var(--header-height);z-index:20;background:var(--color-bg);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex;position:sticky}.nature-toolbar .btn{min-height:44px}.nature-toolbar-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nature-toolbar-status p{flex:1;min-width:170px;font-size:14px}.nature-source a{align-items:center;min-height:44px;display:inline-flex}.nature-privacy,.nature-source{color:var(--color-gray-text);overflow-wrap:anywhere;font-size:13px}.nature-safety-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.nature-safety-map-column,.nature-safety-summary{min-width:0}.nature-category-heading,.nature-safety-summary{scroll-margin-top:calc(var(--header-height) + 76px)}.nature-category-heading{margin-bottom:12px}.nature-change-category{display:none}.nature-safety-tabs{scroll-margin-top:calc(var(--header-height) + 12px)}.nature-safety-map{border:1px solid var(--color-border);border-radius:var(--radius-card);width:100%;height:clamp(320px,55dvh,600px);position:relative;overflow:hidden}.nature-safety-map .maplibregl-ctrl-attrib{max-width:100%;font-size:10px}.nature-map-notice{background:var(--color-surface);color:var(--color-black);border-radius:12px;padding:12px;position:absolute;top:8px;left:8px;right:8px}.nature-map-pin{border:2px solid var(--color-primary);border-radius:var(--radius-pill);background:var(--color-surface);min-width:44px;max-width:180px;min-height:44px;color:var(--color-black);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);padding:6px 12px;font-size:13px}.nature-map-dot{width:44px;height:44px;box-shadow:none;background:0 0;border:0;padding:0}.nature-map-dot:after{content:"";border:2px solid var(--color-surface);background:var(--color-black);border-radius:50%;width:12px;height:12px;margin:auto;display:block}.nature-user-marker{background:var(--color-surface);color:var(--color-black);border-radius:12px;align-items:center;gap:6px;padding:6px;font-size:12px;display:flex}.nature-user-marker .tour-user-dot{width:14px;height:14px}.nature-selected-point{color:var(--color-black);background:var(--color-surface);border-radius:50%;font-size:32px;line-height:1}.nature-safety-summary{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);padding:16px}.nature-safety-summary h2{margin-bottom:8px;font-size:20px}.nature-conditions>section{border-top:1px solid var(--color-border);margin-top:16px;padding-top:16px}.nature-conditions p{overflow-wrap:anywhere;margin:8px 0}.nature-conditions dt{margin-top:8px;font-weight:700}.nature-conditions dd{margin-left:0}.nature-conditions h3{margin-top:12px;font-size:17px}.nature-risk,.nature-beach-level{color:var(--nature-risk-text);border-radius:10px;padding:6px 12px;font-weight:700;display:inline-block}.nature-risk-low{background:var(--nature-risk-low)}.nature-risk-moderate{background:var(--nature-risk-moderate);color:var(--nature-risk-moderate-text)}.nature-risk-high{background:var(--nature-risk-high)}.nature-risk-unavailable{background:var(--nature-risk-unavailable)}.nature-details{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin-top:12px;padding:8px 12px}.nature-details summary{cursor:pointer;align-content:center;min-height:44px;font-weight:700;display:list-item}.nature-details p,.nature-details li{margin:8px 0}.nature-alert{border:1px solid var(--nature-risk-high);border-radius:12px;margin-top:12px;padding:12px}.nature-notice-text{white-space:pre-wrap;overflow-wrap:anywhere}.nature-place-list{padding:0;list-style:none}.nature-place-list button{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-black);font:inherit;text-align:left;cursor:pointer;border-radius:10px;padding:8px}@media (width<=760px){.nature-safety-grid{grid-template-columns:minmax(0,1fr)}.nature-change-category{margin-bottom:12px;display:inline-flex}.nature-safety-heading h1{font-size:20px}.nature-safety-heading .beach-weather-languages{margin:0}.nature-toolbar .btn{flex:1;padding:8px;font-size:13px}.nature-safety-page{padding-left:12px;padding-right:12px}}.modal-icons .nature-place-link,.nature-station-actions .nature-place-link{border:1px solid var(--color-black);border-radius:var(--radius-pill);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-black);font:inherit;text-align:center;justify-content:center;align-items:center;padding:8px 10px;font-size:12px;line-height:1.25;text-decoration:none;display:inline-flex}.nature-station-actions{align-items:center;gap:8px;margin:6px 0 12px;display:flex}.nature-station-actions button.nature-place-link{text-align:center;width:auto}.nature-alert-map-legend{z-index:1;background:var(--color-surface);max-width:min(330px,100% - 64px);max-height:32%;color:var(--color-black);box-shadow:none;border-radius:8px;padding:8px 10px;font-size:12px;position:absolute;top:8px;left:8px;overflow:auto}.nature-coast-risk-scale{flex-wrap:wrap;gap:4px 10px;display:flex}.nature-alert-map-legend>div>span,.nature-coast-risk-scale>span{align-items:center;gap:6px;display:flex}.nature-alert-map-legend i{border:1px solid #555;flex-shrink:0;width:16px;height:12px;display:inline-block}.nature-alert-map-legend p{margin:5px 0 0}a.nature-directions-link,button.nature-directions-link:not(:disabled),.modal-icons a.nature-directions-link,.nature-station-actions .nature-directions-link{color:#082f32;background:#20b9b5;border-color:#20b9b5}.nature-safety-action,.beach-safety-entry .nature-safety-action,.modal-icons .nature-safety-action,.nature-station-actions .nature-safety-action{color:#382600;background:#f4bd32;border-color:#f4bd32}.nature-directions-link:focus-visible,.nature-safety-action:focus-visible{outline:3px solid var(--color-black);outline-offset:3px}.beach-condition-btn.beach-conditions-legend{color:#211d1b;background:#e94b35;border-color:#e94b35}.beach-legend-swatch{vertical-align:-1px;border:1px solid #0004;border-radius:2px;width:14px;height:14px;margin-right:8px;display:inline-block}.beach-legend-swatch.swatch-low{background:var(--nature-risk-low)}.beach-legend-swatch.swatch-moderate{background:var(--nature-risk-moderate)}.beach-legend-swatch.swatch-high{background:var(--nature-risk-high)}.beach-legend-swatch.swatch-unavailable{background:var(--nature-risk-unavailable)}.nature-rip-risk-definitions{margin:8px 0}.nature-rip-risk-definitions dd{margin:4px 0 10px}.beach-weather-dialog .beach-weather-fallbacks .beach-condition-btn{text-align:center;box-shadow:none;flex:1 0 auto;font-weight:700}.beach-weather-dialog .beach-action-rip{color:#211d1b;background:#e94b35;border-color:#e94b35}.beach-weather-dialog .beach-action-rivers{color:#082f32;background:#20b9b5;border-color:#20b9b5}.beach-weather-dialog .beach-action-weather{color:#382600;background:#f4bd32;border-color:#f4bd32}.beach-weather-dialog .beach-weather-languages .beach-condition-btn{color:#000;box-shadow:none;background:#fff;border:2px solid #b7b7b7}.beach-weather-dialog .beach-weather-languages [aria-pressed=true]{color:#fff;outline-offset:2px;box-shadow:none;background:#000;border-color:#000;outline:2px solid #000;font-weight:700}.nature-name-search{margin:0 0 12px}.nature-name-search label{margin-bottom:6px;font-weight:700;display:block}.nature-name-search input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-black);font:inherit;border-radius:10px;padding:10px 12px}.nature-name-search p{color:var(--color-gray-text);margin:6px 0;font-size:13px}.nature-search-results{max-height:300px;margin-bottom:12px;overflow-y:auto}.nature-map-expand{z-index:3;border:1px solid var(--color-border);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-black);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:6px 8px;display:inline-flex;position:absolute;top:8px;right:8px}.nature-map-expand span:last-child{font-size:12px}.nature-safety-map.is-expanded{z-index:1200;background:var(--color-bg);width:auto;height:auto;max-height:none;position:fixed;inset:8px;box-shadow:0 0 0 20px #0009}.nature-safety-map .nature-alert-map-legend{max-width:min(330px,100% - 124px)}.nature-station-actions{flex-wrap:wrap}.nature-beach-level.level-low{background:var(--nature-risk-low)}.nature-beach-level.level-moderate{background:var(--nature-risk-moderate);color:var(--nature-risk-moderate-text)}.nature-beach-level.level-high{background:var(--nature-risk-high)}.nature-beach-level.level-unavailable{background:var(--nature-risk-unavailable)}.condado-water-button{white-space:normal;text-align:left;gap:8px;max-width:100%}.condado-water-button .material-symbols{color:var(--color-primary-ink);flex-shrink:0}.condado-water-dialog{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--color-black);margin:auto;padding:20px;overflow-y:auto}.condado-water-dialog h2{margin:0 0 12px;font-size:20px}.condado-water-dialog p{overflow-wrap:anywhere;margin:12px 0}.condado-water-dialog .btn{white-space:normal;max-width:100%}.condado-water-dialog::backdrop{background:var(--color-condado-dialog-backdrop)}.water-quality-results{margin-top:16px}.water-quality-stations{padding:0;list-style:none}.water-quality-stations li{align-items:flex-start;gap:12px;margin:16px 0;display:flex}.water-quality-stations li p{margin:6px 0}.water-quality-symbol{flex-shrink:0;width:44px;height:44px}.water-quality-favorable{fill:var(--water-quality-favorable)}.water-quality-exceeds{fill:var(--water-quality-exceeds)}.water-quality-exclamation{fill:var(--water-quality-symbol-ink)}.water-quality-legend p{align-items:center;gap:12px;display:flex}.water-quality-note{color:var(--color-gray-text)}.place-safety-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.lagoon-safety-details{scroll-margin-top:calc(var(--header-height) + 12px)}.nature-map-host{display:contents}body:has(.dashboard-hero){overflow-x:clip}.reference-dashboard .dashboard-hero{margin-inline:calc(50% - 50vw);width:100vw;min-height:clamp(420px,120vw,640px);color:var(--dashboard-hero-ink);background:var(--dashboard-hero-veil), var(--color-primary) url(/hero/user-beach-800.jpg) 30% 60% / cover no-repeat;align-content:end;gap:14px;margin-top:-12px;padding:24px max(18px,50vw - 462px) 20px;display:grid}@media (width>=641px){.reference-dashboard .dashboard-hero{background:var(--dashboard-hero-veil), var(--color-primary) url(/hero/user-beach.jpg) 30% 60% / cover no-repeat;min-height:clamp(460px,62vw,680px);padding-block:40px 28px}}.reference-dashboard .dashboard-hero .dashboard-greeting{margin-bottom:auto}.reference-dashboard .dashboard-hero .dashboard-greeting h1,.reference-dashboard .dashboard-hero .dashboard-greeting p{color:var(--dashboard-hero-ink);text-shadow:0 1px 3px #0009}.reference-dashboard .dashboard-hero .weather-card{border:1px solid var(--dashboard-glass-rim);background:var(--dashboard-glass);-webkit-backdrop-filter:blur(18px)saturate(170%);backdrop-filter:blur(18px)saturate(170%);box-shadow:inset 0 1px 0 var(--dashboard-glass-highlight);color:var(--dashboard-hero-ink);text-shadow:0 1px 2px #0006;border-radius:20px;flex-direction:column;gap:6px;min-width:0;padding:10px 14px 12px;display:flex}.weather-card .dashboard-info-panel{text-shadow:none}.weather-card .dashboard-info>summary{margin:-12px -12px -12px 0}.weather-card-heading{align-items:center;gap:8px;display:flex}.weather-card-heading h2{margin:0;font-size:1rem}.weather-card-heading p{color:var(--dashboard-hero-muted);margin:0 0 0 auto;font-size:.75rem}.weather-card-body{flex-direction:column;gap:10px;display:flex}.weather-card-current{flex-direction:column;gap:6px;min-width:0;display:flex}.weather-card-now{align-items:center;gap:8px;display:flex}.weather-card-icon{color:var(--dashboard-hero-sun);font-size:38px}.weather-card-temp{white-space:nowrap;margin:0;font-size:2.2rem;font-weight:700;line-height:1}.weather-card-temp span{vertical-align:top;margin-left:1px;font-size:.9rem;font-weight:400}.weather-card-summary{flex:auto;min-width:0}.weather-card-summary p{overflow-wrap:anywhere;margin:0;font-size:.85rem;line-height:1.3}.weather-card-summary p+p{color:var(--dashboard-hero-muted)}.weather-card-details{flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.weather-card-details li{align-items:center;gap:3px;display:inline-flex}.weather-card-details .material-symbols{color:var(--dashboard-hero-muted);font-size:15px}.weather-card-source{color:var(--dashboard-hero-muted);margin:0;font-size:.65rem}.weather-card-unavailable{color:var(--dashboard-hero-muted);margin:0;font-size:.85rem}.weather-card-skeleton{opacity:.35;border-radius:12px;min-height:64px}.weather-sun{border-top:1px solid var(--dashboard-glass-rim);grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px;padding-top:10px;display:grid}.weather-sun-time{color:var(--dashboard-hero-muted);flex-direction:column;margin:0;font-size:.7rem;line-height:1.3;display:flex}.weather-sun-time:last-child{text-align:right}.weather-sun-time strong{color:var(--dashboard-hero-ink);white-space:nowrap;font-size:.9rem;font-weight:700}.weather-sun-arc{min-width:0;color:var(--dashboard-hero-muted);flex-direction:column;align-items:center;font-size:.7rem;display:flex}.weather-sun-arc svg{width:100%;max-width:140px;height:40px;display:block;overflow:visible}.weather-sun-path{fill:none;stroke:var(--dashboard-hero-sun);stroke-width:2px;stroke-dasharray:3 4;stroke-linecap:round}.weather-sun-horizon{stroke:var(--dashboard-glass-rim);stroke-width:1px}.weather-sun-now{fill:var(--dashboard-hero-sun)}@media (width>=641px){.reference-dashboard .dashboard-hero .weather-card{padding:14px 20px 16px}.weather-card-heading h2{font-size:1.1rem}.weather-card-body{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:20px;display:grid}.weather-sun{border-top:0;border-left:1px solid var(--dashboard-glass-rim);padding:0 0 0 20px}.weather-sun-arc svg{max-width:180px;height:56px}.weather-sun-time{font-size:.8rem}.weather-sun-time strong{font-size:1.05rem}.weather-card-icon{font-size:48px}.weather-card-temp{font-size:2.8rem}.weather-card-details{font-size:.9rem}}.reference-dashboard .dashboard-summary-row{margin-inline:calc(50% - 50vw);border-bottom:1px solid var(--dashboard-line);grid-template-columns:minmax(0,1fr);width:100vw;margin-top:-14px;display:grid}.reference-dashboard .dashboard-summary-row .dashboard-money-counters{gap:0;margin:0}.reference-dashboard .dashboard-summary-row .dashboard-money-counters>section,.reference-dashboard .dashboard-summary-row .dashboard-pick{border:0;border-radius:0}.reference-dashboard .dashboard-summary-row .dashboard-money-counters>section+section{border-left:1px solid var(--dashboard-line)}.reference-dashboard .dashboard-summary-row .dashboard-pick+.dashboard-money-counters{border-top:1px solid var(--dashboard-line)}.reference-dashboard .dashboard-summary-row .dashboard-money-counters>section{padding:16px 18px}@media (width>=641px){.reference-dashboard .dashboard-summary-row{margin-top:-18px}}@media (width>=900px){.reference-dashboard .dashboard-summary-row.has-pick{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-dashboard .dashboard-summary-row.has-pick .dashboard-money-counters{display:contents}.reference-dashboard .dashboard-summary-row .dashboard-pick+.dashboard-money-counters{border-top:0}.reference-dashboard .dashboard-summary-row.has-pick .dashboard-money-counters>section{border-left:1px solid var(--dashboard-line)}}.reference-dashboard .dashboard-pick{background:var(--color-surface-muted);min-height:220px;color:var(--color-black);align-content:end;justify-items:start;gap:6px;padding:20px 18px;display:grid}.reference-dashboard .dashboard-pick.has-photo{background:var(--dashboard-hero-veil), var(--color-surface-muted) var(--pick-photo) center / cover no-repeat;color:var(--dashboard-hero-ink);text-shadow:0 1px 3px #0009}.dashboard-pick h2{overflow-wrap:anywhere;margin:0;font-size:clamp(1.4rem,5vw,2rem);line-height:1.15}.dashboard-pick-link{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0 4px 0 0;font-size:1rem;font-weight:700;display:inline-flex}.dashboard-pick-link>span:first-child{text-underline-offset:3px;text-decoration:underline}@media (width>=900px){.reference-dashboard .dashboard-pick{min-height:310px;padding:24px}}.reference-dashboard .dashboard-hero.has-pick-photo{background:var(--dashboard-hero-veil), var(--color-primary) var(--hero-photo) center / cover no-repeat}.reference-dashboard .dashboard-hero.is-loading{background:var(--color-primary)}.dashboard-hero-pick{text-shadow:0 1px 3px #0009;justify-items:start;gap:4px;display:grid}.dashboard-hero-pick-label{color:var(--dashboard-hero-muted);margin:0;font-size:.85rem;font-weight:700}.dashboard-hero-pick h2{color:var(--dashboard-hero-ink);overflow-wrap:anywhere;margin:0;font-size:clamp(1.6rem,6vw,2.6rem);line-height:1.15}.dashboard-hero-pick .dashboard-pick-link{color:var(--dashboard-hero-ink)}.reference-dashboard .dashboard-money-counters .dashboard-savings{position:relative}.reference-dashboard .dashboard-money-counters .dashboard-savings-bottom{min-height:64px;padding:0}.reference-dashboard .dashboard-money-counters .dashboard-receipt-shortcut{bottom:10px;right:10px}.reference-dashboard .dashboard-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:calc(100vw - 40px);margin-inline:calc(50% - 50vw + 20px)}.reference-dashboard .dashboard-category{min-height:92px;font-size:.8rem}@media (width>=641px){.reference-dashboard .dashboard-categories{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.reference-dashboard .dashboard-category{min-height:112px;font-size:.95rem}}@media (width>=900px){.reference-dashboard .dashboard-categories{width:calc(100vw - 200px);margin-inline:calc(50% - 50vw + 100px)}}.reference-dashboard .dashboard-category{border:1px solid var(--dashboard-line);background:var(--dashboard-surface);box-shadow:none;color:var(--color-black);font-weight:700}.reference-dashboard .dashboard-category .material-symbols,.reference-dashboard .dashboard-category[data-category] .material-symbols{color:var(--dashboard-green)}.reference-dashboard .dashboard-category .material-symbols{max-width:100%;overflow:hidden}.reference-dashboard .dashboard-category:after{display:none}.reference-dashboard .dashboard-category:hover,.reference-dashboard .dashboard-category:focus-visible{border-color:var(--dashboard-green)}.reference-dashboard .dashboard-categories .dashboard-category{overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto;padding-inline:4px;font-size:clamp(.82rem,3.9vw,1rem)}@media (width>=641px){.reference-dashboard .dashboard-categories .dashboard-category{font-size:1.1rem}}.reference-dashboard .dashboard-categories:has(.category-photo-tile){--photo-room:22px;row-gap:calc(var(--photo-room) + 6px);padding-top:calc(var(--photo-room) + 8px);grid-template-columns:repeat(6,minmax(0,1fr))}.reference-dashboard .dashboard-categories:has(.category-photo-tile)>*{grid-column:span 2}.reference-dashboard .dashboard-categories:has(.category-photo-tile)>.category-photo-tile.is-wide{grid-column:span 3}@media (width>=641px){.reference-dashboard .dashboard-categories:has(.category-photo-tile){--photo-room:30px;grid-template-columns:repeat(4,minmax(0,1fr))}.reference-dashboard .dashboard-categories:has(.category-photo-tile)>*{grid-column:auto}.reference-dashboard .dashboard-categories:has(.category-photo-tile)>.category-photo-tile.is-wide{grid-column:auto}}.category-photo-tile{--figure-width:60%;--figure-top:-24%;--figure-right:0%;--scene-height:66%}.reference-dashboard .dashboard-categories .category-photo-tile{isolation:isolate;background:var(--photo-bg);min-height:100px;color:var(--category-photo-label);text-align:left;border:0;justify-content:flex-end;align-items:flex-start;padding:10px 12px;position:relative;overflow:visible}.reference-dashboard .dashboard-categories .category-photo-tile:focus-visible{outline:3px solid var(--dashboard-green);outline-offset:3px}.category-photo-scene,.category-photo-figure{z-index:0;pointer-events:none;position:absolute;inset:0}.category-photo-scene{border-radius:inherit;overflow:hidden}.category-photo-scene img{width:100%;height:var(--scene-height);object-fit:cover;object-position:center top;position:absolute;bottom:0;left:0}.category-photo-figure img{top:max(var(--figure-top), -1 * var(--photo-room,0px));right:max(var(--figure-right), 0px);width:min(var(--figure-width), 100%);height:auto;position:absolute}.category-photo-tile.is-rise .category-photo-figure{clip-path:inset(-200% 0 0 0 round 0 0 var(--radius-card) var(--radius-card))}.category-photo-label{z-index:1;overflow-wrap:normal;font-size:clamp(.92rem,4vw,1.2rem);font-weight:700;line-height:1.15;position:relative}@media (width>=641px){.reference-dashboard .dashboard-categories .category-photo-tile{min-height:112px;padding:12px 16px}.category-photo-label{font-size:1.1rem}}.category-photo-tile[data-category=food]{--photo-bg:var(--category-photo-food);--figure-width:74%;--figure-top:-26%;--figure-right:0%}.category-photo-tile[data-category=casinos]{--photo-bg:var(--category-photo-casino);--figure-width:64%;--figure-top:-24%;--figure-right:0%}.category-photo-tile[data-category=beaches]{--photo-bg:var(--category-photo-sky);--figure-width:46%;--figure-top:-26%;--figure-right:4%}@media (width>=900px){.category-photo-tile[data-category=food]{--figure-width:58%;--figure-top:-24%}.category-photo-tile[data-category=casinos]{--figure-width:36%;--figure-top:-26%;--figure-right:6%}.category-photo-tile[data-category=beaches]{--figure-width:32%;--figure-top:-24%;--figure-right:6%}.category-photo-label{font-size:1.25rem}.category-photo-tile[data-category=beaches] .category-photo-label{max-width:62%}}.reference-dashboard .dashboard-money-counters .dashboard-savings,.reference-dashboard .dashboard-savings{background:var(--dashboard-savings-start)}.reference-dashboard .dashboard-summary-row .dashboard-savings-bottom{min-height:0;margin-top:auto;padding:16px 0 0}.reference-dashboard .dashboard-summary-row .dashboard-receipt-shortcut{border-radius:var(--radius-pill);background:var(--dashboard-hero-sun);width:fit-content;height:auto;min-height:44px;color:var(--category-tile-ink);box-shadow:none;border:0;flex-direction:row;align-items:center;gap:8px;padding:0 18px 0 14px;font-size:.9rem;font-weight:700;display:inline-flex;position:static}.reference-dashboard .dashboard-summary-row .dashboard-receipt-shortcut .material-symbols{font-size:22px}.page-navigation{flex-wrap:wrap;flex:none;gap:8px;width:min(100%,1200px);margin-inline:auto;padding:16px;display:flex}.navigation-action{border:1px solid var(--color-savings-dark);background:var(--color-surface);min-height:44px;color:var(--color-black);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.navigation-action .material-symbols{flex:none;width:1em;font-size:18px}.navigation-action.is-primary{background:var(--color-savings-dark);color:var(--color-on-gradient)}.navigation-action:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}:root[data-theme=dark] .navigation-action{border-color:var(--color-savings-light)}.page-navigation+.walk-page{height:calc(100dvh - var(--header-height) - var(--page-navigation-height,76px))}.footer-home-link{align-items:center;gap:6px;display:inline-flex}.footer-home-link .material-symbols{font-size:1em}.modal-parent-navigation{max-width:calc(100% - 48px);margin-bottom:14px}.reference-dashboard .home-money-counters{width:min(100vw - 16px,760px);margin-inline:calc(50% + min(100vw - 16px,760px)/-2)}.reference-dashboard .home-money-counters .dashboard-money-counters{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:stretch;gap:4px;margin:0;position:relative}.reference-dashboard .home-money-counters .dashboard-money-counters>section{border:1px solid var(--dashboard-line);border-radius:16px;min-height:96px;padding:8px}.home-money-counters .dashboard-savings{grid-area:1/1}.home-money-counters .dashboard-expense-tracker{grid-area:1/3}.home-money-counters .dashboard-savings-heading h2,.home-money-counters .dashboard-expense-tracker h2{white-space:nowrap;min-width:0;min-height:0;font-size:clamp(.7rem,2.5vw,1rem)}.home-money-counters .dashboard-savings-heading{min-height:0}.home-money-counters .dashboard-savings-stats{margin-top:8px}.home-money-counters .dashboard-saved>span,.home-money-counters .dashboard-expense-label{font-size:.75rem}.home-money-counters .dashboard-expense-label{margin-top:8px}.reference-dashboard .home-money-counters .savings-amount,.home-money-counters .dashboard-money-counters .expense-amount{font-size:clamp(1.15rem,4vw,1.8rem)}.reference-dashboard .home-money-counters .dashboard-receipt-shortcut{border:1px solid var(--dashboard-line);background:linear-gradient(135deg, var(--dashboard-savings-start), var(--dashboard-surface));width:64px;height:64px;min-height:44px;color:var(--dashboard-gold);text-align:center;border-radius:50%;flex-direction:column;grid-area:1/2;justify-content:center;place-self:center;gap:2px;padding:6px;font-size:.65rem;font-weight:700;line-height:1.15;display:flex;position:static}.reference-dashboard .home-money-counters .dashboard-receipt-shortcut .material-symbols{font-size:26px}.home-money-counters .dashboard-info-panel{z-index:10}.home-money-counters+.dashboard-hero{margin-top:0}.home-money-counters .dashboard-money-counters>section{position:relative}.home-money-counters .counter-details-link{color:inherit;text-decoration:none}.home-money-counters .counter-details-link:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.home-money-counters .dashboard-savings-heading .savings-info{z-index:3;position:absolute;top:0;right:0}.home-money-counters .dashboard-money-counters>section:has(.counter-details-link:focus-visible){outline:2px solid var(--color-primary);outline-offset:3px}.home-money-counters .savings-info>summary{place-items:start end;padding:4px}.home-money-counters .dashboard-savings-heading,.home-money-counters .dashboard-savings-stats{z-index:auto;position:static}.reference-dashboard .home-overview-strip{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;width:calc(100vw - 16px);margin-inline:calc(50% + -50vw + 8px);display:grid}.reference-dashboard .home-overview-strip>.home-money-counters{width:100%;min-width:0;margin:0}.home-overview-strip+.dashboard-hero{margin-top:0}.home-overview-strip .dashboard-money-counters>section{container-type:inline-size}.home-overview-strip .dashboard-money-counters h2{font-size:clamp(.7rem,9cqi,1rem)}.home-overview-strip .dashboard-savings-stats,.home-overview-strip .dashboard-saved>.savings-amount{margin-top:0}.home-saved-percentages{pointer-events:none;justify-content:space-between;gap:2px;display:flex;bottom:2px;left:6px;right:6px;z-index:0!important;position:absolute!important}.home-saved-percentages>span{background:var(--category-tile-ink);color:var(--category-tile-lime);white-space:nowrap;border-radius:4px;flex-direction:column;align-items:center;padding:1px 3px;display:flex}.home-weather-card{--home-weather-ink:var(--dashboard-hero-ink);border:1px solid var(--dashboard-line);background:var(--dashboard-hero-veil), url(/hero/user-beach-800.jpg) center 55% / cover;min-width:0;color:var(--home-weather-ink);border-radius:16px;padding:8px 10px}.home-weather-card.is-night{background:linear-gradient(var(--category-tile-ink), var(--category-tile-green-ink))}.home-weather-heading{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.home-weather-heading h2{margin:0;font-size:.8rem}.home-weather-outlook{align-items:center;gap:8px;min-height:42px;margin-top:4px;display:flex}.home-weather-current{flex:0 100px;align-items:center;gap:3px;min-width:0;font-size:.65rem;display:flex}.home-weather-current strong{white-space:nowrap;font-size:1.25rem}.home-weather-current .material-symbols{color:var(--dashboard-hero-sun);font-size:26px}.home-weather-current .skeleton{width:100%;min-height:35px}.home-weather-hours{flex:0 auto;grid-template-columns:repeat(3,minmax(0,max-content));justify-content:start;gap:4px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.home-weather-hours li{flex-direction:column;align-items:center;min-width:0;font-size:.6rem;display:flex}.home-weather-hour-value{white-space:nowrap;align-items:center;gap:2px;display:flex}.home-weather-hour-value .material-symbols{color:var(--dashboard-hero-sun);font-size:18px}.home-weather-missing{font-size:.65rem}.home-weather-card .weather-sun{border-top:1px solid var(--dashboard-glass-rim);gap:4px;margin-top:4px;padding-top:4px}.home-weather-card .weather-sun-time strong{color:inherit;font-size:.7rem}.home-weather-card .weather-night-sky{fill:var(--dashboard-hero-sun)}.home-weather-source{margin-top:3px;font-size:.5rem;display:block}@media (width>=800px){.reference-dashboard .home-overview-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}#receipt-savings{scroll-margin-top:calc(var(--header-height) + 16px)}.home-saved-percentages b{font-size:.6rem;line-height:10px}.home-saved-percentages small{font-size:.46rem;line-height:8px}.home-overview-strip .dashboard-expense-label,.home-overview-strip .dashboard-money-counters .expense-amount{margin-top:0}.reference-dashboard .home-overview-strip .savings-amount,.home-overview-strip .dashboard-money-counters .expense-amount{font-size:clamp(1.15rem,4vw,1.3rem)}.home-overview-strip .dashboard-saved>a{font-size:.65rem;line-height:1.1;display:block}.home-weather-card{padding:12px 14px}.home-weather-heading h2{font-size:1rem}.home-weather-heading>span{font-size:.75rem}.home-weather-current strong{font-size:1.75rem}.home-weather-current .material-symbols{font-size:32px}.home-weather-hours li{font-size:.75rem}.home-weather-hour-value .material-symbols{font-size:23px}.home-weather-rain{font-size:.7rem}.home-weather-card .weather-sun{margin-top:8px;padding-top:8px}.home-weather-card .weather-sun-time{font-size:.7rem}.home-weather-card .weather-sun-time strong{font-size:1rem}.home-weather-card .weather-sun-arc{font-size:.7rem}.home-weather-card .weather-sun-arc svg{max-width:100%;height:72px}.home-weather-source{font-size:.65rem}@media (width>=800px){.reference-dashboard .home-overview-strip>.home-money-counters,.home-overview-strip .dashboard-money-counters{height:100%}.reference-dashboard .home-overview-strip .dashboard-money-counters>section{min-height:210px;padding:14px}.home-overview-strip .dashboard-money-counters h2{font-size:clamp(.8rem,7cqi,1.1rem)}.home-overview-strip .dashboard-saved>span,.home-overview-strip .dashboard-expense-label{font-size:.9rem}.home-overview-strip .dashboard-savings-stats,.home-overview-strip .dashboard-expense-label{margin-top:16px}.reference-dashboard .home-overview-strip .savings-amount,.home-overview-strip .dashboard-money-counters .expense-amount{margin-top:8px;font-size:clamp(1.6rem,12cqi,2.5rem)}.home-overview-strip .home-saved-percentages{bottom:10px;left:10px;right:10px}.home-overview-strip .home-saved-percentages b{font-size:.8rem;line-height:15px}.home-overview-strip .home-saved-percentages small{font-size:.6rem;line-height:12px}}.home-overview-strip .dashboard-expense-tracker{background:var(--home-expense-bg);color:var(--home-sky-ink)}.home-overview-strip .dashboard-expense-tracker .dashboard-expense-label{color:var(--home-sky-ink)}.home-overview-strip .dashboard-expense-tracker .expense-amount{color:var(--home-expense-amount)}.home-overview-strip .home-saved-percentages>span:first-child:has(small+small){grid-template-columns:auto auto;column-gap:3px;display:grid}.home-overview-strip .home-saved-percentages>span:first-child:has(small+small) small:first-of-type{grid-area:1/1/auto/-1}.home-overview-strip .home-saved-percentages>span:first-child:has(small+small) b{grid-area:2/1}.home-overview-strip .home-saved-percentages>span:first-child:has(small+small) small:last-child{grid-area:2/2}.home-weather-card,.home-weather-card.is-night{isolation:isolate;--home-weather-ink:var(--home-sky-ink);--dashboard-hero-muted:var(--home-sky-ink);--dashboard-hero-ink:var(--home-sky-ink);background:var(--home-sky-night);color:var(--home-sky-ink);position:relative;overflow:hidden}.home-weather-card:before{content:"";z-index:-2;background:radial-gradient(ellipse at var(--sky-sun-x) var(--sky-sun-y),var(--home-sky-day) 0 15%,transparent 65%),linear-gradient(var(--home-sky-day),var(--home-sky-day-horizon));opacity:var(--sky-daylight);position:absolute;inset:0}.home-weather-card.sky-cloudy:before{background:linear-gradient(var(--home-sky-storm),var(--home-sky-cloud-shape))}.home-weather-card.sky-rain:before{background:linear-gradient(var(--home-sky-storm),var(--home-sky-moon-dark))}.home-weather-card.sky-unknown:before{background:var(--home-sky-storm)}.home-weather-card:after{content:"";background:linear-gradient(var(--home-sky-night),transparent 45%,var(--home-sky-night));opacity:.45;z-index:-1;pointer-events:none;position:absolute;inset:0}.home-sky-scene{z-index:-2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.home-sky-sun{left:var(--sky-sun-x);top:var(--sky-sun-y);background:radial-gradient(circle,var(--home-sky-ink) 0 8%,var(--home-sky-sun) 16%,transparent 70%);width:42px;height:42px;opacity:var(--sky-daylight);border-radius:50%;position:absolute;transform:scale(2)}.sky-unknown .home-sky-sun,.sky-cloudy .home-sky-sun,.sky-rain .home-sky-sun{display:none}.home-sky-stars{background-image:radial-gradient(circle at 12% 20%,var(--home-sky-ink) 1px,transparent 2px),radial-gradient(circle at 45% 12%,var(--home-sky-ink) 1px,transparent 2px),radial-gradient(circle at 78% 35%,var(--home-sky-ink) 1px,transparent 2px);opacity:calc(1 - var(--sky-daylight));position:absolute;inset:0 0 48%}.sky-cloudy .home-sky-stars,.sky-rain .home-sky-stars{display:none}.home-sky-landscape{filter:brightness(var(--sky-photo-light)) saturate(var(--sky-photo-saturation));background:url(/weather/san-juan-coast.webp) 50%/cover no-repeat;position:absolute;inset:0}.home-weather-card.sky-partial .home-sky-landscape,.home-weather-card.sky-partial .home-sky-fortress-lights{background-image:url(/weather/san-juan-partly-cloudy.webp)}.home-weather-card.sky-cloudy .home-sky-landscape,.home-weather-card.sky-rain .home-sky-landscape,.home-weather-card.sky-cloudy .home-sky-fortress-lights,.home-weather-card.sky-rain .home-sky-fortress-lights{background-image:url(/weather/san-juan-overcast.webp)}.home-weather-card.sky-rain .home-sky-landscape{filter:brightness(calc(var(--sky-photo-light) * .75)) saturate(.55)}.home-weather-card.sky-unknown .home-sky-landscape{-webkit-mask-image:linear-gradient(#0000 35%,#000 60%);mask-image:linear-gradient(#0000 35%,#000 60%)}.home-sky-fortress-lights{pointer-events:none;filter:sepia()saturate(3.5)brightness(1.3);opacity:.85;background:url(/weather/san-juan-coast.webp) 50%/cover no-repeat;position:absolute;inset:0;-webkit-mask:url(/weather/fortress-lights-mask.svg) 50%/cover no-repeat;mask:url(/weather/fortress-lights-mask.svg) 50%/cover no-repeat}.home-weather-card.sky-rain .home-sky-fortress-lights{opacity:.6}.home-sky-twilight{background:linear-gradient(0deg,var(--home-sky-dawn),transparent 72%),linear-gradient(105deg,var(--home-sky-dusk),transparent 65%);opacity:var(--sky-warmth);mix-blend-mode:soft-light;position:absolute;inset:0}.sky-rain .home-sky-twilight,.sky-cloudy .home-sky-twilight,.sky-unknown .home-sky-twilight{display:none}.home-sky-clouds{background:linear-gradient(var(--home-sky-storm),transparent 80%);opacity:.1;position:absolute;inset:0}.home-sky-rain{background:var(--home-sky-cloud);opacity:.65;position:absolute;inset:-30px 0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='42' viewBox='0 0 36 42'%3E%3Cpath d='M12 4l-4 10m24 13l-4 10' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='42' viewBox='0 0 36 42'%3E%3Cpath d='M12 4l-4 10m24 13l-4 10' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-size:36px 42px;mask-size:36px 42px}.home-weather-card.is-night .home-sky-clouds{opacity:.4}.home-weather-card.sky-rain .home-sky-clouds{opacity:.8;background-size:80% 100%}.home-sky-moon{right:6%;top:var(--sky-moon-y);position:absolute}.home-sky-moon .moon-light{fill:var(--home-sky-ink)}.home-sky-moonlight{opacity:var(--sky-moon-light);background:radial-gradient(ellipse at 88% 28%,color-mix(in srgb,var(--home-sky-ink) 10%,transparent),transparent 52%), radial-gradient(ellipse at 70% 89%,color-mix(in srgb,var(--home-sky-ink) 16%,transparent),transparent 24%);position:absolute;inset:0}.home-sky-moonlight:after{content:"";background:repeating-linear-gradient(0deg,transparent 0 4px,color-mix(in srgb,var(--home-sky-ink) 12%,transparent) 5px 6px,transparent 7px 9px);width:13%;position:absolute;top:65%;bottom:0;left:65%;-webkit-mask-image:radial-gradient(#000,#0000 70%);mask-image:radial-gradient(#000,#0000 70%)}.home-sky-moon:before{content:"";background:radial-gradient(closest-side,color-mix(in srgb,var(--home-sky-sun) 65%,transparent),transparent);opacity:var(--sky-moon-light);border-radius:50%;position:absolute;inset:-45%}.home-sky-moon .home-moon-disk{filter:brightness(1.25);width:clamp(28px,4.5vw,56px);height:clamp(28px,4.5vw,56px);position:relative}@media (width<=359px){.home-sky-moon{right:4px}.home-sky-moon .home-moon-disk{width:12px;height:12px}}.home-weather-card .weather-sun-arc .home-moon-disk{flex:0 0 14px;width:14px;height:14px}.moon-dark{fill:var(--home-sky-moon-dark)}.moon-light{fill:var(--home-sky-sun)}.home-moon-label{white-space:nowrap;align-items:center;gap:3px;font-size:clamp(.48rem,1.2vw,.7rem);display:flex}.home-weather-card .weather-sun-noon{fill:var(--home-sky-ink);font-size:11px}.weather-time-marker{stroke:var(--home-sky-ink);stroke-width:1px;stroke-dasharray:2 2}.home-overview-strip .dashboard-saved>.home-guide-cost{white-space:nowrap;font-size:clamp(.54rem,7cqi,.72rem)}@media (width>=800px){.home-overview-strip .dashboard-saved>.home-guide-cost{font-size:clamp(.65rem,6cqi,.9rem)}}.home-weather-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-top:4px;display:flex}.home-weather-footer .home-weather-source{flex:170px;min-width:0;margin:0}.home-weather-footer .home-weather-source small,.home-weather-footer [role=status]{font-size:.65rem;display:block}.home-weather-alert-button{border:1px solid var(--home-sky-sun);background:var(--home-sky-sun);min-height:44px;color:var(--home-sky-night);border-radius:12px;padding:6px 10px;font-size:.7rem;font-weight:700}.home-weather-alert-button:focus-visible{outline:2px solid var(--home-sky-ink);outline-offset:2px}.home-weather-alert-dialog{overscroll-behavior:contain;border:1px solid var(--color-border);background:var(--color-card);width:min(680px,92vw);max-height:85dvh;color:var(--color-black);border-radius:20px;padding:20px;overflow-y:auto}.home-weather-alert-dialog::backdrop{background:var(--home-sky-night);opacity:.7}.home-weather-alert-dialog header{justify-content:space-between;align-items:start;gap:12px;display:flex}.home-weather-alert-dialog h2{margin:0;font-size:1.2rem}.home-weather-alert-dialog button{min-width:44px;min-height:44px}.home-weather-alert-dialog article{border-top:1px solid var(--color-border);padding-block:14px}.home-weather-alert-text{white-space:pre-wrap;overflow-wrap:anywhere}.home-weather-original-label{color:var(--color-gray-text);font-size:.85rem}.reference-dashboard .home-overview-strip .savings-amount,.home-overview-strip .dashboard-money-counters .expense-amount{font-size:min(1.5rem, calc(100cqi / var(--counter-characters,6) / .62));white-space:nowrap;line-height:1}@media (width>=800px){.reference-dashboard .home-overview-strip .savings-amount,.home-overview-strip .dashboard-money-counters .expense-amount{font-size:min(clamp(1.6rem, 20cqi, 4rem), calc(100cqi / var(--counter-characters,6) / .62))}}.home-weather-alert-dialog article{border:1px solid var(--home-weather-alert-red);background:var(--home-sky-night);color:var(--home-sky-ink);border-radius:12px;margin-block:12px;padding:12px}.home-weather-alert-dialog article h3{color:var(--home-weather-alert-red)}.home-weather-alert-dialog article .home-weather-original-label{color:inherit}.home-weather-alert-dialog article .nature-details{color:inherit;background:0 0}.home-weather-alert-dialog article a{color:inherit;text-decoration:underline}.nature-safety-page .nature-notice-card{border:1px solid var(--nature-notice-accent);border-radius:12px;margin-block:12px;padding:12px}.nature-safety-page .nature-notice-card h3{color:var(--nature-notice-accent)}.nature-alert-count{margin-block:8px;font-weight:700}.nature-safety-page .nature-notice-low{--nature-notice-accent:var(--nature-risk-low)}.nature-safety-page .nature-notice-moderate{--nature-notice-accent:var(--nature-risk-moderate)}.nature-safety-page .nature-notice-high{--nature-notice-accent:var(--nature-risk-high)}main.nearby-page{max-width:none;height:calc(100dvh - var(--header-height) - var(--page-navigation-height,76px));flex-direction:column;gap:0;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.nearby-map-column{flex-direction:column;flex:1;min-height:0;display:flex}.nearby-filters{flex:none;padding:0 12px 8px}.nearby-filters .scroll-row-track{justify-content:flex-start}.nearby-map{flex:1;min-height:0;position:relative}.nearby-map .guide-places-map{border:0;border-radius:0;height:100%}.nearby-map .guide-shared-location{top:12px;bottom:auto}.nearby-locate{z-index:2;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);width:44px;height:44px;color:var(--color-black);cursor:pointer;place-items:center;display:grid;position:absolute;top:88px;right:10px}.nearby-route-stop{border-radius:var(--radius-pill);background:var(--color-surface);border:2px solid var(--color-primary-ink);width:28px;height:28px;color:var(--color-primary-ink);place-items:center;display:grid}.nearby-route-stop .material-symbols{font-size:18px}.nearby-sheet{z-index:3;overscroll-behavior:contain;background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:20px 20px 0 0;max-height:46%;padding:4px 16px 20px;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.nearby-sheet:has(.nearby-route){max-height:60%}.nearby-page.is-expanded .nearby-sheet{max-height:85%}.nearby-grab{z-index:1;background:var(--color-surface);cursor:pointer;border:0;justify-content:center;width:calc(100% + 32px);min-height:44px;margin:-4px -16px 0;padding:10px 0 8px;display:flex;position:sticky;top:-4px}.nearby-grab-bar{border-radius:var(--radius-pill);background:var(--color-gray-mid);width:40px;height:5px}.nearby-sheet h2{margin:8px 0 4px;font-size:20px}.nearby-sub{color:var(--color-gray-text);margin:0 0 8px;font-size:14px}.nearby-alert{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;font-size:14px;display:flex}.nearby-prompt{background:var(--color-card);margin:8px 0 12px}.nearby-sheet .context-hint{margin:8px 0}.nearby-list{margin:0;padding:0;list-style:none}.nearby-list li+li{border-top:1px solid var(--color-border)}.nearby-row{width:100%;min-height:56px;color:var(--color-black);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:8px 0;display:flex}.nearby-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.nearby-row-name{overflow-wrap:anywhere;font-weight:700}.nearby-row-sub{color:var(--color-gray-text);font-size:14px}.nearby-row .material-symbols{color:var(--color-gray-text)}.nearby-sheet-head{justify-content:space-between;gap:8px;padding-top:8px;display:flex}.nearby-back{min-height:44px;color:var(--color-black);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0 4px;font-weight:700;display:inline-flex}.nearby-place-top{align-items:flex-start;gap:12px;display:flex}.nearby-place-top>div{min-width:0}.nearby-place-photo{object-fit:cover;background:var(--color-surface-muted);border-radius:16px;flex:none;width:88px;height:88px}.nearby-note{background:var(--color-card);border-radius:12px;margin:8px 0 0;padding:10px 12px;font-size:14px}.nearby-actions{flex-direction:column;gap:8px;margin-top:16px;display:flex}.nearby-origin{gap:12px;margin:8px 0 12px;display:grid}.nearby-origin>.nearby-location-action{justify-self:start;width:auto;padding:10px 16px;font-size:14px}.nearby-options{gap:10px;margin-top:8px;display:grid}.nearby-option{border:1px solid var(--color-border);background:var(--color-card);border-radius:16px;padding:14px 16px}.nearby-route>.nearby-option{margin-top:10px}.nearby-option.is-best{border:2px solid var(--color-primary)}.nearby-option h3{align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.nearby-option h3 .material-symbols{color:var(--color-primary-ink)}.nearby-option-time{margin-left:auto;font-size:15px}.nearby-option-sub{color:var(--color-gray-text);flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0;font-size:14px;display:flex}.nearby-option-link{align-items:center;gap:6px;margin-top:10px;display:inline-flex}.nearby-option-link .material-symbols{font-size:18px}.nearby-dot{background:var(--color-gray-mid);border-radius:50%;width:10px;height:10px}.nearby-dot.is-on{background:var(--color-primary)}.nearby-steps{gap:8px;margin:10px 0 0;padding:0;font-size:15px;list-style:none;display:grid}.nearby-steps li{align-items:flex-start;gap:8px;display:flex}.nearby-steps .material-symbols{color:var(--color-gray-text);flex:none;font-size:20px}.nearby-about{color:var(--color-gray-text);margin-top:14px;font-size:14px}.nearby-about summary{cursor:pointer;align-items:center;gap:6px;min-height:44px;display:flex}.nearby-about p{margin:6px 0}.nearby-about a{color:inherit}@media (width>=900px){main.nearby-page{flex-direction:row}.nearby-sheet{border-top:0;border-right:1px solid var(--color-border);border-radius:0;flex:0 0 380px;order:-1;max-height:none;padding:8px 20px 24px;position:static}.nearby-page.is-expanded .nearby-sheet{max-height:none}.nearby-sheet:has(.nearby-route){max-height:none}.nearby-grab{display:none}.nearby-filters{padding:0 16px 8px}}.nearby-sheet .btn-secondary{border:1px solid var(--color-border)}.admin-tools{flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 16px;display:flex}.admin-tools .btn{gap:8px}.admin-tools .admin-error{margin:0}.nature-safety-page.beach-safety{gap:0;max-width:none;padding:0}.beach-safety-layout{grid-template-columns:minmax(0,1fr);display:grid}.beach-safety-map-pane{background:var(--color-bg);flex-direction:column;display:flex}.beach-safety-bar{align-items:center;gap:8px;padding:8px 12px;display:flex}.beach-safety-category{flex:1;align-items:center;min-width:0;display:flex;position:relative}.beach-safety-category select{appearance:none;border:1px solid var(--color-primary);border-radius:var(--radius-pill);background:var(--color-primary);width:100%;min-height:44px;color:var(--color-on-primary);font:inherit;cursor:pointer;text-overflow:ellipsis;padding:0 40px 0 16px;font-size:22px;font-weight:700}.beach-safety-category .material-symbols{pointer-events:none;color:var(--color-on-primary);font-size:26px;position:absolute;right:12px}.beach-safety-category select:focus-visible{outline:2px solid var(--color-black);outline-offset:3px}.beach-safety-category option{background:var(--color-surface);color:var(--color-black)}.beach-safety-bar .beach-conditions{flex-wrap:nowrap;flex:none;margin:0}.beach-safety-icon-btn{border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-black);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.beach-safety-icon-btn:disabled{opacity:.5;cursor:default}.beach-safety .nature-safety-map{border-inline:0;border-radius:0;height:52dvh;min-height:300px}.nature-map-locate{z-index:3;border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-black);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:60px;right:8px}.nature-map-locate:disabled{opacity:.6}.beach-safety .nature-map-pin.risk-low{border-color:var(--nature-risk-low)}.beach-safety .nature-map-pin.risk-moderate{border-color:var(--nature-risk-moderate)}.beach-safety .nature-map-pin.risk-high{border-color:var(--nature-risk-high)}.beach-safety .nature-map-dot.risk-low:after{background:var(--nature-risk-low)}.beach-safety .nature-map-dot.risk-moderate:after{background:var(--nature-risk-moderate)}.beach-safety .nature-map-dot.risk-high:after{background:var(--nature-risk-high)}.beach-safety .nature-map-pin.risk-unavailable{border-color:var(--nature-risk-unavailable)}.beach-safety .nature-map-dot.risk-unavailable:after{background:var(--nature-risk-unavailable)}.beach-safety .nature-map-pin.is-selected{z-index:2;border-width:3px;font-weight:700}.beach-safety .nature-map-dot.is-selected:after{border-width:3px;width:18px;height:18px}.beach-safety-side{flex-direction:column;gap:16px;min-width:0;padding:16px;display:flex}.beach-safety-side h2{margin:0;font-size:18px}.beach-safety-status p{color:var(--color-gray-text);margin:0 0 4px;font-size:14px}.beach-safety .nature-safety-summary{scroll-margin-top:calc(var(--header-height) + 8px)}.beach-safety-summary-top{align-items:flex-start;gap:8px;display:flex}.beach-safety-summary-top h2{flex:1;min-width:0;font-size:20px}.beach-safety-summary-actions{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.beach-safety-summary-actions .btn{flex:1;gap:6px;min-height:44px}.beach-safety-summary-actions .material-symbols{font-size:20px}.beach-safety .nature-regional-notices{flex-direction:column;gap:8px;display:flex}.nature-regional-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.nature-regional-top .nature-alert-count,.beach-safety .nature-regional-notices>p{color:var(--color-gray-text);margin:0;font-size:14px}.nature-regional-alert{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px}.nature-regional-alert summary{cursor:pointer;grid-template-columns:12px minmax(0,1fr);align-items:center;column-gap:10px;min-height:44px;padding:10px 12px;list-style:none;display:grid}.nature-regional-alert summary::-webkit-details-marker{display:none}.nature-regional-alert summary:before{content:"";background:var(--alert-color,var(--nature-notice-accent));border-radius:50%;grid-area:1/1/span 3;align-self:start;width:12px;height:12px;margin-top:4px}.nature-regional-alert summary>*{grid-column:2;min-width:0}.nature-regional-maximum{font-size:13px}.nature-regional-alert summary h3{margin:0;font-size:15px}.nature-regional-area{color:var(--color-gray-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.nature-regional-alert[open] .nature-regional-area{white-space:normal}.beach-safety .nature-regional-alert .nature-notice-card{margin:0 12px 12px}.nature-inline-retry{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px;font-weight:700;text-decoration:underline}.beach-safety-list{flex-direction:column;gap:8px;display:flex}.beach-safety-search{gap:6px;font-weight:700;display:grid}.beach-safety-search input{border:1px solid var(--color-gray-mid);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-black);font:inherit;border-radius:12px;padding:8px 12px}.beach-safety-locate{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;display:flex}.beach-safety-locate p{flex:1;min-width:160px;margin:0}.beach-safety-rows{flex-direction:column;gap:0;margin:0;display:flex}.beach-safety-rows li+li{border-top:1px solid var(--color-border)}.beach-safety-rows .beach-safety-row{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;min-height:56px;padding:10px 4px;display:grid}.beach-safety-rows .beach-safety-row[aria-current]{background:var(--color-surface-muted);border-radius:10px}.beach-safety-row-name{font-weight:700}.beach-safety-row-meta{color:var(--color-gray-text);grid-column:1;font-size:13px}.beach-safety-row-badges{flex-direction:column;grid-area:1/2/span 2;align-items:flex-end;gap:4px;display:flex}.beach-safety-row-badges:empty{display:none}.beach-safety-row-alert,.beach-safety-risk{white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.beach-safety-row-alert{color:var(--nature-notice-accent)}.beach-safety-row-alert .material-symbols{font-size:16px}.beach-safety-risk{border-radius:var(--radius-pill);color:var(--nature-risk-text);padding:2px 8px}.beach-safety-risk.risk-low{background:var(--nature-risk-low)}.beach-safety-risk.risk-moderate{background:var(--nature-risk-moderate);color:var(--nature-risk-moderate-text)}.beach-safety-risk.risk-high{background:var(--nature-risk-high)}.beach-safety-row-meta:empty{display:none}@media (width>=900px){.beach-safety-layout{grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);align-items:start}.beach-safety-map-pane{top:var(--header-height);height:calc(100dvh - var(--header-height));border-right:1px solid var(--color-border);position:sticky}.beach-safety .nature-safety-map{border:0;border-top:1px solid var(--color-border);flex:1;height:auto;min-height:0}.beach-safety-side{padding:20px 24px 40px}}.beach-safety-row-name,.beach-safety-row-meta{grid-column:1}.nature-freshwater-filters{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.nature-freshwater-filters label{flex-direction:column;gap:4px;font-size:14px;display:flex}.nature-freshwater-filters input,.nature-freshwater-filters select{border:1px solid var(--color-gray-mid);background:var(--color-surface);min-height:44px;color:var(--color-black);font:inherit;border-radius:10px;padding:0 12px}@media (width>=641px){.nature-freshwater-filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.beach-safety .nature-safety-map.is-expanded{border:1px solid var(--color-border);border-radius:var(--radius-card);height:auto;min-height:0}.beach-safety-summary-actions .btn{white-space:nowrap;padding-inline:12px}#nature-mobile-advisories-slot{display:none}@media (width<=640px){#nature-mobile-advisories-slot{flex:1;justify-content:flex-end;align-items:center;min-width:0;margin-left:auto;display:flex}}.nature-mobile-advisories-trigger{align-items:center;gap:6px;min-height:44px;display:inline-flex}.nature-mobile-advisories-trigger.has-notices{border-color:var(--color-alert)}.nature-mobile-advisories-trigger.has-notices .material-symbols{color:var(--color-alert)}.nature-mobile-advisories-dialog{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);width:min(560px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--color-black);margin:auto;padding:16px;overflow:auto}.nature-mobile-advisories-dialog::backdrop{background:var(--color-condado-dialog-backdrop)}.nature-mobile-advisories-dialog>.btn{margin-bottom:12px}.nature-mobile-advisories-trigger{gap:4px;padding:8px 10px;font-size:14px}.swipe-card:has(>.ati-scroll-controls){padding-right:68px}.ati-scroll-controls{float:right;z-index:2;border:1px solid var(--color-primary);background:var(--color-white);border-radius:24px;gap:2px;width:44px;margin-right:-52px;padding-block:2px;display:grid;position:sticky;top:52px}.ati-scroll-controls button{width:42px;min-height:44px;color:var(--color-black);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:22px}.ati-scroll-controls button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}.site-logo{flex-wrap:nowrap;gap:10px}.site-logo-mark{flex:none;width:auto;height:44px;display:block}.site-logo-text{flex-wrap:wrap;column-gap:.35ch;min-width:0;display:inline-flex}.site-logo-text>span{white-space:nowrap}.dashboard-site-header .site-logo{gap:10px}@media (width<=374px){.site-logo,.dashboard-site-header .site-logo{gap:6px}.site-logo-mark{height:36px}}@media (width<=359px){.site-logo-mark{display:none}}.place-transit-access .place-directions-action{border:2px solid var(--color-primary);border-radius:999px;gap:6px}.place-transit-access .nearby-origin>.nearby-location-action{justify-self:start;width:auto;padding:10px 16px;font-size:14px}.nearby-option .ama-app-link svg{fill:currentColor;flex-shrink:0;width:22px;height:22px}.nearby-option .ama-app-android{background:var(--ama-android-brand);color:var(--ama-android-ink);border-color:var(--ama-android-brand)}.nearby-option .ama-app-android .ama-android-eye{fill:var(--ama-android-brand)}.nearby-option .ama-app-apple{background:var(--color-black);color:var(--color-white);border-color:var(--color-black)}.phone-link{text-underline-offset:.15em;text-decoration:underline}@media (width>=900px){.reference-dashboard .dashboard-hero{min-height:clamp(360px,30vw,440px)}.reference-dashboard .dashboard-budget-shortcuts,.dashboard-page>section{width:calc(100vw - 200px);margin-inline:calc(50% - 50vw + 100px)}.home-overview-strip .dashboard-saved>a,.reference-dashboard .home-money-counters .dashboard-receipt-shortcut,.home-weather-heading>span,.home-weather-hours li,.home-weather-rain,.home-weather-card .weather-sun-time,.home-weather-card .weather-sun-arc,.home-moon-label,.home-weather-footer .home-weather-source small,.home-weather-footer [role=status],.home-weather-alert-button{font-size:.8125rem}}.beach-safety-views{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-card);gap:4px;margin:0 12px 8px;padding:4px;display:flex}.beach-safety-view{border-radius:var(--radius-pill);min-height:44px;color:var(--color-black);font:inherit;cursor:pointer;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.beach-safety-view[aria-selected=true]{background:var(--color-primary);color:var(--color-on-primary)}.beach-safety-view:focus-visible{outline:2px solid var(--color-primary-ink);outline-offset:2px}.beach-safety-search-pane{gap:8px;padding:0 12px 8px;display:grid}.beach-safety-results{max-height:40dvh;overflow-y:auto}.beach-safety-list-pane{padding:4px 12px 16px}@media (width>=900px){.beach-safety-list-pane{flex:1;min-height:0;overflow-y:auto}}.transport-links .coffee-directions-action,.place-transit-access .place-directions-action{border:2px solid var(--color-primary);border-radius:999px}.codevisa-route-guide details{border:1px solid var(--color-primary);border-radius:16px;margin-block:12px;padding:12px}.codevisa-route-guide summary{cursor:pointer;font-weight:700}.codevisa-route-guide .btn{border:1px solid var(--color-primary);white-space:normal}.codevisa-destination-panel{border:1px solid var(--color-border);background:var(--color-card);border-radius:20px;margin-block:16px;padding:16px}.codevisa-destination-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.codevisa-destination-header h3{margin:0;font-size:1.1rem}.codevisa-destination-header .budget-badge{flex:none}.codevisa-vehicle-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:12px;margin-block:16px;display:grid}.codevisa-vehicle-button{background:var(--codevisa-vehicle-color);min-width:0;min-height:64px;color:var(--color-on-gradient);font:inherit;cursor:pointer;border:2px solid #0000;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:1.5rem;font-weight:700;display:flex;position:relative}.codevisa-vehicle-button .material-symbols{color:inherit;font-size:26px}.codevisa-vehicle-button[aria-pressed=true],.codevisa-vehicle-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-color:var(--color-on-gradient)}.codevisa-vehicle-check{font-size:14px;position:absolute;top:2px;right:6px}.codevisa-destination-panel .codevisa-live-link{white-space:normal;justify-content:center;align-items:center;gap:8px;width:100%;margin-block:16px;display:flex}.codevisa-selected-vehicle{border:1px solid var(--color-primary);border-radius:16px;padding:12px}.codevisa-selected-vehicle h4{margin-top:0}.codevisa-provisional{font-weight:700}.codevisa-selected-vehicle details{margin-top:12px}.codevisa-selected-vehicle summary{cursor:pointer;font-weight:700}.codevisa-destination-link{margin-block:16px}.codevisa-destination-link .codevisa-live-link{white-space:normal;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.modal[data-card-scroll-controls]{padding-right:64px}.card-scroll-controls{z-index:1002;gap:4px;display:grid;position:fixed}.card-scroll-controls button{border:1px solid var(--color-primary);border-radius:var(--radius-pill);background:var(--color-surface);width:44px;height:44px;color:var(--color-black);font-size:20px}.card-scroll-controls button:disabled{opacity:.4}.card-scroll-controls button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nature-station-actions>.place-transit-access:has(>button[aria-expanded=true]){flex-basis:100%;min-width:0}.parada-row:has(>.place-transit-access){flex-wrap:wrap}.parada-row>.place-transit-access{min-width:0}.parada-row>.place-transit-access:has(>button[aria-expanded=true]){flex-basis:100%}.parada-row:has(>.place-transit-access>button[aria-expanded=true]){border-radius:var(--radius-card)}:root{--motion-fast:.12s;--motion-base:.2s;--motion-slow:.32s;--motion-celebrate:.7s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}@keyframes motion-fade-in{0%{opacity:0}}@keyframes motion-rise-in{0%{opacity:0;transform:translateY(12px)}}@keyframes motion-scale-in{0%{opacity:0;transform:scale(.96)}}@keyframes motion-sheet-up{0%{transform:translateY(100%)}}@keyframes motion-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.95)}}@keyframes motion-slide-from-right{0%{opacity:0;transform:translate(24px)}}@keyframes motion-slide-from-left{0%{opacity:0;transform:translate(-24px)}}@keyframes motion-pop{0%{scale:.6}60%{scale:1.12}to{scale:1}}@keyframes motion-bump{0%{scale:1.3}to{scale:1}}@keyframes motion-halo{0%{opacity:.45;scale:1}to{opacity:0;scale:1.7}}@keyframes motion-skeleton{50%{opacity:.55}}@keyframes motion-stamp{0%{opacity:0;transform:scale(1.8)rotate(-14deg)}55%{opacity:1;transform:scale(.9)rotate(3deg)}75%{transform:scale(1.04)rotate(-1deg)}to{opacity:1;transform:none}}@keyframes motion-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes motion-grow{0%{width:var(--grow-from,0%)}}@keyframes motion-nudge{0%,to{translate:0}50%{translate:0 4px}}@keyframes motion-nudge-right{0%,to{transform:translate(0)}50%{transform:translate(4px)}}main{animation:motion-fade-in var(--motion-base) var(--ease-out)}.btn,.journey-node,.walk-icon-btn,.walk-stop-nav-btn,.walk-instruction,.poi-marker,.survey-option,.duration-option,.place-card,.place-row,.dashboard-wide-btn,.dashboard-quick-btn,.dashboard-scan-btn,.beach-pin,.beaches-tab,.modal-close,.modal-icons a,.swipe-arrow,.profile-menu-trigger,.admin-icon-btn,.admin-nav-link{transition:scale var(--motion-fast) var(--ease-out), translate var(--motion-base) var(--ease-out), background-color var(--motion-base) var(--ease-out), border-color var(--motion-base) var(--ease-out), color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out)}:is(.btn,.journey-node,.walk-icon-btn,.walk-stop-nav-btn,.walk-instruction,.poi-marker,.survey-option,.duration-option,.theme-picker-option,.place-card,.place-row,.dashboard-wide-btn,.dashboard-quick-btn,.dashboard-scan-btn,.beach-pin,.beaches-tab,.modal-close,.modal-icons a,.swipe-arrow,.profile-menu-trigger,.admin-icon-btn,.admin-nav-link):active:not(:disabled){scale:.96}@media (hover:hover){.place-card:hover,.place-row:hover,.guided-tour-card:hover{box-shadow:var(--shadow-md);translate:0 -2px}}.guided-tour-card{transition:translate var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out)}.modal-overlay{animation:motion-fade-in var(--motion-base) var(--ease-out)}.modal{animation:motion-scale-in var(--motion-slow) var(--ease-out)}.swipe-card-under{transition:scale var(--motion-fast) var(--ease-out), translate var(--motion-fast) var(--ease-out);animation:none}@media (width<=640px){.modal.admin-modal{animation-name:motion-rise-in}}.profile-menu-panel{transform-origin:100% 0;animation:motion-menu-in var(--motion-base) var(--ease-out)}.skeleton{animation:motion-skeleton 1.4s var(--ease-in-out) infinite}.journey-progress-fill{transition:width var(--motion-slow) var(--ease-out)}.journey-progress-fill-grow{animation:motion-grow var(--motion-celebrate) var(--ease-out) .15s both}.journey-road-new{stroke-dasharray:1;animation:motion-draw var(--motion-celebrate) var(--ease-in-out) .15s both}.journey-node-pop{animation:motion-pop var(--motion-slow) var(--ease-spring) .5s both}.journey-node-pop .material-symbols{animation:motion-fade-in var(--motion-base) var(--ease-out) .65s both}.journey-node-current:after{content:"";z-index:-1;border-radius:inherit;background:inherit;animation:motion-halo 2s var(--ease-out) infinite;pointer-events:none;position:absolute;inset:0}.journey-toast{animation:motion-rise-in var(--motion-slow) var(--ease-out)}.walk-instruction-body,.walk-instruction-icon{animation:motion-fade-in var(--motion-base) var(--ease-out)}.walk-instruction-body{animation-name:motion-slide-from-right}.walk-steps{animation:motion-rise-in var(--motion-base) var(--ease-out)}.walk-arrived{animation:motion-rise-in var(--motion-slow) var(--ease-out)}.beach-sheet,.location-prompt.is-floating{animation:motion-rise-in var(--motion-base) var(--ease-out)}.beach-pin-named{animation:motion-pop var(--motion-base) var(--ease-spring)}.walk-arrived-icon{animation:motion-pop .42s var(--ease-spring) 80ms both}.walk-arrived .walk-here-btn{animation:motion-fade-in var(--motion-slow) var(--ease-out) .3s both}.setting-switch-knob{transition:translate var(--motion-base) var(--ease-out)}.poi-card{animation:motion-rise-in var(--motion-slow) var(--ease-out)}.poi-marker-active{animation:motion-pop .42s var(--ease-spring)}.scroll-row-chevron{animation:motion-nudge-right .9s var(--ease-in-out) .4s 1}.walk-instruction-chevron-nudge{animation:motion-nudge .9s var(--ease-in-out) .6s 3}.tour-user-dot{position:relative}.tour-user-dot:after{content:"";border-radius:inherit;background:inherit;animation:motion-halo 2s var(--ease-out) infinite;pointer-events:none;position:absolute;inset:-2px}.discover-overlay{animation:motion-fade-in var(--motion-base) var(--ease-out)}.discover-sheet{animation:motion-sheet-up var(--motion-slow) var(--ease-out)}.passport-modal .insignia{animation:motion-stamp var(--motion-celebrate) var(--ease-out) .2s both}.passport-count strong{font-variant-numeric:tabular-nums}.passport-card{animation:motion-rise-in var(--motion-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms)}.context-hint{border:1px solid var(--color-black);background:var(--color-white);color:var(--color-black);text-align:left;animation:motion-rise-in var(--motion-slow) var(--ease-out) .4s both;border-radius:16px;align-items:flex-start;gap:10px;padding:6px 4px 6px 14px;font-size:14px;line-height:20px;display:flex}.context-hint>.material-symbols{flex:none;margin-top:8px;font-size:20px}.context-hint-text{flex:1;min-width:0;margin:8px 0}.context-hint-close{border-radius:var(--radius-pill);min-width:36px;min-height:36px;color:inherit;background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.context-hint-close .material-symbols{font-size:20px}@media (pointer:coarse){.context-hint-close{min-width:44px;min-height:44px}}.journey-hint{margin:8px 0 0}.walk-view-hint{z-index:500;max-width:min(260px,100vw - 104px);position:absolute;top:76px;right:72px}.reveal{opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);transform:translateY(16px)}.reveal.reveal-in{opacity:1;transform:none}.survey-step-forward{animation:motion-slide-from-right var(--motion-slow) var(--ease-out)}.survey-step-back{animation:motion-slide-from-left var(--motion-slow) var(--ease-out)}.survey-step{gap:inherit;flex-direction:column;display:flex}.survey-dot{transition:width var(--motion-slow) var(--ease-out), opacity var(--motion-slow) var(--ease-out)}.survey-dot-active{width:24px}.tour-pin-badge{animation:motion-pop var(--motion-slow) var(--ease-spring) both;animation-delay:calc(var(--i,0) * 40ms)}.parada-order{animation:motion-pop var(--motion-slow) var(--ease-spring)}.group-online-dot:after{content:"";border-radius:inherit;background:inherit;animation:motion-halo 2.4s var(--ease-out) infinite;pointer-events:none;position:absolute;inset:-2px}.group-copied .material-symbols{animation:motion-pop var(--motion-slow) var(--ease-spring)}.group-notice{animation:motion-fade-in var(--motion-base) var(--ease-out)}.passport-empty-slots{gap:12px;display:flex}.passport-empty-slot{border:2px dashed var(--color-gray-mid);border-radius:var(--radius-pill);width:56px;height:56px;color:var(--color-gray-mid);animation:motion-pop var(--motion-slow) var(--ease-spring) both;animation-delay:calc(.12s + var(--i,0) * 90ms);justify-content:center;align-items:center;display:flex}.passport-empty .passport-empty-slot .material-symbols{font-size:28px}@media (width>=900px){.admin-nav{transition:width var(--motion-base) var(--ease-out)}}.admin-toast{animation:motion-rise-in var(--motion-slow) var(--ease-out);overflow:hidden}.admin-toast:after{content:"";opacity:.4;transform-origin:0;height:3px;animation:motion-toast-countdown var(--toast-duration,8s) linear both;pointer-events:none;background:currentColor;position:absolute;bottom:0;left:0;right:0}@keyframes motion-toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.admin-checklist li{animation:motion-rise-in var(--motion-base) var(--ease-out) both;animation-delay:calc(var(--i,0) * 50ms)}.admin-checklist li:not(.admin-checklist-missing) .material-symbols{animation:motion-pop var(--motion-slow) var(--ease-spring) both;animation-delay:calc(.12s + var(--i,0) * 50ms)}.admin-attention-count{animation:motion-bump var(--motion-slow) var(--ease-out)}.admin-attention-items{animation:motion-rise-in var(--motion-base) var(--ease-out)}.admin-panel{animation:motion-fade-in var(--motion-base) var(--ease-out)}.savings-burst i{animation:motion-savings-spark calc(var(--motion-celebrate) * 2) var(--ease-out) var(--burst-delay) both}@keyframes motion-savings-spark{0%{opacity:0;transform:translate(0)scale(0)}10%{opacity:1;transform:translate(0)scale(1)}80%{opacity:.7}to{transform:translate(var(--spark-x),var(--spark-y)) scale(.2);opacity:0}}.dashboard-category,.budget-shortcut,.dashboard-receipt-shortcut,.dashboard-recommendation-card{transition:scale var(--motion-fast) var(--ease-out)}:is(.dashboard-category,.budget-shortcut,.dashboard-receipt-shortcut,.dashboard-recommendation-card):active{scale:.96}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.savings-fireworks,.journey-node-current:after,.tour-user-dot:after,.group-online-dot:after{display:none}}.home-weather-card:before{transition:opacity 60s linear}.home-sky-sun{transition:left 60s linear,top 60s linear}.home-sky-rain{animation:1.5s linear infinite home-rain}@keyframes home-rain{to{transform:translateY(30px)}}@media (prefers-reduced-motion:reduce){.home-sky-rain{animation:none}.home-weather-card:before,.home-sky-sun{transition:none}}.home-sky-twilight{transition:opacity 60s linear}@media (prefers-reduced-motion:reduce){.home-sky-twilight{transition:none}}
