@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=Inter:wght@300;400;500;600;700&display=swap";
:root{--bg-page:#faf8f5;--bg-white:#fff;--bg-sidebar:#f5f3f0;--accent-coral:#be5b4e;--accent-coral-hover:#a84e43;--accent-orange:#cda055;--text-primary:#2d2d2d;--text-secondary:#6b6b6b;--text-muted:#9b9b9b;--border:#e8e4df;--threshold-ok:#4caf50;--threshold-ok-bg:#4caf501f;--threshold-warning:#cda055;--threshold-warning-bg:#cda0551f;--threshold-danger:#be5b4e;--threshold-danger-bg:#be5b4e1f;--nav-height:60px;--content-font-heading:"Fredoka",sans-serif;--content-font-body:"Inter",sans-serif;--content-color-heading:var(--text-primary);--content-color-body:#555;--content-heading-weight:600;--content-h1-size:2rem;--content-h2-size:1.3rem;--content-h3-size:1.1rem;--content-body-size:15px;--content-line-height:1.7}body,input,button,select{color:var(--text-primary);letter-spacing:-.01em;font-family:Inter,sans-serif;font-size:14px}body{background:var(--bg-page);font-variant-numeric:tabular-nums;margin:0}*{box-sizing:border-box}.site-nav{height:var(--nav-height);background:var(--bg-white);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:24px;padding:0 32px;display:flex;position:sticky;top:0}.nav-brand{color:var(--accent-coral);align-items:center;gap:6px;margin-right:16px;font-family:Fredoka,sans-serif;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.nav-links{gap:8px;display:flex}.nav-link{color:var(--text-primary);border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{background:var(--bg-sidebar)}.nav-active{background:var(--accent-coral);color:#fff}.nav-active:hover{background:var(--accent-coral-hover);color:#fff}.nav-signin{background:var(--accent-orange);color:#fff;border:1px solid #e09520}.nav-signin:hover{color:#fff;background:#e09520}.calculator-grid{grid-template-columns:1fr 340px;gap:32px;max-width:1400px;margin:0 auto;padding:24px 32px;display:grid}.calculator-main{min-width:0}.page-title{margin:0 0 4px;font-family:Fredoka,sans-serif;font-size:28px;font-weight:700}.title-icon{vertical-align:middle;color:var(--accent-coral)}.page-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:16px}.recipe-management{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 20px;display:flex}.recipe-controls-left,.recipe-controls-right{align-items:center;gap:8px;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-outlined{border:1px solid var(--border);color:var(--text-primary);background:0 0}.btn-outlined:hover:not(:disabled){background:var(--bg-sidebar);border-color:var(--text-muted)}.btn-coral{background:var(--accent-coral);color:#fff}.btn-coral:hover:not(:disabled){background:var(--accent-coral-hover)}.btn-text{color:var(--text-secondary);background:0 0;border:none;padding:10px 12px}.btn-text:hover:not(:disabled){color:var(--text-primary);background:var(--bg-sidebar)}.btn-danger{background:var(--threshold-danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-small{padding:6px 12px;font-size:12px}.recipe-title-section{align-items:center;gap:12px;margin-bottom:16px;display:flex}.recipe-title{margin:0;font-size:22px;font-weight:700}.recipe-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:14px}.unsaved-badge{background:var(--accent-orange);color:#fff;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;border-radius:12px;padding:4px 12px;font-size:11px;font-weight:700}.recipe-type-badge-wrapper{margin-left:auto;position:relative}.recipe-type-badge{background:var(--bg-sidebar);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:600;transition:border-color .15s;display:inline-flex}.recipe-type-badge:hover{border-color:var(--accent-coral)}.recipe-type-dropdown{background:var(--bg-white);border:1px solid var(--border);z-index:10;border-radius:8px;min-width:160px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 12px #0000001a}.recipe-type-option{cursor:pointer;border-radius:4px;padding:8px 12px;font-size:13px}.recipe-type-option:hover{background:var(--bg-sidebar)}.recipe-type-option.selected{color:var(--accent-coral);font-weight:600}.recipe-type-readonly{background:var(--bg-sidebar);color:var(--text-secondary);white-space:nowrap;border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.table{border-collapse:separate;border-spacing:0;width:100%}.thead th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:center;border-bottom:1px solid var(--border);cursor:default;padding:10px 8px;font-size:11px;font-weight:600;position:relative}.tooltip-wrapper{align-items:center;display:inline-flex;position:relative}.tooltip{background:var(--text-secondary);color:#fff;text-transform:none;letter-spacing:0;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:10;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:400;transition:opacity .15s .4s,transform .15s .4s,visibility .15s .4s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px)}.tooltip:after{content:"";width:100%;height:8px;position:absolute;top:100%;left:0}.tooltip a{color:var(--accent-orange);text-decoration:underline}.tooltip-wrapper:hover .tooltip{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.tooltip-info-icon{color:var(--text-muted);vertical-align:middle;cursor:default;margin-left:3px;position:relative;top:-1px}.thead th:first-child{text-align:left;width:32px}.thead th:nth-child(2){text-align:left}.trBodyIngredients{background:var(--bg-white)}.trBodyIngredients td{border-bottom:1px solid var(--border);vertical-align:middle;text-align:center;padding:10px 8px}.trBodyIngredients td:first-child{text-align:left;width:32px}.trBodyIngredients td:nth-child(2){text-align:left}.trBodyIngredients:hover{background:#fdfcfa}td:first-child,th:first-child{padding-left:12px}td:last-child,th:last-child{width:48px;padding-right:12px}.weightInput{border:1px solid var(--border);text-align:center;background:var(--bg-sidebar);-moz-appearance:textfield;border-radius:20px;width:76px;padding:5px 10px;font-family:Inter,sans-serif;font-size:13px}.weightInput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.weightInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.weightInput:focus{border-color:var(--accent-coral);background:var(--bg-white);outline:none}.tdButtons{text-align:center}.actionButton{cursor:pointer;opacity:0;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:16px;transition:opacity .2s,color .2s;display:inline-flex}.trBodyIngredients:hover .actionButton{opacity:.5}.actionButton:hover{color:var(--threshold-danger);opacity:1!important}td:has(.newIngredient){padding:0}.newIngredient{text-align:center;width:100%;color:var(--text-muted);cursor:pointer;letter-spacing:.5px;text-transform:uppercase;background:0 0;background:var(--bg-white);border:none;padding:12px 0;font-size:12px;font-weight:500;transition:background .2s,color .2s}.newIngredient svg{vertical-align:middle;margin-right:4px;position:relative;top:-1px}.newIngredient:hover{background:var(--bg-sidebar);color:var(--text-secondary)}tr.totalG td,tr.totalP td{background:var(--bg-sidebar);text-align:center;padding:10px 8px;font-weight:500}tr.totalG td:nth-child(2),tr.totalP td:nth-child(2){text-align:left}tr.totalG td:first-child,tr.totalP td:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}tr.totalG td:last-child,tr.totalP td:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.threshold-pill{border-radius:20px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.threshold-ok{background:var(--threshold-ok-bg);color:var(--threshold-ok)}.threshold-warning{background:var(--threshold-warning-bg);color:var(--threshold-warning)}.threshold-danger{background:var(--threshold-danger-bg);color:var(--threshold-danger)}.balance-panel{top:calc(var(--nav-height) + 20px);background:var(--bg-sidebar);border-radius:16px;align-self:start;padding:20px;position:sticky}.balance-panel-title{margin:0 0 4px;font-size:18px;font-weight:600}.balance-panel-link{color:var(--text-muted);margin-bottom:14px;font-size:12px;text-decoration:none;display:block}.balance-panel-link:hover{color:var(--coral);text-decoration:underline}.balance-panel-grid{flex-direction:column;gap:8px;display:flex}.balance-card{background:var(--bg-white);border-radius:10px;padding:12px 14px}.balance-card-header{justify-content:space-between;align-items:center;display:flex}.balance-card-label{color:var(--text-primary);font-size:13px;font-weight:500}.balance-card-target{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-top:6px;font-size:10px}.balance-card-value{font-size:18px;font-weight:700}.balance-card-value.status-ok{color:var(--threshold-ok)}.balance-card-value.status-warning{color:var(--threshold-warning)}.balance-card-value.status-danger{color:var(--threshold-danger)}.balance-progress-track{background:var(--border);border-radius:2px;height:3px;margin-top:8px;position:relative}.balance-progress-fill{border-radius:2px;height:100%;transition:width .3s;position:absolute;top:0;left:0}.balance-progress-fill.status-ok{background:var(--threshold-ok)}.balance-progress-fill.status-warning{background:var(--threshold-warning)}.balance-progress-fill.status-danger{background:var(--threshold-danger)}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-white);border-radius:16px;width:90%;max-width:500px;max-height:80vh;padding:32px;overflow-y:auto;box-shadow:0 10px 40px #00000026}.modal h3{color:var(--text-primary);text-align:center;margin:0 0 20px;font-size:20px;font-weight:600}.modal p{color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.recipe-name-input{border:1px solid var(--border);border-radius:12px;width:100%;margin-bottom:20px;padding:12px 16px;font-family:Inter,sans-serif;font-size:14px}.recipe-name-input:focus{border-color:var(--accent-coral);outline:none}.recipe-name-input.input-error{border-color:var(--threshold-danger)}.modal-buttons{justify-content:center;gap:10px;margin-top:20px;display:flex}.recipe-search-input{border:1px solid var(--border);border-radius:10px;width:100%;margin-bottom:14px;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px}.recipe-search-input:focus{border-color:var(--accent-coral);outline:none}.recipe-list{height:300px;margin-bottom:20px;overflow-y:auto}.recipe-list-empty{color:var(--text-muted);text-align:center;padding:40px 0;font-size:14px}.recipe-item{border:1px solid var(--border);background:var(--bg-page);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:16px;display:flex}.recipe-info h4{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:600}.recipe-info p{color:var(--text-secondary);margin:0 0 4px;font-size:13px}.recipe-info small{color:var(--text-muted);font-size:12px}.recipe-actions{gap:6px;display:flex}.modalContainer{z-index:1000;background-color:#0006;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0;overflow:auto}.addIngredientModal{background-color:var(--bg-white);border-radius:16px;width:90%;max-width:700px;max-height:90vh;padding:0;overflow-y:auto;box-shadow:0 10px 40px #00000026}.modalHeader{border-bottom:1px solid var(--border);background:var(--bg-page);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.modalHeader h2{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:600}.closeButton{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.5rem;transition:background-color .2s;display:flex}.closeButton:hover{background-color:var(--bg-sidebar);color:var(--text-primary)}.ingredientFields{flex-direction:column;gap:20px;padding:25px;display:flex}.weightSection{flex-direction:column;gap:6px;display:flex}.weightSection label{color:var(--text-primary);font-size:14px;font-weight:500}.modalWeightInput{border:1px solid var(--border);background:var(--bg-white);box-sizing:border-box;-moz-appearance:textfield;border-radius:12px;width:100%;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s}.modalWeightInput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modalWeightInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modalWeightInput:focus{border-color:var(--accent-orange);outline:none}.modalWeightInput.error{border-color:var(--threshold-danger)}.modalColumns{gap:15px;height:380px;display:flex}.leftColumn{border-right:1px solid var(--border);flex-direction:column;flex:0 0 220px;padding-right:15px;display:flex}.rightColumn{flex-direction:column;flex:1;display:flex}.categorySection h3{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:600}.categorySection,.ingredientSection{flex-direction:column;height:100%;display:flex}.categoryList,.ingredientList{border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:1;gap:2px;padding:4px;display:flex;overflow-y:auto}.ingredientSearch{border:1px solid var(--border);background:var(--bg-white);border-radius:8px;margin-bottom:6px;padding:8px 12px;font-family:Inter,sans-serif;font-size:13px}.ingredientSearch:focus{border-color:var(--accent-orange);outline:none}.categoryItem,.ingredientItem{background:var(--bg-white);text-align:left;cursor:pointer;border:none;border-radius:6px;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px;transition:all .2s}.categoryItem:hover,.ingredientItem:hover{background:var(--bg-page)}.categoryItem.selected,.ingredientItem.selected{color:var(--text-primary);background:#f5a6234d}.unitCountBtn{border:1px solid var(--border);width:20px;height:20px;color:inherit;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.unitCountBtn:hover{opacity:.8}.unitCountBtnSm{border:1px solid var(--border);width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.unitCountBtnSm:hover{opacity:.8}.unitCountBadge{color:#c8a96e;white-space:nowrap;text-align:center;background:#c8a96e1a;border-radius:8px;min-width:28px;padding:1px 5px;font-size:11px}.ingredientItemUnit{justify-content:space-between;align-items:center;display:flex}.ingredientItemLabel{color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;padding:0}.unitCountWrap{flex-shrink:0;align-items:center;gap:4px;margin-left:8px;display:inline-flex}.unitWeightHint{color:var(--text-muted);margin-left:5px;font-size:11px}.ingredientItemUnit .unitCountWrap{opacity:0;transition:opacity .15s}.ingredientItemUnit:hover .unitCountWrap,.ingredientItemUnit.selected .unitCountWrap{opacity:1}.unitCountVal{text-align:center;min-width:16px;font-size:11px}.errorMessage{color:var(--threshold-danger);margin-top:4px;font-size:12px}.modalButtons{border-top:1px solid var(--border);background:var(--bg-page);border-radius:0 0 16px 16px;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.addAnotherLabel{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:14px;display:flex}.addAnotherLabel input[type=checkbox]{cursor:pointer;width:16px;height:16px}.modalButtonsRight{align-items:center;gap:12px;display:flex}.modalButtons button{cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .2s}.cancelButton{color:var(--text-secondary);background:0 0;border:none}.cancelButton:hover{background:0 0;text-decoration:underline}.addButton{background:var(--accent-orange);color:var(--text-primary)}.addButton:hover{background:#e09520}.addButton:disabled{opacity:.4;cursor:not-allowed}.articles-container{text-align:center;max-width:600px;margin:0 auto;padding:80px 20px}.articles-container h1{margin-bottom:16px;font-size:28px;font-weight:700}.articles-container p{color:var(--text-secondary);font-size:16px;line-height:1.7}.rescale-wrapper,.rescale-cell{justify-content:center;align-items:center;width:120px;height:28px;display:inline-flex}.rescale-cell{position:relative}.rescale-actions{align-items:center;gap:2px;display:flex;position:absolute;left:2px}.rescale-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px;transition:color .2s,background .2s;display:inline-flex}.rescale-btn:hover{color:var(--accent-coral);background:#e8734a1a}.rescale-input{border:1px solid var(--accent-coral);text-align:center;background:var(--bg-white);box-sizing:border-box;border-radius:20px;width:90px;height:28px;padding:0 10px;font-family:Inter,sans-serif;font-size:13px;font-weight:500}.rescale-input:focus{outline:none}.toast-container{top:calc(var(--nav-height) + 16px);z-index:1100;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;right:24px}.toast{color:#fff;pointer-events:auto;border-radius:10px;max-width:360px;padding:12px 20px;font-size:14px;font-weight:500;animation:.3s forwards toast-in;box-shadow:0 4px 12px #00000026}.toast-exit{animation:.3s forwards toast-out}.toast-success{background:var(--threshold-ok)}.toast-error{background:var(--threshold-danger)}.toast-warning{background:var(--threshold-warning)}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.how-it-works-container{max-width:720px;margin:0 auto;padding:40px 32px 80px}.how-it-works-container h1{font-family:var(--content-font-heading);font-size:var(--content-h1-size);font-weight:var(--content-heading-weight);color:var(--content-color-heading);margin:0 0 12px}.how-it-works-intro{color:var(--content-color-body);font-size:16px;line-height:var(--content-line-height);margin:0 0 40px}.how-it-works-container h2{font-family:var(--content-font-heading);font-size:var(--content-h2-size);font-weight:var(--content-heading-weight);color:var(--content-color-heading);margin:32px 0 12px}.how-it-works-container p{color:var(--content-color-body);line-height:var(--content-line-height);font-size:var(--content-body-size);margin:0 0 12px}.how-it-works-container ul{color:var(--content-color-body);line-height:var(--content-line-height);font-size:var(--content-body-size);margin:0 0 12px;padding-left:24px}.how-it-works-container li{margin-bottom:6px}.threshold-text-ok{color:var(--threshold-ok)}.threshold-text-warning{color:var(--threshold-warning)}.threshold-text-danger{color:var(--threshold-danger)}.recipe-type-comparison{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px}.recipe-type-comparison th,.recipe-type-comparison td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}.recipe-type-comparison th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.recipe-type-comparison td:first-child{font-weight:500}@media (max-width:1023px){.calculator-grid{grid-template-columns:1fr 280px;gap:24px;padding:20px 24px}}.recommendation-card{border-left:4px solid;border-radius:.5rem;margin-top:1rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.5}.recommendation-card-ok{border-left-color:var(--threshold-ok);background:var(--threshold-ok-bg);color:var(--threshold-ok)}.recommendation-card-warning{border-left-color:var(--threshold-warning);background:var(--threshold-warning-bg);color:var(--text-primary)}.recommendation-card-danger{border-left-color:var(--threshold-danger);background:var(--threshold-danger-bg);color:var(--text-primary)}.recommendation-card-text{margin:0}@media (max-width:767px){.calculator-grid{grid-template-columns:1fr;padding:16px}.balance-panel{position:static}.recipe-management{flex-direction:column;align-items:stretch}.recipe-controls-left,.recipe-controls-right{flex-wrap:wrap;justify-content:center}.site-nav{padding:0 16px}.table{font-size:12px}.how-it-works-container{padding:24px 16px 60px}}.auth-modal{max-width:420px;max-height:none;padding:40px 32px 32px;position:relative;overflow-y:visible}.auth-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px;transition:color .2s;display:flex;position:absolute;top:16px;right:16px}.auth-close:hover{color:var(--text-primary)}.auth-logo{background:#faf3e4;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.auth-logo img{object-fit:contain;width:32px;height:32px}.auth-heading{text-align:center;margin:0 0 4px;font-size:22px;font-weight:700}.auth-subtitle{color:var(--text-secondary);text-align:center;margin:0 0 24px;font-size:14px}.auth-tabs{border:1px solid var(--border);border-radius:24px;margin-bottom:24px;display:flex;overflow:hidden}.auth-tab{text-align:center;cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex:1;padding:10px 0;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .2s}.auth-tab-active{background:var(--bg-sidebar);color:var(--text-primary);font-weight:600}.auth-field{margin-bottom:16px}.auth-label{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.auth-input-wrapper{position:relative}.auth-input{border:1px solid var(--border);background:var(--bg-white);width:100%;color:var(--text-primary);border-radius:12px;padding:12px 16px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s}.auth-input:focus{border-color:var(--accent-orange);outline:none}.auth-input-error{border-color:var(--threshold-danger)}.auth-password-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--text-primary)}.auth-row{justify-content:space-between;align-items:center;margin-bottom:20px;font-size:13px;display:flex}.auth-remember{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;display:flex}.auth-remember input[type=checkbox]{accent-color:var(--accent-orange)}.auth-forgot{color:var(--accent-orange);cursor:pointer;background:0 0;border:none;font-family:Inter,sans-serif;font-size:13px;font-weight:500}.auth-forgot:hover{text-decoration:underline}.auth-submit{background:var(--accent-orange);color:#fff;cursor:pointer;border:none;border-radius:24px;width:100%;padding:14px;font-family:Inter,sans-serif;font-size:16px;font-weight:600;transition:opacity .2s}.auth-submit:hover:not(:disabled){opacity:.9}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:16px;margin:24px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-social-buttons{gap:12px;margin-bottom:24px;display:flex}.auth-social-btn{border:1px solid var(--border);background:var(--bg-white);color:var(--text-muted);cursor:not-allowed;opacity:.5;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;display:flex}.auth-footer{text-align:center;color:var(--text-secondary);border-top:1px solid var(--border);padding-top:16px;font-size:13px}.auth-footer button{color:var(--accent-orange);cursor:pointer;background:0 0;border:none;font-family:Inter,sans-serif;font-size:13px;font-weight:500}.auth-footer button:hover{text-decoration:underline}.auth-modal p.auth-error{color:var(--threshold-danger);margin:8px 0 12px;font-size:14px;font-weight:500}.auth-success{color:var(--threshold-ok);text-align:center;margin:16px 0;font-size:14px;line-height:1.5}.auth-back{color:var(--accent-orange);cursor:pointer;text-align:center;background:0 0;border:none;width:100%;margin-top:12px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;display:block}.auth-back:hover{text-decoration:underline}.auth-newsletter-buttons{flex-direction:column;gap:4px;margin-top:24px;display:flex}.auth-nav{margin-left:auto;position:relative}.auth-avatar{background:var(--accent-orange);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;transition:opacity .2s;display:flex}.auth-avatar:hover{opacity:.85}.auth-dropdown{background:var(--bg-white);border:1px solid var(--border);z-index:200;border-radius:12px;min-width:200px;padding:12px 16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 16px #0000001a}.auth-dropdown-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0 0 12px;font-size:13px;overflow:hidden}.auth-dropdown-signout{border:none;border-top:1px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:8px 0;font-family:Inter,sans-serif;font-size:14px;transition:color .2s;display:flex}.auth-dropdown-signout:hover{color:var(--text-primary)}.recipe-section-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:8px;padding:12px 0 8px;font-size:11px;font-weight:600}.recipe-section-header:first-child{padding-top:0}.article-container{max-width:720px;margin:0 auto;padding:40px 24px 80px}.article-content{line-height:var(--content-line-height);font-size:var(--content-body-size);color:var(--content-color-body)}.article-h1{font-family:var(--content-font-heading);font-size:var(--content-h1-size);font-weight:var(--content-heading-weight);color:var(--content-color-heading);margin:0 0 8px}.article-h2{font-family:var(--content-font-heading);font-size:var(--content-h2-size);font-weight:var(--content-heading-weight);color:var(--content-color-heading);margin:40px 0 12px}.article-h3{font-family:var(--content-font-body);color:var(--content-color-heading);margin:32px 0 6px;font-size:1rem;font-weight:600}.article-p{color:var(--content-color-body);margin:0 0 16px}.article-ul,.article-ol{color:var(--content-color-body);margin:0 0 16px;padding-left:24px}.article-ul li,.article-ol li{margin-bottom:8px}.article-link{color:var(--accent-coral);text-underline-offset:2px;text-decoration:underline}.article-link:hover{color:var(--accent-coral-hover)}.article-blockquote{border-left:3px solid var(--accent-coral);background:var(--bg-sidebar);color:var(--content-color-body);border-radius:0 8px 8px 0;margin:24px 0;padding:12px 20px;font-style:italic}.article-table{border-collapse:collapse;width:100%;max-width:480px;font-size:var(--content-body-size);white-space:nowrap;margin:16px 0}.article-th{text-align:left;color:var(--content-color-heading);border-bottom:2px solid var(--border);padding:8px 12px;font-weight:600}.article-td{border-bottom:1px solid var(--border);color:var(--content-color-body);padding:8px 12px}.article-footer{border-top:1px solid var(--border);margin-top:48px;padding-top:32px}.affiliate-box{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:12px;margin:24px 0;padding:20px 24px}.affiliate-box-title{font-family:var(--content-font-heading);font-weight:var(--content-heading-weight);color:var(--content-color-heading);margin:0 0 12px;font-size:1rem}.affiliate-box-list{margin:0;padding:0;list-style:none}.affiliate-box-list li{margin-bottom:8px}.affiliate-box-list a{color:var(--accent-coral);font-weight:500;text-decoration:underline}.affiliate-box-note{color:var(--text-secondary);font-size:.9em}.calculator-link{background:var(--accent-coral);color:var(--bg-white);border-radius:8px;align-items:center;gap:8px;margin:16px 0;padding:10px 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.calculator-link:hover{background:var(--accent-coral-hover)}.calculator-link-icon{font-size:1.2em}.email-cta{background:var(--bg-sidebar);border:1px solid var(--border);text-align:center;border-radius:12px;padding:24px}.email-cta-title{color:var(--text-primary);margin:0 0 4px;font-family:Fredoka,sans-serif;font-size:1.1rem}.email-cta-subtitle{color:var(--text-secondary);margin:0 0 16px;font-size:.9rem}.email-cta-form{justify-content:center;gap:8px;max-width:400px;margin:0 auto;display:flex}.email-cta-input{border:1px solid var(--border);background:var(--bg-white);border-radius:8px;flex:1;padding:10px 14px;font-size:.9rem}.email-cta-input:focus{border-color:var(--accent-coral);outline:none}.email-cta-button{background:var(--accent-coral);color:var(--bg-white);cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:600;transition:background .15s}.email-cta-button:hover{background:var(--accent-coral-hover)}.email-cta-button:disabled{opacity:.6;cursor:default}.email-cta-thanks{color:var(--threshold-ok);margin:0;font-weight:600}.email-cta-error{color:var(--threshold-danger);margin:8px 0 0;font-size:.85rem}.articles-list{gap:20px;margin-top:24px;display:grid}.article-card{background:var(--bg-white);border:1px solid var(--border);color:inherit;border-radius:12px;padding:24px;text-decoration:none;transition:border-color .15s}.article-card:hover{border-color:var(--accent-coral)}.article-card-title{color:var(--text-primary);margin:0 0 8px;font-family:Fredoka,sans-serif;font-size:1.15rem}.article-card-description{color:var(--text-secondary);margin:0 0 8px;font-size:.9rem;line-height:1.5}.article-card-date{color:var(--text-muted);font-size:.8rem}
