:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;color:#283a30;background:#e8ede6;font-synthesis:none;font-weight:400;--green:#49765b;--ink:#283a30;--muted:#899286;--line:#e5e8de;--paper:#f8f8f3;--soft:#edf1e7}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #89a183;outline-offset:1px}input,select,textarea{font-size:16px;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px}textarea{resize:vertical;line-height:1.7;width:100%;min-height:90px}a{color:var(--green)}h1,h2,h3,h4,p{margin:0}h1{font-size:25px;letter-spacing:.02em;line-height:1.5;font-weight:680}h2{font-size:17px}h3{font-size:16px}small{font-size:11px}svg{flex-shrink:0}button{touch-action:manipulation}label{font-size:13px}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.app-shell{max-width:540px;margin:auto;height:100dvh;height:100svh;background:var(--paper);display:flex;flex-direction:column;position:relative;box-shadow:0 0 70px #283a3010;overflow:hidden}.app-header{padding:calc(15px + env(safe-area-inset-top)) 22px 14px;display:flex;align-items:center;min-height:75px;gap:8px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--paper)}.brand{display:flex;align-items:center;gap:9px}.brand strong{font-size:24px;letter-spacing:.04em;font-weight:750;line-height:1.2}.brand strong>span{display:block;font-size:9px;letter-spacing:.16em;font-weight:500;color:var(--muted);margin-top:6px}.brand-mark{background:var(--green);color:#fff;width:39px;height:39px;border-radius:14px 14px 14px 4px;display:grid;place-items:center}.brand.small{color:var(--green)}.brand.small strong{font-size:21px}.prototype-badge{margin-left:auto;font-size:10px;letter-spacing:.07em;color:#7c8779;border:1px solid #dfe5d8;border-radius:20px;padding:6px 9px;white-space:nowrap}.prototype-badge i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8ca381;margin-right:5px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px;border-radius:10px}.icon-button:hover{background:var(--soft)}.back{margin-left:-12px}.main-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#d4ddcf transparent}.page{padding:23px 21px 30px}.eyebrow{font-size:9px;letter-spacing:.19em;color:#879481;font-weight:650;margin-bottom:7px}.intro{font-size:13px;line-height:1.9;color:#7d8879;margin:10px 0 22px}.home-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:24px}.home h1{font-size:25px;white-space:nowrap}.recipe-count{font-size:9px;color:#8b9587;white-space:nowrap;padding-bottom:5px}.recipe-count b{font-size:15px;color:#607455;font-weight:500;margin-right:3px}.collection-label{display:flex;justify-content:space-between;gap:5px;margin-bottom:13px;font-size:12px}.collection-label>span:last-child{font-size:9px;color:#98a08f}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.recipe-card{padding:0;text-align:left;min-width:0}.recipe-card>.photo,.recipe-card>.no-photo{width:100%;height:auto;aspect-ratio:1.19;border-radius:13px}.photo{object-fit:cover;display:block;background:var(--soft)}.recipe-card>span:last-child:not(.no-photo){font-size:13px;font-weight:620;display:block;margin-top:9px;line-height:1.6;letter-spacing:.015em}.no-photo{display:flex;background:#ecede5;color:#a0a593;align-items:center;justify-content:center;flex-direction:column;gap:4px}.no-photo>span{font-size:32px;line-height:1}.no-photo>small{font-size:9px;letter-spacing:.14em}.empty{text-align:center;padding:30px 10px;color:#82917b}.empty>span{font-size:45px}.empty h3{margin:10px 0}.empty p{font-size:12px;line-height:1.8}.search-dock{flex-shrink:0;border-top:1px solid #dfe5d7;padding:8px 17px 10px;background:#fffffff2;box-shadow:0 -5px 22px #364b3510;z-index:3}.search-dock-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;color:#7d8a76;font-size:10px}.search-dock-heading>span,.search-dock-heading>div,.search-dock-heading button{display:flex;gap:5px;align-items:center}.search-dock-heading button{font-size:10px;color:#7e8e72;padding:3px 5px;min-height:26px}.search-dock-heading button:last-child{border-left:1px solid var(--line);padding-left:10px;margin-left:4px}.filter-row{display:flex;align-items:center;gap:8px;min-height:39px}.filter-label{font-size:10px;flex:0 0 45px;font-weight:600}.filter-label small{display:block;font-size:7px;letter-spacing:.1em;color:#a1aa9b;margin-top:2px}.filter-scroll{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;min-width:0;padding:2px 0}.filter-scroll::-webkit-scrollbar,.tab-strip::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;border:1px solid #e7eadd;border-radius:7px;background:#fafbf6;padding:6px 10px;font-size:11px;min-height:31px}.chip.selected{background:#e8efdf;color:#477047;border-color:#b9cba8}.dict-icon{display:inline-flex;min-width:17px;justify-content:center;font-size:15px}.dict-img{width:20px;height:20px;object-fit:cover}.search-input{margin-top:9px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#f4f5ee;border:1px solid #e8ebdf;border-radius:10px;color:#8b9682;min-height:43px}.search-input input{padding:10px 0;border:0;background:transparent;flex:1;outline:none;width:100%;font-size:16px}.search-input input::placeholder{font-size:12px;color:#9aa38f}.search-input:focus-within{border-color:#86a578}.recent-searches{display:flex;gap:6px;overflow:auto;max-height:70px;padding:6px 0 10px}.recent-searches>small{color:var(--muted)}.bottom-nav{display:flex;justify-content:space-around;flex-shrink:0;padding:6px 12px calc(7px + env(safe-area-inset-bottom));min-height:64px;border-top:1px solid var(--line);background:#fffffff5;z-index:4}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#8a9582;min-width:64px;min-height:48px}.bottom-nav button>span{height:26px;display:grid;place-items:center}.bottom-nav small{font-size:9px;letter-spacing:.03em}.bottom-nav .selected{color:var(--green)}.bottom-nav .add-nav>span{background:var(--green);color:#fff;border-radius:10px;width:38px;height:29px}.cooking-tabs{display:flex;align-items:center;gap:10px;padding:8px 18px;background:#f0f3e9;border-bottom:1px solid #e0e6d9;flex-shrink:0}.tabs-label{display:flex;flex-direction:column;gap:3px;font-size:10px;flex-shrink:0;color:#718065}.tabs-label small{font-size:8px;color:#9aa48e}.tab-strip{display:flex;overflow-x:auto;gap:10px;padding:4px;scrollbar-width:none;min-width:0;flex:1}.cooking-tab{position:relative;flex-shrink:0;border-radius:10px;border:2px solid transparent;padding:2px}.cooking-tab.active{border-color:var(--green);background:#fff}.tab-photo{padding:0;display:block}.tab-photo .photo,.tab-photo .no-photo{width:48px;height:44px;border-radius:6px}.tab-photo .no-photo small{font-size:5px}.tab-photo .no-photo>span{font-size:18px}.tab-close{position:absolute;right:-5px;top:-7px;border-radius:50%;width:24px;height:24px;background:var(--paper);border:1px solid #d8dfcf;display:grid;place-items:center;padding:2px;color:#6c7f63}.detail{padding:19px 21px 20px}.detail-heading{display:flex;gap:13px;align-items:center}.detail-heading>.photo,.detail-heading>.no-photo{width:76px;height:76px;flex-shrink:0;border-radius:11px}.detail-heading h1{font-size:21px;line-height:1.45}.detail-heading .eyebrow{font-size:8px;margin-bottom:3px}.detail-meta{display:flex;align-items:center;gap:8px;margin-top:7px;font-size:11px;color:#8b9483}.detail-meta a{text-decoration:none}.recipe-actions{display:flex;align-items:center;gap:4px;margin:8px 0}.recipe-actions>span:first-child{font-size:10px;color:#96a08f;margin-right:auto}.recipe-actions .icon-button{min-width:38px;min-height:38px}.is-favorite{color:#b07869}.ingredients{border:1px solid #dce4d3;border-radius:11px;overflow:hidden;background:#fcfdf9;margin:12px 0 22px}.ingredients-bar{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 6px 0 10px;background:#eef2e6;gap:10px}.ingredients-toggle{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:650;min-height:44px;padding:4px 0;flex:1}.servings{display:flex;align-items:center;gap:8px}.servings button{display:grid;place-items:center;width:34px;height:36px;border-radius:7px;background:#ffffffa6}.servings span{font-size:11px;min-width:46px;text-align:center}.servings b{font-size:16px;font-weight:550}.ingredients-body{padding:7px 12px 10px}.usage{display:flex;align-items:center;gap:7px;min-height:37px;padding:4px 0;font-size:12px}.usage-name{flex:1;min-width:0}.usage strong{font-size:12px;font-weight:550;white-space:nowrap;text-align:right}.ingredients-body .usage{border-bottom:1px solid #edf0e6}.usage .dict-icon{width:21px;font-size:18px}.cut{display:inline-flex;align-items:center;gap:2px;color:#8a9b7c;flex-shrink:0}.cut svg{width:28px;height:28px}.cut small{font-size:8px;max-width:32px;line-height:1.3}.subtle{font-size:10px;color:#919b87;line-height:1.7;margin-top:9px}.section-caption{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-caption h2{font-size:15px}.section-caption>span{font-size:8px;letter-spacing:.13em;color:#9da58f}.step{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line)}.step-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.step-title h3{font-size:16px}.step-number{display:grid;place-items:center;flex-shrink:0;background:#e8efdf;color:var(--green);font-size:12px;font-weight:700;border-radius:9px;width:29px;height:29px}.step-content{padding-left:6px}.step-content>p{font-size:13px;line-height:1.9;margin-bottom:9px;color:#596851}.step-content>.usage{min-height:34px}.step-group{padding:8px 11px;background:#f0f2e9;border-radius:9px;margin:9px 0}.step-group h4{font-size:11px;letter-spacing:.02em;margin-bottom:2px;color:#7e8b72}.step-group .usage{min-height:30px}.tip{display:flex;align-items:flex-start;gap:6px;background:#f1eddf;color:#8a805e;border-radius:7px;padding:8px 9px;margin:9px 0;font-size:11px;line-height:1.7}.tip svg{margin-top:2px}.tip.memo{background:#edf0e7;color:#708366}.tip button{display:flex;align-items:flex-start;gap:6px;text-align:left;font-size:11px;width:100%;padding:0;min-height:26px}.step-image{width:100%;border-radius:8px;margin-top:8px}.salt-box{padding:13px;background:#edf3ec;border:1px solid #d5e1d2;border-radius:10px;margin-top:14px}.salt-box h4{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--green);margin-bottom:12px}.weight-input{display:flex;align-items:center;gap:9px;font-size:12px}.weight-input label{font-size:12px}.weight-input input{flex:1;min-width:0;width:80px;text-align:right}.salt-result{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:13px 0}.salt-result strong{font-size:22px;font-weight:550;color:var(--green)}.salt-result small{font-size:13px}.conversion{display:flex;align-items:center;gap:7px;font-size:10px}.conversion select{padding:6px;font-size:13px;max-width:110px}.conversion b{margin-left:auto;font-size:13px}.salt-box .subtle{font-size:9px}.recipe-end{text-align:center;font-size:11px;color:#99a58d;padding:8px 0}.recipe-end span{display:block;letter-spacing:.18em;font-size:10px;margin-top:12px}.memo-form{padding:12px;background:#edf1e7;border-radius:10px;display:flex;gap:8px;flex-wrap:wrap}.memo-form label{width:100%}.memo-form input{display:block;width:100%;margin-top:5px}.memo-form select{flex:1;font-size:14px}.text-button{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-size:12px;min-height:40px;padding:5px 2px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--green);color:#fff;border-radius:10px;padding:12px 17px;min-height:46px;font-weight:600;font-size:13px}.full{width:100%}.notice{border:1px solid #e7e6d6;background:#f1f0e6;color:#8a846d;font-size:11px;line-height:1.8;padding:12px;border-radius:10px;margin:18px 0}.notice p{margin-top:5px}.notice details{margin-top:8px}.section-title{font-size:15px;margin:24px 0 12px}.section-title span,.section-title small{font-size:11px;color:var(--muted);font-weight:400;margin-left:5px}.new-draft{display:flex;align-items:center;gap:13px;background:#eaf0e1;border:1px solid #d7e2cb;border-radius:13px;width:100%;padding:18px 13px;text-align:left}.large-plus{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--green);color:#fff}.new-draft strong{display:block;font-size:14px}.new-draft small{display:block;margin-top:6px;color:#829276;font-size:10px}.new-draft>svg{margin-left:auto;color:#8e9f80}.draft-row{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.draft-row>button:first-child{flex:1;text-align:left;padding:9px 0}.draft-row strong{font-size:13px;display:block}.draft-row small{display:block;color:var(--muted);margin-top:5px}.registration>.text-button,.review>.text-button,.settings>.text-button{margin-top:-12px;margin-bottom:10px}.paste-label{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;margin-top:23px}.paste-label textarea{margin-top:3px;min-height:150px}.image-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.image-actions label{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:#edf1e6;border:1px dashed #cbd7bd;padding:23px 8px;position:relative;border-radius:10px;font-size:12px;overflow:hidden}.image-actions input,.photo-upload input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.input-images{display:flex;gap:9px;overflow:auto;margin:12px 0}.input-images>div{position:relative}.input-images img{width:85px;height:85px;object-fit:cover;border-radius:8px}.input-images button{position:absolute;right:1px;top:1px;background:#fff;border-radius:50%;width:25px;height:25px}.centered{text-align:center}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.review-title{display:flex;align-items:center;gap:7px}.review h1{font-size:21px}.badge{font-size:8px;color:#8c956e;background:#e9eddc;border-radius:5px;padding:5px}.review-heading{display:flex;gap:10px;align-items:center;margin:16px 0}.photo-upload{position:relative;flex:0 0 78px;text-align:center}.photo-upload .photo,.photo-upload .no-photo{width:78px;height:78px;border-radius:10px}.photo-upload small{font-size:9px;color:var(--green);display:block;margin-top:5px}.review-heading>div{min-width:0}.editable-title{font-size:18px;font-weight:650;width:100%;padding:8px 5px;border:0;border-bottom:1px dashed #c5d0b8;background:transparent;border-radius:0}.inline-label{display:flex;align-items:center;gap:8px;font-size:11px;margin-top:7px}.inline-label input{width:65px;padding:7px;font-size:14px}.edit-details{padding:12px 0;font-size:12px;border-block:1px solid var(--line);margin:15px 0}.edit-details summary{cursor:pointer}.edit-details p{margin:14px 0 7px}.edit-details textarea{margin-top:7px}.wrap-chips{display:flex;flex-wrap:wrap;gap:7px}.edit-usage{border-bottom:1px solid var(--line);padding:10px 0}.edit-usage-top{display:grid;grid-template-columns:minmax(95px,1fr) 55px 60px 30px;gap:5px;align-items:center}.edit-usage-top input,.edit-usage-top select{width:100%;padding:8px 4px;font-size:14px}.edit-usage-top .icon-button{min-width:30px;padding:4px}.edit-usage-bottom{display:flex;gap:6px;margin:7px 0;align-items:center}.edit-usage select{max-width:100%;font-size:13px;padding:7px}.edit-usage-bottom select{min-width:0;width:40%;flex:1}.edit-usage-bottom .cut{flex:0 0 auto}.edit-step{padding:13px 0;border-bottom:1px solid var(--line)}.edit-step-title{display:flex;gap:6px;align-items:center;margin-bottom:9px}.edit-step-title input{flex:1;min-width:0;width:70px;font-size:15px;padding:9px 5px}.edit-step-title .icon-button{min-width:27px;padding:4px}.edit-step textarea{font-size:14px}.editor-tools{display:flex;align-items:center;justify-content:space-between;gap:5px}.editor-tools .text-button{font-size:10px}.editor-tools label{display:flex;align-items:center;font-size:10px;gap:3px}.danger{color:#a37365}.group-editor{display:flex;gap:6px;margin-top:7px}.group-editor input{min-width:0;flex:1;font-size:13px}.edit-tip{margin:12px 0}.edit-tip textarea{font-size:14px;min-height:65px}.edit-tip select{font-size:13px;padding:8px}.save-footer{padding:22px 0 5px}.save-footer p{font-size:10px;color:#8d977e;text-align:center;margin-bottom:10px}.save-footer .primary{width:100%}.settings-list{background:#fdfefa;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:17px}.settings-list>button,.radio-row{display:flex;align-items:center;width:100%;padding:15px 13px;gap:13px;border-bottom:1px solid var(--line);text-align:left}.settings-list>button:last-child,.radio-row:last-child{border-bottom:0}.settings-list strong{font-size:13px;font-weight:550;display:block}.settings-list small{font-size:10px;display:block;color:#98a08f;margin-top:5px}.settings-list>button>svg{margin-left:auto;color:#9ea98f}.setting-icon{width:31px;height:34px;display:grid;place-items:center;border-radius:9px;background:#edf2e4;color:#789366}.dictionary-card{border-bottom:1px solid var(--line);padding:14px 0}.dictionary-name{display:flex;align-items:center;gap:8px}.dictionary-name>input{flex:1;font-size:14px}.dictionary-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.dictionary-fields label,.seasoning-fields label{font-size:10px;color:#8a957e}.dictionary-fields input,.dictionary-fields select{display:block;width:100%;font-size:13px;padding:8px;margin-top:5px}.dictionary-card h3{margin-bottom:10px}.seasoning-fields{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:7px}.seasoning-fields input{width:100%;font-size:14px;margin-top:6px}.dictionary-card>label select{margin-top:8px;padding:6px;font-size:13px}.icon-editor{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.icon-editor input{width:100px;text-align:center}.add-dictionary{display:flex;gap:7px;margin:20px 0}.add-dictionary input{flex:1;width:80px}.add-dictionary button{flex-shrink:0}.segmented{display:flex;background:#e9eee1;padding:4px;border-radius:10px;margin:20px 0}.segmented button{flex:1;padding:9px;border-radius:7px;font-size:12px;color:#859777}.segmented button.selected{background:#fff;color:var(--green);box-shadow:0 2px 5px #243b2510}.month-heading{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.month-heading h2{font-size:15px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{font-size:10px;color:#9ca68f;text-align:center;padding:8px}.calendar button{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;font-size:13px;gap:2px;border:1px solid transparent}.calendar button small{font-size:8px;color:#6f895b}.calendar button.today{border-color:#c1d0b2}.calendar button.selected{background:var(--green);color:#fff}.calendar button.selected small{color:#dce9d4}.history-day{margin-top:24px}.history-day h2{font-size:13px;margin-bottom:13px;font-weight:500;color:#879779}.history-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:10px 0}.history-row>button:first-child{display:flex;align-items:center;gap:11px;text-align:left;padding:0;flex:1}.history-row .photo,.history-row .no-photo{width:63px;height:56px;border-radius:8px;flex-shrink:0}.history-row strong{font-size:12px}.history-row .no-photo small{font-size:6px}.toast{position:absolute;bottom:calc(80px + env(safe-area-inset-bottom));left:16px;right:16px;border-radius:12px;padding:13px 16px;background:#344f3fee;color:#fff;text-align:center;font-size:12px;box-shadow:0 5px 25px #1b352026;z-index:10;pointer-events:none}.offline-banner{padding:6px 15px;background:#e9e9d8;color:#888568;font-size:10px;text-align:center}.error-banner{padding:9px 12px;background:#f4ded4;font-size:12px}.error-banner button{text-decoration:underline;margin-left:8px}.boot{margin:20vh auto;max-width:380px;text-align:center;padding:20px;font-size:14px;line-height:2}.boot h1{font-size:20px}@media(min-width:700px){body{padding:18px 0}.app-shell{height:calc(100dvh - 36px);border:1px solid #dce2d4;border-radius:22px}.page{padding:25px 26px}.recipe-grid{gap:22px 17px}.recipe-card>.photo,.recipe-card>.no-photo{aspect-ratio:1.3}.home h1{font-size:28px}.detail{padding-inline:26px}.search-dock{padding-inline:24px}}@media(max-width:360px){.page,.detail{padding-inline:15px}.app-header{padding-inline:16px}.home h1{font-size:22px}.recipe-count{font-size:8px}.home-heading{gap:4px}.recipe-grid{gap:19px 11px}.search-dock{padding-inline:12px}.filter-label{flex-basis:42px}.recipe-card>span:last-child:not(.no-photo){font-size:12px}.detail-heading h1{font-size:19px}.editor-tools{flex-wrap:wrap}.review h1{font-size:19px}.tab-strip{gap:8px}.edit-usage-top{grid-template-columns:minmax(80px,1fr) 48px 54px 28px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}.intro,.step-content>p{font-size:16px;line-height:1.65}.recipe-card>span:last-child:not(.no-photo){font-size:15px;line-height:1.5}.chip{font-size:13px;min-height:34px}.filter-label{font-size:12px;flex-basis:52px}.filter-label small{font-size:9px}.search-dock-heading,.search-dock-heading button{font-size:12px}.search-input input::placeholder{font-size:14px}.bottom-nav small{font-size:12px}.bottom-nav button{gap:4px}.bottom-nav{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}.collection-label{font-size:14px}.collection-label>span:last-child{font-size:11px}.subtle{font-size:12px}.notice,.text-button{font-size:14px}.primary,.settings-list strong,.draft-row strong,.history-row strong{font-size:15px}.settings-list small,.draft-row small,.dictionary-fields label,.seasoning-fields label,.inline-label{font-size:12px}.calendar button{font-size:16px}.weekday{font-size:12px}.app-header{min-height:58px;padding-top:calc(9px + env(safe-area-inset-top));padding-bottom:9px}.detail{padding:12px 16px 18px}.detail-heading{gap:10px;align-items:start}.detail-heading>.photo,.detail-heading>.no-photo{width:88px;height:88px}.detail-title-block{min-width:0;flex:1}.detail-heading h1{font-size:22px;line-height:1.15;letter-spacing:0;overflow-wrap:anywhere}.detail-controls{display:flex;justify-content:space-between;align-items:center;gap:4px}.detail-meta{margin:0;font-size:16px;gap:4px;flex-wrap:wrap}.recipe-actions{margin:0;gap:1px}.recipe-actions .icon-button{min-width:36px;min-height:36px;padding:6px}.ingredients{margin:10px 0 12px}.ingredients-bar{gap:3px;min-height:44px;padding-left:8px}.ingredients-toggle{font-size:16px}.servings span{font-size:14px}.servings b{font-size:18px}.servings{gap:5px}.ingredients-body{padding:3px 9px 6px}.ingredients-body>.subtle{margin-top:5px;font-size:11px}.ingredient-grid,.step-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;align-items:start}.ingredient-cell{min-width:0;border-bottom:1px solid #e5e9dd;padding:3px 0}.ingredient-cell:has(.tip){grid-column:1/-1}.usage{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 4px;padding:5px 0;min-height:34px;font-size:15px}.usage>.dict-icon,.usage>.dict-img{grid-column:1;grid-row:1;justify-self:start;width:20px;align-self:start;line-height:1.45}.usage-name{grid-column:1;grid-row:1;padding-left:24px;line-height:1.45;overflow-wrap:anywhere}.usage strong{grid-column:2;grid-row:1;font-size:15px;max-width:82px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}.usage>.cut{grid-column:1/-1;grid-row:2;padding-left:20px;gap:5px;min-width:0}.cut svg{width:25px;height:25px}.cut small{font-size:12px;max-width:none}.ingredients-body .usage{border:0}.step-group .usage{min-height:34px}.step{padding-bottom:10px;margin-bottom:12px}.step-title{gap:8px;margin-bottom:4px}.step-title h3{font-size:18px;line-height:1.4;flex:1}.step-number{font-size:14px}.step-memo-add{min-height:36px;min-width:36px}.step-content{padding-left:0}.step-content>p{margin-bottom:5px}.step-group{margin:7px 0;padding:7px 9px}.step-group h4{font-size:14px}.step-usage-grid:empty{display:none}.tip{position:relative;display:flex;gap:5px;align-items:flex-start;border:1px solid #dad1b5;border-radius:11px;background:#f5f0df;padding:9px 10px;margin:12px 0 7px;color:#6f6447;font-size:15px;line-height:1.55;overflow-wrap:anywhere}.tip:before{content:"";position:absolute;left:16px;top:-6px;width:10px;height:10px;background:inherit;border-left:1px solid #dad1b5;border-top:1px solid #dad1b5;transform:rotate(45deg)}.tip.memo{background:#edf3e8;color:#4f6547;border-color:#bdcdb3}.tip.memo:before{border-color:#bdcdb3}.tip-text{flex:1;min-width:0;white-space:pre-wrap}.tip .tip-toggle{font-size:15px;line-height:1.55;flex:1;min-width:0;width:auto;white-space:pre-wrap;min-height:28px;padding:0;text-align:left}.tip .memo-edit-button{flex:0 0 30px;width:30px;min-height:30px;margin:-3px -4px -3px 0;display:grid;place-items:center;border-radius:7px;padding:5px;color:#6d8561}.tip .memo-edit-button:hover{background:#dce8d4}.memo-dialog{width:calc(100% - 24px);max-width:440px;max-height:85dvh;border:1px solid #cddac4;border-radius:16px;background:var(--paper);padding:16px;color:var(--ink);box-shadow:0 16px 60px #24372440;overflow:auto}.memo-dialog::backdrop{background:#24372466}.memo-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.memo-dialog h2{font-size:20px}.memo-dialog label{display:block;font-size:14px;margin-bottom:12px}.memo-dialog textarea,.memo-dialog select{display:block;width:100%;margin-top:6px;font-size:16px}.memo-dialog textarea{min-height:110px}.memo-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.memo-options label{min-width:0}.memo-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.memo-dialog-actions>.danger{margin-right:auto}.cooking-tabs{padding:5px 14px;gap:9px;border-top:1px solid #dbe3d3;border-bottom:0}.tabs-label{font-size:12px}.tabs-label small{font-size:10px}.tab-photo .photo,.tab-photo .no-photo{width:48px;height:42px}.tab-strip{padding-top:5px;padding-bottom:3px}.toast{bottom:calc(140px + env(safe-area-inset-bottom));font-size:14px}.salt-box h4{font-size:16px}.weight-input,.weight-input label,.salt-result{font-size:14px}.conversion{font-size:13px}.salt-box .subtle{font-size:11px}@media(max-width:360px){.detail{padding-inline:12px}.detail-heading>.photo,.detail-heading>.no-photo{width:84px;height:84px}.detail-heading h1{font-size:21px}.detail-meta{font-size:14px}.recipe-actions .icon-button{min-width:33px;padding:5px}.ingredient-grid,.step-usage-grid{column-gap:10px}.usage,.usage strong{font-size:14px}.usage strong{max-width:69px}.usage-name{padding-left:21px}.cut small{font-size:11px}.recipe-card>span:last-child:not(.no-photo){font-size:14px}.search-dock{padding-inline:10px}.filter-label{flex-basis:51px}.memo-dialog{padding:12px}}.recipe-header .brand.small strong{font-size:15px;letter-spacing:.02em}.recipe-header .brand.small>svg{width:15px;height:15px}.recipe-header .brand.small{gap:5px}.recipe-summary{font-size:12px;line-height:1.5;color:#7a816e;margin-top:3px;overflow-wrap:anywhere}.recipe-summary p{margin:0}.recipe-summary>div+div{margin-top:4px}.summary-toggle{font-size:12px;line-height:1.5;text-align:left;padding:0;color:inherit;min-height:28px}.app-header.recipe-header{min-height:calc(44px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-bottom:0}.bottom-nav button{min-width:0;flex:1;padding-inline:0}.cut-usage-list{grid-template-columns:minmax(0,1fr)}.cut-usage-list .usage{display:flex;gap:8px;min-height:36px;padding:4px 0}.cut-usage-list .usage-name{padding-left:0;flex:1}.cut-usage-list .usage>.cut{padding-left:0;order:3;gap:5px}.cut-usage-list .usage>strong{order:4;max-width:none;white-space:nowrap;min-width:48px}@media(max-width:360px){.bottom-nav small{font-size:11px}}.recipe-classification{display:flex;flex-wrap:wrap;gap:5px 9px;margin:7px 0 9px;color:#728367;font-size:12px;line-height:1.6}.recipe-classification>span{display:inline-flex;align-items:center;gap:3px}.recipe-classification .dict-icon{font-size:14px;min-width:16px}.usage:has(.calculator-toggle){display:flex;gap:6px;align-items:center;flex-wrap:wrap;grid-column:1/-1}.usage:has(.calculator-toggle) .usage-name{padding-left:0;flex:1}.usage:has(.calculator-toggle) strong{max-width:none;white-space:nowrap}.calculator-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:6px;color:var(--green);border-radius:8px;background:#e8efdf;flex-shrink:0}.calculator-toggle[aria-expanded=true]{background:#d7e6cf;box-shadow:inset 0 0 0 1px #9cb28b}.salt-percentage{margin-bottom:9px}.salt-box .weight-input label{min-width:70px}.detail-title-block .recipe-classification{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;margin:3px 0 0;gap:8px;font-size:11px}.detail-title-block .recipe-classification>span{flex-shrink:0;white-space:nowrap}.recipe-classification::-webkit-scrollbar{display:none}.cut-usage-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.cut-usage-list .usage{gap:4px;flex-wrap:nowrap;min-width:0}.cut-usage-list .usage>.dict-icon,.cut-usage-list .usage>.dict-img{display:none}.cut-usage-list .usage-name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cut-usage-list .usage>.cut{gap:0;flex-shrink:0}.cut-usage-list .cut svg{width:24px;height:24px}.cut-usage-list .cut small{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cut-usage-list .usage>strong{min-width:0;font-size:14px;flex-shrink:0}.salt-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.salt-heading h4{margin:0;white-space:nowrap}.salt-heading .salt-percentage{display:flex;align-items:center;gap:6px;margin:0;font-size:14px}.salt-percentage input{width:76px;min-width:0;text-align:right;padding:7px 8px}button.cut{position:relative;border:0;background:transparent;padding:0;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button.cut:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}.cut-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:5;white-space:nowrap;background:#425b45;color:#fff;border-radius:6px;padding:5px 9px;font-size:14px;line-height:1.4;box-shadow:0 2px 6px #0002;pointer-events:none}.cut-usage-list .usage>.dict-icon,.cut-usage-list .usage>.dict-img{display:inline-block;width:16px;min-width:16px;height:18px;font-size:16px;object-fit:contain;flex-shrink:0}.cut-usage-list{column-gap:8px}.cut-usage-list .usage{gap:3px}button.ingredient-name{position:relative;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow:visible}.ingredient-name .name-text{display:block}.cut-usage-list .ingredient-name .name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingredient-name .cut-tooltip{left:0;transform:none;white-space:normal;width:max-content;max-width:140px;overflow-wrap:anywhere;text-align:left}.ingredient-name:focus-visible{outline:2px solid var(--green);outline-offset:2px}.salt-box{padding:10px}.salt-heading{gap:5px;margin-bottom:7px;justify-content:flex-start}.salt-heading .salt-percentage{gap:2px;flex-shrink:0}.salt-percentage input{width:47px;padding:7px 3px;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.salt-heading input::-webkit-inner-spin-button,.salt-heading input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.salt-heading h4{font-size:14px;flex-shrink:0}.salt-heading .weight-input{margin-left:auto;gap:3px;min-width:0;font-size:12px}.salt-heading .weight-input label{min-width:0;font-size:12px;white-space:nowrap}.salt-heading .weight-input input{width:60px;padding:7px 3px;font-size:16px;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.salt-summary{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.salt-summary .salt-result{margin:0;gap:4px;font-size:12px;white-space:nowrap}.salt-summary .salt-result strong{font-size:16px}.salt-summary .salt-result small{font-size:12px}.salt-summary .conversion{gap:4px;min-width:0;flex:1;font-size:12px;white-space:nowrap}.salt-summary .conversion select{width:76px;min-width:0;max-width:100%;font-size:12px;padding:6px 1px}.salt-summary .conversion b{font-size:13px}.salt-box .subtle{margin-top:5px}.salt-summary{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:4px}.salt-summary .salt-result{justify-content:flex-start;min-width:0;flex-wrap:wrap}.salt-summary .salt-result strong{font-size:20px;font-weight:700;color:var(--ink,#273b30)}.salt-summary .salt-result small{font-size:14px}.conversion-arrow{text-align:center;font-size:16px}.salt-summary .conversion{display:flex;flex-wrap:wrap;gap:3px}.salt-summary .conversion select{width:60px;flex:1;min-width:52px}.salt-summary .conversion b{font-size:13px;color:var(--ink,#273b30)}.salt-summary .salt-result{justify-content:space-between;padding-right:12px}.salt-summary .conversion{justify-content:flex-end}.salt-summary .conversion select{flex:0 1 76px;width:76px;margin-left:auto}.salt-summary .conversion b{margin-left:0}@media(max-width:360px){.salt-summary .salt-result{padding-right:0}.salt-summary .conversion select{flex-basis:60px;width:60px}}.salt-summary .salt-result{justify-content:flex-start;padding-right:0;gap:12px}.salt-summary .conversion{justify-content:flex-start;gap:12px}.salt-summary .conversion select{margin-left:0;flex:1 1 52px;width:60px}.cut-art{width:28px;height:28px}.cut-usage-list .cut-art{width:24px;height:24px}button.tool-symbol{position:relative;padding:0;border:0;background:none;display:flex;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.recipe-classification .tool-symbol .dict-img{width:28px;height:28px;object-fit:contain}.review{padding:10px 0 22px}.review>.text-button,.review>.review-title,.review>.subtle,.review>.notice,.review>.save-footer{margin-left:14px;margin-right:14px}.review .review-title h1{font-size:16px}.review>.detail{padding-top:10px}.review-warnings{font-size:12px;padding:7px 10px;margin-top:8px;margin-bottom:0}.review-warnings summary{cursor:pointer}.edit-recipe-title,.edit-step-heading{font:inherit;color:inherit;text-align:left;padding:0}.edit-recipe-title svg{margin-left:6px;vertical-align:middle;color:var(--green)}.recipe-edit-dialog{width:min(520px,calc(100% - 20px));max-height:85dvh;border:1px solid #d7dfd0;border-radius:14px;padding:14px;background:var(--paper);color:inherit;margin:auto;overflow:auto}.recipe-edit-dialog::backdrop{background:#24372466}.edit-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.edit-dialog-heading h2{font-size:18px}.recipe-edit-dialog>.primary{margin-top:14px}.recipe-edit-dialog .review-heading{margin-top:12px}.inline-review input:not([type=file]):not([type=checkbox]),.inline-review select,.inline-review textarea{background:#fff;border:1px solid #cfd9ca;border-radius:6px;color:var(--ink,#273b30);padding:6px;min-width:0;max-width:100%;font-size:16px}.inline-review [aria-invalid=true]{background:#fff0ef!important;border-color:#be6262!important;box-shadow:inset 3px 0 #be6262}.required-hint{display:block;color:#a33e3e;font-size:12px;line-height:1.4;margin:3px 0}.inline-review .detail-heading{align-items:flex-start}.inline-review .photo-upload{flex:0 0 76px}.inline-review .photo-upload .photo,.inline-review .photo-upload .no-photo{width:76px;height:76px}.inline-review .detail-title-block{flex:1;min-width:0}.inline-review .inline-title{width:100%;font-weight:700;font-size:19px!important}.inline-classifications,.inline-tags{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px}.inline-classifications>select,.inline-tags>select{max-width:120px;font-size:13px}.icon-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #cfd9ca;border-radius:6px;min-width:32px;min-height:32px;flex-shrink:0}.icon-picker .dict-img{width:28px;height:28px;object-fit:contain}.icon-picker .dict-icon{font-size:22px}.icon-picker select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.icon-picker:focus-within{outline:2px solid #598065}.inline-servings{display:flex;align-items:center;gap:5px;font-size:14px}.inline-servings input{width:54px}.inline-review .ingredients-body{padding:7px}.inline-review .ingredient-grid,.inline-review .step-usage-grid{gap:8px}.inline-usage{min-width:0;padding:5px 0;border-bottom:1px solid #e2e8dc;display:flex;flex-direction:column;gap:4px}.inline-usage>select{width:100%;font-size:12px}.inline-ingredient-name{display:flex;gap:3px;min-width:0}.inline-ingredient-name>select{width:100%;flex:1;font-size:14px}.inline-ingredient-name .icon-picker{min-width:24px;width:24px;min-height:30px}.inline-ingredient-name .dict-img{width:22px;height:22px}.inline-amount{display:flex;gap:3px;align-items:center}.inline-amount input{width:40%;flex:1;padding:5px 3px!important;font-size:14px!important}.inline-remove{padding:2px;min-width:23px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;color:#936360}.inline-cut{display:flex;align-items:center;gap:3px}.inline-cut select{width:100%;font-size:13px}.inline-cut .cut-art{width:24px;height:24px;flex-shrink:0}.new-ingredient-inline{display:flex;gap:3px;flex-wrap:wrap}.new-ingredient-inline input{width:100%}.new-ingredient-inline button{font-size:12px;background:#fff0ef;border:1px solid #be6262;border-radius:5px;padding:5px}.inline-review .step-title>input{flex:1;width:100%;font-weight:700}.inline-step-body{width:100%;min-height:90px;line-height:1.65;field-sizing:content}.inline-step-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}.inline-step-actions>button,.inline-step-actions>label{padding:5px;font-size:12px}.inline-step-actions label{display:flex;align-items:center;gap:3px}.inline-group-heading{display:flex;gap:4px;margin-bottom:6px}.inline-group-heading input{width:100%}.inline-tip{display:block!important}.inline-tip textarea{width:100%;min-height:58px}.inline-tip-controls{display:flex;gap:4px;align-items:center}.inline-tip-controls select{font-size:12px}.inline-tip-controls button{width:auto;min-width:28px}.inline-sources textarea{width:100%;margin-top:8px}.inline-sources summary{font-size:14px}.seasoning-art{overflow:hidden;flex-shrink:0}.icon-editor>.dict-img{width:36px;height:36px}.icon-editor>span{flex:1}.dictionary-name>.seasoning-art{width:32px;height:32px}.inline-review{background:#f2f5ed}.inline-review .ingredients-body{padding:3px 9px 6px}.inline-review .ingredient-grid,.inline-review .step-usage-grid{gap:0 12px}.inline-review .inline-usage{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:3px;min-height:37px;padding:3px 0;border:0;position:relative}.inline-ingredient-name{flex:1;min-width:45px;gap:2px}.inline-review .inline-ingredient-name>select{padding:4px 1px;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:14px}.inline-ingredient-name .icon-picker{width:18px;min-width:18px;min-height:28px}.inline-ingredient-name .dict-img{width:16px;height:18px}.inline-ingredient-name .dict-icon{font-size:16px}.inline-review .inline-amount{gap:1px;flex:0 0 auto;max-width:80px}.inline-review .inline-amount input{flex:none;width:34px;font-size:14px!important;padding:4px 1px!important;text-align:right;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.inline-review .inline-amount input:last-child{width:34px;text-align:left}.inline-amount input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.inline-amount strong{font-size:14px;white-space:nowrap}.usage-options{position:relative;font-size:12px}.usage-options>summary{list-style:none;cursor:pointer;width:14px;text-align:center;color:#87947f}.usage-options[open]{flex-basis:100%;padding:5px;background:#edf1e7;display:flex;flex-wrap:wrap}.usage-options[open] select{width:100%;margin-top:4px}.inline-review .inline-cut{width:25px;min-width:25px;min-height:28px;order:0}.inline-review .inline-cut .cut-art{width:23px;height:23px}.inline-review .in-step .inline-cut{order:-1}.inline-review .new-ingredient-inline,.inline-review .required-hint{flex-basis:100%}.inline-review .inline-step-body{min-height:42px;padding:4px;line-height:1.9}.inline-review .step-title>input{font-size:18px;padding:3px}.step-options>summary{font-size:12px;color:#7d8a76;cursor:pointer;padding:5px 0}.inline-review .inline-group-heading input{font-size:14px;padding:3px}@media(max-width:360px){.inline-review .ingredient-grid,.inline-review .step-usage-grid{column-gap:10px}.inline-review .inline-amount input{width:27px}.inline-review .inline-amount input:last-child{width:29px}}.inline-review .in-step .inline-ingredient-name{order:0;min-width:35px}.inline-review .in-step .inline-cut{order:1}.inline-review .in-step .inline-amount{order:2}.inline-review .in-step .usage-options{order:3}.inline-review .recipe-summary textarea{font-size:12px;min-height:30px;width:100%;field-sizing:content;padding:3px}.inline-review .photo-upload{flex-basis:88px}.inline-review .photo-upload .photo,.inline-review .photo-upload .no-photo{width:88px;height:88px}.inline-review .inline-title{font-size:22px!important}.inline-review .inline-tags select,.inline-review .inline-classifications>select{font-size:13px;padding:3px}.detail:not(.inline-review) .ingredients-body .usage>.dict-icon,.detail:not(.inline-review) .ingredients-body .usage>.dict-img{width:26px;height:26px;font-size:24px;line-height:26px;align-self:center;object-fit:contain}.detail:not(.inline-review) .ingredients-body .usage-name{padding-left:30px}.seasoning-heading{display:flex;align-items:center;gap:8px}.seasoning-heading>.dict-img,.seasoning-heading>.dict-icon{width:32px;height:32px;font-size:26px;object-fit:contain}
