@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playwrite+NO&display=swap";:root{--color-primary: #556B2F;--color-primary-light: #6B8B3F;--color-primary-dark: #3D4F22;--color-primary-contrast: #FFFFFF;--color-success: #4CAF50;--color-success-light: #81C784;--color-success-dark: #388E3C;--color-success-bg: rgba(76, 175, 80, .1);--color-success-border: rgba(76, 175, 80, .4);--color-warning: #FF9800;--color-warning-light: #FFB74D;--color-warning-dark: #F57C00;--color-warning-bg: rgba(255, 152, 0, .1);--color-error: #F44336;--color-error-light: #E57373;--color-error-dark: #D32F2F;--color-error-bg: rgba(244, 67, 54, .1);--color-tips: #8B7355;--color-tips-bg: rgba(255, 248, 225, .8);--color-tips-border: #8B7355;--color-text: #000000;--color-text-secondary: #333333;--color-text-tertiary: #666666;--color-text-muted: #888888;--color-text-inverse: #FFFFFF;--color-bg: #FFFFFF;--color-bg-card: #FFFFFF;--color-bg-overlay: rgba(255, 255, 255, .65);--color-bg-input: #F5F5F5;--color-bg-hover: rgba(0, 0, 0, .05);--md-sys-color-surface: #FFFFFF;--md-sys-color-surface-container: #F8F9FA;--md-sys-color-surface-container-high: #F0F1F2;--md-sys-color-surface-container-highest: #E6E6E6;--md-sys-color-surface-variant: #E8E8E8;--md-sys-color-on-surface: #1A1A1A;--md-sys-color-on-surface-variant: #666666;--md-sys-color-outline: #888888;--md-sys-color-outline-variant: #CCCCCC;--md-sys-color-primary: #4CAF50;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #C8E6C9;--md-sys-color-on-primary-container: #1B5E20;--color-tag-bg: rgba(76, 175, 80, .25);--color-tag-text: #1B5E20;--color-tag-border: rgba(76, 175, 80, .4);--color-meta-bg: rgba(200, 220, 200, .55);--color-meta-border: rgba(85, 107, 47, .3);--font-family-primary: "Montserrat", sans-serif;--font-family-heading: "Montserrat", sans-serif;--font-family-brand: "Playwrite NO", cursive;--font-family-mono: "Fira Code", "Consolas", monospace;--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-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.15;--line-height-snug: 1.35;--line-height-normal: 1.55;--line-height-relaxed: 1.7;--line-height-loose: 2;--letter-spacing-tight: -.5px;--letter-spacing-normal: 0;--letter-spacing-wide: .5px;--letter-spacing-wider: 1px;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--shadow-none: none;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--shadow-text: 1px 1px 2px rgba(0, 0, 0, .1);--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--shadow-modal: 0 25px 50px rgba(0, 0, 0, .25);--border-none: 0;--border-thin: 1px;--border-medium: 2px;--border-thick: 3px;--transition-fast: .15s;--transition-normal: .3s;--transition-slow: .5s;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--recipe-card-width: 800px;--recipe-card-min-height: 1035px;--recipe-card-border-width: 2px;--recipe-card-border-color: var(--color-primary);--recipe-card-border-radius: var(--radius-2xl);--button-padding-x: var(--space-4);--button-padding-y: var(--space-2);--button-border-radius: var(--radius-md);--button-font-size: var(--font-size-base);--button-font-weight: var(--font-weight-medium);--modal-max-width: 600px;--modal-border-radius: var(--radius-xl);--modal-padding: var(--space-6);--input-height: 44px;--input-padding-x: var(--space-4);--input-border-radius: var(--radius-md);--input-font-size: var(--font-size-base);--card-padding: var(--space-4);--card-border-radius: var(--radius-lg);--card-shadow: var(--shadow-card)}:root[data-theme=dark]{--color-text: #FFFFFF;--color-text-secondary: #E0E0E0;--color-text-tertiary: #AAAAAA;--color-text-inverse: #000000;--color-bg: #121212;--color-bg-card: #1E1E1E;--color-bg-overlay: rgba(30, 30, 35, .65);--color-bg-input: #2D2D2D;--color-bg-hover: rgba(255, 255, 255, .05);--md-sys-color-surface: #1E1E1E;--md-sys-color-surface-container: #252525;--md-sys-color-surface-container-high: #2D2D2D;--md-sys-color-surface-container-highest: #353535;--md-sys-color-surface-variant: #2D2D2D;--md-sys-color-on-surface: #E0E0E0;--md-sys-color-on-surface-variant: #AAAAAA;--md-sys-color-outline: #666666;--md-sys-color-outline-variant: #444444;--md-sys-color-primary: #81C784;--md-sys-color-on-primary: #1B5E20;--md-sys-color-primary-container: #2E7D32;--md-sys-color-on-primary-container: #C8E6C9}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-text: #FFFFFF;--color-text-secondary: #E0E0E0;--color-text-tertiary: #AAAAAA;--color-text-inverse: #000000;--color-bg: #121212;--color-bg-card: #1E1E1E;--color-bg-overlay: rgba(30, 30, 35, .65);--color-bg-input: #2D2D2D;--color-bg-hover: rgba(255, 255, 255, .05);--md-sys-color-surface: #1E1E1E;--md-sys-color-surface-container: #252525;--md-sys-color-surface-container-high: #2D2D2D;--md-sys-color-surface-container-highest: #353535;--md-sys-color-surface-variant: #2D2D2D;--md-sys-color-on-surface: #E0E0E0;--md-sys-color-on-surface-variant: #AAAAAA;--md-sys-color-outline: #666666;--md-sys-color-outline-variant: #444444;--md-sys-color-primary: #81C784;--md-sys-color-on-primary: #1B5E20;--md-sys-color-primary-container: #2E7D32;--md-sys-color-on-primary-container: #C8E6C9}}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes skeleton-wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes onboarding-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.skeleton-wave:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:skeleton-wave 1.6s linear infinite}.skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}*{margin:0;padding:0;box-sizing:border-box}.playwrite-no{font-family:Playwrite NO,cursive;font-optical-sizing:auto;font-weight:500;font-style:normal}:root{--md-sys-color-primary: #3c8340;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #A5D6A7;--md-sys-color-on-primary-container: #002105;--md-sys-color-on-primary-bg:#fdfdfd;--md-sys-color-on-primary-bg2:#e5e5e5;--md-sys-color-secondary: #558B2F;--md-sys-color-on-secondary: #FFFFFF;--md-sys-color-secondary-container: #DCEDC8;--md-sys-color-on-secondary-container: #131F03;--md-sys-color-tertiary: #00695C;--md-sys-color-on-tertiary: #FFFFFF;--md-sys-color-tertiary-container: #B2DFDB;--md-sys-color-on-tertiary-container: #001F1B;--md-sys-color-error: #c43535;--md-sys-color-on-error: #FFFFFF;--md-sys-color-error-container: #FFDAD6;--md-sys-color-on-error-container: #410002;--md-sys-color-background: #FFFFFF;--md-sys-color-on-background: #1A1C18;--md-sys-color-surface: #FFFFFF;--md-sys-color-on-surface: #1A1C18;--md-sys-color-surface-variant: #ffffff;--md-sys-color-on-surface-variant: #44483D;--md-sys-color-outline: #74796D;--md-sys-color-outline-variant: #C4C8BB;--md-sys-color-warning-container: #FFECB3;--md-sys-color-on-warning-container: #3E2723;--md-sys-color-info-container: #B2EBF2;--md-sys-color-on-info-container: #006064;--primary-color: var(--md-sys-color-primary);--secondary-color: var(--md-sys-color-secondary);--warning-color: #FF9800;--danger-color: var(--md-sys-color-error);--success-color: #96cc98;--bg-color: var(--md-sys-color-background);--card-bg: #ffffff;--text-primary: var(--md-sys-color-on-surface);--text-secondary: var(--md-sys-color-on-surface-variant);--border-color: var(--md-sys-color-outline-variant);--md-sys-elevation-1: 0px 1px 2px 0px rgba(0,0,0,.3), 0px 1px 3px 1px rgba(0,0,0,.15);--md-sys-elevation-2: 0px 1px 2px 0px rgba(0,0,0,.3), 0px 2px 6px 2px rgba(0,0,0,.15);--md-sys-elevation-3: 0px 1px 3px 0px rgba(0,0,0,.3), 0px 4px 8px 3px rgba(0,0,0,.15);--font-heading: "Montserrat", sans-serif;--font-body: "Montserrat", sans-serif;--olive-dark: #556B2F;--olive-medium: #6B8E23;--olive-light: #8FBC8F;--olive-bg: #F5F7F2;--olive-accent: rgba(85, 107, 47, .15);--olive-border: rgba(85, 107, 47, .3);--olive-text: #333333}[data-theme=dark]{--md-sys-color-primary: #9CD67D;--md-sys-color-on-primary: #00390A;--md-sys-color-primary-container: #135218;--md-sys-color-on-primary-container: #B8F397;--md-sys-color-on-primary-bg:#1A1C18;--md-sys-color-on-primary-bg2:#44483D;--md-sys-color-secondary: #BCCD9E;--md-sys-color-on-secondary: #273500;--md-sys-color-secondary-container: #3D4C19;--md-sys-color-on-secondary-container: #D8E9B9;--md-sys-color-tertiary: #4DB6AC;--md-sys-color-on-tertiary: #003730;--md-sys-color-tertiary-container: #005045;--md-sys-color-on-tertiary-container: #70F7E6;--md-sys-color-error: #FFB4AB;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000A;--md-sys-color-on-error-container: #FFDAD6;--md-sys-color-background: #1A1C18;--md-sys-color-on-background: #E3E3DC;--md-sys-color-surface: #1A1C18;--md-sys-color-on-surface: #E3E3DC;--md-sys-color-surface-variant: #44483D;--md-sys-color-on-surface-variant: #C4C8BB;--md-sys-color-outline: #8E9286;--md-sys-color-outline-variant: #44483D;--md-sys-color-warning-container: #5D4037;--md-sys-color-on-warning-container: #FFECB3;--md-sys-color-info-container: #004D40;--md-sys-color-on-info-container: #B2EBF2;--card-bg: var(--md-sys-color-surface);--olive-dark: #8FBC8F;--olive-medium: #A0D468;--olive-light: #6B8E23;--olive-bg: #2A2D26;--olive-accent: rgba(143, 188, 143, .2);--olive-border: rgba(143, 188, 143, .3);--olive-text: #E3E3DC}html.font-small{font-size:12px}html.font-medium{font-size:14px}html.font-large{font-size:16px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:5px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}*{scrollbar-color:var(--md-sys-color-outline-variant) transparent;scrollbar-width:thin}body{background-color:var(--md-sys-color-on-primary-bg);background-image:radial-gradient(circle,var(--md-sys-color-on-primary-bg2) .75px,transparent 1.5px);background-size:20px 20px;height:100vh;font-family:var(--font-body);font-weight:400;min-height:100vh;padding:20px}.container{max-width:800px;margin:0 auto;padding-bottom:80px}header{margin-bottom:15px;color:var(--md-sys-color-on-surface)}.top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.auth-user{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.user-info-group{display:flex;align-items:center;gap:8px;font-size:.875rem;background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);padding:4px 12px;border-radius:20px}.user-email{font-weight:500;color:var(--md-sys-color-on-surface-variant)}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:0;font-family:var(--font-body);transition:transform .2s;color:var(--md-sys-color-on-surface-variant)}.btn-icon:hover{transform:rotate(45deg);color:var(--md-sys-color-primary)}.btn-text{background:none;border:none;color:var(--md-sys-color-primary);cursor:pointer;font-family:var(--font-body);font-size:.875rem;padding:0;font-weight:500}.btn-text:hover{text-decoration:underline}.credits-bar{background:transparent;padding:12px 20px;display:flex;justify-content:center;align-items:center;border-bottom:none}.credit-badge{display:flex;align-items:center;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);padding:6px 12px;border-radius:12px;font-weight:600;font-size:.875rem;border:none}.credit-badge .icon{margin-right:8px;font-size:1.1rem}.btn-buy-credits{background:linear-gradient(135deg,#81c78440,#81c78459);color:#2e7d32;border:1px solid rgba(129,199,132,.6);padding:6px 12px;border-radius:16px;font-size:.8rem;font-weight:600;font-family:var(--font-body);cursor:pointer;display:flex;align-items:center;gap:4px;box-shadow:var(--md-sys-elevation-1);transition:all .2s ease}.btn-buy-credits.light-shade{background:#81c784;color:#1b5e20}.btn-buy-credits:hover{background:linear-gradient(135deg,#81c78466,#81c78480);transform:translateY(-1px);box-shadow:var(--md-sys-elevation-2)}.header-main{display:flex;justify-content:center;margin-bottom:30px}.logo-container{display:flex;align-items:center;gap:15px}.app-logo{width:200px;height:auto;object-fit:contain;background:transparent}.card{background:var(--md-sys-color-surface);border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:var(--md-sys-elevation-1);transition:box-shadow .2s ease;color:var(--md-sys-color-on-surface)}.card:hover{box-shadow:var(--md-sys-elevation-2)}.card h2{font-family:var(--font-heading);font-size:1.375rem;margin-bottom:20px;color:var(--md-sys-color-on-surface);font-weight:600;font-style:normal}.language-selector{margin-top:15px}.language-selector label{display:block;margin-bottom:4px;color:var(--md-sys-color-on-surface-variant);font-weight:500;font-size:.75rem}.language-select{width:100%;height:56px;padding:8px 16px;font-size:1rem;border:1px solid var(--md-sys-color-outline);border-radius:4px;background:transparent;color:var(--md-sys-color-on-surface);cursor:pointer;transition:border-color .2s ease;font-family:Montserrat,sans-serif;box-sizing:border-box}.language-select:hover{border-color:var(--md-sys-color-on-surface)}.language-select:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:7px 15px}.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:600px){.language-grid{grid-template-columns:1fr}}.recording-status{text-align:center;margin-bottom:30px}.timer{font-size:3rem;font-weight:700;color:var(--primary-color);font-variant-numeric:tabular-nums;margin-bottom:10px}.status-indicator{font-size:1.1rem;color:var(--text-secondary);padding:8px 20px;background:var(--bg-color);border-radius:20px;display:inline-block}.status-indicator.recording{background:#ffebee;color:var(--danger-color);animation:pulse 2s infinite}.status-indicator.paused{background:#fff3e0;color:var(--warning-color)}@keyframes pulse{0%{box-shadow:0 0 #f4433666}70%{box-shadow:0 0 0 10px #f4433600}to{box-shadow:0 0 #f4433600}}.controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-user-select:none;user-select:none;-webkit-appearance:none;overflow:hidden;vertical-align:middle;background:transparent;height:40px;padding:0 24px;border-radius:20px;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.1px;gap:8px;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s,border-color .2s,transform .1s;text-transform:none}.btn:hover:not(:disabled){box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026;transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(0)}.btn:disabled{background-color:#1c1b1f1f!important;color:#1c1b1f61!important;box-shadow:none!important;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:none;box-shadow:var(--md-sys-elevation-1)}.btn-primary:hover:not(:disabled){background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--md-sys-elevation-2)}.btn-secondary{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:none;box-shadow:var(--md-sys-elevation-1)}.btn-secondary:hover:not(:disabled){background-color:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);box-shadow:var(--md-sys-elevation-2)}.btn-warning{background-color:var(--md-sys-color-warning-container);color:var(--md-sys-color-on-warning-container);border:none;box-shadow:var(--md-sys-elevation-1)}.btn-warning:hover:not(:disabled){filter:brightness(.95);box-shadow:var(--md-sys-elevation-2)}.btn-danger{background-color:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:none;box-shadow:var(--md-sys-elevation-1)}.btn-danger:hover:not(:disabled){background-color:var(--md-sys-color-error);color:var(--md-sys-color-on-error);box-shadow:var(--md-sys-elevation-2)}.btn-success{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:none;box-shadow:var(--md-sys-elevation-1)}.btn-success:hover:not(:disabled){background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--md-sys-elevation-2)}.btn-info{background-color:var(--md-sys-color-info-container);color:var(--md-sys-color-on-info-container);border:none;box-shadow:var(--md-sys-elevation-1)}.btn-info:hover:not(:disabled){filter:brightness(.95);box-shadow:var(--md-sys-elevation-2)}.btn-small{height:32px;padding:0 16px;font-size:.8rem}.btn-large{height:48px;padding:0 32px;font-size:1rem;border-radius:24px;width:100%;margin-top:20px}.icon{font-size:1.2em}.icon.large{font-size:3rem}.progress-bar{width:100%;height:8px;background:var(--bg-color);border-radius:4px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--success-color));width:0%;transition:width .3s ease}.max-duration{text-align:center;color:var(--text-secondary);font-size:.9rem}.upload-area{border:3px dashed var(--border-color);border-radius:12px;padding:40px;text-align:center;transition:all .3s ease;cursor:pointer}.upload-area:hover{border-color:var(--primary-color);background:#f9f9f9}.upload-area.dragover{border-color:var(--primary-color);background:#e8f5e9}.upload-label{cursor:pointer;display:block}.upload-label p{margin-top:10px;color:var(--text-secondary)}.file-info{font-size:.85rem;color:var(--text-secondary);margin-top:5px}.uploaded-file{margin-top:15px;padding:12px;background:var(--bg-color);border-radius:8px;color:var(--text-primary);font-weight:500;display:none}.uploaded-file.show{display:block}#audioPreview{width:100%;margin-bottom:10px;border-radius:8px}.loading-card{text-align:center;padding:40px}.spinner{border:4px solid var(--bg-color);border-top:4px solid var(--primary-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}#loadingMessage{font-size:1.1rem;color:var(--text-secondary);margin-bottom:20px;display:none}.loading-quotes-container{min-height:108px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin-top:0;gap:2px}.loading-quote{font-size:.8rem;color:var(--md-sys-color-primary);font-weight:400;font-style:italic;opacity:0;transition:opacity .35s ease-in-out;display:none;width:min(92vw,560px);text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-4px}.loading-quote.visible{display:block;opacity:1}.loading-pan-wrapper{transform:scale(.88);transform-origin:center;margin-top:0;margin-bottom:-10px}.loading-pan-wrapper .animated-logo-outline{margin-bottom:10px;height:104px;width:138px}.recipe-card{background:var(--md-sys-color-surface);max-width:600px;margin:0 auto 20px;padding:24px;border-radius:12px;box-shadow:var(--md-sys-elevation-1);transition:box-shadow .2s ease;color:var(--md-sys-color-on-surface)}.recipe-card:hover{box-shadow:var(--md-sys-elevation-2)}#recipeContent{background:var(--md-sys-color-surface);padding:0;border-radius:0;margin-bottom:20px;box-shadow:none;border:none}.recipe-title{font-family:var(--font-heading);font-size:2rem;color:#1a1a1a;margin-bottom:8px;text-align:center;font-weight:700;font-style:normal;letter-spacing:0;line-height:1.2}.recipe-author{color:#333;font-style:normal;font-size:.875rem;margin:0 0 16px;text-align:center;font-weight:500}.recipe-description{text-align:center;color:#1a1a1a;font-size:1rem;line-height:1.5;margin-bottom:20px;padding:16px;background:var(--md-sys-color-surface-variant);border-radius:12px;font-style:normal;font-weight:500}.recipe-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;padding:12px;background:var(--md-sys-color-secondary-container);border-radius:12px}.meta-item{text-align:center;padding:4px}.meta-label{font-size:.65rem;color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px;font-weight:500;display:block;margin-bottom:4px}.meta-value{font-size:1rem;color:#1a1a1a;font-weight:700;line-height:1.2}.recipe-section{margin-bottom:24px}.recipe-two-column{display:grid;grid-template-columns:1fr 1px 1fr;gap:20px;margin-bottom:24px}.ingredients-column{grid-column:1}.recipe-two-column:after{content:"";grid-column:2;background:var(--md-sys-color-outline-variant);width:1px;margin:0 auto}.instructions-column{grid-column:3}.recipe-section-title{font-family:var(--font-heading);color:#1a5c1a;font-size:1.25rem;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #1a5c1a;font-weight:700;display:flex;align-items:center;gap:8px}.recipe-actions{display:flex;gap:15px;margin-top:25px;flex-wrap:wrap}.recipe-actions .btn{flex:1;min-width:150px;justify-content:center;font-weight:600}.recipe-actions .btn:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 4px 8px #00000026}.recipe-actions .btn:active:not(:disabled){filter:brightness(.95)}.error-card{background:#ffebee;border-left:4px solid var(--danger-color)}#errorMessage{color:var(--danger-color);margin-bottom:20px;line-height:1.6}footer{text-align:center;color:#fff;margin-top:30px;padding:20px;opacity:.9}.pricing-modal{max-width:800px;width:90%}.currency-toggle{text-align:center;margin-bottom:20px}.currency-toggle select{padding:8px 15px;border-radius:8px;border:1px solid #ddd;font-size:1rem;margin-left:10px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:20px}.pricing-card{border:1px solid #eee;border-radius:12px;padding:5px;text-align:center;transition:transform .3s,box-shadow .3s;position:relative;background:#fff}.pricing-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.pricing-card.popular{border:2px solid var(--primary-color);background:#f9fff9}.pricing-card .badge{position:relative;top:-12px;left:50%;transform:translate(-50%);background:var(--primary-color);color:#fff;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:700}.pricing-header h3{margin-bottom:10px;color:#333}.pricing-header .price{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:15px}.pricing-features{margin-bottom:20px;color:#666}.pricing-features p{margin:8px 0}.payment-info{text-align:center;color:#888;margin-top:20px;border-top:1px solid #eee;padding-top:15px}.profile-modal{max-width:500px;width:90%;max-height:85vh;overflow-y:auto;position:relative}.profile-section{margin:24px;padding-bottom:20px;border-bottom:1px solid var(--md-sys-color-outline-variant, #e0e0e0)}.profile-section-compact{margin-bottom:20px;padding-bottom:16px}.profile-section:last-of-type{border-bottom:none}.profile-section-header{margin-bottom:24px}.profile-section-header h3{font-size:1.1rem;font-weight:500;color:var(--md-sys-color-on-surface, #1c1b1f);margin-bottom:4px}.section-description{font-size:.8rem;color:var(--md-sys-color-on-surface-variant, #49454f);margin:0}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.profile-grid{grid-template-columns:1fr}}.profile-form-group{margin-bottom:20px}.profile-form-group:last-child{margin-bottom:0}.profile-label{display:block;font-size:.8rem;font-weight:500;color:var(--md-sys-color-on-surface-variant, #49454f);margin-bottom:6px}.profile-input,.profile-select{width:100%;padding:10px 12px;font-size:.95rem;border:1px solid var(--md-sys-color-outline, #79747e);border-radius:6px;background-color:var(--md-sys-color-surface, #ffffff);color:var(--md-sys-color-on-surface, #1c1b1f);transition:all .2s ease;font-family:inherit}.profile-input:focus,.profile-select:focus{outline:none;border-color:var(--primary-color, #4CAF50);border-width:2px;box-shadow:0 0 0 3px #4caf501a}.profile-select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 12px;padding-right:40px;appearance:none}.profile-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px}.profile-password-section{background-color:var(--md-sys-color-surface-variant, #f5f5f5);padding:16px;border-radius:8px;border:1px solid var(--md-sys-color-outline-variant, #e0e0e0);margin-top:20px}.btn-profile-save{background-color:var(--primary-color, #4CAF50);color:#fff;border:none;padding:12px 24px;border-radius:20px;font-size:1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-profile-save:hover{background-color:#45a049;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-profile-save:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.profile-message{padding:14px 18px;border-radius:8px;margin-bottom:20px;font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #0000001a;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-message.success{background-color:#d4edda;color:#155724;border:2px solid #28a745}.profile-message.error{background-color:#f8d7da;color:#721c24;border:2px solid #dc3545}[data-theme=dark] .profile-input,[data-theme=dark] .profile-select{background-color:var(--md-sys-color-surface-variant, #2c2c2c);border-color:var(--md-sys-color-outline, #938f99);color:var(--md-sys-color-on-surface, #e6e1e5)}[data-theme=dark] .profile-section-header h3{color:var(--md-sys-color-on-surface, #e6e1e5)}[data-theme=dark] .profile-password-section{background-color:var(--md-sys-color-surface-variant, #1e1e1e);border-color:var(--md-sys-color-outline, #938f99)}[data-theme=dark] .profile-message.success{background-color:#1b4332;color:#a7f3d0;border-color:#34d399}[data-theme=dark] .profile-message.error{background-color:#4c1d1d;color:#fca5a5;border-color:#ef4444}[data-theme=dark] .profile-label{color:var(--md-sys-color-on-surface-variant, #cac4d0)}@media(max-width:768px){header h1{font-size:2rem}.card{padding:20px}.timer{font-size:2.5rem}.controls{gap:8px}.btn{padding:10px 18px;font-size:.9rem}.upload-area{padding:30px 20px}.recipe-title{font-size:1.5rem}.recipe-meta{gap:8px;padding:10px}.meta-label{font-size:.65rem}.meta-value{font-size:.9rem}#recipeContent{padding:16px}.recipe-section-title{font-size:1.1rem}.recipe-section{margin-bottom:16px}.recipe-two-column{grid-template-columns:1fr;gap:15px}.ingredients-column{grid-column:1}.recipe-two-column:after{display:none}.instructions-column{grid-column:1}.recipe-header{flex-direction:column;align-items:center;text-align:center}.recipe-header-meta{align-items:center;margin-top:8px}}@media(max-width:480px){body{padding:10px}header h1{font-size:1.75rem}.subtitle{font-size:1rem}.card{padding:15px}.timer{font-size:2rem}.controls{flex-direction:column;width:100%}.btn{width:100%;justify-content:center}.icon.large{font-size:2.5rem}.recipe-title{font-size:1.4rem}.recipe-meta{grid-template-columns:repeat(3,1fr);gap:6px;padding:8px}.meta-item{padding:6px 2px}.meta-label{font-size:.6rem}.meta-value{font-size:.85rem}#recipeContent{padding:14px}.recipe-section-title{font-size:1rem}.recipe-description{font-size:.85rem;padding:8px}.ingredients-list li,.instructions-list li,.tips-list li{font-size:.8rem}.ingredients-two-column,.instructions-two-column{column-count:1}.recipe-two-column{grid-template-columns:1fr;gap:10px}.ingredients-column,.instructions-column{grid-column:1}.recipe-two-column:after{display:none}.instructions-list li:before{display:none}.tips-list li{padding:5px 8px 5px 28px}.recipe-actions{flex-direction:column}.recipe-actions .btn{width:100%;min-width:auto}}.main-nav{display:flex;gap:10px;justify-content:center;margin-top:40px}.nav-btn{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline);padding:0 16px;height:32px;border-radius:8px;font-size:.875rem;font-weight:500;font-family:var(--font-body);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.nav-btn:hover{background:var(--md-sys-color-on-surface-variant);color:var(--md-sys-color-surface-variant)}.nav-btn.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:transparent;box-shadow:none}.search-card{margin-bottom:20px}.search-bar{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.search-input-wrapper{position:relative;flex:1;min-width:250px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.1rem;pointer-events:none;opacity:.6}.search-input{width:100%;height:56px;padding:8px 48px 8px 52px;border:none;background:var(--md-sys-color-surface-variant);border-radius:28px;font-size:1rem;font-family:var(--font-body);color:var(--md-sys-color-on-surface);transition:background .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;background:var(--md-sys-color-surface);box-shadow:var(--md-sys-elevation-1)}.search-clear-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#0000001a;border:none;border-radius:50%;width:24px;height:24px;font-size:1rem;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:background .2s ease}.search-clear-btn:hover{background:#0003;color:var(--text-primary)}.recipe-count{color:var(--text-secondary);font-weight:600;font-size:.95rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px}.gallery-card{background:var(--md-sys-color-surface);border-radius:12px;box-shadow:var(--md-sys-elevation-1);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid transparent;overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:280px}.gallery-card:hover{box-shadow:var(--md-sys-elevation-3);transform:translateY(-4px);border-color:var(--md-sys-color-primary-container)}.gallery-card-thumbnail{width:100%;height:100%;min-height:280px;background-color:var(--md-sys-color-surface-variant);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;will-change:transform}.gallery-card:hover .gallery-card-thumbnail{transform:scale(1.03)}.gallery-card-overlay{position:absolute;inset:0;background:transparent;padding:20px;display:flex;flex-direction:column;justify-content:space-between;z-index:1}.gallery-card-thumbnail.has-thumbnail .gallery-card-overlay{background:linear-gradient(to bottom,#0006,#0003,#00000080)}.gallery-card-thumbnail:not(.has-thumbnail) .gallery-card-title,.gallery-card-thumbnail:not(.has-thumbnail) .gallery-card-author,.gallery-card-thumbnail:not(.has-thumbnail) .gallery-card-tags,.gallery-card-thumbnail:not(.has-thumbnail) .gallery-card-date{color:var(--md-sys-color-on-surface);text-shadow:none}.gallery-card-header{margin-bottom:auto;display:flex;align-items:flex-start;gap:8px}.gallery-card-title{font-family:var(--font-heading);font-size:1.5rem;color:#fff;margin:0 0 8px;line-height:1.3;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.8),0 0 20px rgba(0,0,0,.5);word-wrap:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.gallery-card-author{font-size:.85rem;color:#fffffff2;font-style:normal;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.5)}.gallery-card-tags{font-size:.8rem;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.5);display:flex;gap:4px;flex-wrap:wrap}.gallery-card-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.gallery-card-date{font-size:.75rem;color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.5);font-weight:500}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:40px;padding:0 10px}@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:0}}@media(max-width:480px){.gallery-grid{grid-template-columns:1fr;gap:12px}}.community-like-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:.9rem;color:var(--md-sys-color-on-surface-variant);padding:4px 8px;border-radius:16px;transition:all .2s ease}.community-like-btn:hover{background-color:var(--md-sys-color-surface-variant);transform:scale(1.05)}.community-like-btn:active{transform:scale(.95)}.community-like-btn.liked{color:var(--md-sys-color-error)}.community-like-btn .heart-icon{font-size:1.2rem;transition:transform .2s ease}.community-like-btn:active .heart-icon{animation:heartBeat .3s ease}@keyframes heartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}75%{transform:scale(1.25)}}.empty-state{text-align:center;padding:60px 20px}.empty-state h2{color:var(--text-secondary);margin:20px 0 10px}.empty-state p{color:var(--text-secondary);margin-bottom:20px}.modal{position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:transparent;margin:0;padding:0;border-radius:16px;max-width:800px;width:100%;max-height:calc(100vh - 32px);overflow:hidden;box-shadow:none;animation:slideDown .3s ease;display:flex;flex-direction:column;position:relative}@keyframes slideDown{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;right:24px;top:24px;font-size:18px;font-weight:500;color:var(--md-sys-color-on-surface-variant);background-color:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);cursor:pointer;z-index:10;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .2s ease;box-shadow:none}.modal-close:hover{background:var(--md-sys-color-surface-container-highest, #e6e6e6);color:var(--md-sys-color-on-surface);border-color:var(--md-sys-color-outline);transform:scale(1.05)}.modal-close:active{transform:scale(.95);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.modal-header{padding:25px 30px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);border-radius:28px 28px 0 0}.modal-header h2{margin:0 0 15px;color:var(--md-sys-color-on-surface);font-family:var(--font-heading);font-size:1.5rem;font-weight:600;font-style:normal}.modal-actions{display:flex;justify-content:center;align-items:center;gap:10px}.btn-small{padding:8px 16px;font-size:.9rem}.modal-body{padding:0;overflow:hidden;flex:1 1 auto;min-height:0;position:relative;display:flex;flex-direction:column}.modal-body.has-background-image{background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:local}.modal-body.has-background-image #modalRecipeContent{position:relative;z-index:1}.modal-body.has-background-image #modalRecipeContent:before{content:"";position:absolute;inset:0;background-color:var(--card-bg);opacity:.7;pointer-events:none;z-index:-1;border-radius:1% 1% .5% .5%}.modal-body img,#modalRecipeContent img{border-radius:12px;max-width:100%;height:auto;display:block}.modal-footer{padding:20px 30px;border-top:2px solid #f0f0f0;background:#f8f9fa;display:flex;gap:10px;justify-content:center}.recipe-details-view{position:relative;display:flex;flex-direction:column;height:100%;background-size:cover;background-position:center;background-attachment:fixed;overflow:hidden;border-radius:20px;margin:8px;box-shadow:0 6px 24px #0000001f}.recipe-details-view:before{content:"";position:absolute;inset:0;background-color:#ffffffa6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1;pointer-events:none;border-radius:20px}.recipe-details-view:after{content:"";position:absolute;inset:10px 10px 80px;border:none;border-radius:14px;pointer-events:none;z-index:10}:root[data-theme=dark] .recipe-details-view:before{background-color:#1e1e2399}:root[data-theme=dark] .recipe-details-view:after{border:none}.recipe-details-view-clean{background-image:none!important;background-color:#fff;border:none;border-radius:12px;font-family:var(--font-body, "Montserrat", "Segoe UI", sans-serif);margin:0;box-shadow:0 10px 40px #0000004d}.recipe-details-view-clean:before,.recipe-details-view-clean:after{display:none!important}.recipe-details-header-clean{background-color:transparent;padding:16px 20px 12px}.ingredients-list-compact li:before{display:none!important}.ingredients-list-compact li{padding-left:0!important}.recipe-details-control-bar{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);flex-shrink:0;background:inherit}.recipe-cooking-toggle{height:36px!important;padding:0 16px!important;font-size:.875rem!important;min-width:unset!important}.recipe-details-close-btn{position:static;width:36px;height:36px;border-radius:12px;border:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;transition:all .2s ease;flex-shrink:0;box-shadow:none;font-family:inherit}.recipe-details-close-btn:hover{background:var(--md-sys-color-surface-container-highest, #e6e6e6);color:var(--md-sys-color-on-surface);border-color:var(--md-sys-color-outline);transform:scale(1.05)}.recipe-details-close-btn:active{transform:scale(.95);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.recipe-details-header{position:relative;z-index:2;padding:40px 30px 30px;color:var(--md-sys-color-on-surface);text-align:center}.recipe-details-header-overlay{display:none}.recipe-details-header-no-image{color:var(--md-sys-color-on-surface)}.recipe-details-title{position:relative;z-index:2;margin:0;font-size:1.75rem;font-weight:700;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.1);color:var(--md-sys-color-on-surface);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding:0 10px}:root[data-theme=light] .recipe-details-title{color:#424242}:root[data-theme=dark] .recipe-details-title{color:#e0e0e0}.recipe-details-description{font-size:1.1rem;color:var(--md-sys-color-on-surface-variant);margin:20px 0;line-height:1.6;font-style:italic;font-weight:600}.recipe-details-body{position:relative;z-index:2;flex:1;padding:0 30px 30px;overflow-y:auto;background:transparent}.recipe-details-footer{position:relative;z-index:2;padding:12px 16px;border-top:1px solid var(--md-sys-color-outline-variant);background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=dark] .recipe-details-footer{background:#1e1e23f2}.recipe-action-bar{display:flex;justify-content:space-around;align-items:center;gap:4px;max-width:400px;margin:0 auto}.action-icon-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;min-width:54px;border:none;background:transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;gap:2px}.action-icon-btn:hover{background:var(--md-sys-color-surface-variant);transform:scale(1.05)}.action-icon-btn:active{transform:scale(.95)}.action-icon-btn .action-icon{font-size:1.4rem;line-height:1}.action-icon-btn .action-label{font-size:.65rem;font-weight:600;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.3px}.action-edit:hover{background:#2e7d3226}.action-save:hover{background:#1976d226}.action-share:hover{background:#9c27b026}.action-delete:hover{background:#d32f2f26}.action-like:hover{background:#e91e6326}.action-like.liked{background:#e91e631a}.action-like.liked .action-icon{animation:heartbeat .6s ease}.action-collection:hover{background:#673ab726}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.15)}}.recipe-details-footer .btn{padding:12px 24px;font-size:1rem;display:flex;align-items:center;gap:8px;border-radius:24px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.recipe-details-footer .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.recipe-details-footer .btn .icon{font-size:1.2em}.recipe-details-edit{padding:30px;background:var(--md-sys-color-surface);overflow-y:auto}.recipe-details-edit .form-group{margin-bottom:20px}.recipe-details-edit label{display:block;margin-bottom:8px;font-weight:600;color:var(--md-sys-color-on-surface)}.recipe-details-edit input,.recipe-details-edit textarea{background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline);border-radius:8px;color:var(--md-sys-color-on-surface);font-family:var(--font-body)}.recipe-details-edit input:focus,.recipe-details-edit textarea:focus{outline:none;border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface);box-shadow:0 0 0 3px #2e7d321a}.recipe-edit-meta-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:15px}@media(max-width:600px){.recipe-edit-meta-grid{grid-template-columns:1fr;gap:12px}}[contenteditable=true]{outline:2px dashed var(--primary-color);outline-offset:3px;padding:4px;border-radius:4px;transition:all .2s ease}[contenteditable=true]:focus{outline:2px solid var(--primary-color);background:#f0fff4}[contenteditable=true]:hover{background:#f8f9fa}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.main-nav{flex-direction:row;width:100%}.nav-btn{flex:1;justify-content:center;padding:10px 20px;font-size:.9rem}.gallery-grid{grid-template-columns:1fr;gap:15px}.gallery-card{border-radius:12px!important;overflow:hidden}.gallery-card-thumbnail{border-radius:0!important}.search-bar{flex-direction:column}.search-input{width:100%;min-width:auto}.modal-content{margin:0;max-width:none;max-height:calc(100vh - 20px)}.modal-header,.modal-body,.modal-footer{padding:16px}.modal-footer{flex-direction:column;gap:10px}.modal-footer .btn{width:100%;justify-content:center}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}.recipe-details-header{padding:15px 0}.recipe-details-title{font-size:2rem}.recipe-details-body{padding:0 20px 20px}.recipe-columns{gap:30px}.ingredients-list,.instructions-list{column-count:1}.recipe-details-footer{padding:8px 12px}.recipe-action-bar{max-width:100%;gap:2px}.action-icon-btn{padding:6px 8px;min-width:48px}.action-icon-btn .action-icon{font-size:1.3rem}.action-icon-btn .action-label{font-size:.6rem}.recipe-meta-info{padding:8px 12px;margin:8px 0;gap:0}.recipe-meta-info .meta-item{gap:2px;padding:4px 0}.recipe-meta-info .meta-label{font-size:.75rem}.recipe-meta-info .meta-value{font-size:.85rem}}@media(max-width:480px){.nav-btn{padding:8px 15px;font-size:.85rem}.nav-btn .icon{font-size:1rem}.gallery-card{border-radius:12px!important;overflow:hidden}.gallery-card-thumbnail{border-radius:12px 12px 0 0!important}.gallery-card-title{font-size:1.1rem}.modal-close{right:12px;top:12px;width:32px;height:32px;font-size:16px;border-radius:10px}.recipe-details-footer{padding:6px 8px}.recipe-action-bar{gap:0}.action-icon-btn{padding:4px 6px;min-width:42px;border-radius:8px}.action-icon-btn .action-icon{font-size:1.2rem}.action-icon-btn .action-label{font-size:.55rem}.recipe-meta-info{padding:6px 8px;margin:6px 0;border-radius:8px}.recipe-meta-info .meta-item{gap:1px;padding:2px 0}.recipe-meta-info .meta-label{font-size:.7rem}.recipe-meta-info .meta-value{font-size:.8rem}}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-left{text-align:left}.header-right{display:flex;align-items:center}.auth-status{background:#fff3;padding:10px 15px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-loading{color:#fff;font-size:.9rem}.auth-user{display:flex;align-items:center;gap:12px}.user-email{color:var(--md-sys-color-on-surface-variant);font-size:.9rem;font-weight:600}.btn-settings{background:#fff3;border:none;font-size:1.2rem;cursor:pointer;padding:.4rem .6rem;border-radius:.5rem;font-family:var(--font-body);transition:all .2s ease}.btn-settings:hover{background:#ffffff4d;transform:rotate(30deg)}.btn-login,.btn-logout{padding:8px 20px;border:2px solid white;background:transparent;color:#fff;border-radius:25px;font-size:.9rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .3s ease}.btn-login:hover,.btn-logout:hover{background:#fff;color:var(--primary-color);transform:translateY(-2px)}.modal-auth{max-width:450px}.landing-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center;padding:20px 0;position:relative}.landing-header{position:absolute;top:20px;right:20px;z-index:10}.landing-title{font-family:var(--font-heading);font-weight:900;font-style:italic;margin-bottom:10px;color:var(--md-sys-color-on-background)}.landing-description{font-size:1.1rem;color:var(--md-sys-color-on-surface-variant);margin-bottom:25px;max-width:500px}.auth-card{width:100%;max-width:400px;margin:0 auto;text-align:left}.auth-tabs{font-family:var(--font-body);display:flex;gap:0;margin-bottom:25px;background:transparent;padding:0;border-radius:20px;border:1px solid var(--md-sys-color-outline);overflow:hidden}.auth-tab{font-family:var(--font-body);flex:1;padding:10px 12px;background:transparent;border:none;border-right:1px solid var(--md-sys-color-outline);border-radius:0;font-size:.875rem;font-weight:500;color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:all .2s ease}.auth-tab:last-child{border-right:none}.auth-tab:hover{background:var(--md-sys-color-surface-variant)}.auth-tab.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);box-shadow:none}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--text-primary);font-size:.95rem}.form-group input{height:56px;padding:8px 16px;border:1px solid var(--md-sys-color-outline);border-radius:4px;font-size:1rem;font-family:var(--font-body);background:transparent;color:var(--md-sys-color-on-surface);transition:all .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:7px 15px}.form-group small{color:var(--text-secondary);font-size:.85rem}.auth-error{padding:12px 15px;background:#ffebee;color:#c62828;border-radius:8px;font-size:.9rem;border-left:4px solid #c62828}.auth-success{padding:12px 15px;background:#e8f5e9;color:#2e7d32;border-radius:8px;font-size:.9rem;border-left:4px solid #2e7d32}.btn-block{width:100%}@media(max-width:768px){.header-top{flex-direction:column;gap:15px;align-items:stretch}.header-left{text-align:center}.header-right{justify-content:center}.modal-auth{max-width:95%}}@media(max-width:480px){.auth-status{width:100%;justify-content:center}.user-email{font-size:.8rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-login,.btn-logout{padding:6px 15px;font-size:.85rem}}.auth-prompt{background:linear-gradient(135deg,#43a047,#1b5e20);color:#fff;border:none;box-shadow:0 4px 12px #2e7d324d}.auth-prompt h3{color:#fff;font-family:var(--font-heading);font-weight:900;font-style:italic}.auth-prompt .btn-primary{background:#fff;color:var(--primary-color);border:2px solid white}.settings-modal{max-width:700px}.settings-section{margin-bottom:2rem}.settings-section h3{color:var(--primary-color);margin-bottom:.5rem;font-family:var(--font-heading);font-weight:900;font-style:italic}.settings-section p{color:var(--text-secondary);margin-bottom:1rem}.font-size-selector{display:flex;gap:10px;margin-bottom:20px;background:#f0f0f0;padding:5px;border-radius:10px}.font-option{flex:1;padding:10px;border:none;background:none;border-radius:8px;cursor:pointer;font-family:var(--font-body);transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}.font-option span.preview{font-weight:700;line-height:1}.font-option.selected{background:#fff;box-shadow:0 2px 5px #0000001a;color:var(--primary-color);font-weight:600}.font-option:hover:not(.selected){background:#ffffff80}.background-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.background-option{cursor:pointer;text-align:center;transition:transform .2s ease}.background-option:hover{transform:translateY(-4px)}.background-option.selected .background-preview{border:3px solid var(--primary-color);box-shadow:0 4px 12px #2e7d324d}.background-preview{width:100%;height:120px;border-radius:.75rem;border:2px solid var(--border);margin-bottom:.5rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-secondary)}.background-option p{font-size:.85rem;color:var(--text);margin:0}.bg-none{background:var(--bg-secondary)}.bg-peach{background:#ffdab980}.bg-mint{background:#98fb9880}.bg-lavender{background:#e6e6fa80}.bg-sky{background:#87ceeb80}.bg-rose{background:#ffb6c180}.bg-lemon{background:#fffacd80}.bg-coral{background:#ff7f5080}.bg-sage{background:#bcd4b680}.auth-prompt .btn-primary:hover{background:#ffffffe6;transform:translateY(-2px)}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:hover{transform:none}@media(max-width:768px){body{padding:10px}.container{width:100%;padding:0}.top-bar{flex-direction:column;gap:12px;align-items:center;margin-bottom:15px}.logo-container{justify-content:center;width:100%}.app-logo{width:100px}.user-controls{width:100%;justify-content:center;margin-bottom:5px}.auth-user{align-items:center;width:100%;gap:5px}.user-info-group{width:100%;justify-content:center;margin-bottom:5px;flex-wrap:wrap}.credits-group{width:100%;justify-content:center}.main-nav{gap:8px;margin-top:10px}.nav-btn{padding:8px 12px;font-size:.9rem;flex:1;justify-content:center}.card{padding:20px;border-radius:12px}.ingredients-two-column,.instructions-two-column{column-count:1}.recipe-meta{flex-direction:column;gap:10px}.meta-item{width:100%;justify-content:space-between}.recipe-actions{flex-direction:column;gap:10px}.recipe-actions button{width:100%;justify-content:center}.background-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.pricing-grid,.language-grid{grid-template-columns:1fr}}.input-methods-container{display:flex;gap:20px;min-height:300px;max-width:1200px;margin:40px auto 20px;justify-content:center}.input-method-section{flex:1;background:var(--md-sys-color-surface);border-radius:16px;padding:20px;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid transparent;box-shadow:0 4px 6px #0000000d;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;position:relative}.input-method-section:hover{box-shadow:0 8px 15px #0000001a}.input-method-section.active{flex:2.5;border-color:var(--md-sys-color-primary);box-shadow:0 10px 25px #00000026;cursor:default}.input-method-section:not(.active){opacity:.9;background:var(--md-sys-color-surface-variant)}.input-method-section:not(.active):hover{opacity:.9;background:var(--md-sys-color-surface)}.section-header h2{font-family:var(--font-heading);font-size:1.25rem;margin-bottom:15px;color:var(--md-sys-color-on-surface);white-space:nowrap;font-weight:600;font-style:normal}.section-content{flex:1;display:flex;flex-direction:column;opacity:0;transition:opacity .3s ease;pointer-events:none}.input-method-section.active .section-content{opacity:1;pointer-events:all}.input-methods-collapsed{padding:12px 16px;background-color:var(--md-sys-color-surface-variant, #f5f5f5);border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--md-sys-color-outline-variant, #e0e0e0);transition:all .2s ease;min-height:48px;max-width:1200px;margin:40px auto 16px}.input-methods-collapsed:hover{background-color:var(--md-sys-color-surface-container-highest, #e6e6e6)}.input-methods-collapsed:active{transform:scale(.98)}.input-methods-collapsed .collapsed-text{font-size:.9rem;color:var(--md-sys-color-on-surface-variant, #666);display:flex;align-items:center;gap:6px}.input-methods-collapsed .material-icons{color:var(--md-sys-color-on-surface-variant, #666)}:root[data-theme=dark] .input-methods-collapsed{background-color:#ffffff0d;border-color:#ffffff1a}:root[data-theme=dark] .input-methods-collapsed:hover{background-color:#ffffff14}:root[data-theme=dark] .input-methods-collapsed .collapsed-text,:root[data-theme=dark] .input-methods-collapsed .material-icons{color:var(--md-sys-color-on-surface-variant, #aaa)}.language-selector-compact{margin-bottom:20px}.language-selector-compact label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:5px;font-weight:600}.language-selector-compact select{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;font-family:Montserrat,sans-serif;font-size:.9rem}.recording-controls-modern{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:20px}.timer-display{font-size:2.5rem;font-weight:300;font-variant-numeric:tabular-nums;color:var(--text-primary)}.status-text{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-weight:600}.main-controls{display:flex;justify-content:center;align-items:center}.btn-record-modern{width:80px;height:80px;border-radius:50%;background:#ffebee;border:none;cursor:pointer;font-family:var(--font-body);display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.2,0,0,1);box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b}.btn-record-modern:hover{transform:scale(1.05);box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;background:#ffcdd2}.btn-record-modern.recording{background:#ffebee;animation:pulse-red-m3 2s infinite}.record-dot{width:32px;height:32px;background:#d32f2f;border-radius:50%;transition:all .3s ease}.btn-record-modern.recording .record-dot{background:#d32f2f;width:24px;height:24px;border-radius:4px;opacity:1}.secondary-controls{display:flex;gap:16px;margin-top:16px;animation:slideUpFade .3s ease}.btn-control-modern{width:56px;height:56px;border-radius:16px;border:none;font-size:1.5rem;cursor:pointer;font-family:var(--font-body);transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:var(--md-sys-elevation-1)}.btn-control-modern:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-2)}#stopBtn{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}#stopBtn:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}#pauseBtn,#resumeBtn{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}#pauseBtn:hover,#resumeBtn:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}#resetBtn{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}#resetBtn:hover{background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary)}.progress-bar-modern{width:100%;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden;margin-top:20px}.upload-area-modern{flex:1;border:1px dashed var(--md-sys-color-outline);border-radius:16px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;background:var(--md-sys-color-surface-variant)}.upload-area-modern:hover{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-secondary-container)}.upload-label-modern{text-align:center;cursor:pointer;padding:20px}.upload-label-modern .icon{font-size:3rem;margin-bottom:10px;display:block;color:var(--md-sys-color-on-surface-variant)}.upload-label-modern p{color:var(--md-sys-color-on-surface-variant);margin:5px 0}.upload-label-modern .file-info{font-size:.8rem;opacity:.7}@keyframes pulse-red-m3{0%{box-shadow:0 0 #d32f2f66}70%{box-shadow:0 0 0 15px #d32f2f00}to{box-shadow:0 0 #d32f2f00}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.input-methods-container{flex-direction:column;min-height:auto}.input-method-section{flex:none;width:100%;min-height:80px}.input-method-section.active{flex:none;min-height:400px}.input-method-section:not(.active) .section-content{display:none}}@media(max-width:600px){.modal-footer{display:flex;flex-direction:column;gap:10px;padding-top:15px}.modal-footer .btn{width:100%;margin-left:0!important;padding:10px;font-size:.9rem;justify-content:center}.modal-actions{display:flex;gap:5px}.modal-actions .btn{padding:6px 10px;font-size:.8rem}}.animated-logo-outline{position:relative;height:120px;width:140px;margin-bottom:20px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.pan-icon{position:relative;display:flex;align-items:flex-start;margin-top:10px}.pan-bowl{width:60px;height:30px;border:4px solid #444;border-top:4px solid#444;border-radius:0 0 30px 30px;position:relative}.pan-handle{width:40px;height:0;border-top:4px solid #444;margin-top:0;margin-left:-2px;transform-origin:left;transform:rotate(-10deg)}.steam-group{display:flex;gap:10px;height:10px;margin-bottom:5px;justify-content:center;width:60px;transform:translate(-20px)}.steam-wave{width:6px;height:20px;border-left:3px solid #444;border-radius:50%;opacity:0}.steam-wave.s1{animation:steam-rise-wave 2s infinite 0s}.steam-wave.s2{animation:steam-rise-wave 2s infinite .6s;height:25px}.steam-wave.s3{animation:steam-rise-wave 2s infinite 1.2s}@keyframes steam-rise-wave{0%{transform:translateY(0) scaleY(1);opacity:0}20%{opacity:.8}to{transform:translateY(-20px) scaleY(1.5) translate(5px);opacity:0}}.app-footer{position:fixed;bottom:0;left:0;right:0;padding:15px 0;text-align:center;color:var(--md-sys-color-on-surface-variant);font-size:.75rem;background:var(--md-sys-color-background);border-top:1px solid var(--md-sys-color-outline-variant);z-index:10}.app-footer p{display:flex;align-items:center;justify-content:center;gap:8px}.footer-link{display:flex;align-items:center;text-decoration:none;opacity:.8;transition:opacity .2s ease}.footer-link:hover{opacity:1}.footer-logo{height:20px;vertical-align:middle}@media(max-width:768px){.recipe-actions{gap:8px;margin-top:15px;flex-direction:row;flex-wrap:wrap}.recipe-actions .btn{padding:8px 12px;font-size:.85rem;min-width:auto;flex:1 1 45%;white-space:nowrap}.recipe-card{padding:15px;margin-left:10px;margin-right:10px}#recipeContent{padding:12px}.modal-content{width:100vw!important;height:100vh!important;max-width:100%!important;max-height:100%!important;margin:0!important;border-radius:0!important;display:flex;flex-direction:column;position:fixed;top:0;left:0}.modal-body{flex:1;overflow-y:auto;padding:15px!important}.modal-body img,#modalRecipeContent img{border-radius:12px!important;max-width:100%;height:auto}.modal-header{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;padding:10px 45px 10px 15px!important;gap:10px!important;flex-shrink:0}.modal-header h2{font-size:1.1rem!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.modal-actions{width:auto!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px!important}.modal-actions .btn{flex:0 0 auto!important;min-width:auto!important;padding:6px 12px!important;font-size:.8rem!important;width:auto!important}.modal-footer{flex-direction:row!important;display:grid!important;grid-template-columns:1fr 1fr 1fr;gap:8px!important;padding:8px!important;background:var(--md-sys-color-surface);border-top:1px solid var(--md-sys-color-outline-variant);flex-shrink:0}.modal-footer .btn{width:100%!important;margin:0!important;padding:6px 2px!important;font-size:.7rem!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:auto!important;border-radius:8px!important}.modal-footer .btn .icon{font-size:1.2rem!important;margin:0!important}.modal-close{top:10px!important;right:10px!important;z-index:20;background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--md-sys-elevation-1)}}.visibility-toggle{display:flex;align-items:center;gap:10px}.switch{position:relative;display:inline-block;width:50px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--md-sys-color-primary)}input:focus+.slider{box-shadow:0 0 1px var(--md-sys-color-primary)}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.visibility-label{font-size:.9rem;font-weight:500;color:var(--md-sys-color-on-surface)}[data-theme=dark] .recipe-title{color:#e8e8e8}[data-theme=dark] .recipe-author{color:silver;font-weight:600}[data-theme=dark] .recipe-description{color:#e0e0e0;font-weight:500}[data-theme=dark] .meta-label,[data-theme=dark] .meta-value{color:#e8e8e8;font-weight:700}[data-theme=dark] .recipe-section-title{color:#7dd77d;border-bottom-color:#7dd77d;font-weight:700}[data-theme=dark] .ingredients-list li,[data-theme=dark] .instructions-list li,[data-theme=dark] .tips-list li,[data-theme=dark] .recipe-section p{color:#d8d8d8;font-weight:500}.recipe-details-header{align-items:center;justify-content:center}.recipe-details-header-overlay{background:#0006}.recipe-details-header-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.recipe-details-title{text-align:center;font-weight:800}.recipe-details-author{color:#333;font-weight:600;text-shadow:0 1px 3px rgba(255,255,255,.8)}.dark .recipe-details-author,[data-theme=dark] .recipe-details-author{color:#f1f1f1;text-shadow:0 1px 3px rgba(0,0,0,.5)}.recipe-details-tags{display:flex;gap:6px;flex-wrap:wrap}.recipe-tag{background:#4caf5033;color:#2e7d32;border:1px solid rgba(76,175,80,.4);padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600}.dark .recipe-tag,[data-theme=dark] .recipe-tag{background:#81c78440;color:#81c784;border:1px solid rgba(129,199,132,.45)}.recipe-details-divider{width:72%;height:2px;background:#fff9;border-radius:1px;margin-top:6px}.recipe-details-overlay-body{color:var(--md-sys-color-on-surface)}.dark .recipe-details-overlay-body{color:#f0f0f0f2}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-1{flex:1}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.m-0{margin:0}.m-1{margin:4px}.m-2{margin:8px}.m-3{margin:12px}.m-4{margin:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.ml-1{margin-left:4px}.ml-2{margin-left:8px}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.p-0{padding:0}.p-1{padding:4px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-6{padding:24px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-primary{color:var(--md-sys-color-primary)}.text-secondary{color:var(--md-sys-color-secondary)}.text-olive{color:var(--olive-medium, #6B8E23)}.text-olive-dark{color:var(--olive-dark, #556B2F)}.text-muted{color:var(--md-sys-color-on-surface-variant)}.bg-olive-light{background-color:var(--olive-bg, #F5F7F2)}.w-full{width:100%}.h-full{height:100%}.min-w-0{min-width:0}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.rounded{border-radius:8px}.rounded-lg{border-radius:12px}.rounded-xl{border-radius:16px}.rounded-2xl{border-radius:24px}.rounded-full{border-radius:9999px}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}@media(max-width:768px){.modal.modal-safe-top{align-items:flex-start;padding-top:max(56px,calc(env(safe-area-inset-top,0px) + 12px));padding-bottom:max(4px,env(safe-area-inset-bottom,0px))}.modal.modal-safe-top .modal-content{max-height:calc(100vh - max(56px,calc(env(safe-area-inset-top,0px) + 12px)) - max(4px,env(safe-area-inset-bottom,0px)) - 8px)}.modal.modal-safe-top .modal-close{top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));width:40px;height:40px}}.instructions-list{counter-reset:step-counter;list-style:decimal;list-style-position:outside;margin:0;padding:0 0 0 28px}.instructions-list li{counter-increment:step-counter;padding:3px 0 3px 6px;margin-bottom:6px;background:transparent;border-radius:4px;line-height:1.6;position:relative;transition:background .2s ease;font-size:.88rem;color:#1a1a1a;font-weight:500}.instructions-list li:hover{background:var(--md-sys-color-surface-variant)}.instructions-list li:before{display:none}.instructions-two-column{column-count:2;column-gap:24px}.instructions-two-column li{break-inside:avoid;page-break-inside:avoid}:root[data-theme=dark] .instructions-list li{color:#e0e0e0}@media(max-width:768px){.instructions-two-column,.instructions-list{column-count:1}.instructions-list li:before{display:none}}@media(min-width:480px)and (max-width:768px){.instructions-list li{font-size:.92rem;line-height:1.7;padding:4px 0 4px 8px;margin-bottom:8px}}.ingredients-list{list-style:none;margin:0;padding:0}.ingredients-list li{padding:8px 12px 8px 32px;margin-bottom:4px;background:transparent;border-radius:4px;line-height:1.5;position:relative;transition:background .2s ease;font-size:1rem;color:#1a1a1a;font-weight:500}.ingredients-list li:hover{background:var(--md-sys-color-surface-variant)}.ingredients-list li:before{content:"✓";position:absolute;left:8px;color:var(--md-sys-color-primary);font-weight:700;font-size:1rem}.ingredients-two-column{column-count:2;column-gap:24px}.ingredients-two-column li{break-inside:avoid;page-break-inside:avoid}:root[data-theme=dark] .ingredients-list li{color:#e0e0e0}@media(max-width:768px){.ingredients-two-column{column-count:1}}@media(min-width:480px)and (max-width:768px){.ingredients-list li{font-size:.92rem;line-height:1.6;padding:4px 0;margin-bottom:5px}}.recipe-meta-info{display:flex;flex-direction:row;justify-content:space-around;gap:12px;margin:0 0 10px;padding:8px 12px;background:#f5f7f2;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:6px;border:none}:root[data-theme=dark] .recipe-meta-info{background:#1e1e23b3;border:none}.recipe-meta-info .meta-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:0}.recipe-meta-info .meta-label{font-size:.7rem;color:var(--olive-dark, #556B2F);font-weight:600;text-transform:uppercase}.recipe-meta-info .meta-value{font-size:.85rem;font-weight:700;color:var(--md-sys-color-on-surface)}@media(max-width:768px){.recipe-meta-info{flex-direction:row;justify-content:space-around;padding:8px 12px;margin:8px 0;gap:8px}.recipe-meta-info .meta-item{flex-direction:column;align-items:center;gap:2px;padding:4px 8px;flex:1;min-width:0}.recipe-meta-info .meta-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.recipe-meta-info .meta-value{font-size:.8rem}}@media(min-width:1024px){.recipe-meta-info{max-width:600px;margin:0 auto 20px}}.recipe-columns{display:flex;flex-direction:column;gap:40px;margin:30px 0}.recipe-columns:after{display:none}.recipe-section{width:100%}.recipe-section-title{font-size:1.3rem;font-weight:600;color:var(--md-sys-color-primary);margin:0 0 15px;font-family:var(--font-heading);border-bottom:2px solid var(--md-sys-color-primary);padding-bottom:8px}.recipe-section-title .icon{font-size:1.25rem}.recipe-two-column{display:grid;grid-template-columns:1fr 1fr;gap:30px;position:relative}.recipe-two-column:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--md-sys-color-outline-variant);transform:translate(-50%)}.ingredients-column,.instructions-column{grid-column:auto}:root[data-theme=dark] .recipe-section-title{color:var(--md-sys-color-primary);border-bottom-color:var(--md-sys-color-primary)}@media(max-width:768px){.recipe-columns{gap:30px}.recipe-two-column{grid-template-columns:1fr;gap:10px}.ingredients-column,.instructions-column{grid-column:1}.recipe-two-column:after{display:none}}@media(min-width:480px)and (max-width:768px){.recipe-columns{gap:20px;margin:14px 0}.recipe-section-title{margin:0 0 10px}}@media(max-width:480px){.recipe-section-title{font-size:1.1rem;margin:0 0 10px;padding-bottom:6px}}.tips-list{list-style:none;margin:0;padding:0}.tips-list li{padding:12px 16px 12px 40px;margin-bottom:8px;background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-left:4px solid var(--md-sys-color-tertiary);border-radius:8px;line-height:1.5;position:relative;font-size:.875rem}.tips-list li:before{content:"*";position:absolute;left:5px;font-size:1.1rem}.tips-list-compact li{padding:15px;margin-bottom:10px;background:#ffffffb3;border-left:4px solid #c4b093;border-radius:8px;color:var(--md-sys-color-on-warning-container);line-height:1.6;font-weight:500}:root[data-theme=dark] .tips-list li{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-left-color:var(--md-sys-color-tertiary)}@media(max-width:480px){.tips-list li{padding:5px 8px 5px 28px;font-size:.8rem}.tips-list li:before{font-size:1rem;left:3px}}@media(min-width:480px)and (max-width:768px){.tips-list-compact li{padding:16px;margin-bottom:12px;line-height:1.7;font-size:.88rem}}.modal-content:has(.recipe-details-view-clean){margin:.5% auto;padding:4px}.recipe-details-view-clean{background-color:#fff;font-family:var(--font-body, "Montserrat", "Segoe UI", sans-serif);max-width:700px;width:100%;margin:0 auto;border-radius:12px;overflow:hidden;border:none;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;box-shadow:0 10px 40px #0000004d}:root[data-theme=dark] .recipe-details-view-clean{background-color:#1e1e22}.recipe-details-header-clean{padding:16px 20px 12px}.recipe-details-title-olive{color:var(--olive-dark, #556B2F);font-size:1.5rem;margin-bottom:2px;font-weight:700}:root[data-theme=dark] .recipe-details-title-olive{color:var(--olive-light, #8FBC8F)}.recipe-details-author{font-size:.85rem;margin-bottom:6px;color:var(--olive-text, #333333)}:root[data-theme=dark] .recipe-details-author{color:#aaa}.recipe-details-tags-compact{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.recipe-tag-olive{background-color:var(--olive-bg, #F5F7F2);color:var(--olive-dark, #556B2F);border:none;display:inline-flex;align-items:center;gap:3px;padding:2px 8px;font-size:.75rem;border-radius:4px}.recipe-details-divider-olive{background-color:var(--olive-light, #8FBC8F);height:2px;margin:2px 0}.recipe-details-body-compact{flex:1 1 auto;min-height:0;padding:0 20px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.recipe-details-description-olive{background-color:var(--olive-bg, #F5F7F2);border-left:2px solid var(--olive-medium, #6B8E23);padding:6px 10px;border-radius:4px;font-style:italic;font-size:.8rem;line-height:1.4;margin:0 0 8px}:root[data-theme=dark] .recipe-details-description-olive{background-color:#8bc34a14;color:#e0e0e0}.recipe-meta-info-olive{background-color:var(--olive-bg, #F5F7F2);border:none;border-radius:6px;padding:6px 12px;margin-bottom:10px;display:flex;flex-direction:row;justify-content:space-around;gap:12px;flex-wrap:nowrap}:root[data-theme=dark] .recipe-meta-info-olive{background-color:#8bc34a14}:root[data-theme=dark] .recipe-tag-olive{background-color:#8bc34a26;color:var(--olive-light, #8FBC8F)}.meta-item-compact{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:0}.meta-icon-olive{color:var(--olive-medium, #6B8E23);font-size:1rem}.meta-label{font-size:.75rem;font-weight:600;color:var(--olive-dark, #556B2F);text-transform:uppercase}.meta-value{font-size:.85rem;font-weight:700;color:var(--md-sys-color-on-surface, #1A1C18)}.recipe-columns-compact{display:flex;flex-direction:column;gap:16px;margin-bottom:12px}.recipe-section-compact{padding:0}.recipe-section-title-olive{color:var(--olive-dark, #556B2F);border-bottom:1px solid var(--olive-medium, #6B8E23);padding-bottom:4px;margin-bottom:6px;display:flex;align-items:center;gap:4px;font-size:.95rem;font-weight:600}.section-icon-olive{color:var(--olive-medium, #6B8E23)}.ingredients-list-compact{margin:0;padding:0;list-style:none}.ingredient-item-compact{display:flex;align-items:flex-start;gap:3px;margin-bottom:0;font-size:.82rem;line-height:1.25}.ingredient-icon-olive{color:var(--olive-medium, #6B8E23);flex-shrink:0;font-size:.8rem}.instructions-list-compact{margin:0;padding-left:20px}.instruction-item-compact{margin-bottom:3px;font-size:.85rem;line-height:1.3}.tips-section-olive{background-color:var(--olive-bg, #F5F7F2);padding:8px 10px;border-radius:6px;border:none}:root[data-theme=dark] .tips-section-olive{background-color:#8bc34a14}.tips-section-title-olive{color:var(--olive-dark, #556B2F);display:flex;align-items:center;gap:4px;margin-bottom:6px;font-size:.9rem;font-weight:600}:root[data-theme=dark] .tips-section-title-olive{color:var(--olive-light, #8FBC8F)}.tips-list-compact{margin:0;padding:0;list-style:none}.tip-item-olive{display:flex;align-items:flex-start;gap:4px;background-color:#fff;padding:4px 8px;border-radius:4px;border-left:2px solid var(--olive-medium, #6B8E23);margin-bottom:3px;font-size:.8rem;line-height:1.3}:root[data-theme=dark] .tip-item-olive{background-color:#ffffff0d;color:#e0e0e0}.tip-icon-olive{color:var(--olive-medium, #6B8E23);flex-shrink:0;font-size:.85rem}.recipe-details-edit{padding:16px}.recipe-edit-input{width:100%;padding:10px;border:1px solid var(--border-color, #C4C8BB);border-radius:6px;font-family:inherit}.recipe-edit-textarea{width:100%;padding:10px;min-height:80px;border:1px solid var(--border-color, #C4C8BB);border-radius:6px;font-family:inherit;resize:vertical}.recipe-edit-textarea-large{min-height:120px}.recipe-capture-container{display:none;width:800px;min-height:1035px;position:relative;font-family:Montserrat,sans-serif;background-color:#fff;overflow:hidden;border-radius:20px;border:2px solid var(--olive-dark, #556B2F)}:root[data-theme=dark] .recipe-capture-container,:root[data-theme=dark] .recipe-capture-container *{color:#000!important}:root[data-theme=dark] .recipe-capture-content{background-color:#fff!important;color:#000!important}:root[data-theme=dark] .recipe-capture-tag,:root[data-theme=dark] .recipe-capture-description,:root[data-theme=dark] .recipe-capture-meta,:root[data-theme=dark] .recipe-capture-tip{background-color:var(--olive-bg, #F5F7F2)!important;color:#333!important}:root[data-theme=dark] .recipe-capture-title,:root[data-theme=dark] .recipe-capture-section-title,:root[data-theme=dark] .recipe-capture-meta-label,:root[data-theme=dark] .recipe-capture-meta-value{color:var(--olive-dark, #556B2F)!important}.recipe-capture-overlay{display:none}.recipe-capture-content{position:relative;z-index:2;padding:32px 40px;color:#000;display:flex;flex-direction:column;min-height:1035px;box-sizing:border-box;background-color:#fff}.recipe-capture-header{text-align:center;margin-bottom:24px}.recipe-capture-title{font-size:2.8em;font-weight:800;margin:0 0 12px;letter-spacing:-.5px;line-height:1.15;color:var(--olive-dark, #556B2F);font-family:Montserrat,sans-serif}.recipe-capture-author{font-size:1.3em;margin:8px 0;font-style:italic;color:#333;font-weight:600;font-family:Montserrat,sans-serif}.recipe-capture-tags{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0}.recipe-capture-tag{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background-color:var(--olive-bg, #F5F7F2);color:var(--olive-dark, #556B2F);border-radius:6px;font-size:1em;font-weight:600;border:none}.recipe-capture-tag-icon{display:inline-flex;align-items:center;margin-right:4px;vertical-align:middle}.recipe-capture-tag-icon svg{width:14px;height:14px}.recipe-capture-description{text-align:center;margin:0 0 22px;padding:16px 24px;background-color:var(--olive-bg, #F5F7F2);border-radius:12px;font-size:1.2em;line-height:1.7;color:#333;font-weight:500;font-style:italic;border-left:4px solid var(--olive-medium, #6B8E23)}.recipe-capture-description p{margin:0}.recipe-capture-meta{display:flex;justify-content:center;gap:0;margin:0 0 26px;background-color:var(--olive-bg, #F5F7F2);border-radius:12px;overflow:hidden;border:none}.recipe-capture-meta-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:14px 18px;border-right:none}.recipe-capture-meta-item:last-child{border-right:none}.recipe-capture-meta-icon{display:flex;align-items:center;justify-content:center;margin-bottom:4px}.recipe-capture-meta-icon svg{width:28px;height:28px}.recipe-capture-meta-label{font-size:.85em;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--olive-dark, #556B2F);margin-bottom:2px}.recipe-capture-meta-value{font-size:1.2em;font-weight:800;color:var(--olive-dark, #556B2F)}.recipe-capture-main{flex:1;display:flex;flex-direction:column}.recipe-capture-section{margin-bottom:24px}.recipe-capture-section-title{font-size:1.5em;font-weight:800;margin-bottom:0;padding-bottom:10px;color:var(--olive-dark, #556B2F);display:flex;align-items:center;gap:10px;border-bottom:2px solid var(--olive-dark, #556B2F);font-family:Montserrat,sans-serif}.recipe-capture-section-icon{display:inline-flex;align-items:center}.recipe-capture-section-icon svg{width:28px;height:28px}.recipe-capture-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;padding-top:14px}.recipe-capture-grid-item{display:flex;align-items:flex-start;gap:10px;font-size:1.1em;line-height:1.55;color:#222;font-weight:500}.recipe-capture-checkmark{display:flex;align-items:flex-start;flex-shrink:0;margin-top:2px}.recipe-capture-checkmark svg{width:18px;height:18px}.recipe-capture-instruction-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;padding-top:14px}.recipe-capture-step-number{color:#fff;font-weight:800;min-width:24px;height:24px;background-color:var(--olive-dark, #556B2F);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85em;flex-shrink:0}.recipe-capture-tips{display:flex;flex-direction:column;gap:10px;padding-top:14px}.recipe-capture-tip{padding:12px 16px;background-color:var(--olive-bg, #F5F7F2);border-radius:10px;font-size:1.05em;line-height:1.55;color:#222;font-weight:500;display:flex;align-items:flex-start;gap:10px;border-left:3px solid var(--olive-medium, #6B8E23)}.recipe-capture-tip-icon{display:flex;align-items:flex-start;flex-shrink:0;margin-top:2px}.recipe-capture-tip-icon svg{width:20px;height:20px}.recipe-details-footer{position:relative;z-index:10;flex-shrink:0;padding:12px 16px;border-top:1px solid var(--md-sys-color-outline-variant, #C4C7C5);background:#fffffffa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-top:auto}:root[data-theme=dark] .recipe-details-footer{background:#1e1e23fa}.recipe-capture-footer{text-align:center;padding:16px 0 0;margin-top:auto}.recipe-capture-watermark{font-size:1em;color:#556b2f73;font-weight:400}.recipe-capture-watermark .brand{font-family:Playwrite NO,cursive;font-weight:400}.payment-dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;font-family:var(--font-body, "Montserrat", "Segoe UI", sans-serif)}.payment-dialog-container{background-color:var(--md-sys-color-surface, #fff);border-radius:24px;width:min(900px,95vw);max-height:90vh;overflow:auto;position:relative;padding:24px;font-family:var(--font-body, "Montserrat", "Segoe UI", sans-serif);border:1px solid rgba(129,199,132,.6)}.payment-dialog-close{position:absolute;top:16px;right:16px;font-size:18px;font-weight:500;color:var(--md-sys-color-on-surface-variant);background-color:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);cursor:pointer;z-index:10;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .2s ease;box-shadow:none}.payment-dialog-close:hover{background:var(--md-sys-color-surface-container-highest, #e6e6e6);color:var(--md-sys-color-on-surface);border-color:var(--md-sys-color-outline);transform:scale(1.05)}.payment-dialog-close:active{transform:scale(.95);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.payment-usage-summary{background-color:#81c7841a;border-radius:16px;padding:16px;margin-bottom:20px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border:1px solid rgba(129,199,132,.4)}.payment-usage-plan{font-size:.85rem;color:#90be93;opacity:.8;font-family:var(--font-body)}.payment-usage-remaining{font-size:1.5rem;font-weight:700;color:#9ace9c;font-family:var(--font-body)}.payment-usage-details{font-size:.8rem;color:#388e3c;opacity:.7;font-family:var(--font-body)}.payment-usage-warning{background-color:#fff3e0;padding:8px 16px;border-radius:8px;color:#e65100;font-size:.9rem;font-weight:500;font-family:var(--font-body)}.payment-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid rgba(129,199,132,.5);padding-bottom:12px}.payment-tab-btn{padding:10px 24px;border-radius:20px;border:none;cursor:pointer;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:8px;font-family:var(--font-body);transition:background-color .2s,color .2s}.payment-tab-btn--active{background-color:#9fcfa2;color:#fff}.payment-tab-btn--inactive{background-color:transparent;color:var(--md-sys-color-on-surface)}.payment-tab-btn--inactive:hover{background-color:#81c78426}.payment-tab-btn .material-icons{font-size:1.2rem}.payment-loading{text-align:center;padding:40px;font-family:var(--font-body)}.payment-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.payment-plan-card{padding:20px;border-radius:16px;position:relative;display:flex;flex-direction:column;font-family:var(--font-body);background-color:#81c78414;border:1px solid rgba(129,199,132,.4);transition:transform .2s,box-shadow .2s}.payment-plan-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #81c78440;border-color:#81c784}.payment-plan-card--popular{background-color:#81c78426;border:2px solid #81C784}.payment-plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background-color:#b2dfb5;color:#fff;padding:4px 16px;border-radius:20px;font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:4px;font-family:var(--font-body)}.payment-plan-badge .material-icons{font-size:.9rem}.payment-plan-name{margin:8px 0;text-align:center;font-size:1.2rem;font-weight:700;color:var(--md-sys-color-on-surface);font-family:var(--font-body)}.payment-plan-price-container{text-align:center;margin-bottom:8px}.payment-plan-price{font-size:2rem;font-weight:800;color:#2e7d32;font-family:var(--font-body)}.payment-plan-period{font-size:.9rem;color:var(--md-sys-color-on-surface-variant, #888);font-family:var(--font-body)}.payment-plan-quota{text-align:center;font-size:1.1rem;font-weight:600;margin-bottom:12px;color:var(--md-sys-color-on-surface);font-family:var(--font-body)}.payment-plan-features{list-style:none;padding:0;margin:0 0 16px;flex:1}.payment-plan-feature{padding:6px 0;font-size:.85rem;color:var(--md-sys-color-on-surface-variant, #666);display:flex;align-items:center;gap:8px;font-family:var(--font-body)}.payment-plan-feature .material-icons{color:#81c784;font-size:1rem}.payment-btn{padding:12px;border-radius:12px;border:none;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);transition:background-color .2s}.payment-btn--primary{background-color:#81c784;color:#fff}.payment-btn--primary:hover{background-color:#66bb6a}.payment-btn--disabled{background-color:var(--md-sys-color-surface-variant, #e0e0e0);color:var(--md-sys-color-on-surface-variant, #888);cursor:not-allowed}.payment-btn .material-icons{font-size:1.2rem}.payment-btn--full-width{width:100%}.payment-topup-description{margin-bottom:20px;color:var(--md-sys-color-on-surface-variant, #666);font-family:var(--font-body)}.payment-topup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.payment-topup-card{padding:24px;border-radius:16px;text-align:center;background-color:#81c7841a;border:1px solid rgba(129,199,132,.4);transition:transform .2s,box-shadow .2s;font-family:var(--font-body)}.payment-topup-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #81c78440;border-color:#81c784}.payment-topup-icon{font-size:2.5rem;color:#81c784;margin-bottom:8px;display:block}.payment-topup-count{font-size:2rem;font-weight:800;color:#2e7d32;margin-bottom:4px;font-family:var(--font-body)}.payment-topup-label{font-size:.9rem;color:var(--md-sys-color-on-surface-variant, #666);margin-bottom:12px;font-family:var(--font-body)}.payment-topup-price{font-size:1.4rem;font-weight:700;margin-bottom:12px;color:var(--md-sys-color-on-surface);font-family:var(--font-body)}.payment-dialog-footer{text-align:center;margin-top:20px;font-size:.85rem;color:var(--md-sys-color-on-surface-variant, #888);display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body)}.payment-dialog-footer .material-icons{font-size:1rem}.subscribe-btn{transition:all .2s ease}.subscribe-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.subscribe-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.subscribe-btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #4caf5066;filter:brightness(1.05)}.subscribe-btn-primary:active:not(:disabled){box-shadow:0 2px 8px #4caf504d;filter:brightness(.98)}.payment-plan-button{width:100%;padding:.75rem 1rem;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none;font-family:var(--font-body)}.payment-plan-button--subscribe{background:var(--md-sys-color-primary, #4CAF50);color:var(--md-sys-color-on-primary, white)}.payment-plan-button--subscribe:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 4px 12px #4caf5059}.payment-plan-button--subscribe:disabled{opacity:.7;cursor:wait}.payment-plan-button--current{background:var(--md-sys-color-primary, #4CAF50);color:var(--md-sys-color-on-primary, white);cursor:default}.payment-plan-button--free{background:transparent;border:1px solid var(--md-sys-color-outline-variant, #ddd);color:var(--md-sys-color-on-surface-variant, #666);cursor:default}.payment-plan-header{text-align:center;margin-bottom:1rem}.payment-plan-amount{font-size:1.75rem;font-weight:700;color:var(--md-sys-color-primary, #2E7D32)}.payment-dialog-header{text-align:center;margin-bottom:24px}.payment-dialog-title{font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0 0 8px}.payment-dialog-subtitle{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:.9rem}.billing-toggle{display:flex;justify-content:center;gap:4px;margin-bottom:24px;background:var(--md-sys-color-surface-container);border-radius:12px;padding:4px;border:2px solid var(--md-sys-color-outline-variant);box-shadow:0 1px 3px #0000001a}.billing-toggle-btn{flex:1;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.billing-toggle-btn--active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;box-shadow:0 2px 4px #00000026}.billing-toggle-btn--inactive{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline-variant)}.billing-toggle-btn--inactive:hover{background:var(--md-sys-color-surface-container-high);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.billing-toggle-discount{padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:700}.billing-toggle-discount--active{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.billing-toggle-discount--inactive{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.plan-card-free{background:var(--md-sys-color-surface-container);border-radius:12px;padding:16px;margin-bottom:12px;border:1px solid var(--md-sys-color-outline-variant)}.plan-card-free-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.plan-card-free-name{font-weight:600;color:var(--md-sys-color-on-surface)}.plan-card-free-label{font-size:.85rem;color:var(--md-sys-color-on-surface-variant)}.plan-card-free-price{font-weight:700;font-size:1.2rem;color:var(--md-sys-color-on-surface)}.plan-card-free-features{list-style:none;padding:0;margin:0;font-size:.9rem;color:var(--md-sys-color-on-surface-variant)}.plan-card-free-feature{display:flex;align-items:center;gap:8px;margin-bottom:6px}.plan-card-free-feature .material-icons{font-size:16px}.plan-card-starter{border-radius:14px;padding:18px;margin-bottom:12px;position:relative;box-shadow:0 1px 3px #00000014}.plan-card-starter--current{background:var(--md-sys-color-surface-container-high);border:2px solid var(--md-sys-color-primary)}.plan-card-starter--default{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant)}.plan-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.plan-card-name-section{display:flex;flex-direction:column}.plan-card-name-row{display:flex;align-items:center;gap:8px}.plan-card-icon{color:var(--md-sys-color-primary);font-size:24px}.plan-card-name{font-weight:600;font-size:1rem}.plan-card-name--current,.plan-card-name--default{color:var(--md-sys-color-on-surface)}.plan-card-billing-label{font-size:.85rem}.plan-card-billing-label--current,.plan-card-billing-label--default{color:var(--md-sys-color-on-surface-variant)}.plan-card-price-section{text-align:right}.plan-card-price{font-weight:700;font-size:1.3rem;color:var(--md-sys-color-on-surface)}.plan-card-price-large{font-weight:700;font-size:1.5rem;color:var(--md-sys-color-on-surface)}.plan-card-period{font-size:.8rem;color:var(--md-sys-color-on-surface-variant)}.plan-card-period--current{color:var(--md-sys-color-on-surface-variant)}.plan-card-features{list-style:none;padding:0;margin:0 0 14px;font-size:.9rem}.plan-card-features--current,.plan-card-features--default{color:var(--md-sys-color-on-surface-variant)}.plan-card-feature{display:flex;align-items:center;gap:8px;margin-bottom:6px}.plan-card-feature .material-icons{color:var(--md-sys-color-primary);font-size:16px}.plan-card-pro-features{list-style:none;padding:0;margin:0 0 16px;color:var(--md-sys-color-on-surface-variant)}.plan-card-pro-feature{display:flex;align-items:center;gap:8px;margin-bottom:8px}.plan-card-pro-feature .material-icons{color:var(--md-sys-color-primary);font-size:18px}.plan-badge{position:absolute;top:-10px;right:16px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:4px}.plan-badge .material-icons{font-size:14px}.subscription-info{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--md-sys-color-outline-variant);font-size:.85rem;color:var(--md-sys-color-on-surface-variant)}.subscription-info-pro{margin-bottom:16px;padding-bottom:16px}.plan-card-pro{background:var(--md-sys-color-surface-container);border-radius:16px;padding:20px;margin-bottom:20px;border:1px solid var(--md-sys-color-outline-variant);position:relative;box-shadow:0 1px 3px #00000014}.plan-card-pro--current{background:var(--md-sys-color-surface-container-high);border:2px solid var(--md-sys-color-primary)}.plan-card-pro-icon{color:var(--md-sys-color-primary);font-size:28px}.plan-card-pro-name{font-weight:700;font-size:1.1rem;color:var(--md-sys-color-on-surface)}.plan-card-pro-billing{font-size:.85rem;color:var(--md-sys-color-on-surface-variant)}.upgrade-yearly-section{background:var(--md-sys-color-surface-container);border-radius:8px;padding:12px;margin-bottom:12px}.upgrade-yearly-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.upgrade-yearly-text{font-size:.9rem;font-weight:600;color:var(--md-sys-color-on-surface)}.upgrade-yearly-price{font-weight:700;color:var(--md-sys-color-primary);font-size:.9rem}.btn-subscribe-starter{width:100%;padding:12px;background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);border:none;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-subscribe-starter:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-subscribe-starter:active:not(:disabled){transform:translateY(0)}.btn-subscribe-pro{width:100%;padding:14px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 2px 8px #4caf504d}.btn-subscribe-pro:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.btn-subscribe-pro:active:not(:disabled){transform:translateY(0)}.btn-subscribe-pro .material-icons{font-size:20px}.btn-upgrade-yearly{width:100%;padding:10px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .2s ease;box-shadow:0 2px 6px #4caf504d}.btn-upgrade-yearly:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 10px #4caf5066}.btn-upgrade-yearly:active:not(:disabled){transform:translateY(0)}.btn-cancel-subscription{width:100%;padding:12px;background:#f443361a;color:var(--md-sys-color-error);border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 2px 4px #f4433626}.btn-cancel-subscription:hover{background:#f4433633;transform:translateY(-2px);box-shadow:0 4px 8px #f4433640}.btn-cancel-subscription:active{transform:translateY(0)}.btn-cancel-subscription .material-icons{font-size:18px}.cancelled-notice{padding:12px;background:var(--md-sys-color-error-container);border-radius:8px;color:var(--md-sys-color-on-error-container);text-align:center;font-size:.85rem}.cancelled-notice .material-icons{font-size:18px;margin-right:8px;vertical-align:middle}.cancel-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1001}.cancel-modal-container{background:var(--md-sys-color-surface);border-radius:16px;padding:24px;max-width:400px;margin:16px;box-shadow:0 8px 32px #0000004d}.cancel-modal-icon{text-align:center;margin-bottom:16px}.cancel-modal-icon .material-icons{font-size:48px;color:var(--md-sys-color-error)}.cancel-modal-title{margin:0 0 16px;text-align:center;color:var(--md-sys-color-on-surface);font-weight:600}.cancel-modal-body{font-size:.9rem;color:var(--md-sys-color-on-surface-variant);margin-bottom:20px;line-height:1.5}.cancel-modal-body p{margin:0 0 12px}.cancel-modal-body ul{margin:0 0 12px;padding-left:20px}.cancel-modal-body-note{margin:12px 0 0;font-style:italic;font-size:.85rem}.cancel-modal-actions{display:flex;gap:12px}.btn-keep-subscription{flex:1;padding:12px;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-keep-subscription:hover{background:var(--md-sys-color-surface-container-high)}.btn-confirm-cancel{flex:1;padding:12px;background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-confirm-cancel:hover{filter:brightness(1.1)}.payment-content{padding:0 16px;overflow:visible}@media(max-width:768px){.btn-subscribe-starter,.btn-subscribe-pro,.btn-upgrade-yearly,.btn-cancel-subscription{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn-subscribe-starter:active,.btn-subscribe-pro:active,.btn-upgrade-yearly:active{transform:scale(.98);box-shadow:0 1px 3px #0003}.btn-cancel-subscription:active{transform:scale(.98);background:#f4433640}.billing-toggle-btn{padding:12px 16px}}[data-theme=dark] .payment-dialog-container{border-color:#81c7844d}[data-theme=dark] .payment-usage-summary{background-color:#81c78414;border-color:#81c78440}[data-theme=dark] .payment-plan-card{background-color:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline-variant)}[data-theme=dark] .btn-subscribe-starter{box-shadow:0 2px 6px #0000004d}[data-theme=dark] .btn-subscribe-pro,[data-theme=dark] .btn-upgrade-yearly{box-shadow:0 2px 8px #4caf5040}[data-theme=dark] .btn-cancel-subscription{background:#f4433626}.logo-container{display:flex;align-items:center;gap:8px}.logo-text{font-size:1.8rem}.info-button{margin-left:4px}.auth-user{display:flex;align-items:center;gap:15px}.user-info-group{display:flex;align-items:center;gap:10px}.user-email-text{font-size:.95rem}.logout-btn-text{font-size:.9rem}.credits-group{display:flex;align-items:center;gap:8px}.buy-credits-btn{font-size:.85rem;padding:6px 12px;background:linear-gradient(135deg,#81c78440,#81c78459);border:1px solid rgba(129,199,132,.6);color:#2e7d32;display:flex;align-items:center;gap:4px;font-weight:600}.buy-credits-btn:hover{background:linear-gradient(135deg,#81c78466,#81c78480)}.info-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.info-modal-content{background-color:var(--md-sys-color-surface);border-radius:24px;padding:32px;max-width:480px;width:100%;box-shadow:0 8px 32px #0000003d;position:relative}.info-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;padding:8px}.info-modal-header{text-align:center;margin-bottom:24px}.info-modal-icon-wrapper{width:64px;height:64px;border-radius:50%;background-color:#4caf5026;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.info-modal-title{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:var(--md-sys-color-on-surface)}.info-modal-body{color:var(--md-sys-color-on-surface-variant);line-height:1.7;font-size:1rem}.info-modal-intro{margin:0 0 16px}.info-modal-intro strong{color:var(--md-sys-color-on-surface)}.info-modal-features{background-color:#4caf5014;border-radius:12px;padding:16px;margin-bottom:16px}.info-modal-feature{margin:0 0 12px;display:flex;align-items:center;gap:8px}.info-modal-feature:last-child{margin-bottom:0}.info-modal-footer{margin:0;font-size:.9rem;color:var(--md-sys-color-outline);text-align:center;font-style:italic}.profile-menu-container{position:relative;display:flex;align-items:center}.profile-menu-trigger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;background-color:var(--md-sys-color-surface-variant);cursor:pointer;transition:all .2s ease;box-shadow:none}.profile-menu-trigger.open{background-color:var(--md-sys-color-secondary-container);box-shadow:0 2px 8px #00000026}.profile-menu-trigger:hover{background-color:var(--md-sys-color-secondary-container)}.profile-menu-trigger:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.profile-menu-dropdown{position:fixed;min-width:280px;max-width:calc(100vw - 32px);max-height:calc(100vh - 100px);overflow-y:auto;background-color:var(--md-sys-color-surface);border-radius:16px;box-shadow:0 8px 32px #0003;border:1px solid var(--md-sys-color-outline-variant);z-index:1000;animation:profileMenuFadeIn .2s ease-out;font-family:Montserrat,sans-serif}@keyframes profileMenuFadeIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.profile-menu-header{padding:20px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container)}.profile-menu-header-content{display:flex;align-items:center;gap:12px}.profile-menu-avatar{width:48px;height:48px;border-radius:50%;background-color:var(--md-sys-color-primary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;color:var(--md-sys-color-on-primary);flex-shrink:0}.profile-menu-user-info{flex:1;min-width:0}.profile-menu-user-name{font-weight:600;font-size:1rem;color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu-user-email{font-size:.85rem;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu-items{padding:8px 0}.profile-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background-color:transparent;cursor:pointer;text-align:left;font-size:.95rem;font-family:Montserrat,sans-serif;color:var(--md-sys-color-on-surface);text-decoration:none;transition:background-color .15s ease}.profile-menu-item:hover{background-color:var(--md-sys-color-surface-variant)}.profile-menu-item.logout{color:var(--md-sys-color-error)}.profile-menu-item.logout:hover{background-color:#ba1a1a14}.profile-menu-item-label{flex:1}.profile-menu-item-badge{font-size:.85rem;color:var(--md-sys-color-on-surface-variant);background-color:var(--md-sys-color-surface-variant);padding:4px 8px;border-radius:12px}.profile-menu-item-badge--recipes{background-color:#4caf5026;color:#2e7d32;font-weight:600}.profile-menu-divider{height:1px;background-color:var(--md-sys-color-outline-variant);margin:8px 16px}@media(max-width:480px){.profile-menu-dropdown{min-width:260px;max-width:calc(100vw - 24px);right:12px!important}.profile-menu-header{padding:16px 12px}.profile-menu-avatar{width:42px;height:42px;font-size:1.1rem}.profile-menu-user-name{font-size:.95rem}.profile-menu-user-email{font-size:.8rem}.profile-menu-item{padding:10px 12px;font-size:.9rem}.profile-menu-item-badge{font-size:.8rem;padding:3px 6px}}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}.m3-icon{-webkit-user-select:none;user-select:none;vertical-align:middle;transition:color .2s ease,transform .2s ease}.m3-icon--xs{font-size:16px;width:16px;height:16px}.m3-icon--sm{font-size:20px;width:20px;height:20px}.m3-icon--md{font-size:24px;width:24px;height:24px}.m3-icon--lg{font-size:32px;width:32px;height:32px}.m3-icon--xl{font-size:40px;width:40px;height:40px}.m3-icon--primary{color:var(--md-sys-color-primary)}.m3-icon--secondary{color:var(--md-sys-color-secondary)}.m3-icon--tertiary{color:var(--md-sys-color-tertiary)}.m3-icon--surface{color:var(--md-sys-color-on-surface)}.m3-icon--error{color:var(--md-sys-color-error)}.m3-icon--on-surface{color:var(--md-sys-color-on-surface)}.m3-icon--on-surface-variant{color:var(--md-sys-color-on-surface-variant)}.m3-icon--inherit{color:inherit}.m3-icon-button{display:inline-flex;align-items:center;justify-content:center;position:relative;padding:8px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:background-color .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;min-width:40px;min-height:40px}.m3-icon-button:hover{background-color:var(--md-sys-color-on-surface-variant-opacity-8, rgba(73, 69, 79, .08))}.m3-icon-button:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.m3-icon-button:active{transform:scale(.92)}.m3-icon-button:disabled{opacity:.38;cursor:not-allowed}.m3-icon-button:disabled:hover{background:transparent;transform:none}.m3-icon-button--sm{min-width:32px;min-height:32px;padding:4px}.m3-icon-button--lg{min-width:48px;min-height:48px;padding:12px}.m3-icon-button--filled{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.m3-icon-button--filled:hover{background-color:var(--md-sys-color-primary);box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.m3-icon-button--tonal{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.m3-icon-button--tonal:hover{background-color:var(--md-sys-color-secondary-container);box-shadow:0 1px 2px #0000001a}.m3-icon-button--outlined{border:1px solid var(--md-sys-color-outline);background:transparent;color:var(--md-sys-color-on-surface-variant)}.m3-icon-button--outlined:hover{background-color:var(--md-sys-color-on-surface-variant-opacity-8, rgba(73, 69, 79, .08))}.m3-icon-button--standard{background:transparent;color:var(--md-sys-color-on-surface-variant)}.m3-icon-button--selected{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.m3-icon-button--selected.m3-icon-button--tonal{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.m3-labeled-icon-button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;min-width:56px;border:none;background:transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;gap:4px;-webkit-tap-highlight-color:transparent}.m3-labeled-icon-button:hover{background-color:var(--md-sys-color-surface-variant)}.m3-labeled-icon-button:active{transform:scale(.95)}.m3-labeled-icon-button:disabled{opacity:.38;cursor:not-allowed}.m3-labeled-icon-button .m3-icon{font-size:24px}.m3-labeled-icon-button__label{font-size:.7rem;font-weight:500;color:var(--md-sys-color-on-surface-variant);text-transform:capitalize;letter-spacing:.02em}.m3-labeled-icon-button--primary:hover{background-color:rgba(var(--md-sys-color-primary-rgb, 46, 125, 50),.12)}.m3-labeled-icon-button--error:hover{background-color:rgba(var(--md-sys-color-error-rgb, 179, 38, 30),.12)}.m3-labeled-icon-button--error .m3-icon,.m3-labeled-icon-button--error .m3-labeled-icon-button__label{color:var(--md-sys-color-error)}.m3-labeled-icon-button--selected{background-color:var(--md-sys-color-secondary-container)}.m3-labeled-icon-button--selected .m3-icon,.m3-labeled-icon-button--selected .m3-labeled-icon-button__label{color:var(--md-sys-color-on-secondary-container)}.m3-ripple{position:relative;overflow:hidden}.m3-ripple:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:currentColor;opacity:0;border-radius:inherit;transform:translate(-50%,-50%) scale(0);transition:transform .3s ease,opacity .3s ease}.m3-ripple:active:after{opacity:.12;transform:translate(-50%,-50%) scale(2);transition:transform 0s,opacity 0s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning,.m3-icon.spinning{animation:spin 1s linear infinite}.toast{position:fixed;top:max(16px,calc(env(safe-area-inset-top,0px) + 10px));left:50%;transform:translate(-50%) translateY(-10px);width:min(92vw,520px);min-height:54px;padding:10px 12px;border-radius:14px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high, var(--md-sys-color-surface));color:var(--md-sys-color-on-surface);box-shadow:var(--shadow-modal, 0 10px 30px rgba(0, 0, 0, .25));display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:10px;z-index:12000;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.toast.is-visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.toast-icon-wrap{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--md-sys-color-surface-container-highest, var(--md-sys-color-surface))}.toast-icon{font-size:15px;font-weight:700;line-height:1}.toast-message{color:var(--md-sys-color-on-surface);font-size:.94rem;font-weight:600;line-height:1.35;letter-spacing:.1px}.toast-dismiss{width:28px;height:28px;border:0;border-radius:999px;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.toast-dismiss:hover{background:var(--md-sys-color-surface-container-highest, var(--md-sys-color-surface));color:var(--md-sys-color-on-surface)}.toast-success{border-color:var(--md-sys-color-primary-container, var(--md-sys-color-primary))}.toast-success .toast-icon-wrap{background:var(--md-sys-color-primary-container, var(--md-sys-color-primary))}.toast-success .toast-icon{color:var(--md-sys-color-on-primary-container, var(--md-sys-color-on-primary))}.toast-error{border-color:var(--md-sys-color-error-container, var(--md-sys-color-error))}.toast-error .toast-icon-wrap{background:var(--md-sys-color-error-container, var(--md-sys-color-error))}.toast-error .toast-icon{color:var(--md-sys-color-on-error-container, var(--md-sys-color-on-error))}.toast-info{border-color:var(--md-sys-color-secondary-container, var(--md-sys-color-secondary))}.toast-info .toast-icon-wrap{background:var(--md-sys-color-secondary-container, var(--md-sys-color-secondary))}.toast-info .toast-icon{color:var(--md-sys-color-on-secondary-container, var(--md-sys-color-on-secondary))}@media(max-width:768px){.toast{width:min(94vw,560px)}}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}:root{--olive-green-dark: #556B2F;--olive-green-medium: #6B8E23;--olive-green-light: #8FBC8F;--olive-green-bg: #F5F7F2}.recipe-card-full-view{width:100%;max-width:100%;margin:0 auto;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;font-family:Montserrat,Segoe UI,sans-serif}:root[data-theme=dark] .recipe-card-full-view{background-color:#1e1e22}.recipe-card-content{padding:0;color:#333}:root[data-theme=dark] .recipe-card-content{color:#e0e0e0}.recipe-card-header{text-align:center;padding:20px 20px 0;margin-bottom:4px}.recipe-card-title{font-size:1.6em;font-weight:700;margin:0 0 6px;line-height:1.25;color:var(--olive-green-dark);font-family:Montserrat,sans-serif}:root[data-theme=dark] .recipe-card-title{color:var(--olive-green-light)}.recipe-card-author{font-size:.9em;margin:0 0 8px;font-style:italic;opacity:.75;font-weight:500}.recipe-card-tags{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:8px 0 0}.recipe-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background-color:var(--olive-green-bg);color:var(--olive-green-dark);border-radius:12px;font-size:.78em;font-weight:600}:root[data-theme=dark] .recipe-tag{background-color:#8bc34a26;color:var(--olive-green-light)}.tag-icon{font-size:14px!important}.recipe-card-meta{display:flex;justify-content:center;margin:14px 20px 0;padding:10px 8px;background-color:var(--olive-green-bg);border-radius:8px}:root[data-theme=dark] .recipe-card-meta{background-color:#8bc34a1a}.meta-item{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 8px;border-right:1px solid rgba(107,142,35,.25)}.meta-item:last-child{border-right:none}.meta-icon{font-size:20px!important;color:var(--olive-green-medium);flex-shrink:0}.meta-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.meta-label{font-size:.62em;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--olive-green-dark)}:root[data-theme=dark] .meta-label{color:var(--olive-green-light)}.meta-value{font-size:.82em;font-weight:600;color:#333}:root[data-theme=dark] .meta-value{color:#e0e0e0}.recipe-card-divider{width:80%;height:1px;background-color:var(--olive-green-light);opacity:.6;margin:16px auto;border-radius:1px}.recipe-card-description{margin:0 20px 16px;padding:12px 14px;background-color:var(--olive-green-bg);border-radius:8px;border-left:3px solid var(--olive-green-medium);font-size:.88em;line-height:1.55;font-style:italic}:root[data-theme=dark] .recipe-card-description{background-color:#8bc34a14}.recipe-card-description p{margin:0}.recipe-section{padding:0 20px 16px}.section-title{display:flex;align-items:center;gap:8px;font-size:1.05em;font-weight:700;margin:0 0 12px;color:var(--olive-green-dark);border-bottom:2px solid var(--olive-green-medium);padding-bottom:8px;font-family:Montserrat,sans-serif}:root[data-theme=dark] .section-title{color:var(--olive-green-light);border-bottom-color:var(--olive-green-light)}.section-icon{font-size:20px!important;color:var(--olive-green-medium)}.ingredients-list{display:flex;flex-direction:column;gap:2px}.ingredient-item{display:flex;align-items:flex-start;gap:10px;padding:6px 0;line-height:1.45;font-size:.88em;font-weight:500;border-bottom:1px solid rgba(143,188,143,.2)}.ingredient-item:last-child{border-bottom:none}.ingredient-check{font-size:18px!important;color:var(--olive-green-medium);flex-shrink:0;margin-top:1px}.ingredient-text{flex:1}.instructions-list{display:flex;flex-direction:column;gap:10px}.instruction-item{display:flex;align-items:flex-start;gap:12px;line-height:1.5;font-size:.88em;font-weight:500}.instruction-number{display:flex;align-items:center;justify-content:center;min-width:24px;width:24px;height:24px;background-color:var(--olive-green-medium);color:#fff;border-radius:50%;font-weight:700;font-size:.75rem;flex-shrink:0;margin-top:1px}.instruction-text{flex:1;padding-top:3px}.recipe-card-tips{padding:16px 20px 20px;background-color:var(--olive-green-bg);margin-top:4px}:root[data-theme=dark] .recipe-card-tips{background-color:#8bc34a0d}.recipe-card-tips .section-title{margin-bottom:10px}.tips-container{display:flex;flex-direction:column;gap:8px}.tip-item{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background-color:#fff;border-radius:6px;border-left:3px solid var(--olive-green-medium)}:root[data-theme=dark] .tip-item{background-color:#ffffff0d}.tip-icon{flex-shrink:0;font-size:18px!important;color:var(--olive-green-medium);margin-top:1px}.tip-text{flex:1;margin:0;font-size:.88em;line-height:1.45}@media(max-width:480px){.recipe-card-header{padding:16px 16px 0}.recipe-card-title{font-size:1.35em}.recipe-card-meta{margin:12px 16px 0;padding:8px 4px}.meta-item{gap:6px;padding:0 6px}.recipe-card-description{margin:0 16px 14px}.recipe-section{padding:0 16px 14px}.recipe-card-tips{padding:14px 16px 18px}}html.font-small .recipe-card-full-view{font-size:20px}html.font-medium .recipe-card-full-view{font-size:24px}html.font-large .recipe-card-full-view{font-size:28px}@media print{.recipe-card-full-view{width:210mm;height:auto;max-width:100%;margin:0;box-shadow:none;page-break-after:always}}#root{min-height:100vh}.recipe-public-page{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background, #f5f5f0)}.recipe-public-header{padding:16px 24px;border-bottom:1px solid var(--color-outline-variant, #e0e0d8);background:var(--color-surface, #ffffff);display:flex;align-items:center}.recipe-public-brand{text-decoration:none;color:var(--color-primary, #6B8E23);font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.recipe-public-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:32px 16px}.recipe-public-card-wrapper{width:100%;max-width:860px}.recipe-public-card-wrapper .recipe-card-full-view{font-size:16px!important}@media(max-width:480px){.recipe-public-card-wrapper .recipe-card-full-view{font-size:14px!important}}.recipe-public-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 24px;color:var(--color-on-surface-variant, #666)}.recipe-public-error{text-align:center;padding:80px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.recipe-public-error-icon{font-size:3rem}.recipe-public-error h2{font-size:1.5rem;color:var(--color-on-surface, #333);margin:0}.recipe-public-error p{color:var(--color-on-surface-variant, #666);margin:0}.recipe-public-footer{padding:20px 24px;text-align:center;border-top:1px solid var(--color-outline-variant, #e0e0d8);color:var(--color-on-surface-variant, #888);font-size:.85rem}.recipe-public-footer-link{color:var(--color-primary, #6B8E23);text-decoration:none;font-weight:600}.recipe-public-footer-link:hover{text-decoration:underline}.recipe-public-signin-link{margin-left:auto;color:var(--color-primary, #6B8E23);text-decoration:none;font-weight:600;font-size:.9rem}.recipe-public-signin-link:hover{text-decoration:underline}.recipe-public-app-banner{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--color-primary-container, #d4eaa0);color:var(--color-on-primary-container, #1a3000);border-radius:12px;padding:14px 16px;margin-bottom:20px;font-size:.9rem;font-weight:500;width:100%;max-width:860px;box-sizing:border-box}.recipe-public-app-btn{align-self:stretch;text-align:center;padding:10px 16px;font-size:.9rem}.recipe-public-actions{margin-top:24px;width:100%;max-width:860px;display:flex;justify-content:center}.recipe-public-action-block{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.recipe-public-cta-btn{min-width:220px;padding:12px 24px;font-size:1rem}.recipe-public-action-success{color:#4a7c1f;font-weight:600;margin:0}.recipe-public-action-error{color:var(--color-error, #b00020);font-size:.9rem;margin:0}.recipe-public-action-hint,.recipe-public-owner-note{color:var(--color-on-surface-variant, #666);font-size:.9rem;margin:0}
