button,input,select,textarea{touch-action:manipulation}button,input,select{min-height:48px}.text-btn{min-height:44px}.sidebar .primary-nav .nav{font-size:1rem;min-height:68px;align-items:center}.nav-text{display:block}.nav-text b{font-size:1rem;font-weight:600;padding:0;background:none;margin:0}.nav-text small{display:block;font-size:.75rem;margin-top:5px;font-weight:400}.secondary-nav{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.secondary-nav .nav{font-size:.875rem}.book-search-panel{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;background:white;border:1px solid var(--line);border-radius:12px;padding:22px;margin:22px 0 27px}.book-search-label span{display:block;margin-bottom:10px;font-size:.875rem}.book-search-label input{font-size:1.125rem;min-height:58px;margin-top:0}.favorite-filter{min-height:54px;background:white;border:1px solid #cad2c4;border-radius:8px;padding:12px 20px;color:#58624f;font-size:1rem}.favorite-filter.on{background:#edf3e8;border-color:var(--green);color:var(--green)}.book-categories{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}.book-category,.portion-presets button{background:#f4f5f1;border:1px solid transparent;border-radius:7px;padding:12px 20px;font-size:1rem}.book-category.selected,.portion-presets button.selected{background:var(--green);color:#fff;border-color:var(--green)}.library-context{display:flex;align-items:center;gap:15px;padding:18px 22px;background:#eaf0e7;border:1px solid #dce4d6;border-radius:10px;color:#43543c}.library-context-icon{font-size:1.7rem}.library-context b{font-size:.9375rem}.library-context p{margin:5px 0 0;font-size:.875rem;line-height:1.6}.book-results-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.book-results-head h2{margin:0}.book-results-head h2 span{font-size:1rem;font-weight:400;color:var(--muted);margin-left:10px}.book-results-head>.muted{font-size:.875rem}.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.book-card{background:#fff;border:1px solid #dce1d5;border-radius:12px;overflow:hidden;position:relative;border-top:4px solid #597151;display:flex;flex-direction:column}.book-card:nth-child(3n+2){border-top-color:#b59368}.book-card:nth-child(3n){border-top-color:#70878b}.book-card-head{padding:14px 18px 0 24px;display:flex;justify-content:space-between;align-items:center}.book-category-label{color:#67735a;font-size:.875rem}.book-star{background:none;font-size:1.7rem;width:52px;height:52px;color:#838a7a;border-radius:8px}.book-star:hover{background:#f0f3eb}.book-star.on{color:#9b7031}.book-open{background:none;display:flex;flex-direction:column;width:100%;text-align:left;padding:8px 24px 22px;color:var(--ink);flex:1}.book-open:hover{background:#fafbf7}.book-title{display:block;font:600 1.35rem/1.55 var(--serif);margin-bottom:12px}.book-summary{display:block;font-size:.9375rem;color:var(--muted);line-height:1.75;margin-bottom:20px;flex:1}.book-card-meta{display:block;font-size:.9375rem;color:#646d59}.book-card-meta i{font-style:normal;margin:0 10px;color:#a8ae9e}.book-card-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);width:100%}.book-card-bottom strong{font-size:1rem;color:var(--red)}.sample-label{font-size:.8125rem;color:#7b6746;background:#f7f1e5;padding:5px 8px;border-radius:4px;line-height:1.5}.book-storage-note{font-size:.875rem;color:var(--muted);margin:24px 0}.book-empty{grid-column:1/-1}.book-detail-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:26px}.book-heading{margin-bottom:26px}.book-heading h1{font-family:var(--serif);line-height:1.6;font-size:2rem;margin:10px 0 14px}.book-heading-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:.875rem;color:var(--muted)}.book-detail-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.3fr);gap:26px;align-items:start}.book-ingredients{border:1px solid var(--line);border-radius:12px;background:#fff;padding:24px}.book-ingredients h2,.book-directions h2{font-size:1.4rem}.book-ingredients .section-head>span,.book-directions .section-head>span{font-size:.9375rem;color:var(--green)}.portion-control{display:flex;align-items:center;gap:12px;margin:22px 0 12px}.portion-control>button{width:54px;height:54px;border-radius:8px;background:#eef2e9;color:#44583c;font-size:1.5rem}.portion-control label{display:flex;align-items:center;gap:8px;flex:1;font-size:1rem}.portion-control input{width:100%;font-size:1.4rem;font-weight:600;text-align:center;margin:0;min-width:0}.portion-control label>span:last-child{white-space:nowrap}.portion-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.portion-presets button{padding:9px 3px;font-size:.875rem}.book-amounts{width:100%;border-collapse:collapse;margin-top:15px}.book-amounts th{font-size:.875rem;color:var(--muted);font-weight:500;text-align:left;border-bottom:1px solid var(--line);padding:12px 0}.book-amounts td{font-size:1.0625rem;border-bottom:1px solid var(--line);padding:17px 0;line-height:1.5}.book-amounts td:last-child,.book-amounts th:last-child{text-align:right;white-space:nowrap}.book-amounts strong{font-size:1.25rem;font-weight:600}.book-portion-note{font-size:.8125rem;color:var(--muted);line-height:1.8;margin:18px 0 0}.book-points{margin-top:24px;background:#f1f4ed;border-left:3px solid #859d70;padding:17px}.book-points h3{font-size:1rem;margin:0 0 8px}.book-points p{font-size:.9375rem;line-height:1.8;margin:0}.book-directions{padding:8px 0}.book-directions .subtle{margin-bottom:18px}.book-step-list{margin:0;padding:0;list-style:none;display:grid;gap:14px}.book-step{border:1px solid var(--line);border-radius:11px;background:white}.book-step label{display:grid;grid-template-columns:28px 38px 1fr;align-items:start;gap:13px;padding:24px;cursor:pointer;min-height:110px;font-weight:400}.book-step input{width:26px;height:26px;min-height:26px;margin:6px 0 0;accent-color:var(--green)}.step-number{font-family:Georgia,serif;font-size:1.5rem;color:#7b8c6a;line-height:1.7}.step-copy{font-size:1.18rem;line-height:1.9;overflow-wrap:anywhere}.book-step.done{background:#edf3e8;border-color:#b6c8a8}.book-step.done .step-copy{color:#536548}.book-check-end{display:flex;align-items:center;gap:15px;margin-top:20px}.book-check-end .subtle{margin:0;font-size:.8125rem}.book-edit-ingredient{display:grid;grid-template-columns:1.5fr .7fr .8fr 44px;align-items:end;gap:10px;margin-bottom:15px}.book-edit-ingredient .close{margin-bottom:3px}.book-edit-ingredient label{font-size:.8125rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.primary-nav .nav-text{width:auto!important;line-height:1.45}.portion-control label{min-width:0}.portion-control label input{width:0;flex:1}.library-context{padding:10px 16px}.library-context-icon,.library-context b{display:none}.library-context p{margin:0}.book-search-panel{padding:18px;margin:16px 0 22px;gap:14px}.book-search-label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.sidebar{position:static;width:auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:20px 28px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{padding:0}.brandmark{width:40px;height:44px}.brand b{font-size:1.3rem}.brand small{font-size:.75rem}.workspace-label,.side-note,.side-bottom{display:none}.sidebar .primary-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.sidebar .primary-nav .nav{margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:9px;min-height:72px;display:flex;flex-direction:row;gap:12px}.sidebar .primary-nav .nav.active{border-color:#c99991}.sidebar .secondary-nav{grid-column:1/-1;display:flex;justify-content:flex-end;gap:16px;margin:0;border:0;padding:0}.sidebar .secondary-nav .nav{width:auto;min-height:48px;margin:0;padding:7px 12px;display:flex;flex-direction:row;gap:9px}.workspace{margin-left:0}.topbar{height:54px;padding:0 28px}main{padding:28px}.notice{padding:10px 28px}.book-detail-grid{grid-template-columns:minmax(265px,.85fr) minmax(0,1.2fr);gap:20px}.step-copy{font-size:1.125rem}.book-step label{padding:20px;gap:10px}.book-check-end{flex-wrap:wrap}#toast{left:50%}.nav b{display:inline}.sidebar .primary-nav .nav-text{width:auto}.sidebar .primary-nav .nav-text b{margin:0;background:none}.sidebar .primary-nav .nav-text small{display:block}}
@media(max-width:820px) and (min-width:601px){.sidebar{padding:18px 22px 10px;grid-template-columns:1fr}.sidebar .brand{justify-content:center}.sidebar .primary-nav .nav{justify-content:center}.sidebar .secondary-nav{justify-content:center}.book-detail-grid{grid-template-columns:minmax(245px,.8fr) minmax(0,1fr);gap:18px}.book-ingredients{padding:18px}.book-step label{grid-template-columns:24px 1fr;padding:18px}.step-number{display:none}.book-heading h1{font-size:1.8rem}.book-summary{font-size:.875rem}.book-card-head{padding-left:20px}.book-open{padding:8px 20px 20px}}
@media(max-width:600px){.sidebar{display:block;padding:14px 16px 6px}.sidebar .brand{justify-content:flex-start}.brand small{display:block;margin-left:0}.sidebar .primary-nav{margin-top:16px;gap:8px}.sidebar .primary-nav .nav{padding:10px 9px;gap:8px;min-height:70px;justify-content:center}.nav-text small{display:none!important}.nav-text b{font-size:.9375rem!important}.sidebar .secondary-nav{justify-content:space-between;gap:1px;margin-top:7px}.sidebar .secondary-nav .nav{padding:7px 4px;font-size:.75rem;gap:5px}.secondary-nav .nav span{font-size:1rem}.sidebar .primary-nav .nav>span:first-child{font-size:1.1rem}.secondary-nav .nav b{display:none}.topbar{padding:0 18px}.notice{padding:10px 18px}main{padding:24px 18px}.book-search-panel{grid-template-columns:1fr;padding:18px;gap:14px}.book-search-label input{font-size:1rem}.favorite-filter{font-size:.9375rem;padding:10px 12px}.book-categories{gap:7px}.book-category{flex:1;min-width:85px;padding:11px 9px;font-size:.9375rem}.book-grid{grid-template-columns:1fr;gap:16px}.book-results-head>.muted{display:none}.book-title{font-size:1.3rem}.book-detail-grid{grid-template-columns:1fr}.book-heading h1{font-size:1.6rem}.book-heading-meta{gap:9px}.book-detail-top{align-items:stretch}.book-detail-top .btn{font-size:.875rem}.book-ingredients{padding:20px}.book-step label{grid-template-columns:24px 28px 1fr;padding:20px 16px;gap:10px}.step-copy{font-size:1.125rem}.step-number{font-size:1.25rem}.book-check-end{display:block}.book-check-end .subtle{display:block;margin-top:12px}.book-edit-ingredient{grid-template-columns:1fr 1fr 42px;border-bottom:1px solid var(--line);padding-bottom:18px}.book-edit-ingredient label:first-child{grid-column:1/-1}.library-context{padding:16px}.book-storage-note{font-size:.8125rem}.primary-nav .nav-text{line-height:1.4}}
@media(min-width:601px) and (max-width:1180px){.sidebar{padding-top:14px;padding-bottom:8px;gap:8px}.sidebar .primary-nav .nav{min-height:60px;padding-top:8px;padding-bottom:8px}.sidebar .secondary-nav .nav{min-height:44px}.topbar{height:48px}.topbar .demo-pill{min-height:36px}main{padding-top:22px}.book-search-panel{padding:16px}.book-heading{margin-bottom:20px}.book-detail-top{margin-bottom:18px}.book-step label{padding:20px}}
@media(min-width:601px) and (max-width:1180px){.topbar .demo-pill{min-height:44px}}
