:root{--bg:#0c0c12;--panel:#15151e;--panel2:#1c1b27;--text:#f7f5ff;--muted:#aaa7b7;--accent:#a685ff;--accent2:#6de4bb;--line:#2a2936;--danger:#ff7f9c;--radius:22px;--shadow:0 20px 60px #0007}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% -10%,#392b5d 0,transparent 35%),var(--bg);color:var(--text);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}button,input,select{font:inherit}.skip-link{position:fixed;left:12px;top:-60px;background:white;color:#111;padding:10px 16px;z-index:20;border-radius:8px}.skip-link:focus{top:12px}.topbar{height:72px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0c;background:#0c0c12dd;backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px;background:none;color:var(--text);border:0;font-weight:800;font-size:17px;cursor:pointer}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#6748c8);font-size:13px;box-shadow:0 8px 24px #8c68ff55}.topbar nav{display:flex;gap:7px}.nav-button{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:12px;cursor:pointer}.nav-button:hover,.nav-button.is-active{background:var(--panel2);color:white}.count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:20px;background:#ffffff12;font-size:11px;margin-left:3px}.page{max-width:1240px;margin:auto;padding:clamp(28px,5vw,72px) clamp(18px,4vw,44px) 80px}.eyebrow{color:var(--accent2);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:40px;align-items:center;margin-bottom:60px}.hero h1{font-size:clamp(44px,7vw,86px);line-height:.95;letter-spacing:-.065em;margin:15px 0 22px;max-width:850px}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{color:var(--muted);font-size:18px;max-width:640px}.hero-art{aspect-ratio:4/3;border-radius:32px;background:radial-gradient(circle at 70% 25%,#e9ddff66,transparent 18%),linear-gradient(145deg,#563f88,#211a36);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-art:before{content:"01";position:absolute;right:8%;bottom:-15%;font-size:180px;font-weight:900;color:#ffffff0a}.hero-art:after{content:"PROTEIN\A RECIPES";white-space:pre;position:absolute;left:10%;bottom:14%;font-size:clamp(30px,5vw,54px);line-height:.9;font-weight:900;letter-spacing:-.05em}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-head h2{font-size:clamp(27px,4vw,40px);margin:0;letter-spacing:-.04em}.section-head p{color:var(--muted);margin:0}.book-grid,.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.book-card,.recipe-card{border:1px solid var(--line);background:linear-gradient(145deg,#191822,#12121a);border-radius:var(--radius);overflow:hidden;transition:.25s transform,.25s border-color;position:relative}.book-card:hover,.recipe-card:hover{transform:translateY(-4px);border-color:#8f72dd88}.book-cover,.recipe-image{aspect-ratio:16/10;background:linear-gradient(135deg,var(--tone,#57417f),#18131f);position:relative;display:flex;align-items:flex-end;padding:22px;overflow:hidden}.book-cover:after,.recipe-image:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:#ffffff0d;right:-30px;top:-30px}.book-cover strong{font-size:31px;line-height:.95;letter-spacing:-.04em;z-index:1}.card-body{padding:20px}.card-body h3{font-size:20px;line-height:1.2;margin:0 0 7px}.card-body p{color:var(--muted);margin:0 0 17px}.meta{display:flex;flex-wrap:wrap;gap:8px;color:#d8d4e5;font-size:12px}.meta span,.chip{background:#ffffff0a;border:1px solid #ffffff0b;border-radius:99px;padding:6px 9px}.action-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.primary,.ghost,.favorite{border:0;cursor:pointer;border-radius:12px}.primary{background:var(--accent);color:#100c17;padding:10px 15px;font-weight:800}.primary:hover{filter:brightness(1.08)}.ghost{background:#ffffff0a;color:white;padding:10px 14px}.favorite{width:42px;height:42px;background:#ffffff0a;color:#d7d2e1;font-size:18px}.favorite.is-favorite{color:var(--danger);background:#ff7f9c15}.book-hero{display:grid;grid-template-columns:280px 1fr;gap:42px;align-items:center;margin-bottom:38px}.book-hero .hero-art{aspect-ratio:4/5}.book-hero h1{font-size:clamp(40px,6vw,70px);letter-spacing:-.055em;line-height:1;margin:10px 0}.back{background:none;border:0;color:var(--muted);padding:0;cursor:pointer;margin-bottom:16px}.back:hover{color:white}.toolbar{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin:24px 0}.field{position:relative}.field label{position:absolute;width:1px;height:1px;overflow:hidden}.field input,.field select{width:100%;height:48px;background:var(--panel);border:1px solid var(--line);border-radius:13px;color:var(--text);padding:0 13px;outline:none}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a685ff22}.field select option{background:#181820}.result-line{color:var(--muted);margin:14px 0 20px}.recipe-image{aspect-ratio:16/9}.recipe-image .emoji{font-size:52px;filter:drop-shadow(0 10px 20px #0008);z-index:1}.recipe-card .card-body{padding:17px}.empty{grid-column:1/-1;text-align:center;padding:70px 20px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}.detail{max-width:980px}.detail-hero{min-height:390px;border-radius:30px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 78% 20%,#ffffff30,transparent 20%),linear-gradient(135deg,var(--tone,#57417f),#17131f);box-shadow:var(--shadow);position:relative;overflow:hidden}.detail-hero .emoji{position:absolute;right:8%;top:17%;font-size:110px}.detail-hero h1{font-size:clamp(40px,7vw,72px);line-height:.95;letter-spacing:-.055em;margin:12px 0;max-width:720px}.detail-actions{display:flex;gap:10px;margin-top:20px}.nutrition{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.nutrition div{background:var(--panel);border:1px solid var(--line);padding:16px;border-radius:16px}.nutrition strong{display:block;font-size:22px}.nutrition span{color:var(--muted);font-size:12px}.recipe-content{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;margin-top:42px}.recipe-content h2{font-size:28px;margin-top:0}.ingredients{list-style:none;padding:0}.ingredients li{padding:10px 0;border-bottom:1px solid var(--line)}.steps{padding-left:24px}.steps li{padding:0 0 20px 8px}.steps li::marker{color:var(--accent);font-weight:900}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,120px);background:#f8f5ff;color:#16121d;padding:11px 17px;border-radius:12px;font-weight:700;z-index:30;transition:.3s}.toast.show{transform:translate(-50%,0)}@media(max-width:900px){.book-grid,.recipe-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-art{max-width:580px}.book-hero{grid-template-columns:210px 1fr}.toolbar{grid-template-columns:repeat(2,1fr)}.toolbar .search{grid-column:1/-1}}@media(max-width:620px){.topbar{height:64px}.brand>span:last-child{display:none}.page{padding-top:34px}.hero{gap:25px;margin-bottom:45px}.hero h1{font-size:48px}.book-grid,.recipe-grid{grid-template-columns:1fr}.book-hero{grid-template-columns:1fr;gap:24px}.book-hero .hero-art{aspect-ratio:16/10}.toolbar{grid-template-columns:1fr}.toolbar .search{grid-column:auto}.nutrition{grid-template-columns:repeat(2,1fr)}.recipe-content{grid-template-columns:1fr}.detail-hero{min-height:440px;padding:24px}.detail-hero .emoji{font-size:80px;top:10%;right:10%}.nav-button{padding:8px}.topbar nav{gap:2px}}
