:root{--cream:#fffafc;--milk-pink:#fff4f8;--blush:#fce3ec;--petal:#f6b9cb;--berry:#bf3f6b;--berry-dark:#9d2f56;--ink:#3d2c33;--muted:#78636b;--line:#f0d7e1;--leaf:#3f7a5a;--leaf-soft:#e8f4ed;--white:#fff;--kitty-red:#df1745;--kitty-red-dark:#ac1235;--kitty-pink:#ffd9e4;--kitty-pink-soft:#fff0f5;--kitty-yellow:#f4c53f;--kitty-black:#35272d;--shadow:0 24px 70px #8236521c}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--milk-pink);-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(circle,#df17450b 1.5px,#0000 1.7px) 0 0/26px 26px,radial-gradient(circle at 10% 10%,#f8c3d557,#0000 26rem),radial-gradient(circle at 88% 24%,#ffe2bf47,#0000 24rem),linear-gradient(#fff8fb 0%,#fffdfd 42%,#fff7fa 100%);min-width:0;max-width:100%;min-height:100vh;margin:0;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6}button,input{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:not(:disabled),a{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible,h2:focus-visible{outline-offset:3px;outline:3px solid #bf3f6b4d}main{isolation:isolate;min-height:100vh;position:relative;overflow:clip visible}.ambient{filter:blur(1px);pointer-events:none;z-index:-1;border-radius:999px;position:absolute}.ambient-one{background:radial-gradient(circle,#ffffffb3 2px,#0000 3px) 0 0/21px 21px,#f5bccd40;width:290px;height:290px;top:570px;left:-120px}.ambient-two{background:linear-gradient(45deg,#ffffff61 25%,#0000 25%) 0 0/28px 28px,#ffdeb338;width:240px;height:240px;top:760px;right:-90px}.site-header{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:24px 24px 8px;display:flex}.brand{color:var(--ink);letter-spacing:.04em;align-items:center;gap:10px;font-size:17px;font-weight:750;text-decoration:none;display:inline-flex}.brand>span:last-child{flex-direction:column;line-height:1.15;display:flex}.brand small{color:var(--kitty-red);letter-spacing:.16em;text-transform:uppercase;margin-top:4px;font-size:8px;font-weight:850}.brand-mark{background:linear-gradient(#ffffffc7, #ffffffc7), repeating-linear-gradient(90deg, var(--kitty-pink) 0 8px, white 8px 16px);border:1px solid #f2b7c9;border-radius:15px;justify-content:center;align-items:center;width:52px;height:46px;display:inline-flex;overflow:hidden;box-shadow:0 8px 20px #bf3f6b29}.header-note{color:#9b7d88;letter-spacing:.05em;background:#ffffffad;border:1px solid #efb8cabf;border-radius:999px;align-items:center;gap:9px;min-height:40px;padding:7px 14px 7px 10px;font-size:13px;display:inline-flex}.header-note>.kitty-bow{--bow-size:28px}.kitty-bow{--bow-size:38px;aspect-ratio:1.52;height:auto;width:var(--bow-size);flex:none;display:inline-block;position:relative}.kitty-bow .bow-loop,.kitty-bow .bow-knot{border:1.5px solid var(--kitty-red-dark);position:absolute;box-shadow:inset 0 2px 3px #ffffff3d}.kitty-bow .bow-loop{background:var(--kitty-red);width:43%;height:72%;top:13%}.kitty-bow .bow-loop-left{border-radius:68% 43% 56% 42%;left:1%;transform:rotate(13deg)}.kitty-bow .bow-loop-right{border-radius:43% 68% 42% 56%;right:1%;transform:rotate(-13deg)}.kitty-bow .bow-knot{z-index:2;background:#ed2854;border-radius:48%;width:28%;height:48%;top:25%;left:36%;transform:rotate(45deg)}.kitty-face{--kitty-face-width:68px;aspect-ratio:1.315;border:2px solid var(--kitty-black);height:auto;width:var(--kitty-face-width);background:#fff;border-radius:47% 48% 44% 45%;flex:none;display:inline-block;position:relative;box-shadow:inset 0 -5px 10px #f6c4d32e,0 8px 18px #8836531f}.kitty-face-mini{--kitty-face-width:34px;box-shadow:none;border-width:1px}.kitty-face-hero{--kitty-face-width:112px}.kitty-face-peek{--kitty-face-width:62px;box-shadow:0 7px 13px #7d354e1c}.kitty-ear{border:inherit;z-index:0;background:#fff;border-bottom:0;border-radius:72% 15% 42% 35%;width:31%;height:42%;position:absolute;top:-22%}.kitty-ear-left{left:4%;transform:rotate(-22deg)}.kitty-ear-right{border-radius:15% 72% 35% 42%;right:4%;transform:rotate(22deg)}.kitty-face-bow{--bow-size:33px;z-index:4;position:absolute;top:-24%;right:-15%}.kitty-face-mini .kitty-face-bow{--bow-size:17px}.kitty-face-hero .kitty-face-bow{--bow-size:54px}.kitty-face-peek .kitty-face-bow{--bow-size:30px}.kitty-eye{background:var(--kitty-black);z-index:2;border-radius:50%;width:7%;height:15%;position:absolute;top:42%}.kitty-eye-left{left:28%}.kitty-eye-right{right:28%}.kitty-nose{background:var(--kitty-yellow);z-index:2;border:1px solid #bd8d16;border-radius:50%;width:10%;height:11%;position:absolute;top:54%;left:45.5%}.kitty-whiskers{z-index:2;width:26%;height:42%;position:absolute;top:41%}.kitty-whiskers-left{left:-20%}.kitty-whiskers-right{right:-20%}.kitty-whiskers i{background:var(--kitty-black);transform-origin:100%;border-radius:999px;width:100%;height:1.5px;position:absolute;left:0}.kitty-whiskers i:first-child{top:10%;transform:rotate(11deg)}.kitty-whiskers i:nth-child(2){top:43%}.kitty-whiskers i:nth-child(3){top:74%;transform:rotate(-11deg)}.kitty-whiskers-right i{transform-origin:0}.kitty-whiskers-right i:first-child{transform:rotate(-11deg)}.kitty-whiskers-right i:nth-child(3){transform:rotate(11deg)}.kitty-pattern{color:#df17452e;pointer-events:none;z-index:-1;align-items:center;gap:21px;font-size:36px;display:flex;position:absolute;transform:rotate(-12deg)}.kitty-pattern .kitty-bow{--bow-size:52px;opacity:.14}.kitty-pattern-one{top:515px;left:3%}.kitty-pattern-two{top:1110px;right:3%;transform:rotate(15deg)}.hero{grid-template-columns:minmax(0,.84fr) minmax(430px,1.05fr);align-items:start;gap:clamp(38px,7vw,96px);max-width:1200px;min-height:690px;margin:0 auto;padding:56px 24px 88px;display:grid}.hero-copy{padding-top:112px}.eyebrow{color:var(--kitty-red-dark);letter-spacing:.13em;align-items:center;gap:9px;margin-bottom:22px;font-size:13px;font-weight:750;display:flex}.eyebrow span{background:#fff;border:1px solid #f2bfd0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.eyebrow .kitty-bow{--bow-size:25px}.hero h1{letter-spacing:-.055em;max-width:640px;margin:0;font-size:clamp(42px,5vw,69px);font-weight:800;line-height:1.16}.hero h1 span{color:var(--kitty-red);display:block;position:relative}.hero h1 span:after{content:"";z-index:-1;background:linear-gradient(90deg,#f4a8be73,#0000);border-radius:20px;width:89%;height:12px;position:absolute;bottom:2px;left:-3px;transform:rotate(-1deg)}.hero-intro{color:var(--muted);max-width:560px;margin:28px 0 26px;font-size:clamp(16px,1.6vw,19px);line-height:1.9}.hero-points{flex-wrap:wrap;gap:10px 20px;display:flex}.hero-points>span{color:#67525a;white-space:nowrap;background:#ffffffa3;border:1px solid #eecbd6c2;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:6px 11px 6px 7px;font-size:14px;display:inline-flex}.mini-icon{background:var(--leaf-soft);color:var(--leaf);border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:inline-flex}.kitty-hero-card{background:radial-gradient(circle at 92% 20%,#df174514 2px,#0000 3px) 0 0/18px 18px,#ffffffdb;border:1px solid #f1c4d2;border-radius:25px;grid-template-columns:114px minmax(0,1fr);align-items:center;gap:18px;max-width:540px;min-height:144px;margin-top:30px;padding:14px 42px 14px 14px;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 42px #87335117}.kitty-portrait{background:linear-gradient(#ffedf3cc,#ffedf3cc),repeating-linear-gradient(0deg,#0000 0 14px,#df17451f 14px 15px),repeating-linear-gradient(90deg,#0000 0 14px,#df17451f 14px 15px);border:2px solid #fff;border-radius:21px;justify-content:center;align-self:stretch;align-items:center;min-height:114px;display:flex;position:relative;overflow:hidden}.portrait-dot{background:var(--kitty-yellow);border:2px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute}.portrait-dot-one{top:9px;left:8px}.portrait-dot-two{bottom:8px;right:9px}.kitty-card-copy>span{color:var(--kitty-red);letter-spacing:.16em;margin-bottom:5px;font-size:10px;font-weight:900;display:block}.kitty-card-copy strong{font-size:16px;line-height:1.5;display:block}.kitty-card-copy p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.kitty-card-bow{--bow-size:42px;position:absolute;top:7px;right:7px;transform:rotate(12deg)}.input-card{background:linear-gradient(#fffffff0, #fffffff0), radial-gradient(circle, var(--kitty-pink) 2px, transparent 2.5px) 0 0 / 24px 24px;box-shadow:0 0 0 6px #ffffffb8, var(--shadow);border:1px solid #efbfd0;border-radius:30px;padding:clamp(24px,3.2vw,38px);position:relative}.input-card:before{background:radial-gradient(circle, white 2px, transparent 2.5px) 0 0 / 14px 14px, var(--kitty-red);content:"♡  KITTY'S KITCHEN  ♡";color:#fff;letter-spacing:.13em;border:3px solid #fff;border-radius:999px 999px 0 0;width:auto;height:25px;padding:0 13px;font-size:9px;font-weight:850;line-height:25px;position:absolute;top:-28px;right:84px;transform:rotate(-2deg);box-shadow:0 4px 13px #af1a4333}.kitty-card-peek{z-index:3;position:absolute;top:-43px;right:24px}.input-card-heading{justify-content:space-between;align-items:flex-start;margin-bottom:23px;display:flex}.step-kicker{color:var(--kitty-red);letter-spacing:.16em;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.input-card h2,.results-section h2,.empty-result h2{letter-spacing:-.035em;margin:0;font-size:clamp(24px,3vw,32px);line-height:1.3}.clear-button{color:#9c7886;text-underline-offset:4px;background:0 0;border-radius:10px;min-height:42px;padding:7px 9px;-webkit-text-decoration:underline #e1c6d0;text-decoration:underline #e1c6d0}.clear-button:hover{color:var(--berry-dark)}.input-label{margin-bottom:8px;font-size:13px;font-weight:700;display:block}.tag-input-wrap{border:1.5px solid var(--line);background:#fffbfc;border-radius:17px;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:8px;min-height:70px;padding:11px 12px;transition:border-color .16s,box-shadow .16s;display:flex}.tag-input-wrap:focus-within{border-color:var(--berry);box-shadow:0 0 0 4px #bf3f6b1a}.tag-input-wrap input{background:0 0;border:0;outline:none;flex:180px;min-width:140px;min-height:39px;padding:3px 5px;font-size:16px}.tag-input-wrap input::placeholder{color:#b39da5}.ingredient-tag{background:var(--blush);color:#7f3550;border:1px solid #f3cad7;border-radius:999px;align-items:center;gap:3px;min-height:38px;padding:5px 5px 5px 13px;font-size:14px;font-weight:700;display:inline-flex}.ingredient-tag button{color:#92526a;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:19px;display:inline-flex}.ingredient-tag button:hover{background:#bf3f6b1a}.input-help{color:#97808a;margin:8px 2px 22px;font-size:12px}.ingredient-library{background:linear-gradient(#fffafd,#fff3f7);border:1px solid #efd3dc;border-radius:21px;margin-top:24px;padding:18px}.library-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:13px;display:flex}.library-kicker{color:#9a7b87;letter-spacing:.08em;font-size:11px;font-weight:750;display:block}.library-heading h3{letter-spacing:-.02em;margin:1px 0 0;font-size:17px;line-height:1.4}.selected-count{color:var(--berry-dark);background:#fff;border:1px solid #eac2ce;border-radius:999px;flex:none;padding:5px 10px;font-size:12px;font-weight:750}.catalog-search-label{margin:0 0 7px 2px;font-size:12px;font-weight:700;display:block}.catalog-search{background:#fffbfc;border:1px solid #ead7df;border-radius:14px;align-items:center;gap:8px;min-height:46px;padding:0 10px 0 13px;transition:border-color .16s,box-shadow .16s;display:flex}.catalog-search:focus-within{border-color:var(--berry);box-shadow:0 0 0 3px #bf3f6b17}.catalog-search>span{color:#a27888;font-size:21px;line-height:1;transform:rotate(-15deg)}.catalog-search input{appearance:none;background:0 0;border:0;outline:0;flex:1;min-width:0;min-height:42px}.catalog-search input::-webkit-search-cancel-button{appearance:none}.catalog-search input::placeholder{color:#b29ba4}.catalog-search button{color:#8e556a;background:#f6e7ed;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:inline-flex}.category-tabs{scrollbar-color:#e4bdcb transparent;scrollbar-width:thin;gap:7px;margin:13px 0 8px;padding:1px 1px 7px;display:flex;overflow-x:auto}.category-tabs button{color:#6d5961;white-space:nowrap;background:#fff;border:1px solid #ead7df;border-radius:999px;flex:none;align-items:center;gap:5px;min-height:42px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.category-tabs button:hover,.category-tabs button.active{background:var(--kitty-red);border-color:var(--kitty-red);color:#fff;box-shadow:0 7px 15px #c31c452b}.category-tabs button>span{opacity:.88;font-size:14px}.catalog-status{color:#917780;min-height:18px;margin:3px 2px 8px;font-size:11px}.catalog-grid{scrollbar-color:#e4bdcb transparent;scrollbar-width:thin;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:7px;max-height:294px;padding:1px 4px 4px 1px;display:grid;overflow-y:auto}.catalog-grid button{color:#654f58;text-align:left;background:#fff;border:1px solid #ead7df;border-radius:12px;justify-content:flex-start;align-items:center;gap:6px;min-width:0;min-height:44px;padding:8px 9px;font-size:13px;transition:background .15s,border-color .15s,color .15s,transform .15s;display:flex}.catalog-grid button:hover{color:var(--berry-dark);border-color:#e3a4b8;transform:translateY(-1px)}.catalog-grid button.selected{border-color:var(--kitty-red);box-shadow:inset 3px 0 var(--kitty-red);color:var(--kitty-red-dark);background:#fff;font-weight:750}.catalog-check{color:#9b6377;background:#f7edf1;border-radius:50%;flex:none;justify-content:center;align-items:center;width:21px;height:21px;font-size:12px;font-weight:850;display:inline-flex}.catalog-grid button.selected .catalog-check{background:var(--kitty-red);color:#fff}.catalog-empty{text-align:center;background:#fff8fb;border:1px dashed #e8cad5;border-radius:14px;flex-direction:column;align-items:center;padding:20px 14px;display:flex}.catalog-empty>span{font-size:24px}.catalog-empty p{color:var(--muted);margin:5px 0 10px;font-size:13px}.catalog-empty button{color:var(--berry-dark);background:#fff;border:1px solid #e6c8d3;border-radius:999px;min-height:38px;padding:7px 13px;font-size:12px;font-weight:700}.catalog-source{color:#a08790;margin:12px 2px 0;font-size:11px}.catalog-source a{color:#8f5369;text-underline-offset:3px;margin:0 3px}.generate-button{color:#fff;background:linear-gradient(135deg,#e32452,#bd123d);border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;margin-top:26px;padding:14px 22px;font-size:16px;font-weight:750;transition:box-shadow .16s,transform .16s,opacity .16s;display:flex;box-shadow:0 13px 28px #b1305e3d}.generate-button>.generate-arrow{margin-left:auto}.generate-button>.button-bow,.generate-button>.loading-dot{margin-right:auto}.generate-button .button-bow{--bow-size:35px}.generate-button .button-bow .bow-loop,.generate-button .button-bow .bow-knot{background:#fff;border-color:#720b2aa6;box-shadow:inset 0 2px 3px #eb2f5c2e}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 34px #b1305e4d}.generate-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.48}.loading-dot{background:#fff;border-radius:50%;width:8px;height:8px;animation:.9s ease-in-out infinite pulse}.example-line{color:#9b848d;text-align:center;margin-top:14px;font-size:12px}.example-line button{color:var(--berry-dark);text-underline-offset:3px;background:0 0;padding:8px 4px;font-weight:700;-webkit-text-decoration:underline #e8b8c8;text-decoration:underline #e8b8c8}.live-message{color:var(--berry-dark);text-align:center;max-width:1152px;min-height:24px;margin:-52px auto 16px;padding:0 24px;font-size:14px}.loading-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1152px;margin:0 auto 70px;padding:28px 24px 0;display:grid}.loading-card{background:linear-gradient(105deg,#ffffffa6 20%,#f8dbe6a6 38%,#ffffffb8 58%) 0 0/200% 100%;border:1px solid #fff;border-radius:25px;height:260px;animation:1.4s ease-in-out infinite shimmer}.results-section{max-width:1152px;margin:0 auto;padding:62px 24px 80px;scroll-margin-top:24px}.result-heading-row{justify-content:space-between;align-items:flex-end;gap:26px;margin-bottom:25px;display:flex}.result-title-group{align-items:center;gap:17px;display:flex}.result-kitty{background:radial-gradient(circle,#f8cad8 2px,#0000 2.5px) 0 0/14px 14px,#fff;border:1px solid #edc7d3;border-radius:18px;flex:none;justify-content:center;align-items:center;width:88px;height:74px;display:flex}.result-kitty .kitty-face{--kitty-face-width:48px}.result-kitty .kitty-face-bow{--bow-size:23px}.result-heading-row h2 span{color:var(--berry)}.result-heading-row p{color:var(--muted);margin:7px 0 0}.meal-navigation{flex:none;gap:9px;display:flex}.swap-button{color:var(--berry-dark);background:#fff;border:1px solid #ebd3dc;border-radius:999px;flex:none;align-items:center;gap:8px;min-height:46px;padding:9px 17px;font-weight:700;display:inline-flex}.swap-button:hover{background:var(--blush)}.swap-button span{font-size:20px}.meal-navigation .swap-button{min-width:112px}.meal-navigation .next{background:var(--kitty-red);border-color:var(--kitty-red);color:#fff}.meal-navigation .next:hover{background:var(--kitty-red-dark)}.variety-strip{background:linear-gradient(#fff7faf0,#fff7faf0),radial-gradient(circle,#df174529 2px,#0000 2.5px) 0 0/15px 15px;border:1px solid #edc6d2;border-radius:18px;align-items:center;gap:13px;min-height:62px;margin-bottom:16px;padding:10px 14px;display:flex}.variety-strip>.kitty-bow{--bow-size:34px}.variety-strip>div{flex-wrap:wrap;flex:1;gap:7px;display:flex}.variety-strip>div>span{color:#765d67;background:#fff;border:1px solid #eed7df;border-radius:999px;padding:5px 10px;font-size:12px}.variety-strip strong{color:var(--kitty-red-dark);font-size:14px}.meal-position{color:#9b7482;letter-spacing:.08em;flex:none;font-size:12px;font-weight:800}.meal-summary{border:1px solid #fff;border-top:4px solid var(--kitty-red);background:linear-gradient(135deg,#fffffff7,#fff7faf7);border-radius:25px;margin-bottom:24px;padding:24px;box-shadow:0 18px 50px #77354c14}.summary-main{align-items:center;gap:16px;display:flex}.summary-icon{background:#fff0f5;border-radius:18px;flex:none;justify-content:center;align-items:center;width:56px;height:56px;font-size:26px;display:inline-flex}.summary-main strong{letter-spacing:-.02em;flex-wrap:wrap;gap:8px;font-size:clamp(19px,2.3vw,25px);line-height:1.35;display:flex}.summary-main strong span{color:var(--berry)}.summary-main p{color:var(--muted);margin:4px 0 0;font-size:14px}.summary-tags{border-top:1px dashed #efd7e0;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}.summary-label{color:#91747f;margin-right:3px;font-size:12px;font-weight:700}.used-tag{background:var(--leaf-soft);color:#356b4e;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.shopping-note{background:#fff8e9;border:1px solid #f4e3b9;border-radius:17px;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:13px 14px;display:flex}.shopping-note>div:first-child{align-items:center;gap:11px;display:flex}.shopping-note>div:first-child>span{font-size:23px}.shopping-note p{margin:0;line-height:1.35}.shopping-note p strong,.shopping-note p span{display:block}.shopping-note p strong{color:#6f5932;font-size:13px}.shopping-note p span{color:#8d7951;margin-top:3px;font-size:12px}.missing-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.missing-actions button{color:#74591f;background:#fff;border:1px solid #ead5a5;border-radius:999px;min-height:38px;padding:7px 11px;font-size:12px;font-weight:700}.missing-actions button:hover{background:#fff2cf}.unknown-note{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:14px;margin:0 0 18px;padding:11px 14px;font-size:13px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.recipe-card{background:#fff;border:1px solid #fffffff2;border-radius:25px;min-width:0;padding:clamp(21px,2.8vw,28px);position:relative;overflow:hidden;box-shadow:0 16px 48px #6a354814}.recipe-card:after{content:"";opacity:1;pointer-events:none;background:radial-gradient(circle,#df174526 2px,#0000 2.5px) 0 0/13px 13px;border:0;border-radius:0 25px 0 42px;width:78px;height:78px;position:absolute;top:0;right:0}.veg-card:after{background:radial-gradient(circle,#4a8b6329 2px,#0000 2.5px) 0 0/13px 13px}.recipe-card-bow{--bow-size:31px;pointer-events:none;z-index:2;position:absolute;top:13px;right:16px;transform:rotate(8deg)}.veg-card .recipe-card-bow .bow-loop,.veg-card .recipe-card-bow .bow-knot{background:#66a57c;border-color:#3f7a5a}.recipe-topline{z-index:3;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding-right:44px;display:flex;position:relative}.kind-badge,.availability{border-radius:999px;align-items:center;gap:5px;min-height:31px;padding:5px 10px;font-size:12px;font-weight:750;display:inline-flex}.meat-badge{color:#9d3459;background:#fde6ed}.veg-badge{background:var(--leaf-soft);color:#356b4e}.availability.ready{color:#386c50;background:#edf7f1}.availability.need{color:#7b611e;background:#fff4db}.recipe-card h3{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:clamp(24px,3vw,31px);line-height:1.3}.recipe-description{color:var(--muted);margin:8px 0 18px}.recipe-meta{flex-wrap:wrap;gap:9px 16px;display:flex}.recipe-meta>span{color:#735f67;align-items:center;gap:6px;font-size:13px;display:inline-flex}.ingredient-preview{background:#fff9fb;border:1px solid #f3e2e8;border-radius:16px;margin-top:19px;padding:13px}.preview-label{color:#8b717b;letter-spacing:.08em;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.tiny-tags{flex-wrap:wrap;gap:6px;display:flex}.tiny-tags span{color:#604d54;background:#fff;border:1px solid #ead8df;border-radius:999px;padding:4px 9px;font-size:12px}.detail-toggle{color:var(--berry-dark);background:0 0;border-top:1px solid #f2e4e9;justify-content:space-between;align-items:center;width:100%;min-height:51px;margin-top:20px;padding:14px 1px 0;font-weight:750;display:flex}.chevron{font-size:18px;transition:transform .18s}.chevron.open{transform:rotate(180deg)}.recipe-detail{border-top:1px solid #f2e4e9;margin-top:12px;padding-top:22px;animation:.22s both detail-in}.detail-block+.detail-block{margin-top:24px}.detail-block h4{margin:0 0 11px;font-size:15px}.amount-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.amount-list li{border-bottom:1px dashed #ecdde2;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 5px;display:flex}.amount-list li:nth-child(odd){margin-right:12px}.amount-list span{color:#69565d}.amount-list strong{color:var(--ink);text-align:right;font-size:13px}.seasoning-list{color:#735f43;background:#fff8ed;border-radius:12px;margin:0;padding:11px 13px;font-size:13px}.steps-list{margin:0;padding:0;list-style:none}.steps-list li{grid-template-columns:27px minmax(0,1fr);gap:11px;display:grid;position:relative}.steps-list li:not(:last-child){padding-bottom:15px}.steps-list li:not(:last-child):before{content:"";background:#f0dbe3;width:1px;height:calc(100% - 18px);position:absolute;top:28px;left:13px}.step-number{background:var(--blush);color:var(--berry-dark);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:12px;font-weight:800;display:inline-flex;position:relative}.steps-list p{color:#5f4e55;margin:1px 0 0;font-size:14px;line-height:1.75}.tip-box{background:var(--leaf-soft);border-radius:14px;align-items:flex-start;gap:10px;margin-top:24px;padding:13px;display:flex}.tip-box>span{font-size:20px}.tip-box strong{color:#315d46;font-size:13px;display:block}.tip-box p{color:#50705f;margin:3px 0 0;font-size:13px}.pantry-note{background:#ffffffb3;border:1px dashed #e9cbd6;border-radius:18px;align-items:center;gap:13px;margin-top:22px;padding:15px 18px;display:flex}.pantry-icon{background:var(--blush);color:var(--berry);border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.pantry-note strong{font-size:13px}.pantry-note p{color:var(--muted);margin:1px 0 0;font-size:12px}.recipe-source-note{color:#9c7f8a;text-align:center;margin:13px 2px 0;font-size:11px}.recipe-source-note a{color:var(--kitty-red-dark);text-underline-offset:3px;margin:0 4px}.empty-result{box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:26px;max-width:680px;margin:20px auto 80px;padding:45px 24px}.empty-result>span{font-size:42px}.empty-result p{color:var(--muted)}.empty-result button{background:var(--berry);color:#fff;border-radius:999px;min-height:46px;padding:10px 18px;font-weight:700}footer{color:#8f6d79;background:linear-gradient(#fffafce0,#fffafce0),repeating-linear-gradient(90deg,#f8c7d6 0 14px,#fff 14px 28px);border-top:1px solid #efced8;justify-content:center;align-items:center;gap:7px;min-height:90px;margin-top:22px;padding:21px 24px 27px;font-size:13px;display:flex}footer>.kitty-bow{--bow-size:29px}footer>.kitty-face{--kitty-face-width:31px;box-shadow:none;margin-left:5px}footer>.kitty-face .kitty-face-bow{--bow-size:15px}footer>span:nth-child(2){color:#8f6d79}@keyframes pulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes detail-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.hero{grid-template-columns:minmax(0,1fr);gap:50px;padding-top:58px}.hero>*,.hero-copy,.input-card,.kitty-hero-card{min-width:0}.hero-copy{max-width:100%;padding-top:0}.kitty-hero-card{width:100%;max-width:100%}.hero h1 span{display:inline}.input-card{width:100%;max-width:100%}.live-message{margin-top:-52px}}@media (max-width:720px){body{font-size:16px}.site-header{padding:16px 16px 0}.header-note{display:none}.brand-mark{border-radius:11px;width:36px;height:36px}.hero{gap:34px;min-height:0;padding:44px 16px 70px}.eyebrow{margin-bottom:16px}.hero h1{font-size:clamp(39px,12vw,53px)}.hero h1 span{display:block}.hero-intro{margin:21px 0 22px;font-size:16px;line-height:1.8}.hero-points{flex-direction:column;align-items:flex-start;gap:9px}.kitty-pattern{display:none}.kitty-hero-card{grid-template-columns:94px minmax(0,1fr);gap:13px;min-height:118px;margin-top:27px;padding:12px 34px 12px 12px}.kitty-portrait{min-height:94px}.kitty-portrait .kitty-face{--kitty-face-width:82px}.kitty-card-copy strong{font-size:14px}.kitty-card-copy p{font-size:11px}.kitty-card-bow{--bow-size:34px;top:5px;right:5px}.input-card{border-radius:24px;padding:22px 18px}.input-card:before{font-size:8px;top:-25px;right:63px}.kitty-card-peek{top:-37px;right:13px}.kitty-card-peek .kitty-face{--kitty-face-width:52px}.input-card-heading{margin-bottom:18px}.input-card h2{font-size:25px}.clear-button{font-size:13px}.tag-input-wrap{min-height:64px}.category-tabs button{min-height:44px}.ingredient-library{padding:15px 12px}.category-tabs{margin-inline:-12px;padding-inline:12px;scroll-padding-inline:12px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:330px}.generate-button{min-height:57px}.live-message{margin:-48px auto 6px;padding:0 16px}.loading-section{grid-template-columns:1fr;gap:14px;padding:24px 16px 0}.loading-card{height:210px}.results-section{padding:48px 16px 66px}.result-heading-row{flex-direction:column;align-items:flex-start;gap:17px}.result-title-group{align-items:flex-start;gap:12px}.result-kitty{border-radius:15px;width:72px;height:65px}.result-kitty .kitty-face{--kitty-face-width:39px}.meal-navigation{width:100%}.meal-navigation .swap-button{flex:1;justify-content:center;width:auto;min-width:0}.variety-strip{flex-wrap:wrap;align-items:flex-start;gap:9px;padding:11px 12px}.variety-strip>.kitty-bow{--bow-size:29px}.variety-strip>div{min-width:calc(100% - 46px)}.meal-position{margin-left:42px}.meal-summary{border-radius:21px;padding:18px}.summary-main{align-items:flex-start}.summary-icon{border-radius:15px;width:48px;height:48px}.summary-main strong{font-size:20px;display:block}.summary-main strong span{padding:0 4px;display:inline-block}.shopping-note{flex-direction:column;align-items:stretch}.missing-actions{justify-content:flex-start}.missing-actions button{min-height:44px}.recipe-grid{grid-template-columns:1fr}.recipe-card{border-radius:21px;padding:20px 18px}.recipe-card h3{font-size:26px}.recipe-topline{align-items:flex-start}.availability{text-align:right;max-width:56%}.amount-list{grid-template-columns:1fr}.amount-list li:nth-child(odd){margin-right:0}.detail-toggle{min-height:55px}.steps-list p{font-size:15px}.pantry-note{align-items:flex-start}}@media (max-width:380px){.hero h1{font-size:38px}.ingredient-tag{max-width:100%}.kitty-hero-card{grid-template-columns:76px minmax(0,1fr)}.kitty-portrait{min-height:80px}.kitty-portrait .kitty-face{--kitty-face-width:66px}.kitty-card-copy p{display:none}.input-card:before{content:"♡  KITTY  ♡"}.result-kitty{display:none}.catalog-grid{grid-template-columns:1fr}.recipe-topline{flex-direction:column}.availability{text-align:left;max-width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
