:root{--warm-shadow:0 18px 40px rgba(109,63,82,.14);--soft-line:rgba(42,31,53,.12)}
body{overflow-x:hidden}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
[data-reveal].is-visible{opacity:1;transform:none}
.recipe-card,.hero-card,.spotlight,.cuisine-card,.advantage-card,.ai-panel,.ai-output,.xhs-banner{will-change:transform}
.recipe-card:hover{transform:translateY(-6px);box-shadow:0 18px 30px rgba(26,18,36,.16)}
.btn{transition:transform .2s ease,box-shadow .25s ease,background-color .25s ease,filter .25s ease}.btn:hover{filter:saturate(1.03)}
.btn:active{transform:translateY(1px) scale(.99)}
.site-topbar,.site-footer{position:relative;overflow:hidden}.site-topbar::after,.site-footer::after{content:"";position:absolute;inset:auto -10% -30px;height:60px;background:radial-gradient(circle,rgba(255,200,94,.18),transparent 60%);pointer-events:none}
.hero-card-media img,.recipe-card__img{transition:transform 1.4s ease}.hero-card:hover .hero-card-media img,.recipe-card:hover .recipe-card__img{transform:scale(1.04)}
.cozy-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}.cozy-list li{background:rgba(255,249,252,.72);border:1px solid var(--soft-line);padding:10px 12px;box-shadow:var(--warm-shadow)}
.xhs-banner{display:grid;grid-template-columns:1.4fr .9fr;gap:20px;padding:24px;border:3px solid var(--vk-black);background:linear-gradient(135deg,#fff9fc,#ffeef4 55%,#fff4df);box-shadow:var(--warm-shadow)}.xhs-banner__eyebrow{margin:0 0 8px;font:700 .78rem var(--font-en);letter-spacing:.12em;color:var(--vk-crimson-dark)}.xhs-banner h2{margin:0 0 10px;font:800 clamp(1.2rem,3vw,1.8rem) var(--font-serif)}.xhs-banner__stats{display:grid;gap:12px}.xhs-banner__stats div{padding:14px;border:2px solid var(--vk-black);background:rgba(255,255,255,.78)}.xhs-banner__stats strong{display:block;font:800 1.5rem var(--font-en);color:var(--vk-crimson-dark)}.xhs-banner__stats span{font-size:.9rem;color:var(--ink-muted)}
.ai-studio-grid{display:grid;gap:20px;align-items:start}.ai-panel,.ai-output,.cuisine-card,.advantage-card{background:rgba(255,249,252,.86);border:3px solid var(--vk-black);box-shadow:var(--warm-shadow)}.ai-panel,.ai-output{padding:18px}.ai-panel__title{margin:0 0 14px;font:800 1.18rem var(--font-serif)}
.mode-switch{display:flex;gap:10px;margin-bottom:16px}.mode-pill{border:2px solid var(--vk-black);background:#fff;padding:10px 14px;font:700 .92rem var(--font-sans);cursor:pointer}.mode-pill.is-active{background:var(--vk-crimson);color:#fff;box-shadow:4px 4px 0 var(--vk-black)}
.ai-form{display:grid;gap:16px}.field-group{display:grid;gap:8px}.field-grid.two-col,.advantage-grid,.cuisine-grid{display:grid;gap:14px}.field-label{font-size:.84rem;font-weight:800;color:var(--ink-muted)}.field-help{margin:0;color:var(--ink-muted);font-size:.86rem}.pixel-input{width:100%;padding:12px 14px;border:2px solid var(--vk-black);background:#fff8fb;font:inherit}.pixel-textarea{min-height:96px;resize:vertical}.ingredient-input-row,.subscribe-form{display:flex;gap:10px;flex-wrap:wrap}.quick-ingredients,.selected-ingredients{display:flex;flex-wrap:wrap;gap:8px}.ingredient-chip{border:2px solid var(--vk-black);background:#fff;padding:8px 12px;font:700 .84rem var(--font-sans);cursor:pointer}.ingredient-chip.is-selected{background:#ffe1ea}.is-hidden{display:none!important}
.sauce-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sauce-grid label,.range-output{font-size:.88rem;color:var(--ink-muted)}input[type=range]{width:100%;accent-color:var(--vk-crimson)}
.ai-output__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ai-status{padding:8px 12px;border:2px solid var(--vk-black);background:#fff;font:700 .82rem var(--font-sans)}
.ai-result{position:relative;min-height:280px;padding:18px;border:2px dashed var(--vk-black);background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,240,245,.95));overflow:hidden}.ai-result.is-loading .ai-placeholder,.ai-result.is-idle .steam-lights{opacity:.7}.ai-placeholder{position:relative;z-index:1;color:var(--ink-muted)}.ai-placeholder__title{margin:0 0 8px;font:800 1.08rem var(--font-serif);color:var(--ink)}
.steam-lights{position:absolute;inset:0;pointer-events:none}.steam-lights span{position:absolute;bottom:20px;width:120px;height:120px;background:radial-gradient(circle,rgba(255,255,255,.8),rgba(255,255,255,0));filter:blur(4px);animation:steam 6s ease-in-out infinite}.steam-lights span:nth-child(1){left:10%;animation-delay:0s}.steam-lights span:nth-child(2){left:42%;animation-delay:1.6s}.steam-lights span:nth-child(3){right:10%;animation-delay:3.2s}@keyframes steam{0%{transform:translateY(20px) scale(.7);opacity:0}25%{opacity:.8}100%{transform:translateY(-120px) scale(1.3);opacity:0}}
.generated-card{position:relative;z-index:1;animation:fadeRecipe .7s ease}.generated-card h3{margin:0;font:800 clamp(1.45rem,3vw,1.95rem) var(--font-serif);line-height:1.25}.generated-kicker{margin:0 0 8px;font:700 .82rem var(--font-en);letter-spacing:.12em;color:var(--vk-crimson-dark)}.generated-copy{color:var(--ink-muted)}.generated-meta,.generated-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.generated-meta span{padding:7px 10px;border:1px solid var(--soft-line);background:#fff}.generated-section{margin-top:16px}.generated-section ol{margin:8px 0 0;padding-left:18px}.recipe-result-card{display:grid;gap:18px}.recipe-result__meta{display:flex;flex-wrap:wrap;gap:8px}.recipe-result__meta span{padding:8px 12px;border:1px solid var(--soft-line);background:#fff;font-weight:700}.recipe-result__summary{margin:0;color:var(--ink-muted)}.recipe-result__section{display:grid;gap:12px;padding:16px;border:2px solid var(--vk-black);background:rgba(255,255,255,.92);box-shadow:6px 6px 0 rgba(26,18,36,.08)}.recipe-result__section-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;border-bottom:2px solid rgba(42,31,53,.12);padding-bottom:10px}.recipe-result__section-head h4{margin:0;font:800 1.02rem var(--font-serif)}.recipe-result__section-head span{font-size:.82rem;color:var(--ink-muted);font-weight:700}.recipe-result__ingredient-list,.recipe-result__tips{list-style:none;padding:0;margin:0;display:grid;gap:8px}.recipe-result__ingredient-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--soft-line);background:#fff}.recipe-result__ingredient-row strong{font-weight:800}.recipe-result__seasoning-box{display:grid;gap:8px;padding:12px;border:1px dashed rgba(42,31,53,.22);background:rgba(255,245,248,.85)}.recipe-result__seasoning-box p{margin:0;font-size:.88rem;font-weight:800;color:var(--ink-muted)}.recipe-result__steps{margin:0;padding:0;list-style:none;display:grid;gap:12px}.recipe-result__steps li,.recipe-result__tips li{padding:14px 14px 14px 16px;border-left:6px solid var(--vk-crimson);background:#fff;line-height:1.8;box-shadow:0 6px 12px rgba(26,18,36,.06)}.recipe-result__steps--prep li{border-left-color:var(--accent-gold)}.recipe-result__steps--cook li{border-left-color:var(--vk-crimson)}
.cuisine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cuisine-card,.advantage-card{padding:16px}.cuisine-card h3,.advantage-card h3{margin:0 0 6px;font:800 1.02rem var(--font-serif)}.cuisine-card p,.advantage-card p{margin:0;color:var(--ink-muted)}.advantage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.recent-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.recent-list li{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;background:#fff;border:2px solid var(--vk-black)}.recent-list span{color:var(--ink-muted);font-size:.85rem}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(16px);background:var(--vk-black);color:#fff;padding:10px 14px;border:2px solid var(--accent-gold);opacity:0;pointer-events:none;transition:.25s;z-index:40}.toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
@media (min-width:900px){.ai-studio-grid{grid-template-columns:1fr 1.06fr}}
@media (max-width:899px){.xhs-banner,.field-grid.two-col,.nutrition-grid,.cuisine-grid,.advantage-grid{grid-template-columns:1fr}.xhs-banner__stats{grid-template-columns:repeat(3,1fr)}.ai-output__header,.recipe-result__section-head{flex-direction:column;align-items:flex-start}}
@media (max-width:640px){.xhs-banner__stats{grid-template-columns:1fr}.ingredient-input-row .btn,.subscribe-form .btn{width:100%}.subscribe-form .pixel-input{min-width:100%}.recipe-result__ingredient-row{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}.steam-lights span{animation:none}.welcome-scene,.welcome-scene *{animation:none!important;transition:none!important}}
.welcome-scene{position:fixed;inset:0;z-index:90;display:grid;place-items:center;pointer-events:none;overflow:hidden}.welcome-scene__veil{position:absolute;inset:0;background:radial-gradient(circle at top,rgba(255,222,171,.32),rgba(26,18,36,.74) 58%,rgba(16,10,23,.94));backdrop-filter:blur(4px)}.welcome-scene__frame{position:relative;width:min(88vw,470px);aspect-ratio:1/.96;display:grid;place-items:center}.welcome-scene__shop{position:relative;width:100%;height:100%;padding:28px 28px 20px;border:4px solid var(--vk-black);background:linear-gradient(180deg,#fff8fc,#ffe7ef 46%,#ffd9e7);box-shadow:0 22px 60px rgba(0,0,0,.28),0 0 0 8px rgba(255,255,255,.09)}.welcome-scene__doorway{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:70%;height:62%;border:4px solid var(--vk-black);background:linear-gradient(180deg,#2f213d,#1b1327 62%,#120d19);overflow:hidden;box-shadow:inset 0 0 0 4px rgba(255,255,255,.05)}.welcome-scene__door{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(180deg,#7b4259,#653247 55%,#4d2437);box-shadow:inset 0 0 0 3px rgba(255,240,245,.08)}.welcome-scene__door--left{left:0;transform-origin:left center}.welcome-scene__door--right{right:0;transform-origin:right center}.welcome-scene__light{position:absolute;left:50%;top:16%;width:42%;height:56%;transform:translateX(-50%);background:radial-gradient(circle,rgba(255,241,179,.86),rgba(255,197,94,.34) 55%,rgba(255,197,94,0));opacity:0}.welcome-scene__norens{position:absolute;left:50%;top:0;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:78%;height:28%}.welcome-scene__norens span{background:linear-gradient(180deg,#b8325c,#862748);border-inline:2px solid rgba(26,18,36,.45);border-bottom:4px solid var(--vk-black)}.welcome-scene__sign{position:absolute;left:50%;top:18px;transform:translateX(-50%) rotate(-2deg);padding:8px 18px;border:3px solid var(--vk-black);background:#fff4dc;color:var(--vk-crimson-dark);font:800 1.1rem var(--font-en);letter-spacing:.12em;box-shadow:0 8px 0 rgba(26,18,36,.14)}.welcome-scene__text{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);margin:0;padding:7px 14px;border:2px solid var(--vk-black);background:rgba(255,249,252,.94);font:800 .9rem var(--font-sans);white-space:nowrap;letter-spacing:.04em;color:var(--vk-black);opacity:0}.welcome-scene__bell{position:absolute;right:26px;top:22px;width:54px;height:76px;transform-origin:top center}.welcome-scene__bell::before{content:"";position:absolute;left:50%;top:-12px;width:2px;height:20px;background:rgba(255,255,255,.85);transform:translateX(-50%)}.welcome-scene__bell span:nth-child(1){position:absolute;left:50%;top:10px;width:32px;height:32px;border:3px solid var(--vk-black);border-bottom-left-radius:18px;border-bottom-right-radius:18px;border-top-left-radius:12px;border-top-right-radius:12px;background:linear-gradient(180deg,#fff9da,#ffc85e);transform:translateX(-50%)}.welcome-scene__bell span:nth-child(2){position:absolute;left:50%;top:40px;width:3px;height:18px;background:var(--vk-black);transform:translateX(-50%)}.welcome-scene__bell span:nth-child(3){position:absolute;left:50%;top:56px;width:10px;height:10px;border-radius:50%;background:var(--vk-crimson);transform:translateX(-50%)}.welcome-scene__spark{position:absolute;top:16%;width:100px;height:100px;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,255,255,0) 66%);opacity:0}.welcome-scene__spark--left{left:-6%}.welcome-scene__spark--right{right:-6%}.welcome-scene.is-playing .welcome-scene__door--left{animation:doorOpenLeft .88s cubic-bezier(.22,1,.36,1) forwards}.welcome-scene.is-playing .welcome-scene__door--right{animation:doorOpenRight .88s cubic-bezier(.22,1,.36,1) forwards}.welcome-scene.is-playing .welcome-scene__light{animation:doorLight 1.5s ease forwards}.welcome-scene.is-playing .welcome-scene__text{animation:welcomeCaption 1.2s ease .46s forwards}.welcome-scene.is-playing .welcome-scene__bell{animation:bellSwing .95s ease-in-out 2}.welcome-scene.is-playing .welcome-scene__spark--left{animation:sparkPop 1.2s ease .2s}.welcome-scene.is-playing .welcome-scene__spark--right{animation:sparkPop 1.2s ease .36s}.welcome-scene.is-leaving{animation:sceneFade .8s ease forwards}@keyframes doorOpenLeft{0%{transform:perspective(500px) rotateY(0)}100%{transform:perspective(500px) rotateY(-104deg)}}@keyframes doorOpenRight{0%{transform:perspective(500px) rotateY(0)}100%{transform:perspective(500px) rotateY(104deg)}}@keyframes doorLight{0%{opacity:0;transform:translateX(-50%) scale(.6)}45%{opacity:1}100%{opacity:.9;transform:translateX(-50%) scale(1.16)}}@keyframes welcomeCaption{0%{opacity:0;transform:translateX(-50%) translateY(12px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes bellSwing{0%,100%{transform:rotate(0)}25%{transform:rotate(10deg)}75%{transform:rotate(-10deg)}}@keyframes sparkPop{0%{opacity:0;transform:scale(.3)}35%{opacity:.8}100%{opacity:0;transform:scale(1.4)}}@keyframes sceneFade{to{opacity:0;visibility:hidden}}
