*,:before,:after{box-sizing:border-box}:root{--gold:#b8960c;--gold-light:#d4af37;--gold-glow:#d4af371f;--gold-border:#d4af3740;--burgundy:#5c1a1b;--burgundy-deep:#3a0e0f;--burgundy-light:#8b2e2f;--parchment:#f7f2eb;--parchment-dark:#ede5d8;--ivory:#fffdf8;--ink:#1e1710;--ink-soft:#3d3328;--ink-muted:#7a6f60;--ink-faint:#a99e8f;--teal:#1b5e50;--teal-light:#d0e8e3;--border:#b8960c1f;--border-subtle:#0000000f;--shadow-sm:0 1px 3px #1e17100d;--shadow-md:0 4px 16px #1e171014;--shadow-lg:0 12px 40px #1e17101f;--serif:Georgia, "Times New Roman", serif;--sans:-apple-system, system-ui, "Helvetica Neue", sans-serif;--radius:10px;--radius-lg:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--gold:#d4af37;--gold-light:#e8c84a;--gold-glow:#d4af371a;--gold-border:#d4af3733;--burgundy:#7a2e2f;--burgundy-deep:#5c1a1b;--burgundy-light:#a04445;--parchment:#1a1612;--parchment-dark:#141110;--ivory:#221e19;--ink:#e8dfd0;--ink-soft:#c4b9a8;--ink-muted:#8a7f70;--ink-faint:#605848;--teal:#3da08e;--teal-light:#3da08e26;--border:#d4af371a;--border-subtle:#ffffff0f;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 12px 40px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--ivory);color:var(--ink-soft);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;line-height:1.5}button{touch-action:manipulation;-webkit-user-select:none;user-select:none;font-family:inherit}h1,h2,h3{font-family:var(--serif);color:var(--ink)}h4,h5,h6{font-family:var(--sans)}::selection{background:var(--gold-glow);color:var(--ink)}.dashboard{flex-direction:column;gap:16px;padding:20px 0 40px;display:flex}.dash-greeting{background:var(--ivory);border-radius:var(--radius-lg);border:1px solid var(--border);border-left:4px solid var(--gold);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;display:flex}.dash-greeting h2{font-family:var(--serif);color:var(--ink);margin:0;font-size:22px;font-weight:600;line-height:1.4}.dash-greeting-ar{color:var(--ink-muted);margin:4px 0 0;font-size:16px;font-weight:500}.dash-season-badge{color:#fff;letter-spacing:.3px;white-space:nowrap;border-radius:20px;padding:6px 16px;font-size:12px;font-weight:600}.dash-card{background:var(--ivory);border-radius:var(--radius-lg);border:1px solid var(--border);padding:22px 24px;transition:box-shadow .15s}.dash-card:hover{box-shadow:var(--shadow-md)}.dash-card-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-faint);margin-bottom:12px;font-size:10px;font-weight:700}.dash-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.coptic-date-main{align-items:center;gap:14px;display:flex}.coptic-day{font-family:var(--serif);color:var(--gold);font-size:48px;font-weight:700;line-height:1}.coptic-date-info{flex-direction:column;display:flex}.coptic-month{font-family:var(--serif);color:var(--ink);font-size:20px;font-weight:600}.coptic-month-ar{color:var(--ink-muted);font-size:15px;font-weight:500}.coptic-year-block{flex-direction:column;align-items:flex-end;margin-left:auto;display:flex}.coptic-year{font-family:var(--serif);color:var(--ink);font-size:22px;font-weight:700;line-height:1.2}.coptic-year-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.8px;font-size:9px;font-weight:600}.prayer-main{margin-bottom:10px}.prayer-name{font-family:var(--serif);color:var(--ink);font-size:18px;font-weight:600}.prayer-name-ar{color:var(--ink-muted);font-size:14px;font-weight:500}.prayer-time{color:var(--gold);margin-top:2px;font-size:13px;font-weight:600}.prayer-commemoration{color:var(--ink-soft);border-top:1px solid var(--border);padding:10px 0;font-size:13px;line-height:1.5}.prayer-next{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.5px;border-top:1px solid var(--border);padding-top:8px;font-size:11px;font-weight:600}.fast-progress-card{border-left:4px solid var(--burgundy)}.fast-progress-header{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.fast-progress-header h3{font-family:var(--serif);color:var(--ink);margin:0;font-size:20px;font-weight:600}.fast-progress-count{color:var(--burgundy);font-size:14px;font-weight:600}.progress-bar{background:var(--parchment-dark);border:1px solid var(--border);border-radius:5px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--burgundy-deep), var(--burgundy), var(--gold));border-radius:5px;height:100%;transition:width .5s}.progress-percent{color:var(--ink-muted);margin-top:6px;font-size:12px;font-weight:500}.fast-coptic-name{color:var(--ink-muted);font-size:14px;font-style:italic;font-weight:500}.fast-level-section{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.fast-level-badge{border-radius:16px;padding:5px 14px;font-size:13px;font-weight:600;display:inline-block}.fast-level-vegan{color:#7a6300;background:#b8960c1f}.fast-level-vegan-no-fish{color:var(--burgundy);background:#5c1a1b1a}.fast-level-fish-allowed{background:var(--teal-light);color:var(--teal)}.fast-also{color:var(--ink-muted);align-items:center;gap:6px;font-size:12px;display:flex}.fast-status-badge{color:#fff;border-radius:14px;padding:4px 12px;font-size:11px;font-weight:600}.dash-food-grid{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;padding-top:16px;display:grid}.dash-food-title{text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;font-size:11px;font-weight:700}.dash-food-allowed .dash-food-title{color:var(--teal)}.dash-food-restricted .dash-food-title{color:var(--burgundy)}.dash-food-col ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.dash-food-col li{color:var(--ink-soft);border-radius:5px;padding:5px 8px;font-size:12px;line-height:1.3}.dash-food-allowed li{background:var(--teal-light)}.dash-food-restricted li{background:#5c1a1b0f}.no-fast-block{align-items:center;gap:14px;display:flex}.no-fast-icon-small{color:var(--gold);font-size:32px}.no-fast-today{color:var(--ink);margin:0;font-size:16px;font-weight:600}.no-fast-sub{color:var(--ink-muted);margin:2px 0 0;font-size:13px}.feast-countdown-name{font-family:var(--serif);margin-bottom:12px;font-size:18px;font-weight:600}.feast-countdown-days{align-items:baseline;gap:8px;display:flex}.feast-days-num{font-family:var(--serif);color:var(--gold);font-size:48px;font-weight:700;line-height:1}.feast-days-label{color:var(--ink-muted);font-size:16px;font-weight:500}.saint-entry{margin-bottom:12px}.saint-entry:last-child{margin-bottom:0}.saint-name{font-family:var(--serif);color:var(--ink);font-size:17px;font-weight:600}.saint-name-ar{color:var(--ink-muted);font-size:14px;font-weight:500}.saint-title{color:var(--gold);text-transform:uppercase;letter-spacing:.5px;margin:4px 0 8px;font-size:12px;font-weight:600}.saint-story{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.65}.no-saint{color:var(--ink-muted);margin:0;font-size:14px;font-style:italic}.recipe-suggestion-card{border-left:4px solid var(--gold)}.recipe-suggestion-content{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.recipe-sug-name{font-family:var(--serif);color:var(--ink);font-size:18px;font-weight:600}.recipe-sug-ar{color:var(--ink-muted);font-size:14px;font-weight:500}.recipe-sug-desc{color:var(--ink-soft);margin:8px 0 0;font-size:13px;line-height:1.5}.recipe-sug-btn{border-radius:var(--radius);border:1px solid var(--gold-border);background:var(--gold-glow);color:var(--gold);cursor:pointer;white-space:nowrap;padding:10px 20px;font-size:13px;font-weight:600;transition:all .15s}.recipe-sug-btn:hover{background:var(--gold);color:#fff}@media (width<=700px){.dash-row{grid-template-columns:1fr}.dash-greeting{flex-direction:column;align-items:flex-start}.dash-greeting h2{font-size:19px}.coptic-day,.feast-days-num{font-size:36px}.recipe-suggestion-content{flex-direction:column;align-items:flex-start}}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 0 14px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.header-title{font-family:var(--serif);color:var(--ink);text-align:center;min-width:220px;margin:0;font-size:26px;font-weight:600}.nav-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--ivory);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.nav-btn:hover{background:var(--gold-glow);border-color:var(--gold-border);color:var(--gold)}.header-right{align-items:center;gap:8px;display:flex}.today-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--ivory);color:var(--ink-soft);cursor:pointer;letter-spacing:.2px;padding:8px 18px;font-size:13px;font-weight:500;transition:all .15s}.today-btn:hover{background:var(--gold-glow);border-color:var(--gold-border);color:var(--gold)}.view-toggle{border-radius:var(--radius);border:1px solid var(--border);display:flex;overflow:hidden}.toggle-btn{background:var(--ivory);color:var(--ink-muted);cursor:pointer;border:none;padding:8px 18px;font-size:13px;font-weight:500;transition:all .15s}.toggle-btn.active{background:var(--burgundy);color:var(--gold-light)}.toggle-btn:not(.active):hover{background:var(--gold-glow)}@media (width<=600px){.header-title{min-width:160px;font-size:20px}}.day-cell{cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:50px;padding:8px 4px;transition:all .15s;display:flex;position:relative}.day-cell:hover:not(.empty){background:var(--gold-glow);transform:scale(1.05)}.day-cell.empty{cursor:default}.day-cell.today .day-number{background:var(--burgundy);color:var(--gold-light);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-weight:600;display:flex;box-shadow:0 2px 8px #5c1a1b40}.day-cell.fasting{background:color-mix(in srgb, var(--fast-color,var(--burgundy)) 7%, transparent)}.day-cell.feast:not(.fasting){background:var(--gold-glow)}.day-number{color:var(--ink-soft);font-size:14px;font-weight:400}.coptic-label{color:var(--ink-faint);letter-spacing:.3px;font-size:9px;font-weight:500;line-height:1}.saint-dot{background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute;top:3px;left:5px}.fast-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.feast-star{filter:drop-shadow(0 1px 2px #00000026);font-size:11px;line-height:1;position:absolute;top:3px;right:5px}.day-cell.compact .feast-star{font-size:7px;top:1px;right:2px}.day-cell.compact{gap:1px;min-height:28px;padding:2px}.day-cell.compact .day-number{font-size:10px}.day-cell.compact.today .day-number{width:20px;height:20px;font-size:10px}.day-cell.compact .fast-dot{width:4px;height:4px}.month-view{width:100%}.month-view-title{text-align:center;font-family:var(--serif);color:var(--ink);margin-bottom:8px;font-size:14px;font-weight:600}.day-labels{text-align:center;border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.day-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.8px;padding:8px 0;font-size:11px;font-weight:600}.days-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.month-view.compact .day-label{letter-spacing:.5px;padding:3px 0;font-size:8px}.month-view.compact .days-grid{gap:1px}.month-view.compact .day-labels{border-bottom:none}.year-view{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:4px 0;display:grid}.year-month-card{background:var(--ivory);border-radius:var(--radius);border:1px solid var(--border);padding:12px;transition:box-shadow .15s}.year-month-card:hover{box-shadow:var(--shadow-md)}.food-list{grid-template-columns:1fr 1fr;gap:16px;display:grid}.food-section h4{text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:6px;margin:0 0 10px;font-size:12px;font-weight:700;display:flex}.food-section.allowed h4{color:var(--teal)}.food-section.restricted h4{color:var(--burgundy)}.food-icon{font-size:14px;font-weight:700}.food-section ul{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.food-section li{color:var(--ink-soft);border-radius:6px;padding:7px 10px;font-size:13px;line-height:1.4}.food-section.allowed li{background:var(--teal-light)}.food-section.restricted li{background:#5c1a1b0f}@media (width<=500px){.food-list{grid-template-columns:1fr}}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#1e171080;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--ivory);width:100%;max-width:540px;max-height:85vh;box-shadow:var(--shadow-lg), 0 0 0 1px var(--gold-border);border-radius:16px;padding:32px;animation:.2s slideUp;position:relative;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .15s;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--gold-glow);color:var(--ink)}.modal-date{color:var(--ink-muted);letter-spacing:.2px;margin-bottom:2px;font-size:13px;font-weight:500}.modal-coptic-date{color:var(--gold);letter-spacing:.3px;margin-bottom:16px;font-size:12px;font-weight:600}.modal-saints{margin-bottom:18px}.modal-saint-card{background:linear-gradient(135deg, var(--gold-glow), transparent);border:1px solid var(--gold-border);border-radius:var(--radius);margin-bottom:8px;padding:14px}.modal-saint-card:last-child{margin-bottom:0}.modal-saint-header{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.modal-saint-dot{background:var(--gold);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.modal-saint-name{font-family:var(--serif);color:var(--ink);font-size:15px;font-weight:600}.modal-saint-ar{color:var(--ink-muted);font-size:12px}.modal-saint-story{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.6}.feast-section{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.feast-badge{color:#fff;letter-spacing:.3px;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-block}.feast-details{margin-bottom:20px}.feast-detail-card{border:1px solid var(--gold-border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#d4af370f,#d4af3705);margin-bottom:12px;padding:18px}.feast-detail-card .feast-meta{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.feast-detail-card .fast-story{margin-bottom:0}.fast-names{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.fast-badge{color:#fff;letter-spacing:.3px;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-block}.fast-meta{background:var(--parchment);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:20px;padding:16px;display:flex}.meta-row{justify-content:space-between;align-items:center;display:flex}.meta-label{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-muted);font-size:11px;font-weight:600}.meta-value{color:var(--ink);font-size:14px;font-weight:500}.level-badge{border-radius:12px;padding:3px 10px;font-size:12px}.level-badge[data-level=vegan-no-fish]{color:var(--burgundy);background:#5c1a1b1a}.level-badge[data-level=vegan]{color:#7a6300;background:#b8960c1f}.level-badge[data-level=fish-allowed]{background:var(--teal-light);color:var(--teal)}.fast-story{margin-bottom:20px}.fast-story h4{font-family:var(--serif);color:var(--ink);margin:0 0 10px;font-size:17px;font-weight:600}.fast-story p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.75}.modal-recipes{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.modal-recipes h4{font-family:var(--serif);color:var(--ink);margin:0 0 14px;font-size:17px;font-weight:600}.recipe-chips{flex-direction:column;gap:10px;display:flex}.recipe-chip{background:var(--parchment);border-radius:var(--radius);border:1px solid var(--border);padding:14px;transition:border-color .15s}.recipe-chip:hover{border-color:var(--gold-border)}.recipe-chip-header{align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.recipe-chip-name{color:var(--ink);font-size:14px;font-weight:600}.recipe-chip-name-ar{color:var(--ink-muted);font-size:13px;font-weight:500}.recipe-chip-cat{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.recipe-chip-desc{color:var(--ink-soft);margin:6px 0 0;font-size:13px;line-height:1.5}.no-fast{text-align:center;padding:32px 0}.no-fast-icon{color:var(--gold-light);margin-bottom:12px;font-size:40px}.no-fast-text{color:var(--ink-muted);margin:0;font-size:15px}@media (width<=600px){.modal-content{max-height:90vh;padding:24px 20px}}.legend{background:var(--ivory);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:20px 24px}.legend-title{text-transform:uppercase;letter-spacing:1px;color:var(--ink-muted);margin-bottom:14px;font-size:11px;font-weight:700}.legend-items{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px 20px;margin-bottom:16px;padding-bottom:16px;display:flex}.legend-item{align-items:center;gap:7px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.legend-label{color:var(--ink-soft);font-size:12px;font-weight:500}.legend-levels{flex-wrap:wrap;gap:20px;display:flex}.level-item{color:var(--ink-muted);align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}.level-indicator{border-radius:3px;width:18px;height:5px}.level-indicator.strict{background:var(--burgundy-deep)}.level-indicator.vegan{background:var(--burgundy)}.level-indicator.fish{background:var(--teal)}.legend-feast-star{color:var(--gold);font-size:15px;line-height:1}.recipes-page{padding:20px 0 40px}.recipes-header{margin-bottom:28px}.recipes-header h2{font-family:var(--serif);color:var(--ink);margin:0 0 8px;font-size:30px;font-weight:600}.recipes-header p{color:var(--ink-muted);margin:0;font-size:15px}.recipes-filters{background:var(--ivory);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;gap:14px;margin-bottom:20px;padding:18px 20px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-muted);min-width:95px;font-size:11px;font-weight:700}.filter-btns{flex-wrap:wrap;gap:6px;display:flex}.filter-btn{border:1px solid var(--border);background:var(--parchment);color:var(--ink-soft);cursor:pointer;border-radius:18px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.filter-btn:hover{border-color:var(--gold-border);background:var(--gold-glow)}.filter-btn.active{background:var(--burgundy);color:var(--gold-light);border-color:var(--burgundy)}.recipes-count{color:var(--ink-muted);margin-bottom:16px;font-size:13px;font-weight:500}.recipes-grid{flex-direction:column;gap:12px;display:flex}.recipe-card{background:var(--ivory);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all .15s;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-md)}.recipe-card.expanded{border-color:var(--gold-border);box-shadow:0 2px 12px #d4af371a}.recipe-card-header{cursor:pointer;padding:22px}.recipe-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.recipe-card-name{font-family:var(--serif);color:var(--ink);margin:0;font-size:19px;font-weight:600;line-height:1.3}.recipe-card-ar{color:var(--ink-muted);font-size:15px;font-weight:500}.recipe-level-dot{color:#fff;white-space:nowrap;border-radius:12px;flex-shrink:0;padding:4px 11px;font-size:11px;font-weight:600}.recipe-card-meta{color:var(--ink-faint);letter-spacing:.2px;gap:6px;margin:8px 0;font-size:12px;font-weight:500;display:flex}.recipe-card-desc{color:var(--ink-soft);margin:8px 0 14px;font-size:14px;line-height:1.65}.recipe-expand-btn{color:var(--gold);cursor:pointer;letter-spacing:.2px;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:600;display:flex}.recipe-expand-btn:hover{color:var(--burgundy)}.recipe-chevron{transition:transform .2s}.recipe-chevron.rotated{transform:rotate(180deg)}.recipe-card-body{border-top:1px solid var(--border);padding:0 22px 22px;animation:.2s fadeInRecipe}@keyframes fadeInRecipe{0%{opacity:0}to{opacity:1}}.recipe-section{margin-top:18px}.recipe-section h4{text-transform:uppercase;letter-spacing:.8px;color:var(--ink);margin:0 0 12px;font-size:12px;font-weight:700}.ingredient-list{grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;list-style:none;display:grid}.ingredient-list li{color:var(--ink-soft);background:var(--parchment);border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;line-height:1.4}.ingredient-list li:before{content:"•";color:var(--gold);font-weight:700}.steps-list{flex-direction:column;gap:10px;margin:0;padding-left:22px;display:flex}.steps-list li{color:var(--ink-soft);font-size:13px;line-height:1.65}.steps-list li::marker{color:var(--gold);font-weight:700}.recipes-empty{text-align:center;color:var(--ink-muted);padding:48px 0;font-size:15px}@media (width<=600px){.recipes-header h2{font-size:24px}.filter-label{width:100%;min-width:auto}.ingredient-list{grid-template-columns:1fr}.recipe-card-top{flex-direction:column}.recipe-card-header{padding:16px}}.faq-page{padding:20px 0 40px}.faq-header{margin-bottom:28px}.faq-header h2{font-family:var(--serif);color:var(--ink);margin:0 0 8px;font-size:30px;font-weight:600}.faq-header p{color:var(--ink-muted);margin:0;font-size:15px;line-height:1.5}.faq-categories{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.faq-cat-btn{border:1px solid var(--border);background:var(--ivory);color:var(--ink-soft);cursor:pointer;border-radius:20px;padding:8px 18px;font-size:13px;font-weight:500;transition:all .15s}.faq-cat-btn:hover{border-color:var(--gold-border);background:var(--gold-glow)}.faq-cat-btn.active{background:var(--burgundy);color:var(--gold-light);border-color:var(--burgundy)}.faq-list{flex-direction:column;gap:8px;display:flex}.faq-item{background:var(--ivory);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all .15s;overflow:hidden}.faq-item:hover{box-shadow:var(--shadow-md)}.faq-item.open{border-color:var(--gold-border);box-shadow:0 2px 12px #d4af371a}.faq-question{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-size:15px;font-weight:600;line-height:1.4;display:flex}.faq-question:hover{background:var(--gold-glow)}.faq-chevron{color:var(--ink-muted);flex-shrink:0;transition:transform .2s}.faq-chevron.rotated{color:var(--gold);transform:rotate(180deg)}.faq-answer{padding:0 20px 20px;animation:.2s fadeInAnswer}@keyframes fadeInAnswer{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.faq-answer p{color:var(--ink-soft);margin:0 0 12px;font-size:14px;line-height:1.8}.faq-answer p:last-child{margin-bottom:0}@media (width<=600px){.faq-header h2{font-size:24px}.faq-question{padding:14px 16px;font-size:14px}.faq-answer{padding:0 16px 16px}}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}.app{background:var(--ivory);flex-direction:column;height:100%;display:flex;overflow:hidden}.app-header{background:var(--burgundy);padding:0 20px;padding-top:env(safe-area-inset-top);z-index:100;flex:none;box-shadow:0 1px 8px #5c1a1b40}.app-header-inner{justify-content:space-between;align-items:center;max-width:920px;height:48px;margin:0 auto;display:flex}.app-logo{align-items:center;gap:10px;display:flex}.app-logo h1{font-family:var(--serif);color:var(--gold-light);letter-spacing:.2px;margin:0;font-size:17px;font-weight:600}.logo-cross{flex-shrink:0;width:26px;height:26px}.dark-toggle{width:32px;height:32px;color:var(--gold-light);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.dark-toggle:hover{border-color:var(--gold-border);background:#ffffff1f}.swipe-container{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1 1 0;min-height:0;display:flex;overflow:auto hidden}.swipe-container::-webkit-scrollbar{display:none}.swipe-page{scroll-snap-align:start;scroll-snap-stop:always;-webkit-overflow-scrolling:touch;width:100%;min-width:100%;overflow-y:auto}.page-content{max-width:920px;margin:0 auto;padding:12px 20px 24px}.calendar-container{background:var(--ivory);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);margin-bottom:20px;padding:28px}.tab-bar{background:var(--ivory);border-top:1px solid var(--border);z-index:100;flex:none;justify-content:space-around;align-items:center;padding:6px 0;display:flex}.safe-area-spacer{display:none}.tab{cursor:pointer;color:var(--ink-muted);-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:4px 16px;transition:color .15s;display:flex}.tab svg{transition:all .15s}.tab span{letter-spacing:.3px;font-size:10px;font-weight:600}.tab.active{color:var(--gold)}.tab.active svg{stroke:var(--gold);filter:drop-shadow(0 0 4px #d4af374d)}.tab:not(.active):hover{color:var(--ink-soft)}@media (width<=600px){.app-header{padding:0 14px;padding-top:env(safe-area-inset-top)}.app-header-inner{height:44px}.app-logo h1{font-size:15px}.page-content{padding:8px 12px 16px}.calendar-container{border-radius:var(--radius);padding:14px}.tab{padding:4px 12px}.tab span{font-size:9px}}
