@charset "UTF-8";:root{color:#17382e;background:#e7ebe4;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{min-width:320px;background:#e7ebe4}button,input{font:inherit}button{border:0;cursor:pointer;color:inherit}button:active{transform:scale(.98)}.app-shell{--ink: #17382e;--muted: #738179;--accent: #e86642;--paper: #fbfaf5;width:min(100%,520px);min-height:100dvh;margin:auto;padding-bottom:96px;overflow:hidden;color:var(--ink);background:radial-gradient(circle at 110% -5%,rgba(232,102,66,.12),transparent 28%),var(--paper);box-shadow:0 0 48px #17382e14}.app-shell header{height:72px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(23,56,46,.08)}.app-shell header b,.auth-mark{font-size:22px;font-weight:850;letter-spacing:.14em}.app-shell header b span,.auth-mark span,.app-shell h1 i,.app-shell h2 i{color:var(--accent);font-style:normal}.app-shell header small{color:#8a958f;font-size:11px;letter-spacing:.06em}.pad{padding:26px 24px}.pad>small,.home>small,.title small,.recipe>small{color:#9a674f;font-size:10px;font-weight:800;letter-spacing:.22em}.app-shell h1{margin:18px 0 14px;font-size:clamp(38px,10vw,48px);line-height:1.12;letter-spacing:-.055em}.app-shell h2{margin:5px 0 0;font-size:27px;line-height:1.15;letter-spacing:-.04em}.home{padding-top:54px}.home>p{max-width:330px;color:var(--muted);font-size:15px;line-height:1.75}.home.home-quiet{position:relative;display:flex;min-height:calc(100dvh - 168px);flex-direction:column;justify-content:center;padding:9vh 28px 11vh}.home-quiet-content{margin-top:-3vh}.home-quiet-content>small{color:#9a674f;font-size:10px;font-weight:800;letter-spacing:.22em}.home-quiet-content h1{margin:18px 0 13px;font-size:clamp(39px,11vw,48px);line-height:1.12}.home-quiet-content p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}.home-go-menu{display:inline-flex;align-items:center;gap:28px;margin-top:29px;padding:12px 0;background:transparent;color:var(--ink);font-size:14px;font-weight:800}.home-go-menu span{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:17px}.home-whitespace-note{margin-top:auto;padding-top:40px;color:#a4ada5;font-size:11px;letter-spacing:.06em;text-align:center}.space{position:relative;margin-top:38px;padding:24px;min-height:132px;display:grid;grid-template-columns:1fr auto;align-items:center;border-radius:18px;overflow:hidden;background:var(--ink);color:#fff;box-shadow:0 18px 36px #17382e2e}.space:after{content:"食";position:absolute;right:54px;bottom:-38px;color:#ffffff0f;font-size:122px;font-weight:900}.space strong{align-self:end;font-size:18px;z-index:1}.space small{align-self:start;margin-top:7px;color:#aebdb5;z-index:1}.space button{grid-column:2;grid-row:1/3;z-index:1;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff}.menu .title{min-height:126px;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center}.back{width:38px;height:38px;border-radius:50%;background:#edf0eb;font-size:27px;line-height:1}.columns{display:grid;grid-template-columns:82px minmax(0,1fr);min-height:calc(100dvh - 222px)}.columns nav{padding:8px 0 100px;background:#f0f1ec}.columns nav button{position:relative;display:block;width:100%;min-height:54px;padding:12px 8px;background:transparent;color:#8a938e;font-size:13px}.columns nav button.on{background:var(--paper);color:var(--accent);font-weight:750}.columns nav button.on:before{content:"";position:absolute;left:0;top:17px;width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--accent)}.grid{padding:8px 14px 110px;display:block;align-content:start;overflow-y:auto;scroll-behavior:smooth}.category-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;padding:4px 0 22px;scroll-margin-top:12px}.category-heading{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:16px 2px 2px;color:var(--ink);font-size:17px;font-weight:800;letter-spacing:-.02em}.category-heading:before{content:"";width:4px;height:19px;border-radius:4px;background:var(--accent)}.category-heading i{flex:1;height:1px;background:#e4e8e2}.category-empty{grid-column:1/-1;padding:26px 0 34px;color:#9ba69f;text-align:center;font-size:12px}.dish-card{min-width:0;cursor:pointer}.pic{position:relative;height:132px;border-radius:14px;background-position:center;background-size:cover;overflow:hidden;box-shadow:0 8px 20px #17382e1a}.pic.blank,.thumb.blank{display:grid;place-items:center;background:#e7ebe3;color:#9aa69f;font-weight:800;letter-spacing:.14em}.pic button{position:absolute;right:8px;bottom:8px;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--accent);font-size:23px;line-height:1;box-shadow:0 5px 14px #17382e2e}.dish-copy{padding:10px 2px 0}.dish-copy b{display:block;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.dish-copy p{height:34px;margin:5px 0 6px;overflow:hidden;color:#849089;font-size:11px;line-height:1.5}.dish-copy small{color:#9b7060;font-size:11px}.trough{position:fixed;z-index:7;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;width:min(488px,100% - 32px);min-height:60px;padding:10px 17px 10px 20px;display:flex;justify-content:space-between;align-items:center;transform:translate(-50%);border-radius:18px;background:var(--ink);color:#fff;box-shadow:0 15px 34px #17382e47}.trough:active{transform:translate(-50%) scale(.985)}.trough>span:last-child{color:#c5d0ca;font-size:11px}.trough span i{display:inline-grid;place-items:center;width:34px;height:34px;margin-left:8px;border-radius:50%;background:var(--accent);color:#fff;font-style:normal}.trough strong{display:inline-grid;place-items:center;min-width:25px;height:25px;margin-left:6px;border-radius:50%;background:var(--accent);font-size:12px}.trough:disabled{cursor:default;opacity:.82}.trough-label{display:flex;align-items:center;gap:8px;white-space:nowrap}.cart-icon{width:24px;height:24px;fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.state-card,.empty-state{margin:46px 24px;padding:38px 22px;text-align:center;border-radius:18px;background:#f0f2ed}.grid>.state-card{grid-column:1/-1;margin:70px 0 30px;background:transparent}.state-card b,.empty-state b{display:block;margin:12px 0 5px}.state-card p,.empty-state p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.state-card button{margin-top:18px;padding:10px 16px;border-radius:10px;background:var(--ink);color:#fff}.state-mark{display:inline-block;width:32px;height:32px;border:3px solid #cad2cc;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.bowl-loader{position:relative;display:inline-block;width:70px;height:48px;margin:4px auto 10px}.bowl-loader:before{content:"";position:absolute;left:8px;bottom:4px;width:54px;height:27px;border:4px solid var(--ink);border-top:0;border-radius:0 0 28px 28px;background:#f4f5ef}.bowl-loader:after{content:"";position:absolute;left:3px;bottom:26px;width:64px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 3px #17382e14}.bowl-loader i,.bowl-loader em{position:absolute;top:0;width:4px;height:38px;border-radius:3px;background:var(--ink);transform-origin:bottom;animation:chop 1.1s ease-in-out infinite}.bowl-loader i{left:28px;transform:rotate(25deg)}.bowl-loader em{left:41px;transform:rotate(39deg);animation-delay:-.55s}.bowl-loader.mini{width:28px;height:20px;margin:0 7px 0 0;vertical-align:middle;transform:scale(.52);transform-origin:right center}.load-more{grid-column:1/-1;padding:16px;color:var(--muted);text-align:center;font-size:12px}.end-line{grid-column:1/-1;padding:12px;color:#a0aaa3;text-align:center;font-size:11px}.grid .empty-state{grid-column:1/-1;margin:46px 0;background:transparent}.empty-state>span{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#e7ebe3;color:var(--accent);font-size:20px;font-weight:900}.trough-page{padding-top:22px}.selection-list{margin-top:28px}.selected{display:grid;grid-template-columns:70px 1fr 34px;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid #e4e7e1}.thumb{width:70px;height:70px;border-radius:14px;background-position:center;background-size:cover}.selected b{font-size:15px}.selected small{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:400}.selected>button{width:32px;height:32px;border-radius:50%;background:#edf0eb;color:#88938d;font-size:20px}.generate{margin-top:38px}.generate>p{color:var(--muted);font-size:13px}.generate button{width:100%;margin-top:10px;padding:17px 16px;display:grid;grid-template-columns:1fr 40px;text-align:left;border-radius:14px;background:var(--ink);color:#fff}.generate button+button{background:#e9ede7;color:var(--ink)}.generate button b,.generate button small{grid-column:1}.generate button small{margin-top:4px;color:#aebcb5}.generate button i{grid-column:2;grid-row:1/3;align-self:center;text-align:center;font-style:normal;font-size:22px}.tabs{display:flex;gap:8px;margin:20px 0;overflow-x:auto;scrollbar-width:none}.tabs button{flex:none;padding:9px 14px;border-radius:999px;background:#e9ede7;font-size:12px}.tabs button.on{background:var(--ink);color:#fff}.recipe article{overflow:hidden;padding-bottom:22px;border-radius:18px;background:#fff;box-shadow:0 12px 32px #17382e1a}.hero{height:224px;background:#e7ebe3 center/cover no-repeat}.recipe article h2,.recipe article p,.recipe article h4,.recipe article ol,.recipe article .material{margin-left:20px;margin-right:20px}.recipe article h2{margin-top:20px}.recipe article p,.sheet>p{color:var(--muted);font-size:13px;line-height:1.6}.recipe h4,.sheet h4{margin-top:24px;margin-bottom:11px;font-size:13px}.recipe ol,.sheet ol{padding-left:22px;color:#50645b;font-size:13px;line-height:1.8}.material{display:inline-block;margin:3px;padding:8px 10px;border-radius:9px;background:#edf0eb;color:#496057;font-size:12px}.overlay{position:fixed;z-index:8;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#0a1d1799;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet{width:min(520px,100%);max-height:91dvh;margin:auto;padding:18px 24px calc(26px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:24px 24px 0 0;background:var(--paper);animation:rise .25s ease-out}.sheet>button{float:right;position:sticky;top:0;z-index:1;width:36px;height:36px;border-radius:50%;background:#ffffffe6;font-size:22px}.sheet .hero{clear:both;margin:-36px -24px 22px;height:260px}.sheet h2{margin:0;font-size:28px}.primary{display:block;width:100%;margin-top:20px;padding:15px;border-radius:13px;background:var(--accent);color:#fff;font-weight:750}.auth-gate{min-height:100dvh;padding:54px 28px 34px;background:radial-gradient(circle at 100% 0,rgba(232,102,66,.15),transparent 31%)}.auth-gate>small{display:block;margin-top:78px;color:#9a674f;font-size:10px;font-weight:800;letter-spacing:.23em}.auth-gate h1{margin:16px 0 10px;font-size:36px}.auth-gate>p{color:var(--muted);line-height:1.7}.auth-fields{margin-top:30px;padding:4px 16px;border:1px solid #dfe3dd;border-radius:16px;background:#fff;box-shadow:0 12px 30px #17382e0f}.auth-fields input{display:block;width:100%;padding:16px 2px;border:0;border-bottom:1px solid #e9ebe7;outline:0;background:transparent;color:var(--ink)}.auth-fields input:last-child{border-bottom:0}.auth-gate .primary{margin-top:16px}.auth-gate .primary:disabled{opacity:.55}.auth-switch{display:block;width:100%;padding:15px;background:none;color:#9a674f;text-align:center;font-size:13px}.auth-error{color:#c44d35!important;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{transform:translateY(30px);opacity:0}}@keyframes chop{0%,to{transform:rotate(25deg) translateY(0)}50%{transform:rotate(14deg) translateY(5px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}@media(min-width:700px){body{padding:24px 0}.app-shell{min-height:calc(100dvh - 48px);border-radius:28px}}.home{padding-bottom:132px}.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.home-shortcuts button{position:relative;min-height:122px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;border:1px solid #e8e9e2;border-radius:16px;background:#ffffffa8;text-align:left}.home-shortcuts button>span{position:absolute;top:13px;right:16px;color:var(--accent);font-size:27px}.home-shortcuts b{font-size:14px}.home-shortcuts small{color:var(--muted);font-size:11px}.space{width:100%;border:0;text-align:left}.space>span{grid-column:1/-1;z-index:1;color:#d6e0d8;font-size:12px}.space>span i{margin-left:8px;color:#fff;font-style:normal}.menu .title{min-height:112px;grid-template-columns:1fr}.browse-switch{display:flex;width:-moz-fit-content;width:fit-content;gap:4px;margin:0 auto 12px;padding:4px;border:1px solid #e6e9e2;border-radius:999px;background:#ffffffb8}.browse-switch button{min-width:96px;padding:9px 16px;border-radius:999px;background:transparent;color:#7d8981;font-size:12px;font-weight:700}.browse-switch button.on{background:var(--ink);color:#fff;box-shadow:0 4px 10px #17382e24}.browse-switch small{margin-left:4px;color:inherit;opacity:.68;font-size:10px}.package-browse{min-height:calc(100dvh - 248px);max-height:calc(100dvh - 248px);padding:4px 16px 110px;overflow-y:auto}.package-browse>.state-card,.package-browse>.empty-state{margin:42px 0}.package-cards{display:grid;gap:12px}.package-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid #eceee8;border-radius:16px;background:#ffffffd6;box-shadow:0 7px 20px #17382e0a}.package-pic{position:relative;width:92px;height:92px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#e7ebe3 center/cover no-repeat;color:#87968d;font-size:12px;font-weight:800}.package-pic small{position:absolute;right:5px;bottom:5px;padding:4px 6px;border-radius:999px;background:#17382ec7;color:#fff;font-size:9px;font-weight:600}.package-copy{min-width:0}.package-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.package-copy p{display:-webkit-box;margin:6px 0;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.package-copy>small{color:#9b7060;font-size:10px}.package-card>button{align-self:end;padding:7px 8px;border-radius:999px;background:#f0f2ed;color:var(--ink);font-size:10px;white-space:nowrap}.package-card>button i{margin-left:3px;font-style:normal}.load-packages{display:block;width:100%;margin:14px 0;padding:12px;border-radius:12px;background:#edf0eb;color:#68786f;font-size:12px}.load-packages:disabled{opacity:.65}.menu-package-empty button{margin-top:15px;padding:11px 14px;border-radius:10px;background:var(--ink);color:#fff;font-size:12px}.category-empty button{display:block;margin:12px auto 0;padding:9px 14px;border-radius:9px;background:#edf0eb;color:var(--ink);font-size:12px}.menu-empty button{padding:12px 16px;border-radius:10px;background:var(--ink);color:#fff}.empty-symbol{display:inline-grid;width:50px;height:50px;margin:0 auto 10px;place-items:center;border-radius:16px;background:#e7ebe3;color:var(--accent);font-size:20px;font-weight:900}.favorite-mark,.add-mark{position:absolute;z-index:1;display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#fffffff5;color:#89948d;font-size:17px;box-shadow:0 4px 12px #17382e24}.favorite-mark{top:8px;right:8px}.favorite-mark.saved,.unfavorite-button{color:var(--accent)}.pic .favorite-mark{top:8px;right:8px;bottom:auto}.add-mark{right:8px;bottom:8px;top:auto;color:var(--accent);font-size:22px}.pic .add-mark.added{background:var(--ink);color:#fff}.columns{min-height:calc(100dvh - 248px)}.grid{max-height:calc(100dvh - 248px)}.me-page{min-height:calc(100dvh - 144px);padding-top:42px;padding-bottom:122px}.me-page>small,.collection-heading small{color:#9a674f;font-size:10px;font-weight:800;letter-spacing:.2em}.me-page>h1{margin-top:12px;font-size:42px}.profile-card{display:flex;align-items:center;gap:14px;margin:24px 0 28px;padding:19px;border-radius:17px;background:#edf0eb}.profile-avatar{display:grid;width:48px;height:48px;place-items:center;border-radius:16px;background:var(--ink);color:#fff;font-size:20px;font-weight:800}.profile-card b,.profile-card small{display:block}.profile-card small{margin-top:5px;color:var(--muted);font-size:11px}.my-links{border-top:1px solid #e5e8e2}.my-links>button{display:grid;width:100%;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:17px 2px;border-bottom:1px solid #e5e8e2;background:transparent;text-align:left}.link-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:#fff;color:var(--accent);font-size:21px}.my-links b,.my-links small{display:block}.my-links b{font-size:14px}.my-links small{margin-top:5px;color:var(--muted);font-size:11px}.my-links i{color:#aab2ac;font-size:18px;font-style:normal}.logout-button{width:100%;margin-top:36px;padding:14px;border:1px solid #ead9d1;border-radius:12px;background:transparent;color:#c45d42;font-size:13px;font-weight:700}.logout-button:disabled{opacity:.6}.bottom-tabs{position:fixed;z-index:6;bottom:0;left:50%;width:min(520px,100%);min-height:calc(70px + env(safe-area-inset-bottom));padding:8px 28px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(23,56,46,.08);background:#fbfaf5f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate(-50%)}.bottom-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;color:#89958d}.bottom-tabs small{font-size:10px}.tab-icon{height:23px;font-size:22px;line-height:1}.bottom-tabs button.active .tab-icon{transform:translateY(-1px)}.collection-page{min-height:calc(100dvh - 142px);padding-top:20px;padding-bottom:110px}.collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:22px 0 24px}.collection-heading h1{margin:7px 0 0;font-size:31px;letter-spacing:-.04em}.create-button,.secondary-button{padding:11px 13px;border-radius:11px;background:var(--ink);color:#fff;font-size:12px}.publish-overview{display:flex;align-items:center;gap:18px;margin:-6px 0 20px;padding:15px 17px;border-radius:15px;background:#edf0eb}.publish-overview span{display:grid;gap:3px}.publish-overview b{font-size:20px;line-height:1}.publish-overview small{color:var(--muted);font-size:10px}.publish-overview>i{width:1px;height:30px;background:#d9dfd8}.publish-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:17px;border-bottom:1px solid #e3e7e0}.publish-tabs button{position:relative;padding:12px 8px;background:transparent;color:#849089;font-size:13px;font-weight:700}.publish-tabs button.on{color:var(--ink)}.publish-tabs button.on:after{position:absolute;right:20%;bottom:-1px;left:20%;height:3px;border-radius:3px 3px 0 0;background:var(--accent);content:""}.publish-tabs small{margin-left:5px;color:#9aa49e;font-size:10px}.publish-filters,.publish-category-filter{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.publish-filters{margin-bottom:11px}.publish-filters button,.publish-category-filter button{flex:none;padding:8px 12px;border-radius:999px;background:#edf0eb;color:#738179;font-size:11px}.publish-filters button.on,.publish-category-filter button.on{background:var(--ink);color:#fff}.publish-category-filter{margin:0 0 17px;padding-bottom:3px}.publish-category-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 14px}.publish-category-heading b,.publish-category-heading small{display:block}.publish-category-heading b{font-size:14px}.publish-category-heading small{margin-top:4px;color:var(--muted);font-size:10px}.publish-category-list{display:grid;gap:10px}.publish-category-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid #eceee8;border-radius:14px;background:#fffc}.category-symbol{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:#edf0eb;color:var(--accent);font-size:16px;font-weight:850}.publish-category-row b,.publish-category-row small{display:block}.publish-category-row b{font-size:13px}.publish-category-row small{margin-top:4px;color:var(--muted);font-size:10px}.publish-category-row>button{padding:8px 11px;border-radius:9px;background:#edf0eb;color:var(--ink);font-size:11px}.collection-list{display:grid;gap:15px}.collection-item{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:13px;align-items:center;padding:10px;border-radius:15px;background:#ffffffd1}.collection-pic{width:82px;height:82px;display:grid;place-items:center;border-radius:12px;background:#e7ebe3 center/cover no-repeat;color:#8e9a91;font-weight:800}.collection-copy{min-width:0}.collection-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.collection-copy p{margin:5px 0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px}.collection-copy small{color:#9b7060;font-size:10px}.publish-status{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:999px;font-size:10px}.publish-status.is-live{background:#e7f2e9;color:#4c805d}.publish-status.is-off{background:#f0f1ed;color:#8d9890}.unfavorite-button{align-self:start;padding:5px;background:transparent;font-size:17px}.work-actions{grid-column:2/-1;display:flex;justify-content:flex-end;gap:7px;margin-top:-4px}.work-actions button{padding:7px 10px;border-radius:8px;background:#edf0eb;color:var(--ink);font-size:11px}.work-actions button:nth-child(2){background:#fff2e9;color:#b66341}.work-actions .delete-action{background:#fbefeb;color:#bd5b43}.collection-empty{margin:62px 4px;background:transparent}.collection-empty>span{display:grid;width:52px;height:52px;margin:auto;place-items:center;border-radius:17px;background:#edf0eb;color:var(--accent);font-size:24px}.collection-empty .primary,.collection-empty .secondary-button{width:100%;margin-top:18px}.modal-backdrop{position:fixed;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#0c1e188c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-sheet,.category-sheet,.detail-sheet{position:relative;width:min(520px,100%);max-height:92dvh;overflow-y:auto;border-radius:24px 24px 0 0;background:var(--paper);animation:rise .22s ease-out}.editor-sheet{padding:24px 22px calc(28px + env(safe-area-inset-bottom))}.sheet-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.sheet-heading small,.category-sheet>small{color:#9a674f;font-size:10px;font-weight:800;letter-spacing:.18em}.sheet-heading h2,.category-sheet h2{margin:6px 0 0;font-size:24px}.sheet-close{position:absolute;z-index:2;top:16px;right:17px;width:34px;height:34px;border-radius:50%;background:#edf0ebeb;color:var(--ink);font-size:22px}.cover-picker{position:relative;display:grid;height:156px;margin-bottom:18px;place-items:center;overflow:hidden;border:1px dashed #cdd5ce;border-radius:15px;background:#edf0eb center/cover no-repeat;color:#708078;font-size:12px}.cover-picker.hasCover{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}.cover-picker input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0}.cover-picker span{padding:8px 12px;border-radius:20px;background:#fbfaf5db;color:var(--ink)}.form-field{display:block;margin-top:15px;color:#52665c;font-size:12px;font-weight:700}.form-field input,.form-field textarea,.inline-select select,.category-sheet>input{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #e0e4dd;border-radius:11px;outline:none;background:#fff;color:var(--ink);font-size:13px;resize:vertical}.form-field input:focus,.form-field textarea:focus,.inline-select select:focus,.category-sheet>input:focus{border-color:#c38169;box-shadow:0 0 0 3px #e8664217}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline-select{display:flex;gap:8px}.inline-select select{flex:1;min-width:0}.inline-select button{align-self:flex-end;padding:12px;border-radius:10px;background:#edf0eb;color:var(--ink);font-size:12px}.save-recipe{margin-top:22px}.editor-error{color:#be5239;font-size:12px}.category-modal{align-items:center;padding:20px}.category-sheet{width:min(380px,100%);padding:27px 22px 22px;border-radius:20px}.category-sheet>input{margin-top:18px}.category-sheet .primary{margin-top:14px}.category-manage-list{max-height:28dvh;margin-top:18px;overflow-y:auto;border-top:1px solid #e5e8e2}.category-manage-row{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;border-bottom:1px solid #e5e8e2}.category-manage-row b{font-size:13px}.category-manage-row>div{display:flex;gap:6px}.category-manage-row button{padding:7px 9px;border-radius:8px;background:#edf0eb;color:var(--ink);font-size:11px}.category-manage-row button.delete-action{background:#fbefeb;color:#bd5b43}.category-manage-row>small{color:#9aa49e;font-size:10px}.category-actions{display:flex;gap:8px}.category-actions>*{flex:1}.category-actions .primary{margin-top:14px}.detail-sheet{max-height:94dvh}.detail-close{position:fixed;top:auto;right:max((100vw - 480px) / 2 + 18px,18px);z-index:13}.detail-hero{height:250px;display:grid;place-items:center;background:#e7ebe3 center/cover no-repeat;color:#8c998f;font-size:22px;font-weight:800}.detail-content{padding:22px 22px calc(28px + env(safe-area-inset-bottom))}.detail-content>small{color:#9a674f;font-size:11px}.detail-content h2{margin:8px 0;font-size:28px}.detail-content>p{color:var(--muted);font-size:13px;line-height:1.6}.detail-content h4{margin:22px 0 10px;font-size:13px}.detail-content ol{padding-left:21px;color:#50645b;font-size:13px;line-height:1.8}.package-dish-picker{margin-top:20px;padding:13px;border:1px solid #e4e8e1;border-radius:14px;background:#ffffffa3}.picker-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.picker-heading b{font-size:13px}.picker-heading small{color:var(--muted);font-size:10px}.package-dish-option{display:grid;grid-template-columns:18px 42px minmax(0,1fr) 20px;align-items:center;gap:9px;min-height:59px;border-bottom:1px solid #edf0eb}.package-dish-option:last-of-type{border-bottom:0}.package-dish-option>input{accent-color:var(--accent)}.package-option-pic{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#e7ebe3 center/cover no-repeat;color:#86948b;font-size:11px;font-weight:800}.package-dish-option>span:nth-of-type(2){min-width:0}.package-dish-option b,.package-dish-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.package-dish-option b{font-size:12px}.package-dish-option small{margin-top:4px;color:var(--muted);font-size:10px}.package-dish-option>i{color:var(--accent);font-size:14px;font-style:normal;text-align:center}.package-no-dishes{padding:13px 0 5px;text-align:center}.package-no-dishes p{color:var(--muted);font-size:12px}.package-detail-dishes{display:grid;gap:8px}.package-detail-dishes>div{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:10px;background:#edf0eb;font-size:12px}.package-detail-dishes small{color:var(--muted)}.package-detail-actions{display:block}.muted-note{color:#9aa49e;font-size:12px}.detail-actions{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;margin-top:22px}.detail-actions .primary{margin:0}.favorite-detail{height:48px;border-radius:12px;background:#edf0eb;color:#52665c}.favorite-detail.saved{color:var(--accent)}.cart-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#0c1e1875;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cart-sheet{position:relative;width:min(520px,100%);max-height:min(76dvh,620px);padding:22px 20px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:23px 23px 0 0;background:var(--paper);box-shadow:0 -18px 50px #0f231c2e;animation:rise .2s ease-out}.cart-sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;padding-right:44px}.cart-sheet-heading small{color:#9a674f;font-size:9px;font-weight:800;letter-spacing:.16em}.cart-sheet-heading h2{margin-top:6px;font-size:22px}.cart-sheet-heading .sheet-close{top:17px;right:17px}.cart-items{max-height:min(44dvh,360px);margin-top:13px;overflow-y:auto}.cart-item{display:grid;grid-template-columns:56px minmax(0,1fr) 34px;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e8ebe5}.cart-item-pic{width:56px;height:56px;display:grid;place-items:center;border-radius:12px;background:#e7ebe3 center/cover no-repeat;color:#8c9991;font-size:13px;font-weight:800}.cart-item-copy{min-width:0}.cart-item-copy b,.cart-item-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-item-copy b{font-size:13px}.cart-item-copy small{margin-top:5px;color:var(--muted);font-size:10px}.cart-remove{width:31px;height:31px;border-radius:50%;background:#f5eae5;color:#bc6048;font-size:20px;line-height:1}.cart-empty{padding:30px 0 22px;text-align:center}.cart-empty>span{display:grid;width:44px;height:44px;margin:0 auto 10px;place-items:center;border-radius:14px;background:#e7ebe3;color:var(--accent);font-weight:800}.cart-empty b{font-size:13px}.cart-empty p{margin:6px 0 0;color:var(--muted);font-size:11px}.cart-sheet-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:16px}.cart-sheet-actions .primary{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:13px}.cart-sheet-actions .primary:disabled{cursor:default;opacity:.45}.cart-continue{padding:13px;border:1px solid #e0e5de;border-radius:13px;background:transparent;color:var(--ink);font-size:12px;font-weight:700}@media(min-width:700px){.bottom-tabs{bottom:24px;border:1px solid rgba(23,56,46,.08);border-radius:18px}.modal-backdrop{align-items:center;padding:20px}.editor-sheet,.detail-sheet{border-radius:24px}.detail-close{position:absolute;top:14px;right:14px}}.detail-close{top:max(env(safe-area-inset-top),14px)}.captcha-backdrop{position:fixed;z-index:18;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0c1e1894;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.captcha-dialog{position:relative;width:min(360px,100%);padding:24px 20px 18px;border-radius:21px;background:var(--paper);box-shadow:0 24px 70px #0a1d174d;animation:rise .2s ease-out}.captcha-dialog>small{color:#9a674f;font-size:9px;font-weight:800;letter-spacing:.2em}.captcha-dialog h2{margin:6px 0;font-size:22px}.captcha-dialog>p{margin:0;color:var(--muted);font-size:12px}.captcha-dialog .captcha-canvas{position:relative;width:100%;margin:17px 0 12px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background-color:#eee7e1;background-position:center;background-repeat:no-repeat;background-size:100% 100%}.captcha-piece-image{position:absolute;top:50%;display:block;max-width:none;transform:translateY(-50%);filter:drop-shadow(0 1px 2px rgba(74,57,47,.18));pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.captcha-placeholder{display:grid;min-height:96px;margin:17px 0 12px;place-items:center;border:1px solid var(--line);border-radius:10px;background:#f4efeb;color:#8a786d;font-size:12px}.captcha-dialog .captcha-range{display:block;width:100%;margin:0;accent-color:#9a867a}.captcha-dialog .captcha-error{margin-top:8px!important}.captcha-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.captcha-foot button{padding:8px 10px;border-radius:9px;background:#edf0eb;color:#52665c;font-size:12px}.captcha-foot small{color:#9aa49e;font-size:10px}:root{color:#292d2f;background:#f2f3f1;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:#f4f1ee}button{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(233,107,71,.24);outline-offset:2px}.app-shell{--ink: #4a403b;--muted: #897e77;--accent: #978276;--paper: #fffdfa;--surface: #f6f2ef;--surface-strong: #eee8e3;--line: #ebe4df;background:radial-gradient(ellipse at 100% 0%,rgba(244,236,230,.76),transparent 35%),var(--paper);box-shadow:0 10px 42px #4a392f0e}.app-shell header{border-bottom-color:var(--line);background:#fffdfaeb}.app-shell header b,.auth-mark{color:var(--ink)}.app-shell header small{color:#978b83}.pad>small,.home>small,.title small,.recipe>small,.home-quiet-content>small,.me-page>small,.collection-heading small,.auth-gate>small,.sheet-heading small,.category-sheet>small,.cart-sheet-heading small,.captcha-dialog>small{color:#9b877b;letter-spacing:.16em}.app-shell h1{color:var(--ink);font-size:clamp(34px,9.2vw,43px);line-height:1.16;letter-spacing:-.045em}.app-shell h2{color:var(--ink);font-size:24px;line-height:1.25;letter-spacing:-.03em}.home-quiet-content h1{font-size:clamp(38px,10vw,46px);line-height:1.16}.home-quiet-content p,.auth-gate>p{color:#81766f}.home-whitespace-note{color:#a79b93}.home-go-menu{color:var(--ink)}.home-go-menu span{background:#c9b9ad;color:#fffdfa;box-shadow:0 4px 10px #68504117}.space{background:#f0e9e3;color:var(--ink);box-shadow:none}.space:after{color:#755b4a0e}.space small,.space>span{color:#867970}.space>span i{color:var(--ink)}.space button{background:#c8b7aa;color:#fffdfa}.home-shortcuts button{border-color:var(--line);background:#ffffffd1}.menu .title{min-height:104px}.menu .title h2{max-width:340px;margin-top:8px}.back{background:var(--surface);color:#74665e}.back:hover{background:var(--surface-strong)}.browse-switch button{color:#8e827a}.browse-switch button.on{background:#ece5df;color:#51453f;box-shadow:none}.columns nav button{color:#8b8079}.columns nav button.on{background:var(--paper);color:#836f63}.columns nav button.on:before{background:#b8a79b}.grid{padding-right:14px;padding-left:14px}.category-heading{color:#51463f}.category-heading:before{background:#cbbcb1}.category-heading i{background:var(--line)}.category-empty,.end-line{color:#a0948c}.pic{border-radius:12px;box-shadow:0 4px 13px #4a392f12}.pic.blank,.thumb.blank,.package-pic,.collection-pic,.detail-hero,.hero,.cart-item-pic,.package-option-pic{background-color:#f1eae4}.pic button,.favorite-mark,.add-mark{box-shadow:0 2px 9px #4a392f1a}.dish-copy p{color:#8a7f78}.dish-copy small,.package-copy>small,.collection-copy small{color:#95857a}.favorite-mark.saved,.unfavorite-button{color:#967d70}.pic .add-mark.added{background:#b7a69a;color:#fffdfa}.trough{border:1px solid #e9dfd8;border-radius:16px;background:#eee7e1;color:#51453e;box-shadow:0 7px 18px #4a392f14}.trough>span:last-child{color:#7d6e65}.trough span i,.trough strong{background:#b9a79b;color:#fffdfa}.cart-icon{stroke:#8d7b70}.trough:disabled{opacity:1}.state-card,.empty-state{border:1px solid var(--line);border-radius:15px;background:#fffdfa}.state-card button,.menu-package-empty button,.menu-empty button{border-radius:10px;background:#c6b6aa;color:#493e38}.bowl-loader:before{border-color:#97867b;border-top:0;background:#faf6f2}.bowl-loader i,.bowl-loader em{background:#97867b}.bowl-loader:after{background:#c4b2a5}.empty-state>span,.empty-symbol,.cart-empty>span{background:#f1ebe6;color:#8d7a6f}.thumb{border-radius:12px}.generate>p{color:#81766f}.generate button{border:1px solid #e8ddd6;border-radius:13px;background:#f0e9e3;color:#51453e}.generate button small{color:#897b72}.tabs button.on{background:#e9e1db;color:#51453f}.recipe article{border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 16px #4a392f0d}.recipe ol,.sheet ol,.detail-content ol{color:#62564f}.material{border-radius:8px;background:#f1ebe6;color:#675951}.overlay,.modal-backdrop,.cart-backdrop{background:#392e2857;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sheet,.editor-sheet,.detail-sheet,.cart-sheet{box-shadow:0 -10px 35px #4a392f17}.sheet,.editor-sheet,.category-sheet,.detail-sheet,.cart-sheet{border-radius:20px 20px 0 0}.sheet>button,.sheet-close{background:#f1ebe6;color:#685950}.primary{border-radius:11px;background:#c4b2a5;color:#453a34;box-shadow:0 4px 11px #4a392f12}.primary:hover:not(:disabled){background:#b8a69a}.primary:disabled{box-shadow:none}.auth-gate{background:radial-gradient(ellipse at 100% 0,rgba(245,237,231,.85),transparent 36%)}.auth-gate>small{margin-top:68px}.auth-gate h1{font-size:34px;letter-spacing:-.04em}.auth-fields{border-color:var(--line);border-radius:14px;box-shadow:0 5px 16px #4a392f0a}.auth-fields input{border-bottom-color:#f0e9e4}.auth-fields input::-moz-placeholder,.form-field input::-moz-placeholder,.form-field textarea::-moz-placeholder{color:#aaa098}.auth-fields input::placeholder,.form-field input::placeholder,.form-field textarea::placeholder{color:#aaa098}.auth-fields input:focus{box-shadow:inset 0 -2px #b8a69a}.auth-switch{color:#89766a}.auth-error,.editor-error{color:#a8766d!important}.package-card,.publish-category-row,.collection-item{border-color:var(--line);border-radius:13px;background:#fffdfa;box-shadow:0 3px 11px #4a392f09}.package-card{padding:9px}.package-pic{border-radius:10px}.package-pic small{background:#4a392fb8}.package-card>button,.load-packages,.category-empty button,.publish-category-row>button,.work-actions button,.category-manage-row button,.inline-select button,.package-dish-picker,.package-detail-dishes>div{background:#f1ebe6;color:#695a51}.publish-category-row{border:1px solid var(--line)}.publish-filters button,.publish-category-filter button{background:#f1ebe6;color:#877b73}.publish-filters button.on,.publish-category-filter button.on{background:#e9e1db;color:#51453e}.publish-overview,.profile-card{border:1px solid #eee5de;background:#f6f2ef}.publish-overview>i{background:#e7dcd4}.publish-tabs{border-bottom-color:var(--line)}.publish-tabs button{color:#91857d}.publish-tabs button.on{color:#594b43}.publish-tabs button.on:after{background:#b9a79b}.publish-category-heading small{color:#92867e}.category-symbol,.link-icon{background:#f1ebe6;color:#8f7a6d}.collection-pic{border-radius:10px}.publish-status.is-off{background:#f3efec;color:#918780}.collection-empty>span{background:#f1ebe6;color:#8c776b}.secondary-button,.cart-continue{border:1px solid #e9e0da;background:#fffdfa;color:#695a51}.me-page>h1{font-size:40px}.profile-card{border-radius:14px}.profile-avatar{border-radius:15px;background:#e9dfd8;color:#66554b}.my-links{border-top-color:var(--line)}.my-links i{color:#a1968e}.logout-button{border-color:#e9dfd8;border-radius:10px;background:#faf6f2;color:#836e62}.bottom-tabs{border-top-color:#ebe4df;background:#fffdfaf7;box-shadow:0 -4px 16px #4a392f09}.bottom-tabs button{color:#93877f}.bottom-tabs button.active{color:#78675d}.create-button,.secondary-button{border-radius:10px}.create-button{background:#ddd2ca;color:#51443d}.cover-picker{border-color:#dfd3ca;border-radius:13px;background-color:#f5efea;color:#887a72}.cover-picker span{background:#fffdfaeb;color:#62534b}.form-field{color:#6d5d54}.form-field input,.form-field textarea,.inline-select select,.category-sheet>input{border-color:#e9e0da;border-radius:10px;background:#fffdfa}.category-manage-list,.category-manage-row{border-color:var(--line)}.package-dish-option{border-bottom-color:#f0e9e4}.package-dish-option>input{accent-color:#9a867a}.favorite-detail{background:#f1ebe6;color:#695a51}.captcha-backdrop{background:#392e2861}.captcha-dialog{border:1px solid var(--line);border-radius:18px;background:#fffdfa;box-shadow:0 18px 48px #4a392f29}.captcha-dialog h2{color:var(--ink)}.captcha-dialog .captcha-canvas{border-color:#e6ddd6;background-color:#eee7e1}.captcha-placeholder{border-color:#e6ddd6;background:#f4efeb;color:#8a786d}.captcha-dialog .captcha-range{accent-color:#9a867a}.captcha-foot button{background:#f1ebe6;color:#695a51}@media(max-width:360px){.pad{padding-right:20px;padding-left:20px}.home.home-quiet{padding-right:22px;padding-left:22px}.app-shell h1{font-size:clamp(32px,9.4vw,38px)}.home-quiet-content h1{font-size:clamp(36px,10vw,40px)}.columns{grid-template-columns:76px minmax(0,1fr)}.pic{height:116px}}.app-shell{--ink: #292d2f;--muted: #777e80;--accent: #c74f30;--accent-soft: #fff0e9;--paper: #ffffff;--surface: #f7f8f6;--surface-strong: #eef0ed;--line: #e8eae7;background:var(--paper);color:var(--ink)}body{background:#f2f3f1}.app-shell header{height:66px;padding:17px 22px;border-bottom-color:var(--line);background:#fff}.app-shell header small{color:#83898a;letter-spacing:.02em}.app-shell header b span,.auth-mark span{color:var(--accent)}.app-shell h1,.app-shell h2,.app-shell b{color:var(--ink)}.app-shell h1 i,.app-shell h2 i{color:var(--accent)}.pad>small,.home>small,.title small,.recipe>small,.home-quiet-content>small,.me-page>small,.collection-heading small,.auth-gate>small,.sheet-heading small,.category-sheet>small,.cart-sheet-heading small,.captcha-dialog>small{color:var(--accent);letter-spacing:.09em}.app-shell .primary,.state-card button,.menu-empty button,.menu-package-empty button,.browse-switch button.on,.tabs button.on,.pic .add-mark.added{background:var(--accent);color:#fff;box-shadow:0 5px 13px #c74f302e}.profile-avatar{background:var(--accent-soft);color:var(--accent);box-shadow:none}.app-shell .primary:hover:not(:disabled),.state-card button:hover,.menu-empty button:hover,.menu-package-empty button:hover{background:#b84327}.app-shell .primary:disabled{opacity:.58}.auth-gate{background:radial-gradient(ellipse at 100% 0,rgba(255,235,224,.8),transparent 36%)}.auth-gate>small{margin-top:58px}.auth-fields{border-color:var(--line);background:#fff;box-shadow:0 8px 22px #262b2c0b}.auth-fields input{border-bottom-color:#eef0ed}.auth-fields input:focus{box-shadow:inset 0 -2px var(--accent)}.auth-switch{color:var(--accent)}.auth-error,.editor-error,.captcha-error{color:#b84d3c!important}.home.home-quiet{min-height:calc(100dvh - 136px);justify-content:flex-start;padding:clamp(76px,14vh,128px) 24px 105px}.home-quiet-content{width:100%;max-width:390px;margin:0 auto}.home-quiet-content>small{color:#9a8980;font-size:11px;font-weight:650;letter-spacing:.1em}.home-quiet-content h1{max-width:100%;margin:20px 0 14px;font-size:clamp(35px,9vw,43px);line-height:1.25;letter-spacing:-.04em;overflow-wrap:anywhere}.home-quiet-content p{max-width:310px;color:#887d76;font-size:14px;line-height:1.8}.home-go-menu{gap:18px;margin-top:25px;color:#5e5149}.home-go-menu span{width:34px;height:34px;background:#ded3cb;color:#5e5149;box-shadow:none}.home-whitespace-note{display:none}.menu{padding-bottom:110px}.menu .title{min-height:94px;padding-top:20px;padding-bottom:14px}.menu .title h2{margin-top:7px;font-size:25px;line-height:1.3;overflow-wrap:anywhere}.browse-switch{border-color:var(--line);background:#f6f2ef}.browse-switch button{color:#8d817a}.browse-switch button.on{background:#e9e1db;color:#554b45}.columns nav{background:#f5f1ed}.columns nav button{color:#8e837c}.columns nav button.on{color:#5e5149}.columns nav button.on:before,.category-heading:before{background:#b8a69b}.category-heading{color:#554b45}.category-empty,.end-line{color:#9a9089}.pic,.package-pic,.collection-pic,.detail-hero,.hero,.cart-item-pic,.package-option-pic{background-color:#f0eae5;box-shadow:0 3px 12px #4a392f0e}.pic.blank,.thumb.blank{background:#f0eae5;color:#a19389}.dish-copy p,.package-copy p{color:#8e837c}.dish-copy small,.package-copy>small,.collection-copy small{color:#96877e}.favorite-mark.saved,.unfavorite-button,.add-mark{color:#8d7b72}.favorite-mark,.add-mark,.pic button{box-shadow:0 2px 8px #4a392f14}.trough{bottom:calc(76px + env(safe-area-inset-bottom));min-height:56px;border:1px solid #e9dfd8;border-radius:15px;background:#eee7e1;color:#584c45;box-shadow:0 8px 20px #4a392f14}.trough>span:last-child{color:#84776f}.trough span i,.trough strong{background:#c8b9af;color:#fffdfa}.cart-icon{stroke:#8d7b72}.state-card,.empty-state{border:1px solid var(--line);background:#fffdfa}.grid>.state-card,.grid .empty-state{border:0;background:transparent}.state-mark{border-color:#e5ddd7;border-top-color:#a99488}.bowl-loader:before{border-color:#95837a;border-top:0;background:#faf6f2}.bowl-loader i,.bowl-loader em{background:#95837a}.bowl-loader:after{background:#c6b6ac}.empty-state>span,.empty-symbol,.cart-empty>span{background:#f1ebe6;color:#8b786e}.selected{border-bottom-color:var(--line)}.thumb{border-radius:12px;background-color:#f0eae5}.selected>button{background:#f1ebe6;color:#887a72}.generate>p{color:#847971}.generate button{border:1px solid #e8ded8;border-radius:13px;background:#eee7e1;color:#554b45}.generate button+button{border-color:var(--line);background:#fffdfa;color:var(--ink)}.generate button small{color:#8c8078}.tabs button{background:#f1ebe6;color:#81756d}.tabs button.on{background:#e9e1db;color:#554b45}.recipe,.week-plan-page,.share-page{padding-top:18px;padding-bottom:122px}.recipe-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:12px 0 23px}.recipe-title-row>div{min-width:0}.recipe-title-row h1{margin:0;font-size:clamp(27px,7.5vw,34px);line-height:1.25;overflow-wrap:anywhere}.recipe-title-row p{margin:8px 0 0;color:#887d76;font-size:12px;line-height:1.6}.quiet-share{flex:none;margin-top:2px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#f7f3ef;color:#796b62;font-size:12px}.quiet-share:disabled{opacity:.48}.recipe-day{margin:26px 0 31px}.recipe-day>h2{display:flex;align-items:baseline;gap:9px;margin:0 0 16px;font-size:21px}.recipe-day>h2 small{color:#9b8d84;font-size:11px;font-weight:500}.recipe-meal{margin-top:19px}.recipe-meal>h3{margin:0 0 10px;color:#83766e;font-size:13px;font-weight:650}.recipe-card{overflow:hidden;margin:0 0 16px;border:1px solid var(--line);border-radius:16px;background:#fffdfa;box-shadow:0 5px 16px #4a392f0b}.recipe-card-cover{height:188px;display:grid;place-items:center;background:#f0eae5 center/cover no-repeat;color:#9a8c83;font-size:18px;font-weight:700;letter-spacing:.08em}.recipe-card-cover.blank{background-image:linear-gradient(135deg,#f2ece7,#ebe3dd)}.recipe-card-content{padding:16px 17px 19px}.recipe-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.recipe-card-heading h2{margin:0;font-size:19px;line-height:1.35}.recipe-card-heading p{margin:5px 0 0;color:#8d817a;font-size:11px;line-height:1.5}.recipe-card-heading>small{flex:none;padding-top:4px;color:#9b8e85;font-size:10px}.recipe-card-content h4{margin:21px 0 9px;color:#5f544d;font-size:12px}.recipe-materials{display:flex;flex-wrap:wrap;gap:7px}.recipe-materials>span{padding:7px 10px;border:1px solid #eee6e0;border-radius:9px;background:#f7f3ef;color:#71645c;font-size:11px}.recipe-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none}.recipe-steps li{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:start;color:#6f635c;font-size:12px;line-height:1.65}.recipe-steps li i{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#eee7e1;color:#7b6c63;font-size:10px;font-style:normal}.recipe-card-content>.muted-note{margin:0}.recipe article{border-radius:16px;box-shadow:0 5px 16px #4a392f0b}.recipe ol,.detail-content ol{color:#62564f}.material{background:#f1ebe6;color:#675951}.share-page>h1,.week-plan-page>h1{margin:11px 0 8px;font-size:clamp(29px,8vw,37px);line-height:1.23;overflow-wrap:anywhere}.share-byline,.share-description{margin:5px 0 18px;color:#8a7f78;font-size:12px;line-height:1.7}.share-recipe-card{margin-top:18px}.share-select-button{display:inline-flex;align-items:center;gap:9px;margin-top:12px;padding:7px 10px;border:1px solid #e9e0da;border-radius:999px;background:#faf7f4;color:#81746c;font-size:11px}.share-select-button span{font-size:13px}.share-select-button.picked{border-color:#cdbeb4;background:#eee7e1;color:#554b45}.share-add-button{margin-top:22px;margin-bottom:18px}.week-plan-page .menu-name-field{margin:21px 0 8px}.week-plan-hint{margin:0 0 18px;color:#8c817a;font-size:12px;line-height:1.6}.week-day-card{margin:12px 0;padding:16px 14px 13px;border:1px solid var(--line);border-radius:15px;background:#fffdfa}.week-day-card>h2{display:flex;align-items:baseline;gap:8px;margin:0 0 10px;font-size:17px}.week-day-card>h2 small{color:#9a8c83;font-size:10px;font-weight:500}.week-meal{padding:12px 0 10px;border-top:1px solid #f0eae5}.week-meal>b{display:block;margin-bottom:9px;color:#766960;font-size:12px}.week-recipe-options{display:flex;flex-wrap:wrap;gap:7px}.week-recipe-options button{display:inline-flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #eae2dc;border-radius:999px;background:#faf7f4;color:#786b63;font-size:11px}.week-recipe-options button span{color:#a08d82;font-size:12px}.week-recipe-options button.picked{border-color:#cdbeb4;background:#eee7e1;color:#554b45}.week-recipe-options button.picked span{color:#79675d}.week-meal-empty{margin:8px 0 0;color:#aa9f98;font-size:10px}.week-save{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));z-index:5;box-shadow:0 6px 18px #4a392f1a!important}.my-links>button{border-bottom-color:var(--line)}.link-icon{background:var(--accent-soft);color:var(--accent)}.profile-card{border:1px solid var(--line);background:#fff}.profile-avatar{background:var(--accent-soft);color:var(--accent)}.logout-button{border-color:#f1d0c3;background:#fff;color:var(--accent)}.bottom-tabs{border-top-color:var(--line);background:#fffffffa;box-shadow:0 -4px 16px #262b2c0b}.bottom-tabs button{color:#858b8c}.bottom-tabs button.active{color:var(--accent)}.publish-tabs button.on:after{background:var(--accent)}.publish-status.is-live{background:#f1e9e4;color:#876e60}.work-actions{justify-content:flex-start;flex-wrap:wrap;gap:6px}.work-actions button,.category-manage-row button,.inline-select button{background:#f1ebe6;color:#695a51}.work-actions button:nth-child(2){background:#eee7e1;color:#74645b}.work-actions button.delete-action,.category-manage-row button.delete-action{background:#f5ece8;color:#98776d}.saved-menu-list,.share-record-list{display:grid;gap:9px}.saved-menu-row,.share-record{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fffdfa;text-align:left}.saved-menu-row>span,.share-record>div:first-child{min-width:0}.saved-menu-row b,.saved-menu-row small,.share-record b,.share-record small{display:block}.saved-menu-row b,.share-record b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.saved-menu-row small,.share-record small{margin-top:6px;color:#968980;font-size:10px}.saved-menu-row i{color:#9b8b81;font-size:22px;font-style:normal}.share-record-actions{display:flex;flex:none;gap:7px}.share-record-actions button{padding:8px 10px;border-radius:8px;background:#f1ebe6;color:#74645b;font-size:10px}.share-record-actions .revoke-share{background:#f4efeb;color:#968078}.share-revoked-status{padding:7px 10px;border:1px solid #e9e0da;border-radius:8px;background:#f7f3ef;color:#9a8c83;font-size:10px}.share-link-sheet{position:relative;width:min(440px,100%);margin:auto;padding:25px 21px 22px;border:1px solid var(--line);border-radius:20px;background:#fffdfa;box-shadow:0 18px 50px #4a392f1f}.share-link-sheet>small{color:#9a8980;font-size:10px;letter-spacing:.1em}.share-link-sheet h2{margin:8px 38px 6px 0;font-size:22px}.share-link-sheet p{color:#8c817a;font-size:12px;line-height:1.6}.share-link-sheet input{width:100%;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8f4f1;color:#71645c;font-size:11px}.share-link-sheet .primary{margin-top:12px}.share-link-sheet .sheet-close{position:absolute;top:14px;right:14px}.cart-sheet-heading h2{color:var(--ink)}.cart-item{border-bottom-color:var(--line)}.cart-remove{background:#f1ebe6;color:#806c60}.modal-backdrop{background:#392e2857;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sheet,.editor-sheet,.category-sheet,.detail-sheet,.cart-sheet{background:#fffdfa}.form-field input,.form-field textarea,.inline-select select,.category-sheet>input{border-color:#e9e0da;background:#fffdfa}.form-field input:focus,.form-field textarea:focus,.inline-select select:focus,.category-sheet>input:focus{border-color:#bba99d;box-shadow:0 0 0 3px #9984771c}.captcha-backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:14px;background:#3e424aa8;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.captcha-dialog{position:relative;width:min(356px,100%);padding:16px 15px 11px;border:0;border-radius:11px;background:#fff;color:#202633;box-shadow:0 18px 54px #13192538;animation:captcha-pop .18s ease-out}.captcha-dialog .captcha-heading{height:auto;margin:0 0 8px;padding:0;display:flex;align-items:flex-start;justify-content:space-between;border:0;background:transparent}.captcha-heading h2{margin:0!important;font-size:16px!important;line-height:1.35;letter-spacing:0!important}.captcha-heading p{margin:3px 0 0;color:#8791a2;font-size:11px;line-height:1.5}.captcha-close{display:grid;width:25px;height:25px;margin:-3px -4px 0 0;place-items:center;border-radius:50%;background:transparent;color:#778196;font-size:20px;line-height:1}.captcha-close:hover,.captcha-instructions button:hover{background:#f2f5fa}.captcha-card{padding:10px 11px 12px;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 15px #262b2c0f}.captcha-instructions{min-height:29px;margin-bottom:5px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#4d4f54;font-size:12px}.captcha-instructions button{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:transparent;color:#4f5663;font-size:22px;line-height:1;transition:transform .2s ease}.captcha-instructions button:active{transform:rotate(-35deg)}.captcha-instructions button:disabled{cursor:wait;opacity:.5}.captcha-canvas,.captcha-placeholder{position:relative;width:100%;overflow:hidden;border-radius:4px;background-color:#e7e9ed;background-position:center;background-size:100% 100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.captcha-placeholder{display:grid;aspect-ratio:300/220;place-items:center;color:#697487;font-size:12px}.captcha-piece-image{position:absolute;top:50%;height:auto;max-width:none;transform:translateY(-50%);filter:drop-shadow(0 2px 3px rgba(23,35,48,.58));pointer-events:none}.captcha-slider{position:relative;height:40px;margin-top:10px;overflow:hidden;border-radius:999px;background:#e1e1e1;touch-action:none}.captcha-slider-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#777;font-size:11px;pointer-events:none}.captcha-slider-thumb{position:absolute;top:0;display:grid;width:76px;height:40px;place-items:center;border-radius:999px;background:var(--accent);color:#fff;font-size:25px;font-weight:650;line-height:1;box-shadow:0 3px 9px #c74f303d;pointer-events:none;transition:left .04s linear}.captcha-range{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:grab;touch-action:none}.captcha-range:active{cursor:grabbing}.captcha-slider:has(.captcha-range:focus-visible){outline:3px solid rgba(233,107,71,.3);outline-offset:2px}.captcha-slider.busy{opacity:.7}.captcha-error{margin:8px 1px 0!important;color:#c34336!important;font-size:11px;line-height:1.5}.captcha-foot{margin:7px 0 0!important;color:#97a2b5;font-size:10px;line-height:1.4;text-align:center}@keyframes captcha-pop{0%{transform:translateY(5px) scale(.985);opacity:0}}@media(prefers-reduced-motion:reduce){.captcha-dialog,.captcha-instructions button{animation:none;transition:none}}@media(max-width:360px){.home.home-quiet{padding-right:21px;padding-left:21px}.home-quiet-content h1{font-size:35px}.recipe-card-cover{height:164px}.share-record{align-items:flex-start;flex-direction:column}}.dish-search{display:grid;gap:9px;margin:0 18px 15px}.dish-search-input,.work-search-input{display:flex;min-width:0;align-items:center;gap:8px;padding:6px 7px 6px 12px;border:1px solid #e7e5dc;border-radius:13px;background:#fffefa;color:#9b8b7c}.dish-search-input:focus-within,.work-search-input:focus-within{border-color:#edaa91;box-shadow:0 0 0 3px #e96b471a}.dish-search-input>span,.work-search-input>span{flex:none;font-size:19px;line-height:1}.dish-search-input input,.work-search-input input{width:100%;min-width:0;padding:8px 0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12px}.dish-search-input input::-moz-placeholder,.work-search-input input::-moz-placeholder{color:#a49d90}.dish-search-input input::placeholder,.work-search-input input::placeholder{color:#a49d90}.dish-search-input button:not(.dish-search-submit),.work-search-input button{display:grid;width:27px;height:27px;flex:none;place-items:center;border-radius:50%;background:#f2f0e9;color:#81786c;font-size:17px}.dish-search-input .dish-search-submit{flex:none;padding:9px 13px;border-radius:9px;background:var(--ink);color:#fff;font-size:11px}.dish-search-input .dish-search-submit:disabled{opacity:.58}.dish-search-filters{display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none}.dish-search-filters select,.dish-search-filters button{min-height:32px;flex:none;padding:7px 11px;border:0;border-radius:999px;background:#f0f0e9;color:#77796e;font-size:10px}.dish-search-filters select{max-width:150px}.dish-search-filters button.on{background:var(--accent-soft);color:var(--accent);font-weight:700}.dish-search-results{padding:0 18px 24px}.dish-search-summary{display:flex;align-items:center;gap:8px;margin:2px 0 13px;color:#8c8377;font-size:10px}.dish-search-summary b{color:#494b42;font-size:12px}.dish-search-summary>span{padding:4px 7px;border-radius:999px;background:#f2f0e9}.dish-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dish-search-grid .dish-card{min-width:0}.dish-search-results .search-back{display:block;margin:12px auto 0;padding:8px 12px;border-radius:999px;background:transparent;color:#858377;font-size:11px}.work-search-input{margin:0 0 13px;padding-top:4px;padding-bottom:4px}.publish-visibility-hint{margin:-5px 0 16px;padding:10px 12px;border:1px solid #ece9de;border-radius:11px;background:#f8f6ef;color:#817868;font-size:10px;line-height:1.6}.editor-visibility-hint{margin:13px 0 10px}.share-save-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 12px;margin:14px 0 22px;padding:13px 14px;border:1px solid #e9e9df;border-radius:14px;background:#fbfaf5}.share-save-box>div b,.share-save-box>div small{display:block}.share-save-box>div b{color:#41463d;font-size:12px}.share-save-box>div small{margin-top:4px;color:#89877b;font-size:10px;line-height:1.5}.share-save-box>.secondary-button{padding:9px 12px;background:var(--accent);white-space:nowrap}.share-save-box>.secondary-button:disabled{opacity:.62}.share-save-box>.editor-error,.share-import-open{grid-column:1/-1}.share-import-open{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;text-align:left}.menu-management-error{margin:8px 0 12px}.saved-menu-row{display:grid;gap:10px;padding:12px}.saved-menu-open{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:3px 2px;background:transparent;color:var(--ink);text-align:left}.saved-menu-open>span{min-width:0}.saved-menu-open b,.saved-menu-open small{display:block}.saved-menu-open b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.saved-menu-open small{margin-top:6px;color:#968980;font-size:10px}.saved-menu-open i{color:#9b8b81;font-size:22px;font-style:normal}.saved-menu-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:9px;border-top:1px solid #f0ece6}.saved-menu-actions button{padding:7px 10px;border-radius:8px;background:#f1ebe6;color:#695a51;font-size:10px}.saved-menu-actions button.delete-action{background:#f5ece8;color:#98776d}.saved-menu-actions button:disabled,.saved-menu-open:disabled{cursor:wait;opacity:.55}@media(max-width:380px){.dish-search{margin-right:14px;margin-left:14px}.dish-search-results{padding-right:14px;padding-left:14px}.dish-search-grid{gap:9px}}.plan-entry-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 18px 15px;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fff}.plan-entry-row p{margin:0;color:#78776b;font-size:10px;line-height:1.5}.plan-entry-row button{display:flex;flex:none;align-items:center;gap:9px;padding:9px 11px;border-radius:9px;background:var(--accent);color:#fff;font-size:10px}.plan-entry-row button span{font-size:14px}.plan-date-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:22px}.plan-date-controls .form-field{min-width:0;margin:0}.plan-date-controls input{width:100%;min-width:0;margin-top:7px;padding:11px 9px;border:1px solid #e7e3d9;border-radius:10px;background:#fffdfa;color:#47483f;font:inherit;font-size:11px}.plan-range-presets{display:flex;gap:7px;margin:12px 0 2px}.plan-range-presets button,.plan-meal-picker button{padding:8px 12px;border:1px solid #e9e5dc;border-radius:999px;background:#f8f6f0;color:#827c70;font-size:10px}.plan-range-presets button.on,.plan-meal-picker button.on{border-color:#f1c6b6;background:var(--accent-soft);color:var(--accent);font-weight:700}.week-plan-page .menu-name-field{margin:17px 0 18px}.plan-meal-picker{margin:17px 0 13px}.plan-meal-picker>b{display:block;margin-bottom:9px;color:#766960;font-size:11px}.plan-meal-picker>div{display:flex;flex-wrap:wrap;gap:7px}.plan-meal-picker button span{margin-left:5px;font-size:11px}.plan-generate-row{display:flex;align-items:center;gap:10px;margin:14px 0 18px}.plan-generate-row .primary{flex:none;padding:11px 14px;border-radius:10px;background:var(--accent);font-size:11px}.plan-generate-row .primary:disabled{opacity:.5}.plan-generate-row small{color:#928b7f;font-size:9px;line-height:1.5}.plan-meal-dishes{display:grid;gap:7px}.plan-meal-dish{display:flex;gap:7px}.plan-meal-dish select{width:100%;min-width:0;padding:9px 10px;border:1px solid #e8e3d9;border-radius:9px;background:#fbfaf6;color:#57564d;font:inherit;font-size:11px}.plan-meal-dish button{width:34px;flex:none;border-radius:9px;background:#f3eeea;color:#8a796f;font-size:17px}.plan-meal-actions{display:flex;gap:7px;margin-top:9px}.plan-meal-actions button{padding:6px 9px;border-radius:8px;background:#f5f2eb;color:#7f786d;font-size:9px}.plan-meal-actions button:disabled{opacity:.45}.plan-material-summary{margin:5px 0 24px;padding:13px 14px;border:1px solid #e9e7dc;border-radius:13px;background:#faf9f2}.plan-material-summary summary{display:flex;justify-content:space-between;align-items:center;color:#4d5547;font-size:12px;font-weight:700;cursor:pointer;list-style:none}.plan-material-summary summary::-webkit-details-marker{display:none}.plan-material-summary summary:after{content:"＋";color:#8a907c;font-size:16px}.plan-material-summary[open] summary:after{content:"−"}.plan-material-summary summary small{margin-left:auto;margin-right:9px;color:#999385;font-size:9px;font-weight:500}.plan-material-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.plan-material-items>div{display:flex;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:8px;background:#fffefa;font-size:10px}.plan-material-items b{overflow:hidden;color:#58594f;text-overflow:ellipsis;white-space:nowrap}.plan-material-items span{flex:none;color:#8b806f}.plan-material-note{display:block;margin-top:10px;color:#999183;font-size:9px;line-height:1.5}@media(max-width:380px){.plan-entry-row{margin-right:14px;margin-left:14px}.plan-entry-row button{gap:5px;padding:9px}.plan-material-items{grid-template-columns:1fr}}.profile-avatar-button{position:relative;display:block;flex:0 0 48px;width:48px;height:48px;padding:0;overflow:hidden;border:0;border-radius:50%;background:transparent;cursor:pointer}.profile-avatar-button:disabled{cursor:wait}.profile-avatar-button .profile-avatar{display:grid;width:48px;height:48px;margin:0;-o-object-fit:cover;object-fit:cover;border-radius:50%}.profile-avatar-hint{position:absolute;right:0;bottom:0;left:0;padding:3px 1px;background:#221d1994;color:#fff;font-size:8px;line-height:1.2;text-align:center}.profile-avatar-input{display:none}.profile-avatar-error{margin:-18px 0 20px;color:#c44c3d;font-size:12px}.avatar-crop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:12px;background:#191b1b8f}.avatar-crop-dialog{width:min(100%,420px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;padding:20px;border-radius:20px;background:#fff;box-shadow:0 20px 64px #0000003d}.avatar-crop-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;height:auto!important;padding:0!important;border:0!important;background:transparent!important}.avatar-crop-heading h2{margin:0;color:#292d2f;font-size:18px}.avatar-crop-heading p{margin:6px 0 0;color:#777e80;font-size:12px}.avatar-crop-heading button{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;padding:0;border-radius:50%;background:#f3f4f2;color:#5f6667;font-size:21px}.avatar-crop-heading button:disabled,.avatar-crop-actions button:disabled{cursor:wait;opacity:.55}.avatar-crop-stage{position:relative;width:min(100%,280px);aspect-ratio:1;margin:18px auto 0;overflow:hidden;border-radius:12px;background:#282a2b;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar-crop-stage.dragging{cursor:grabbing}.avatar-crop-image{position:absolute;top:50%;left:50%;z-index:1;display:block;max-width:none!important;max-height:none!important;-o-object-fit:fill;object-fit:fill;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar-crop-window{position:absolute;top:50%;left:50%;z-index:2;width:86%;aspect-ratio:1;border:1px solid rgba(255,255,255,.94);border-radius:50%;box-shadow:0 0 0 999px #00000085;transform:translate(-50%,-50%);pointer-events:none}.avatar-crop-loading{position:absolute;top:50%;left:50%;z-index:3;color:#fff;font-size:12px;white-space:nowrap;transform:translate(-50%,-50%);pointer-events:none}.avatar-crop-tip{margin:11px 0 16px;color:#777e80;font-size:11px;text-align:center}.avatar-crop-zoom{display:grid;grid-template-columns:18px minmax(0,1fr) 18px auto;align-items:center;gap:8px;color:#777e80;font-size:17px}.avatar-crop-zoom input{width:100%;accent-color:#c74f30}.avatar-crop-zoom input:disabled{opacity:.5}.avatar-crop-zoom output{min-width:34px;color:#575e5f;font-size:11px;text-align:right}.avatar-crop-preview-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid #eceeeb}.avatar-crop-preview-row small{color:#777e80;font-size:12px}.avatar-crop-preview{position:relative;width:64px;height:64px;overflow:hidden;border-radius:50%;background:#f1f2ef}.avatar-crop-preview img{position:absolute;top:50%;left:50%;display:block;max-width:none!important;max-height:none!important;-o-object-fit:fill;object-fit:fill;pointer-events:none}.avatar-crop-error{margin:10px 0 0;color:#c44c3d;font-size:12px}.avatar-crop-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.avatar-crop-actions button{min-width:96px;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:700}.avatar-crop-cancel{background:#f2f3f1;color:#5f6667}.avatar-crop-save{background:#c74f30;color:#fff}.avatar-crop-save:disabled{cursor:not-allowed;opacity:.55}.recipe-gallery-field{margin-bottom:20px}.recipe-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.recipe-gallery-thumb{position:relative;overflow:hidden;aspect-ratio:1;border:1px solid #e9e0da;border-radius:12px;background:#f5efea}.recipe-gallery-thumb.selected{border:2px solid #bba99d}.gallery-preview{display:block;width:100%;height:100%;padding:0;background:transparent}.gallery-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.gallery-cover-tag{position:absolute;left:6px;bottom:6px;padding:3px 7px;border-radius:5px;background:#372c25b8;color:#fff;font-size:10px}.gallery-remove{position:absolute;top:5px;right:5px;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#fffdfaf0;color:#65584f;font-size:18px}.gallery-uploading{grid-column:1/-1;padding:12px;border-radius:10px;background:#f5efea;color:#796a60;font-size:12px;text-align:center}.recipe-gallery-empty{display:flex;min-height:156px;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #dfd3ca;border-radius:13px;background:#f5efea;color:#887a72;font-size:12px}.recipe-gallery-empty b{color:#a1968e;font-size:11px;font-weight:500}.recipe-gallery-actions,.recipe-entry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.recipe-gallery-field>small,.recipe-editor-hint{display:block;margin:8px 0 0;color:#9a8c82;font-size:11px;line-height:1.6}.media-upload-control{position:relative;display:inline-flex;min-height:34px;align-items:center;justify-content:center;overflow:hidden;padding:0 12px;border:1px solid #e9e0da;border-radius:9px;background:#fffdfa;color:#6d5d54;cursor:pointer;font-size:11px;font-weight:650;transition:background .18s ease,transform .18s ease}.media-upload-control:hover{background:#f5efea}.media-upload-control:active{transform:scale(.98)}.media-upload-control.secondary{background:#f5efea}.media-upload-control input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.media-upload-control input:disabled{cursor:wait}.recipe-editor-group{margin-top:23px}.recipe-editor-group-heading,.recipe-step-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-editor-group-heading>label{color:#6d5d54;font-size:12px;font-weight:750}.recipe-editor-group-heading>button{padding:6px 10px;border-radius:8px;background:#f1ebe6;color:#695a51;font-size:11px;font-weight:650}.recipe-entry-card{margin-top:10px;padding:11px;border:1px solid #eee6e0;border-radius:12px;background:#fffdfab8}.recipe-entry-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(54px,.7fr) minmax(48px,.6fr) auto;gap:6px}.recipe-entry-fields input,.recipe-entry-card textarea{min-width:0;width:100%;padding:10px 9px;border:1px solid #e9e0da;border-radius:8px;outline:none;background:#fffdfa;color:var(--ink);font-size:12px}.recipe-entry-card textarea{display:block;min-height:74px;resize:vertical}.recipe-entry-fields input:focus,.recipe-entry-card textarea:focus{border-color:#bba99d;box-shadow:0 0 0 3px #9984771a}.recipe-entry-remove{padding:0 5px;background:transparent;color:#9a8c82;font-size:11px}.recipe-entry-remove:disabled{cursor:default;opacity:.4}.recipe-step-entry-heading{margin-bottom:9px}.recipe-step-entry-heading b{color:#76675d;font-size:11px}.recipe-entry-media{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.recipe-entry-media-item{position:relative;width:72px;height:72px;overflow:hidden;border-radius:9px;background:#f1ebe6}.recipe-entry-media-item img,.recipe-entry-media-item video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.recipe-entry-media-item button{position:absolute;top:3px;right:3px;display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#fffdfaf2;color:#66584f;font-size:15px}.recipe-upload-notice{margin:12px 0 0;color:#8a796f;font-size:11px}.recipe-detail-list{display:grid;gap:9px}.recipe-detail-row{display:grid;gap:7px;color:#675951;font-size:12px}.recipe-inline-media,.detail-gallery-strip{display:flex;flex-wrap:wrap;gap:8px}.recipe-inline-media img,.recipe-inline-media video{width:min(100%,220px);max-height:220px;border-radius:10px;background:#f1ebe6;-o-object-fit:cover;object-fit:cover}.recipe-inline-media video{aspect-ratio:16/9}.recipe-steps li>div{min-width:0;flex:1}.recipe-steps .recipe-inline-media{margin-top:8px}.detail-gallery-strip{flex-wrap:nowrap;overflow-x:auto;padding:10px 18px 0}.detail-gallery-strip img{width:68px;height:68px;flex:0 0 auto;border-radius:9px;-o-object-fit:cover;object-fit:cover}@media(max-width:360px){.recipe-entry-fields{grid-template-columns:minmax(0,1fr) 58px 48px}.recipe-entry-fields .recipe-entry-remove{grid-column:1/-1;justify-self:end}}
