*{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#d4859d;--color-secondary:#e8a5a0;--color-accent:#a86584;--color-success:#8fb5a5;--color-heat:#e89b96;--color-bg:#fef8f9;--color-bg-alt:#f8eff1;--color-text:#3d2e33;--color-text-light:#9d8389;--color-border:#f0dde3;--color-light:#fcf4f6;--color-bg-gradient-start:#fef8f9;--color-bg-gradient-end:#fcf4f6;--color-header-gradient-start:#d4859d;--color-header-gradient-end:#a86584;--color-card-bg:#fff;--color-input-bg:#fff;--font-base:18px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--color-gantt-prep:#7c9eb8;--color-gantt-cook:#d97563;--color-gantt-finish:#6b9f7f;--time-badge-padding:0.875rem 1.25rem;--time-badge-gap:1.25rem;--time-badge-radius:0.875rem;--time-divider-height:2.5rem}[data-theme=dark]{--color-primary:#e89bae;--color-secondary:#f0b8b3;--color-accent:#c88ba4;--color-success:#a8c9ba;--color-heat:#f0aea9;--color-bg:#1a1517;--color-bg-alt:#251d20;--color-text:#f5e6ea;--color-text-light:#c4a8af;--color-border:#3d2e33;--color-light:#2d2326;--color-bg-gradient-start:#1a1517;--color-bg-gradient-end:#251d20;--color-header-gradient-start:#8b4d6b;--color-header-gradient-end:#6b3d55;--color-card-bg:#2d2326;--color-input-bg:#3d2e33;--color-gantt-prep:#5a7c98;--color-gantt-cook:#c96653;--color-gantt-finish:#5b8f6f}body{font-family:var(--font-family);font-size:var(--font-base);line-height:1.7;color:var(--color-text);background:linear-gradient(180deg,var(--color-bg-gradient-start) 0,var(--color-bg-gradient-end) 40%);letter-spacing:.01em}.container{max-width:1200px;margin:0 auto;padding:0 20px}.full-bleed{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.site-header{background:linear-gradient(135deg,var(--color-header-gradient-start) 0,var(--color-header-gradient-end) 100%);color:#fff;padding:3rem 0;margin-bottom:3rem;box-shadow:0 8px 32px rgba(212,133,157,.2)}.site-header .container{display:flex;justify-content:space-between;align-items:center;gap:1rem}.site-header-content{flex:1 1}.site-title a{color:#fff;text-decoration:none;font-size:2.2rem;font-weight:700;letter-spacing:-.5px;text-shadow:0 2px 8px rgba(0,0,0,.1)}.site-tagline{font-size:1.1rem;opacity:.95;margin-top:.5rem;letter-spacing:.3px}.theme-toggle{background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);border-radius:50%;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;transition:background .3s ease,transform .3s ease,box-shadow .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);flex-shrink:0}.theme-toggle:hover{background:hsla(0,0%,100%,.25);transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.15)}.theme-toggle:active{transform:scale(.95)}.theme-toggle:focus{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(232,155,174,.3)}.theme-toggle:focus:not(:focus-visible){outline:none;box-shadow:0 2px 8px rgba(0,0,0,.1)}.theme-toggle-placeholder{width:3rem;height:3rem;flex-shrink:0}.site-footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:2rem 0;margin-top:4rem;text-align:center;color:var(--color-text-light)}.site-footer a{color:var(--color-primary)}.footer-note{font-size:.9rem;margin-top:.5rem}.hero{text-align:center;padding:2rem 0 3rem}.hero h2{font-size:2.8rem;margin-bottom:1rem;font-weight:700;letter-spacing:-.5px}.hero-week{font-size:1.3rem;color:var(--color-primary);font-weight:600;margin-bottom:1rem}.hero-description{font-size:1.1rem;color:var(--color-text-light);max-width:700px;margin:0 auto}.week-selector{margin:2rem 0;padding:2.5rem;background:linear-gradient(135deg,#f8eff1,#fcf4f6);border-radius:16px;border:1px solid var(--color-border);box-shadow:0 4px 16px rgba(212,133,157,.08)}.week-selector h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-text)}.week-selector-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.week-selector-copy p{margin-bottom:.4rem;color:var(--color-text-light)}.week-selector-meta{margin-top:.5rem;color:var(--color-primary)}.week-selector-empty{margin-top:1.5rem;font-size:.95rem;color:var(--color-text-light)}.week-selector-empty code{background:rgba(0,0,0,.04);padding:.2rem .4rem;border-radius:4px}.week-dropdown{min-width:260px}.week-dropdown-label{display:block;font-size:.95rem;margin-bottom:.4rem;color:var(--color-text-light)}.week-dropdown-controls{display:flex;flex-wrap:wrap;gap:.75rem}.week-select{flex:1 1;min-width:200px;padding:.65rem .9rem;border-radius:10px;border:1.5px solid var(--color-border);background:var(--color-card-bg);color:var(--color-text);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.week-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(212,133,157,.2)}.week-reset-button{padding:.65rem 1rem;border-radius:10px;border:1px solid transparent;background:var(--color-primary);color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.week-reset-button:disabled{opacity:.5;cursor:not-allowed}.week-reset-button:not(:disabled):hover{transform:translateY(-1px)}.week-dropdown-hint{margin-top:.75rem;font-size:.9rem;color:var(--color-text-light)}.week-list{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.week-link{padding:.65rem 1.2rem;background:var(--color-card-bg);border:1.5px solid var(--color-border);border-radius:8px;text-decoration:none;color:var(--color-text);font-weight:500;transition:border-color .3s ease,color .3s ease,background .3s ease,box-shadow .3s ease,transform .3s ease}.week-link:hover{border-color:var(--color-primary);color:var(--color-primary);background:linear-gradient(135deg,#fff,#fef8f9);box-shadow:0 4px 16px rgba(212,133,157,.15);transform:translateY(-2px)}.recipes-section{margin:3rem 0}.week-section-highlight{animation:weekHighlight 1.6s ease forwards;box-shadow:0 10px 35px rgba(212,133,157,.25),0 0 0 4px rgba(212,133,157,.2);border-radius:16px}@keyframes weekHighlight{0%{box-shadow:0 10px 35px rgba(212,133,157,.25),0 0 0 4px rgba(212,133,157,.2)}to{box-shadow:none}}.recipes-section h3{font-size:2rem;margin-bottom:1.75rem;font-weight:700;letter-spacing:-.5px;color:var(--color-text)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:1.5rem;gap:1.5rem}.recipe-card{display:flex;flex-direction:column;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:16px;text-decoration:none;color:var(--color-text);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 4px 16px rgba(212,133,157,.1)}.recipe-card:hover{border-color:var(--color-primary);box-shadow:0 16px 40px rgba(212,133,157,.2);transform:translateY(-6px)}.recipe-card-image{width:100%;height:220px;overflow:hidden;background:linear-gradient(135deg,#f8dde5,#f0c8d4);display:flex;align-items:center;justify-content:center}.recipe-card-image img{width:100%;height:100%;object-fit:cover}.recipe-card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-text-light);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.recipe-card-content{padding:1.5rem;display:flex;flex-direction:column;flex:1 1}.recipe-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.recipe-card-title{font-size:1.35rem;line-height:1.3;font-weight:600;letter-spacing:-.3px}.recipe-category{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap;flex-shrink:0}.recipe-category.detox{background:#e8f3f0;color:#3d5a50}.recipe-category.nourish{background:#f8e8f0;color:#8b4573}.recipe-category.feast{background:#ffe8ed;color:#a8456b}.recipe-card-meta{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;font-size:.95rem}.recipe-meta-item{display:flex;justify-content:space-between}.recipe-meta-label{color:var(--color-text-light)}.recipe-nutrition{display:flex;gap:1rem;font-size:.9rem;color:var(--color-text-light)}.recipe-card-footer,.recipe-nutrition{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.recipe-view-link{color:var(--color-primary);font-weight:600}.stats-section{margin:3rem 0;padding:3rem;background:linear-gradient(135deg,#f8eff1,#fcf4f6);border-radius:18px;border:1px solid var(--color-border);box-shadow:0 4px 20px rgba(212,133,157,.08)}.stats-section h3{font-size:1.9rem;font-weight:700;margin-bottom:.5rem;color:var(--color-text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:1.5rem}.stat-card{text-align:center;padding:2.5rem 1.5rem;background:var(--color-card-bg);border-radius:14px;border:1px solid var(--color-border);box-shadow:0 4px 16px rgba(212,133,157,.08);transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{border-color:var(--color-primary);box-shadow:0 12px 32px rgba(212,133,157,.16);transform:translateY(-4px)}.stat-value{font-size:2.5rem;font-weight:700;color:var(--color-primary)}.stat-label{font-size:1rem;color:var(--color-text-light);margin-top:.5rem}.recipe-page{max-width:1100px;margin:0 auto;padding:0 1.5rem 4rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-primary);text-decoration:none;font-weight:600;margin-bottom:1.5rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.back-link:hover{opacity:.85}.recipe-hero-card{display:grid;grid-template-columns:minmax(280px,420px) 1fr;grid-gap:2.5rem;gap:2.5rem;padding:3rem;background:var(--color-card-bg);border-radius:20px;border:1px solid var(--color-border);box-shadow:0 8px 32px rgba(212,133,157,.12);margin-bottom:2.5rem}.recipe-hero-media{border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#f8dde5,#f0c8d4);min-height:340px;display:flex;align-items:stretch;justify-content:center}.recipe-hero-media img{width:100%;height:100%;object-fit:cover}.recipe-hero-placeholder{width:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.recipe-header{display:flex;flex-direction:column;gap:1rem}.recipe-meta-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.recipe-page h1{font-size:2.8rem;line-height:1.2;margin:0;font-weight:700;letter-spacing:-.8px;color:var(--color-text)}.recipe-meta-bar{display:flex;flex-wrap:wrap;gap:.5rem}.recipe-week{padding:.4rem .9rem;background:var(--color-bg-alt);border-radius:999px;font-size:.9rem;font-weight:600}.recipe-times{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.time-badge{flex:1 1 11.25rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f1f5f9,#fff);border-radius:var(--time-badge-radius);border:1px solid var(--color-border);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8);display:flex;flex-direction:column;gap:.25rem}.time-badge.compact{flex:0 1 auto;max-width:-moz-fit-content;max-width:fit-content;flex-direction:row;padding:var(--time-badge-padding);gap:var(--time-badge-gap);align-items:center}.time-item{display:flex;flex-direction:column;gap:.25rem}.time-divider{width:1px;height:var(--time-divider-height);background:linear-gradient(180deg,transparent,var(--color-border),transparent)}.time-badge strong{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light)}.time-badge span{font-size:1.15rem;font-weight:600;color:var(--color-text)}.source-link{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#a86584,#8b4d6b);color:#fff;border-radius:10px;text-decoration:none;font-weight:600;box-shadow:0 8px 24px rgba(168,101,132,.3);transition:transform .2s,box-shadow .2s,opacity .2s}.source-link:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(212,133,157,.4);opacity:.95}.recipe-page section{margin:2.5rem 0;padding:3rem;background:var(--color-card-bg);border-radius:18px;border:1px solid var(--color-border);box-shadow:0 8px 24px rgba(212,133,157,.1)}.recipe-page section h2{font-size:2rem;margin-bottom:1.75rem;font-weight:700;letter-spacing:-.5px;color:var(--color-text)}.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem}.nutrition-item{display:flex;flex-direction:column;padding:1rem;background:var(--color-input-bg);border-radius:6px}.nutrition-item strong{color:var(--color-text-light);font-size:.9rem}.nutrition-item span{font-size:1.3rem;font-weight:600;margin-top:.25rem}.ingredients-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:.75rem;gap:.75rem}.ingredients-list li{background:var(--color-input-bg);border-radius:6px;padding:.75rem .75rem .75rem 2rem;position:relative}.ingredients-list li:before{content:"•";position:absolute;left:.75rem;color:var(--color-primary);font-weight:700}.recipe-timeline-section{margin:1.5rem 0}.timeline-header{padding:0 1rem}.timeline-header h2{margin-bottom:.5rem}.timeline-description{margin-bottom:1.5rem;line-height:1.8;color:var(--color-text-light)}.color-legend{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.9rem;font-weight:600;margin:0 .25rem}.color-legend.prep{background:var(--color-gantt-prep);color:#fff}.color-legend.cook{background:var(--color-gantt-cook);color:#fff}.color-legend.finish{background:var(--color-gantt-finish);color:#fff}.steps-list{list-style:none;counter-reset:step-counter}.step-item{padding:1.5rem;margin-bottom:1rem;background:var(--color-light);border-radius:10px;border-left:5px solid var(--color-border);counter-increment:step-counter;position:relative;transition:background .2s ease,box-shadow .2s ease}.step-item:hover{background:var(--color-card-bg);box-shadow:0 4px 16px rgba(212,133,157,.1)}.step-item:before{content:counter(step-counter);position:absolute;left:-2rem;top:1.5rem;width:2rem;height:2rem;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.step-item.step-prep{border-left-color:var(--color-gantt-prep)}.step-item.step-cook{border-left-color:var(--color-gantt-cook)}.step-item.step-finish{border-left-color:var(--color-gantt-finish)}.step-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.step-header h3{font-size:1.2rem}.step-duration{padding:.25rem .75rem;background:var(--color-bg-alt);border-radius:20px;font-size:.9rem;font-weight:600;white-space:nowrap}.step-text{margin-bottom:.75rem}.step-equipment,.step-temperature{font-size:.9rem;color:var(--color-text-light);margin-top:.5rem}.gantt-empty{padding:2rem;text-align:center;color:var(--color-text-light);border-radius:12px;border:1px dashed var(--color-border)}.gantt-chart,.gantt-empty{background:var(--color-card-bg)}.gantt-chart{border-radius:18px;padding:1rem;border:1px solid var(--color-border);box-shadow:0 8px 24px rgba(212,133,157,.1);margin-top:1.5rem}.gantt-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.gantt-metadata{font-size:.75rem;color:var(--color-text-light);font-weight:500}.gantt-toggle-btn{padding:.35rem .6rem;background:linear-gradient(135deg,#a86584,#8b4d6b);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(168,101,132,.2);line-height:1}.gantt-toggle-btn:hover{transform:translateY(-2px);opacity:.95;box-shadow:0 6px 16px rgba(212,133,157,.3)}.gantt-horizontal{border:1px solid rgba(148,163,184,.3);border-radius:18px;padding:.5rem;background:linear-gradient(135deg,#f8fafc,#fff);overflow-x:auto}.gantt-axis{position:relative;height:46px;border-bottom:1px solid rgba(148,163,184,.45);margin-bottom:1.25rem}.gantt-axis-mark{position:absolute;bottom:0;width:1px;height:100%;background:rgba(148,163,184,.5)}.gantt-axis-mark span{position:absolute;top:-1.8rem;left:-.75rem;font-size:.75rem;color:var(--color-text-light);white-space:nowrap}.gantt-rows{gap:1rem}.gantt-row,.gantt-rows{display:flex;flex-direction:column}.gantt-row{gap:.75rem;padding:1.25rem 1.5rem;background:var(--color-card-bg);border-radius:14px;border:1px solid var(--color-border);box-shadow:0 4px 16px rgba(212,133,157,.08);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.gantt-row:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:0 8px 24px rgba(212,133,157,.15)}.gantt-row.selected{border-color:var(--color-primary);box-shadow:0 12px 36px rgba(212,133,157,.2)}.gantt-row-info{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.75rem}.gantt-row-label{font-weight:600;font-size:1rem;margin:0}.gantt-row-meta{font-size:.9rem;color:var(--color-text-light);margin:.15rem 0 0}.gantt-row-track{position:relative;height:44px;border-radius:999px;border:1px dashed rgba(148,163,184,.6);background:linear-gradient(90deg,rgba(226,232,240,.7),rgba(248,250,252,.9));overflow:hidden}.gantt-step-bar{position:absolute;top:4px;bottom:4px;border-radius:999px;box-shadow:0 12px 25px rgba(15,23,42,.18)}.gantt-vertical{overflow-x:auto}.gantt-timeline-vertical{display:flex;gap:1.5rem;align-items:flex-start;min-height:480px}.gantt-axis-vertical{position:relative;width:70px;border-right:1px solid rgba(148,163,184,.6)}.gantt-axis-mark-vertical{position:absolute;left:0;width:100%;border-top:1px dashed rgba(148,163,184,.4)}.gantt-axis-mark-vertical span{top:0;transform:translate(-110%,-50%);background:var(--color-card-bg);padding:.1rem .4rem;border-radius:999px;font-size:.75rem;white-space:nowrap}.gantt-axis-label,.gantt-axis-mark-vertical span{position:absolute;left:0;color:var(--color-text-light)}.gantt-axis-label{bottom:-1.75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.gantt-steps-vertical{flex:1 1;display:grid;width:100%;border-radius:18px;border:1px solid rgba(148,163,184,.4);background:linear-gradient(180deg,#fff,#f8fafc);padding:1.25rem;position:relative}.gantt-step-vertical{display:flex;align-items:stretch;cursor:pointer}.gantt-step-bar-vertical{width:100%;border-radius:16px;padding:.9rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#fff;box-shadow:0 16px 35px rgba(15,23,42,.25);transition:transform .2s,box-shadow .2s}.gantt-step-bar-vertical:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(15,23,42,.3)}.gantt-step-vertical.selected .gantt-step-bar-vertical{outline:3px solid hsla(0,0%,100%,.65);outline-offset:-6px}.gantt-step-label-vertical{display:flex;flex-direction:column;gap:.25rem}.gantt-step-label-vertical span:first-child{font-weight:600;line-height:1.3}.gantt-step-duration-vertical{font-size:.85rem;opacity:.9}.gantt-step-type{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .85rem;border-radius:999px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.gantt-step-type.prep{color:#4a5f7a;background:rgba(124,158,184,.15);border-color:rgba(124,158,184,.3)}.gantt-step-type.cook{color:#a84a3f;background:hsla(9,61%,62%,.15);border-color:hsla(9,61%,62%,.3)}.gantt-step-type.finish{color:#4d6b57;background:rgba(107,159,127,.15);border-color:rgba(107,159,127,.3)}.gantt-step-type.contrast{color:#fff;background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.45)}.gantt-details{margin-top:2.5rem;padding:2.5rem;background:linear-gradient(135deg,#f8eff1,#fcf4f6);border-radius:16px;border:1px solid var(--color-border);box-shadow:0 8px 24px rgba(212,133,157,.12)}.gantt-details-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.gantt-details h3{font-size:1.5rem;margin:0}.gantt-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-bottom:1.5rem}.gantt-details-grid strong{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);margin-bottom:.25rem}.gantt-details-grid span{font-weight:600}.gantt-details-text{padding:1rem 1.25rem;background:var(--color-card-bg);border-radius:12px;border:1px solid rgba(148,163,184,.35);margin-bottom:1rem}.gantt-details-text.note{background:#fefce8;border-color:#facc15}.gantt-close-btn{padding:.75rem 1.5rem;background:var(--color-accent);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(168,101,132,.25)}.gantt-close-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 20px rgba(168,101,132,.3)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.critical-indicator{font-size:1em;margin-right:.35rem;display:inline-block}.gantt-critical-path-summary{padding:2rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #fbbf24;border-radius:16px;margin-bottom:1.5rem;box-shadow:0 8px 24px rgba(251,191,36,.15)}.gantt-critical-path-summary h3{font-size:1.5rem;margin-bottom:.75rem;color:#92400e;display:flex;align-items:center;gap:.5rem}.critical-path-description{color:#78350f;margin-bottom:1rem;font-size:.95rem}.critical-path-steps{list-style:none;display:flex;flex-direction:column;gap:.5rem}.critical-path-steps li{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-radius:10px;border:1px solid #fcd34d;cursor:pointer;transition:all .2s ease}.critical-path-steps li:hover{transform:translateX(4px);box-shadow:0 4px 12px rgba(251,191,36,.2);border-color:#fbbf24}.critical-path-steps .step-number{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:50%;font-weight:700;font-size:.85rem;flex-shrink:0}.critical-path-steps .step-name{flex:1 1;font-weight:500;color:#78350f}.critical-path-steps .step-time{font-weight:600;color:#92400e;font-size:.9rem}.critical-path-more-steps{padding:.5rem 1rem;background:transparent;border:none;border-radius:0;color:#92400e;font-style:italic;cursor:default;text-align:center}.critical-path-more-steps:hover{transform:none;box-shadow:none;border-color:transparent}.critical-path-toggle-btn{width:100%;margin-top:.75rem;padding:.6rem 1rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(251,191,36,.2)}.critical-path-toggle-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(251,191,36,.3)}.gantt-control-buttons{display:flex;gap:.5rem}.gantt-toggle-btn.active{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 12px rgba(251,191,36,.3)}.gantt-row.critical,.gantt-step-vertical.critical{border-color:#fbbf24;background:linear-gradient(135deg,#fffbeb,#fff)}.gantt-row.critical:hover,.gantt-step-vertical.critical:hover{box-shadow:0 8px 24px rgba(251,191,36,.25)}.gantt-step-bar.critical{box-shadow:0 12px 25px rgba(251,191,36,.3),0 0 0 3px rgba(251,191,36,.2)}.gantt-step-bar-vertical.critical{box-shadow:0 16px 35px rgba(251,191,36,.35),0 0 0 3px rgba(251,191,36,.2)}.gantt-step-type.critical{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;color:#92400e}.critical-path-badge{padding:1rem 1.25rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fbbf24;border-radius:10px;margin-bottom:1.25rem;color:#78350f;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.critical-path-badge-icon{font-size:1.2em;display:inline-block;vertical-align:middle}.slack-info{color:#059669;font-weight:500}.no-recipes{text-align:center;padding:3rem 2rem;background:var(--color-card-bg);border-radius:8px}.no-recipes pre{display:inline-block;padding:.75rem 1.5rem;background:var(--color-bg-alt);border-radius:6px;margin-top:1rem;font-size:.95rem}@media (max-width:768px){:root{--font-base:15px}.container{padding:0 12px}.site-header{padding:1.5rem 0;margin-bottom:1.5rem}.site-title a{font-size:1.6rem}.site-tagline{font-size:.95rem}.site-footer{padding:1.5rem 0;margin-top:2rem}.hero{padding:1rem 0 1.5rem}.hero h2{font-size:1.6rem}.hero h2,.hero-week{margin-bottom:.75rem}.hero-week{font-size:1.1rem}.hero-description{font-size:.95rem}.week-selector{margin:1.5rem 0;padding:1rem;border-radius:10px}.week-selector h3{font-size:1.2rem;margin-bottom:.75rem}.week-selector-header{flex-direction:column}.week-dropdown{width:100%}.week-dropdown-controls{flex-direction:column;width:100%}.week-reset-button,.week-select{width:100%}.week-list{gap:.5rem;margin-top:.75rem}.week-link{padding:.5rem .9rem;font-size:.9rem;border-radius:6px}.recipes-section{margin:1.5rem 0}.recipes-section h3{font-size:1.4rem;margin-bottom:1rem}.recipe-grid{grid-template-columns:1fr;gap:1rem}.recipe-card{border-radius:10px}.recipe-card-image{height:180px}.recipe-card-content{padding:1rem}.recipe-card-header{margin-bottom:.75rem;gap:.75rem}.recipe-card-title{font-size:1.15rem}.recipe-category{padding:.2rem .6rem;font-size:.75rem}.recipe-card-meta{gap:.4rem;margin:.75rem 0;font-size:.85rem}.recipe-nutrition{gap:.75rem;font-size:.8rem}.recipe-card-footer,.recipe-nutrition{margin-top:.75rem;padding-top:.75rem}.stats-section{margin:1.5rem 0;padding:1rem;border-radius:10px}.stats-section h3{font-size:1.3rem;margin-bottom:.4rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}.stat-card{padding:1.25rem .75rem;border-radius:8px}.stat-value{font-size:1.8rem}.stat-label{font-size:.85rem}.recipe-page{padding:0 12px 2rem}.back-link{margin-bottom:1rem;font-size:.85rem}.recipe-page h1{font-size:1.6rem}.recipe-hero-card{grid-template-columns:1fr;padding:1rem;border-radius:10px;gap:1.5rem;margin-bottom:1.5rem}.recipe-meta-top{flex-direction:column;align-items:flex-start}.recipe-hero-media{min-height:200px;border-radius:8px}.recipe-meta-bar{gap:.4rem}.recipe-week{padding:.3rem .7rem;font-size:.8rem}:root{--time-badge-padding:0.75rem 1rem;--time-badge-gap:1rem;--time-badge-radius:0.5rem;--time-divider-height:2rem}.recipe-times{flex-direction:column;gap:.75rem;margin-top:.4rem}.time-badge{padding:.75rem 1rem}.time-badge.compact{max-width:100%}.time-badge strong{font-size:.8rem}.time-badge span{font-size:1rem}.source-link{padding:.6rem 1rem;font-size:.9rem}.recipe-page section{margin:1.5rem 0;padding:1rem;border-radius:10px}.recipe-page section h2{font-size:1.4rem;margin-bottom:1rem}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.nutrition-item{padding:.75rem}.nutrition-item strong{font-size:.8rem}.nutrition-item span{font-size:1.1rem}.ingredients-list{grid-template-columns:1fr;gap:.5rem}.ingredients-list li{padding:.6rem .6rem .6rem 1.5rem;font-size:.9rem}.ingredients-list li:before{left:.6rem}.step-item{padding:1rem;margin-bottom:.75rem;border-radius:8px;border-left-width:3px}.step-item:before{position:static;display:inline-flex;width:1.5rem;height:1.5rem;font-size:.85rem}.step-header,.step-item:before{margin-bottom:.5rem}.step-header h3{font-size:1.05rem}.step-duration{padding:.2rem .6rem;font-size:.8rem}.step-text{margin-bottom:.5rem;font-size:.9rem}.step-equipment,.step-temperature{font-size:.8rem;margin-top:.4rem}.recipe-timeline-section{margin:1rem 0;background:#fafafa}.timeline-header{padding:.5rem 12px}.timeline-header h2{font-size:1.3rem;margin-bottom:.3rem}.timeline-description{margin-bottom:.5rem;font-size:.8rem}.gantt-chart{padding:.5rem 0;border-radius:0;margin-top:0;border:none;box-shadow:none;background:#fafafa}.gantt-controls{flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;padding:0 4px}.gantt-metadata{font-size:.65rem}.gantt-toggle-btn{padding:.3rem .5rem;font-size:.9rem;border-radius:4px;box-shadow:none}.gantt-horizontal{padding:.5rem 8px;border-radius:0;border:none;background:transparent}.gantt-axis{height:30px;margin-bottom:.5rem}.gantt-axis-mark span{font-size:.65rem}.gantt-rows{gap:.4rem}.gantt-row{padding:.5rem .75rem;gap:.4rem;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.gantt-row-info{gap:.4rem}.gantt-row-label{font-size:.85rem}.gantt-row-meta{font-size:.7rem}.gantt-row-track{height:28px}.gantt-vertical{padding:0}.gantt-timeline-vertical{gap:8px;padding:0 8px}.gantt-axis-vertical{display:none}.gantt-steps-vertical{padding:8px;border-radius:0;border:none;background:transparent}.gantt-step-bar-vertical{padding:.5rem .6rem;border-radius:6px;gap:.5rem;box-shadow:0 2px 6px rgba(0,0,0,.12)}.gantt-step-label-vertical{flex:1 1;min-width:0}.gantt-step-label-vertical span:first-child{font-size:.8rem;line-height:1.2;font-weight:600}.gantt-step-duration-vertical{font-size:.65rem}.gantt-step-type{padding:.2rem .4rem;font-size:.6rem;flex-shrink:0}.gantt-details{margin:.75rem 8px 0;padding:.75rem;border-radius:8px}.gantt-details-header{gap:.5rem;margin-bottom:.5rem}.gantt-details h3{font-size:1.1rem}.gantt-details-grid{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.gantt-details-grid strong{font-size:.7rem}.gantt-details-grid span{font-size:.85rem}.gantt-details-text{padding:.6rem .75rem;border-radius:6px;margin-bottom:.5rem;font-size:.85rem}.gantt-close-btn{padding:.5rem 1rem;font-size:.8rem}.gantt-critical-path-summary{padding:1rem;margin-bottom:1rem;border-radius:10px}.gantt-critical-path-summary h3{font-size:1.2rem;margin-bottom:.5rem}.critical-path-description{font-size:.85rem;margin-bottom:.75rem}.critical-path-steps li{padding:.5rem .75rem;gap:.5rem}.critical-path-steps .step-number{width:1.5rem;height:1.5rem;font-size:.75rem}.critical-path-steps .step-name{font-size:.85rem}.critical-path-steps .step-time{font-size:.8rem}.critical-path-toggle-btn{margin-top:.5rem;padding:.5rem .85rem;font-size:.85rem}.critical-path-badge{padding:.75rem 1rem;font-size:.85rem}.critical-indicator{font-size:.9em}.no-recipes{padding:2rem 1rem}.no-recipes pre{padding:.6rem 1rem;font-size:.85rem}}@media (max-width:480px){:root{--font-base:14px}.container{padding:0 8px}.site-header{padding:1rem 0;margin-bottom:1rem}.site-title a{font-size:1.4rem}.site-tagline{font-size:.85rem}.hero{padding:.75rem 0 1rem}.hero h2{font-size:1.4rem}.recipe-hero-card,.recipe-page section,.stats-section,.week-selector{padding:.75rem}.timeline-header{padding:.4rem 8px}.timeline-header h2{font-size:1.2rem}.timeline-description{margin-bottom:.4rem;font-size:.75rem}.gantt-chart{padding:.4rem 0}.gantt-controls{padding:0 4px;gap:.3rem;margin-bottom:.3rem}.gantt-metadata{font-size:.6rem}.gantt-toggle-btn{padding:.25rem .4rem;font-size:.85rem}.gantt-timeline-vertical{padding:0 6px;gap:6px}.gantt-steps-vertical{padding:6px}.gantt-step-bar-vertical{padding:.4rem .5rem;border-radius:4px;gap:.4rem}.gantt-step-label-vertical span:first-child{font-size:.75rem}.gantt-step-duration-vertical{font-size:.6rem}.gantt-step-type{padding:.15rem .35rem;font-size:.55rem}}