:root{--bg:#0f1724;--card-bg:#182334;--text:#f3f4f6;--text-muted:#98a4b8;--accent:#7c89f5;--accent-dark:#6366f1;--border:#94a3b81f;--shadow:0 10px 28px #02081757;--shadow-hover:0 16px 36px #0208176b;--radius-card:16px;--radius-button:12px;--radius-input:10px;--transition-fast:.18s ease;--hero-accent-soft:#7c89f51c;--hero-accent-fade:#7c89f506;--hero-end:#182334f0;--nav-bg:#0d1624e0;--footer-bg:#121b2a;--surface-muted:#131e2d;--surface-muted-hover:#1b283a;--focus-ring:#7c89f529;--overlay-bg:#0f172a85;--input-bg:#101a29;--input-border-focus:#6366f1;--page-gradient:radial-gradient(circle at top center, #7c89f514, transparent 42%), linear-gradient(180deg, #101928 0%, #0f1724 52%, #0d1420 100%);--button-glow:0 10px 24px #6366f124;--button-glow-hover:0 12px 28px #6366f12e;--progress-track:#94a3b829;--progress-fill:linear-gradient(90deg, #7c89f5d1 0%, #6366f1f5 100%)}body.light-theme{--bg:#f3f4f6;--card-bg:#fff;--text:#111827;--text-muted:#6b7280;--accent:#6366f1;--accent-dark:#4f46e5;--border:#e5e7eb;--shadow:0 4px 12px #0000000d;--shadow-hover:0 10px 24px #11182714;--hero-accent-soft:#6366f114;--hero-accent-fade:#6366f105;--hero-end:#ffffffeb;--nav-bg:#fffffff0;--footer-bg:#efeff1;--surface-muted:#f8f8f9;--surface-muted-hover:#eceef0;--focus-ring:#6366f114;--overlay-bg:#1f293352;--input-bg:#fff;--input-border-focus:#cdd2d8;--page-gradient:var(--bg);--button-glow:0 8px 18px #4f46e51f;--button-glow-hover:0 10px 22px #4f46e529;--progress-track:#11182714;--progress-fill:linear-gradient(90deg, #6366f1d1 0%, #4f46e5f5 100%)}*{box-sizing:border-box}body{background:var(--page-gradient);color:var(--text);transition:background-color var(--transition-fast), color var(--transition-fast);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#root{min-height:100vh}.site-shell{flex-direction:column;min-height:100vh;display:flex}.page-shell{flex:1;width:100%;padding:20px 0 0}.cooking-mode-shell{background:var(--page-gradient);justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:40px 0;display:flex}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}.page-section{margin-top:52px}.navbar{z-index:30;background:var(--nav-bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:20px;min-height:72px;display:flex}.brand-link{color:var(--text);font-size:1.1rem;font-weight:700}.nav-links,.nav-actions,.input-row,.tag-list,.suggestion-chips,.filter-panel,.checkbox-row,.footer-links{flex-wrap:wrap;gap:12px;display:flex}.nav-actions{justify-content:flex-end;align-items:center}.ingredient-input-wrap{flex:1;width:100%;position:relative}.ingredient-suggestions{z-index:10;background:color-mix(in srgb, var(--card-bg) 96%, transparent);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 16px 32px #02081738}.ingredient-suggestion-item{width:100%;color:var(--text);text-align:left;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:10px;padding:10px 12px}.ingredient-suggestion-item:hover{background:var(--surface-muted)}.ingredient-suggestion-empty{color:var(--text-muted);margin:0;padding:8px 12px;font-size:.88rem;line-height:1.4}.suggestion-match{color:var(--text);font-weight:600}.nav-link{border-radius:var(--radius-button);color:var(--text-muted);padding:8px 12px;transition:background-color .2s,color .2s}.nav-link:hover,.nav-link-active{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.hero-panel,.content-panel,.feature-card,.step-card,.planner-card,.recipe-card,.empty-card,.modal-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow)}body:not(.light-theme) .hero-panel,body:not(.light-theme) .content-panel,body:not(.light-theme) .feature-card,body:not(.light-theme) .step-card,body:not(.light-theme) .planner-card,body:not(.light-theme) .recipe-card,body:not(.light-theme) .empty-card,body:not(.light-theme) .modal-card{box-shadow:inset 0 1px 0 #ffffff05, var(--shadow)}.hero-panel,.content-panel{padding:24px}.home-hero{text-align:center;background:linear-gradient(180deg, var(--hero-accent-soft) 0%, var(--hero-accent-fade) 58%, var(--hero-end) 100%), var(--card-bg);padding:88px 28px}.hero-title,.page-title,.section-title,.modal-title{color:var(--text);margin:0 0 20px}.hero-title{font-size:clamp(2.6rem,5vw,4rem);line-height:1.05}.feature-title,.planner-day{color:var(--text);margin:0 0 20px}.hero-text,.page-text,.feature-text,.step-text,.empty-text,.result-count,.planner-label,.recipe-ingredient-item,.footer-text,.info-list-item{color:var(--text-muted);margin:0;line-height:1.6}.hero-button{margin-top:8px}.content-panel,.input-panel,.suggestion-panel,.tag-panel,.filter-panel,.recipe-section,.info-section,.contact-form,.contact-field,.recipe-card,.planner-card,.planner-selected,.recipe-ingredients-block,.ingredient-group,.footer-inner,.home-section,.portfolio-section{flex-direction:column;gap:24px;display:flex}.portfolio-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.section-header{text-align:center}.section-heading{flex-direction:column;gap:6px;display:flex}.recipe-list-count{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.4}.portfolio-eyebrow,.portfolio-card-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.88rem}.portfolio-hero{background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 18%, transparent), transparent 34%), radial-gradient(circle at bottom right, color-mix(in srgb, var(--accent) 10%, transparent), transparent 32%), linear-gradient(180deg, var(--hero-accent-soft) 0%, var(--hero-accent-fade) 56%, var(--hero-end) 100%);padding:92px 32px;position:relative;overflow:hidden}.portfolio-hero-content{z-index:1;flex-direction:column;gap:16px;max-width:760px;display:flex;position:relative}.portfolio-hero-links{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.portfolio-hero-link{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 78%, transparent);color:var(--text);transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);border-radius:999px;padding:10px 14px;font-size:.92rem}.portfolio-hero-link:hover{background:color-mix(in srgb, var(--surface-muted-hover) 84%, transparent);border-color:color-mix(in srgb, var(--accent) 22%, var(--border));transform:translateY(-1px)}.portfolio-hero-title{color:var(--text);letter-spacing:-.04em;margin:0;font-size:clamp(3.2rem,8vw,5.6rem);line-height:.98}.portfolio-hero-subtitle{color:color-mix(in srgb, var(--text) 92%, transparent);margin:0;font-size:clamp(1.2rem,2.6vw,1.7rem);font-weight:600}.portfolio-hero-text{max-width:620px;color:var(--text-muted);margin:0;font-size:1rem;line-height:1.8}.portfolio-skill-grid,.portfolio-project-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;display:grid}.portfolio-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.portfolio-stat-card{background:color-mix(in srgb, var(--card-bg) 92%, transparent);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:22px}.portfolio-stat-value{color:var(--text);letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:700}.portfolio-stat-label,.portfolio-company,.portfolio-meta-text{color:var(--text-muted);margin:0;line-height:1.6}.portfolio-card{gap:18px}.portfolio-stack{flex-direction:column;gap:24px;display:flex}.portfolio-chip-list{flex-wrap:wrap;gap:10px;display:flex}.portfolio-chip{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 90%, transparent);color:var(--text);border-radius:999px;align-items:center;padding:9px 14px;font-size:.94rem;display:inline-flex}.portfolio-highlight{background:color-mix(in srgb, var(--accent) 10%, var(--surface-muted))}.portfolio-meta-row,.portfolio-heading-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.portfolio-date{color:var(--accent);white-space:nowrap;margin:0;font-size:.9rem;font-weight:600}.portfolio-contact-list{flex-direction:column;gap:14px;display:flex}.portfolio-contact-link{color:var(--text);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 90%, transparent);transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);border-radius:14px;padding:12px 14px}.portfolio-contact-link:hover{background:color-mix(in srgb, var(--surface-muted-hover) 92%, transparent);border-color:color-mix(in srgb, var(--accent) 24%, var(--border));transform:translateY(-1px)}.feature-grid,.steps-grid,.planner-grid,.recipe-grid{gap:24px;display:grid}.feature-grid,.steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.recipe-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch}.feature-card,.step-card,.planner-card,.recipe-card,.empty-card{padding:22px}.step-card{text-align:center}.feature-card,.step-card,.recipe-card{transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);transform:translateY(0)}.feature-card:hover,.step-card:hover,.recipe-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.step-number{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:999px;align-self:center;padding:8px 12px;font-weight:700;display:inline-flex}.info-page-card{max-width:800px}.contact-page-card{max-width:720px}.detail-page-card{max-width:700px}.detail-title{color:var(--text);margin:0 0 20px;font-size:2rem}.detail-meta,.detail-steps{gap:20px;display:grid}.detail-meta{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.detail-section{flex-direction:column;gap:20px;display:flex}.detail-step-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-muted);padding:16px}.detail-step-title{color:var(--text);margin:0 0 8px;font-weight:600}.cooking-mode-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);max-width:760px;box-shadow:var(--shadow);text-align:center;flex-direction:column;align-items:center;gap:24px;margin:0 auto;padding:32px;display:flex}.cooking-mode-title,.cooking-mode-step-count,.cooking-mode-step-indicator,.cooking-mode-step-text{margin:0}.cooking-mode-title{color:var(--text);font-size:clamp(2rem,4vw,3rem)}.cooking-mode-progress{flex-direction:column;gap:8px;display:flex}.cooking-mode-step-count{color:var(--accent);font-weight:600}.cooking-mode-step-indicator{color:var(--text-muted)}.cooking-mode-step-card{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;padding:32px 24px}.cooking-mode-step-text{color:var(--text);font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.5}.cooking-mode-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.info-list{gap:10px;margin:0;padding-left:20px;display:grid}.planner-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.planner-layout{grid-template-columns:320px minmax(0,1fr);gap:24px;display:grid}.planner-sidebar,.planner-main,.planner-recipe-list{flex-direction:column;gap:20px;display:flex}.explorer-filters{grid-template-columns:minmax(0,2fr) repeat(2,minmax(180px,1fr)) auto;align-items:end;gap:20px;display:grid}.explorer-toggle{min-height:42px}.planner-recipe-list{gap:12px}.planner-recipe-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--card-bg);color:var(--text);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.planner-recipe-card:hover,.planner-recipe-card-active{box-shadow:var(--shadow-hover);border-color:#c7d2fe;transform:translateY(-1px)}.planner-recipe-name,.planner-recipe-time,.planner-entry-name,.planner-entry-time{margin:0}.planner-recipe-name{text-align:left;font-weight:600}.planner-recipe-time{color:var(--text-muted);white-space:nowrap}.planner-day-recipes,.planner-total,.recipe-detail,.filter-panel,.suggestion-chip,.ingredient-tag,.secondary-button{background:var(--surface-muted)}.planner-day-recipes,.planner-total{border-radius:14px;padding:14px}.planner-label{font-size:.92rem;font-weight:600}.planner-value{color:var(--text);margin:0;line-height:1.5}.planner-empty{color:var(--text-muted);margin:0;line-height:1.6}.planner-entry{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.planner-entry:first-child{padding-top:0}.planner-entry:last-child{border-bottom:none;padding-bottom:0}.planner-entry-name{color:var(--text);font-weight:500}.planner-entry-time{color:var(--text-muted);white-space:nowrap}.planner-card-clickable:hover{box-shadow:var(--shadow-hover)}.section-label{color:var(--text);margin:0 0 4px;font-weight:600}.text-input,.select-input,.text-area{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--input-bg);width:100%;color:var(--text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);outline:none;padding:10px 12px}.text-input:focus,.select-input:focus,.text-area:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--focus-ring)}.text-area{resize:vertical}.primary-button,.secondary-button,.favorite-button,.suggestion-chip,.tag-remove,.modal-close{border-radius:var(--radius-button);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border:none}.primary-button,.favorite-button,.modal-close{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 92%, white 8%) 0%, var(--accent-dark) 100%);color:#fff;box-shadow:var(--button-glow);padding:10px 18px}.primary-button:hover,.favorite-button:hover,.modal-close:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 84%, white 10%) 0%, var(--accent-dark) 100%);box-shadow:var(--button-glow-hover)}.secondary-button{color:var(--accent);align-self:flex-start;padding:10px 14px}.secondary-button:disabled,.primary-button:disabled{opacity:.55;cursor:not-allowed}.secondary-button:hover,.suggestion-chip:hover,.tag-remove:hover{background:var(--surface-muted-hover)}.primary-button:active,.secondary-button:active,.favorite-button:active,.suggestion-chip:active,.tag-remove:active,.modal-close:active{transform:scale(.98)}.favorite-button-saved{background:var(--accent-dark)}.suggestion-chip{color:var(--accent);padding:8px 14px}.suggestion-chip:disabled{background:var(--surface-muted-hover);color:#9aa1aa;cursor:not-allowed}.ingredient-tag{border-radius:var(--radius-button);color:var(--accent);align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.tag-remove{background:var(--surface-muted-hover);width:24px;height:24px;color:var(--accent);padding:0;font-size:.8rem;font-weight:700}.filter-panel{border:1px solid var(--border);border-radius:var(--radius-card);justify-content:space-between;align-items:center;padding:20px}.filter-group,.checkbox-row{align-items:center;gap:10px;display:flex}.checkbox-row{color:var(--text-muted)}.recipe-card{cursor:pointer;will-change:transform;flex-direction:column;height:100%;display:flex}.recipe-ingredients-block{flex:1}.recipe-card-actions{flex-direction:column;gap:10px;margin-top:auto;display:flex}.favorite-button{margin-top:auto}.recipe-secondary-button{border:1px solid var(--border);border-radius:var(--radius-button);background:color-mix(in srgb, var(--surface-muted) 88%, transparent);width:100%;color:var(--text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);padding:10px 14px}.recipe-secondary-button:hover{background:color-mix(in srgb, var(--surface-muted-hover) 92%, transparent);box-shadow:0 8px 18px #02081724}.recipe-secondary-button:active{transform:scale(.98)}.recipe-card:active{transform:scale(.992)}.recipe-title{color:var(--text);margin:0;font-size:1.2rem}.recipe-info-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.recipe-detail{color:var(--text-muted);border-radius:14px;margin:0;padding:12px;font-size:.95rem}.detail-label,.recipe-subtitle{color:var(--text);font-weight:600}.recipe-subtitle{margin:0}.recipe-ingredient-missing{color:#9ca3af}.match-bar{background:var(--progress-track);border-radius:999px;width:100%;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #0208173d}.match-bar-fill{background:var(--progress-fill);border-radius:999px;height:100%;box-shadow:0 0 10px #6366f129}.empty-card{text-align:center;justify-content:center;align-items:center;min-height:180px;display:flex}.empty-text-centered{max-width:340px}.contact-button{align-self:flex-start}.success-message{color:var(--accent);margin:0;font-weight:600}.modal-overlay{background:var(--overlay-bg);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{width:min(520px,100%);padding:20px}.modal-close{align-self:flex-end}.footer{background:var(--footer-bg);border-top:1px solid var(--border);margin-top:72px;padding:30px 0}.theme-toggle{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px;display:inline-flex}.theme-toggle-icon{font-size:1rem;line-height:1}.footer-inner{text-align:center;align-items:center}.footer-brand{color:var(--text);margin:0;font-size:1.2rem}.footer-link{color:var(--accent)}.footer-link:hover{color:var(--accent-dark)}.footer-meta{flex-direction:column;gap:6px;display:flex}@media (width<=760px){.page-shell{padding-top:8px}.navbar-inner,.nav-actions,.planner-header,.filter-panel,.input-row{flex-direction:column;align-items:flex-start}.planner-layout,.explorer-filters,.portfolio-two-column,.portfolio-stat-grid{grid-template-columns:1fr}.home-hero{padding:64px 20px}.portfolio-hero{padding:72px 22px}.portfolio-heading-row{flex-direction:column}.cooking-mode-card{padding:24px 20px}.feature-grid,.steps-grid{grid-template-columns:1fr}.hero-title{font-size:2.4rem}.hero-button,.contact-button,.ingredient-input-wrap{justify-content:center;align-self:stretch}}.hero-content{flex-direction:column;align-items:center;gap:20px;max-width:640px;margin:0 auto;display:flex}.hero-actions{justify-content:center;margin-top:4px;display:flex}
