.webapp-layout-modern{--layout-card-shadow:0 1px 3px rgba(0,0,0,.08);--layout-card-hover-shadow:0 4px 12px rgba(0,0,0,.1);--layout-border-radius:var(--card-radius,1rem);--layout-spacing:1.5rem;--layout-header-shadow:0 1px 3px rgba(0,0,0,.08)}.webapp-layout-classic{--layout-card-shadow:0 2px 8px rgba(0,0,0,.12);--layout-card-hover-shadow:0 4px 16px rgba(0,0,0,.15);--layout-border-radius:0.5rem;--layout-spacing:1.25rem;--layout-header-shadow:0 2px 6px rgba(0,0,0,.1)}.webapp-layout-classic .webapp-card{border:1px solid rgba(0,0,0,.08)}.webapp-layout-classic .webapp-header{border-bottom:2px solid var(--color-button)}.webapp-layout-minimal{--layout-card-shadow:none;--layout-card-hover-shadow:0 2px 8px rgba(0,0,0,.06);--layout-border-radius:0.25rem;--layout-spacing:2rem;--layout-header-shadow:none}.webapp-layout-minimal .webapp-card{border:1px solid rgba(0,0,0,.06)}.webapp-layout-minimal .webapp-header{border-bottom:1px solid rgba(0,0,0,.08);box-shadow:none!important}.webapp-text{color:var(--color-text,#333)}.webapp-title{color:var(--color-title,#1a365d)}.webapp-accent{color:var(--color-accent,#10b981)}.webapp-bg{background-color:var(--color-bg,#fff)}.webapp-bg-card{background-color:var(--color-card,#f8fafc)}.webapp-bg-button{background-color:var(--color-button,#3182ce)}.webapp-bg-accent{background-color:var(--color-accent,#10b981)}.webapp-bg-accent-light{background-color:color-mix(in srgb,var(--color-accent,#10b981) 10%,transparent)}.webapp-bg-button-light{background-color:color-mix(in srgb,var(--color-button,#3182ce) 10%,transparent)}.webapp-border-accent{border-color:var(--color-accent,#10b981)}.webapp-border-button{border-color:var(--color-button,#3182ce)}.webapp-font-primary{font-family:var(--font-primary,"Inter",sans-serif)}.webapp-font-secondary{font-family:var(--font-secondary,"Inter",sans-serif)}.webapp-card{background-color:var(--color-card,#fff);border-radius:var(--card-radius,var(--layout-border-radius,1rem));box-shadow:var(--card-shadow,var(--layout-card-shadow));transition:box-shadow .2s ease,transform .2s ease}.webapp-card:hover{box-shadow:var(--card-shadow-hover,var(--layout-card-hover-shadow))}.webapp-card-interactive:hover{transform:translateY(-2px)}.webapp-button{background-color:var(--color-button,#3182ce);color:#fff;border-radius:var(--card-radius,var(--layout-border-radius,.5rem));padding:.75rem 1.5rem;font-weight:500;transition:all .2s ease}.webapp-button:hover{filter:brightness(1.1);transform:translateY(-1px)}.webapp-button-outline{background-color:transparent;border:2px solid var(--color-button,#3182ce);color:var(--color-button,#3182ce)}.webapp-button-outline:hover{background-color:var(--color-button,#3182ce);color:#fff}.webapp-badge{background-color:color-mix(in srgb,var(--color-button,#3182ce) 15%,transparent);color:var(--color-button,#3182ce);border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.webapp-badge-accent{background-color:color-mix(in srgb,var(--color-accent,#10b981) 15%,transparent);color:var(--color-accent,#10b981)}.webapp-section-title{color:var(--color-title,#1a365d);font-family:var(--font-primary,"Inter",sans-serif);font-weight:700}.webapp-section-subtitle{color:var(--color-text,#4a5568);font-family:var(--font-secondary,"Inter",sans-serif)}.webapp-link{color:var(--color-button,#3182ce);transition:opacity .2s ease}.webapp-link:hover{opacity:.8}.webapp-divider{border-color:color-mix(in srgb,var(--color-text,#333) 15%,transparent)}.webapp-layout-classic .webapp-section-title{border-bottom:2px solid var(--color-button);padding-bottom:.5rem;display:inline-block}.webapp-layout-classic .webapp-badge{border-radius:.25rem}.webapp-layout-classic .webapp-button{border-radius:.375rem}.webapp-layout-minimal .webapp-section-title{font-weight:600;letter-spacing:.025em}.webapp-layout-minimal .webapp-badge{background-color:transparent;border:1px solid}.webapp-layout-minimal .webapp-button{border-radius:0}.webapp-rounded{border-radius:var(--card-radius,1rem)}.webapp-rounded-sm{border-radius:calc(var(--card-radius, 1rem) * .5)}.webapp-rounded-lg{border-radius:calc(var(--card-radius, 1rem) * 1.25)}.webapp-gallery{overflow:hidden}.webapp-gallery,.webapp-input{border-radius:var(--card-radius,1rem)}.webapp-image,.webapp-map{overflow:hidden}.webapp-filter-btn,.webapp-image,.webapp-map,.webapp-panel{border-radius:var(--card-radius,1rem)}@media (max-width:768px){.webapp-layout-classic,.webapp-layout-minimal,.webapp-layout-modern{--layout-spacing:1rem}}@keyframes bounce-once{0%,to{transform:translateY(0)}20%{transform:translateY(-12px)}40%{transform:translateY(0)}60%{transform:translateY(-6px)}80%{transform:translateY(0)}}.animate-bounce-once{animation:bounce-once 1s ease-in-out .5s 1}