.banner[data-v-defd4070]{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-surface);border-top:1px solid var(--color-outline-variant);box-shadow:var(--shadow-lg);z-index:300;padding:var(--spacing-lg) var(--spacing-xl);padding-bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom))}.content[data-v-defd4070]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);max-width:600px;margin:0 auto}.text[data-v-defd4070]{font-size:var(--font-size-sm);color:var(--color-on-surface-variant);flex:1}.actions[data-v-defd4070]{display:flex;gap:var(--spacing-md);flex-shrink:0}.dismiss-btn[data-v-defd4070]{padding:var(--spacing-xs) var(--spacing-md);color:var(--color-on-surface-variant);font-size:var(--font-size-sm)}.install-btn[data-v-defd4070]{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-primary);color:var(--color-on-primary);border-radius:12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:background-color .2s,transform .15s}.install-btn[data-v-defd4070]:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.banner-enter-active[data-v-defd4070],.banner-leave-active[data-v-defd4070]{transition:transform .3s ease}.banner-enter-from[data-v-defd4070],.banner-leave-to[data-v-defd4070]{transform:translateY(100%)}:root{--spacing-xxs: 4px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--spacing-xxl: 32px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--color-primary: #475569;--color-primary-light: #64748b;--color-primary-dark: #334155;--color-on-primary: #ffffff;--color-accent: #3b82f6;--color-surface: #f8fafc;--color-on-surface: #0f172a;--color-surface-variant: #e2e8f0;--color-on-surface-variant: #475569;--color-outline: #94a3b8;--color-outline-variant: #cbd5e1;--color-background: #ffffff;--color-on-background: #0f172a;--color-error: #dc2626;--color-on-error: #ffffff;--color-error-container: #fef2f2;--color-on-error-container: #7f1d1d;--color-success: #16a34a;--color-on-success: #ffffff;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .1);--shadow-md: 0 2px 4px rgba(15, 23, 42, .06), 0 4px 8px rgba(15, 23, 42, .1), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 4px 6px rgba(15, 23, 42, .05), 0 10px 20px rgba(15, 23, 42, .1), 0 2px 4px rgba(15, 23, 42, .04)}:root{--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.6}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;width:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-on-background);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}input,textarea{font-family:inherit}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24;-webkit-user-select:none;user-select:none;font-size:20px;line-height:1}
