:root{--paper:#f5f1e8;--card:#fffcf6;--ink:#342a24;--muted:#71665d;--line:#dcd3c5;--green:#343a25;--accent:#997956;--danger:#a13e36;--success:#3f5146;--shadow:0 8px 24px #342a2408;color-scheme:light;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);padding:10px 16px;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}button:hover{background:#eee7db;border-color:#baa58c}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}input,select,textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:#fffdf9;color:var(--ink)}input::placeholder,textarea::placeholder{color:#8a8177}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--green)}input[type=file]{padding:10px;font-size:14px}textarea{min-height:120px;resize:vertical}a{color:var(--green);text-underline-offset:3px}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.2;margin:0 0 16px}h1{font-size:36px}h2{font-size:28px}h3{font-size:24px}p{margin:0 0 16px}small,.muted{color:var(--muted)}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle;stroke-width:1.7}.primary{background:var(--green);border-color:var(--green);color:#fffcf6}.primary:hover{background:#485135;border-color:#485135}.danger{color:var(--danger);border-color:#d6aaa0}.ghost{background:transparent;border-color:transparent}.wide{width:100%}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.linkbutton{background:none;border:0;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:216px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:216px;display:flex;flex-direction:column;padding:36px 20px 24px;background:linear-gradient(160deg,#342a24,#29251e);color:#fffcf6;z-index:20}.brand{font-family:Georgia,serif;font-style:italic;font-size:43px;letter-spacing:-2px;color:inherit;text-decoration:none;line-height:1.15;padding:4px 8px 36px}.brand small{display:block;font:10px Segoe UI,sans-serif;letter-spacing:2px;margin-top:12px;color:#ddd3c4}.sidenav{display:flex;flex-direction:column;gap:8px}.navlink{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:15px;min-height:48px;width:100%;text-align:left;border:0;border-radius:8px;background:none;color:inherit;padding:12px}.sidebar .navlink:hover{background:#ffffff12}.sidebar .navlink.active{background:var(--accent);color:#fffdf7}.navgroup{border-top:1px solid #ffffff25;margin-top:28px;padding-top:20px}.navgroup-label{display:block;margin:0 12px 12px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#ddd3c4}.sidebar-foot{margin-top:auto;padding:24px 12px 0;color:#c1b4a4;font-size:12px}.workspace{grid-column:2;min-width:0}.userbar{min-height:78px;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:14px 32px;border-bottom:1px solid var(--line);background:#fffcf66b}.userchip{display:flex;align-items:center;gap:12px;font-size:14px}.userchip small{display:block;font-size:12px}.userchip .avatar,.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e7ddcf;color:var(--accent)}.content{max-width:1344px;margin:0 auto;padding:32px;min-width:0}.bottomnav{display:none}.mobile-brand{display:none}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 24px}.hero h1{margin-bottom:8px}.hero p{color:var(--muted);margin:0;font-size:14px}.hero.compact{padding-bottom:24px}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.seal{display:none}
.tools{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.tabs{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:#eee8de;gap:3px}.tabs button{min-width:120px;border:0;background:transparent;padding:9px 20px}.tabs button.active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #342a2412}.search{position:relative;flex:1;min-width:200px;max-width:420px;margin-left:auto}.search .icon{position:absolute;left:14px;top:13px;color:var(--muted)}.search input{padding-left:44px}.tools>select{width:auto;min-width:150px}.layout{display:block}.categories{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:0 0 8px;margin-bottom:16px;scrollbar-width:thin}.categories button{flex-shrink:0;border:1px solid transparent;border-radius:999px;background:#eae5dd;padding:8px 18px;font-size:14px;white-space:nowrap}.categories button.active{background:var(--green);color:#fff}.category-content{min-width:0}.count{font-size:14px;color:var(--muted);margin:0 0 16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.item{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow);cursor:pointer;transition:box-shadow .15s,transform .15s}.item:hover{box-shadow:0 8px 24px #342a2414;transform:translateY(-2px)}.item:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.visual{height:190px;position:relative;display:grid;place-items:center;background:#eae3d7;overflow:hidden;color:#8d7d68}.visual img{width:100%;height:100%;object-fit:cover;display:block}.photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;background:linear-gradient(135deg,#eee7dc,#e3d9c9);font-size:12px;color:#8a7a65}.photo-empty .icon{width:36px;height:36px;opacity:.6}.itembody{padding:16px}.itembody h3{font-size:22px;line-height:1.2;margin:0 0 9px;overflow-wrap:anywhere}.itembody p{color:var(--muted);font-size:14px;line-height:1.4;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 10px;background:#eee2d1;font-size:12px;color:#574634;white-space:nowrap}.badge.draft{background:#eae1cb}.badge.published{background:#e3e9df;color:#3f5146}.badge.archived{background:#ece7e1;color:#71665d}.favorite{position:absolute;right:12px;top:12px;background:#fffcf6f2;border:1px solid #ffffff88;border-radius:50%;width:44px;height:44px;padding:0;display:grid;place-items:center;z-index:1}.favorite.active{color:var(--accent);background:#fff7e8}.notice{padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#e9ecdf;margin-bottom:20px;font-size:14px}.notice.error,.error{background:#f6e9e5;color:#8c332c;border-color:#e6bbb0}.notice a{color:inherit}.empty-state{border:1px dashed var(--line);border-radius:12px;text-align:center;padding:48px 24px;background:#fffcf680}.empty-state .icon{width:40px;height:40px;color:var(--accent);margin-bottom:16px}.empty-state h2{font-size:24px}.empty-state p{color:var(--muted);max-width:420px;margin:0 auto 20px}.material{background:var(--card);padding:24px;border:1px solid var(--line);border-radius:12px;margin-bottom:24px;white-space:pre-wrap;overflow-wrap:anywhere}
.detailhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.detailhead button{display:inline-flex;gap:8px;align-items:center}.detail-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:32px;align-items:start}.detail-photo{overflow:hidden;border-radius:12px;min-height:360px;background:#e9e0d2;position:relative}.detail-photo img{width:100%;max-height:600px;object-fit:cover;display:block}.detail-photo .photo-empty{min-height:420px}.detail-info h1{margin:16px 0;font-size:36px}.detail-info>p{color:var(--muted)}.detail-page>.actions{margin-top:32px}.detail-meta{display:flex;align-items:center;gap:20px;color:var(--muted);margin:16px 0 20px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.fact{white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid var(--line);padding-top:16px;font-size:15px}.fact strong{display:block;font-family:Georgia,serif;font-size:22px;line-height:1.3;font-weight:400;margin-bottom:8px;color:var(--ink)}.fact.full{grid-column:1/-1}.fact p{color:var(--muted);margin:0}.fact.allergens{padding:16px;background:#f0e4d3;border:1px solid #e0ccb1;border-radius:8px}.rawnotes{margin:24px 0}.rawnotes summary{cursor:pointer;min-height:44px;color:var(--muted);padding:10px 0}.rawnotes>div{font-size:14px;white-space:pre-wrap;padding:16px;background:#eee8dc;border-radius:8px}
.editor{max-width:1050px;margin:0 auto}.editorhead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.editorhead h1{margin:0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;min-width:0}.field.wide{grid-column:1/-1}.field small{font-size:12px}.formsection{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:24px}.formsection h2,.formsection h3{margin-bottom:20px;font-size:24px}.photo-preview{max-width:320px;width:100%;max-height:260px;object-fit:cover;border-radius:8px;margin-bottom:16px}.sticky{position:sticky;bottom:0;z-index:8;padding:16px 20px;background:#fffcf6f5;border:1px solid var(--line);border-radius:12px;box-shadow:0 -4px 20px #342a2408;backdrop-filter:blur(8px);justify-content:flex-end}.history{padding:16px;background:#eee8dc;border-radius:8px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0}.admin-grid{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}.admin-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.admin-row:last-child{border-bottom:0}.admin-row img,.admin-row .visual{width:64px;height:64px;border-radius:8px;object-fit:cover}.admin-main strong{display:block;font-weight:500;margin-bottom:4px}.admin-main small{display:block}.admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-actions button{font-size:14px}.admin-row .photo-empty .icon{width:24px;height:24px}.admin-row .photo-empty span{display:none}.table-head{font-size:12px;color:var(--muted);background:#f0eadf;text-transform:uppercase;letter-spacing:.5px}.team{max-width:1000px;margin:0 auto}.teamrow{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.teamrow>strong{flex:1}.teamrow select{width:auto;min-width:160px}.profile-card,.learning-card{padding:28px;border-radius:12px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);margin-bottom:24px}.profile-card{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.profile-card h2{margin-bottom:6px}.profile-card .avatar{width:64px;height:64px;font-family:Georgia,serif;font-size:28px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.stat strong{display:block;font:32px Georgia,serif;color:var(--green);margin-bottom:8px}.stat small{font-size:14px}.progress{height:8px;border-radius:999px;overflow:hidden;background:#e9e0d3;margin:16px 0}.progress>span{display:block;height:100%;background:var(--green)}.quiz-options{display:flex;flex-direction:column;gap:12px;margin:24px 0}.quiz-options button{text-align:left;min-height:52px}.quiz-options button.selected{border-color:var(--accent);background:#eee1ce}.quiz-options .correct{border-color:var(--success);background:#e4ebe1}.quiz-options .incorrect{border-color:var(--danger);background:#f6e9e5}.learning-card .actions{margin-top:24px}.answer-panel{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:radial-gradient(ellipse at top,#e9decd,transparent 65%),var(--paper)}.login-card,.login{width:min(100%,480px);padding:40px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 16px 48px #342a2410;text-align:center}.login-brand{font:italic 58px Georgia,serif;letter-spacing:-3px;color:var(--ink);margin-bottom:24px}.login-card h1{font-size:28px}.login-card p,.login p{color:var(--muted);font-size:15px}.login-card .primary{width:100%;margin-top:8px}.login-card .notice{text-align:left;margin-top:24px}.login-card .icon{margin-right:8px}.dev{font-size:12px;padding:12px;border:1px dashed var(--line);border-radius:8px;margin-top:24px}.footer{font-size:12px;color:var(--muted);padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;margin-top:32px}.loading-state{padding:48px;text-align:center;color:var(--muted)}dialog{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:16px;width:min(720px,calc(100vw - 32px));max-height:85dvh;padding:28px;box-shadow:0 24px 80px #0003}dialog::backdrop{background:#241c1899;backdrop-filter:blur(3px)}dialog .close{float:right;min-width:44px;margin-left:16px}dialog img{width:100%;max-height:280px;object-fit:cover;border-radius:8px;margin-bottom:24px}dialog h2{padding-right:36px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:12px 20px;border-radius:10px;box-shadow:0 8px 24px #342a2430;z-index:100;display:none;max-width:calc(100vw - 32px);font-size:14px}.mobilelabel{display:none}.skeleton{background:linear-gradient(90deg,#e8e0d4,#f3ece0,#e8e0d4);background-size:200% 100%;animation:shimmer 1.8s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}
@media(min-width:1450px){.grid{grid-template-columns:repeat(4,minmax(240px,1fr))}}
@media(min-width:768px) and (max-width:1023px){.app-shell{grid-template-columns:92px minmax(0,1fr)}.sidebar{width:92px;padding:28px 12px}.sidebar .brand{font-size:29px;letter-spacing:-2px;padding:4px 0 32px;text-align:center}.sidebar .brand small,.sidebar .navlink span,.sidebar-foot,.navgroup-label{display:none}.sidebar .navlink{justify-content:center;padding:12px}.sidebar .icon{width:24px;height:24px}.content{padding:24px}.userbar{padding:14px 24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{gap:24px;grid-template-columns:1fr}.detail-photo{min-height:0}.detail-photo img{max-height:360px}.detail-photo .photo-empty{min-height:280px}.admin-row{grid-template-columns:48px minmax(0,1fr)}.admin-actions{grid-column:2}.admin-row img,.admin-row .visual{width:48px;height:48px}}
@media(max-width:767px){body{font-size:16px}.app-shell{display:block}.sidebar{display:none}.workspace{width:100%}.content{padding:24px 16px calc(100px + env(safe-area-inset-bottom));max-width:none}.userbar{min-height:64px;padding:12px 16px;background:var(--ink);color:var(--card);justify-content:space-between;border-bottom:0}.userbar .userchip{font-size:12px}.userbar .userchip small{color:#d5c9bb}.userbar .userchip .avatar{width:34px;height:34px;background:#ffffff15;color:#e4d2bb}.userbar button{color:var(--card);border-color:#ffffff30;background:transparent;padding:8px;min-width:44px}.mobile-brand{display:block;font:italic 32px Georgia,serif;letter-spacing:-1px}.bottomnav{position:fixed;inset:auto 0 0;z-index:30;display:flex;background:var(--ink);color:#ddd3c8;padding:6px 8px calc(6px + env(safe-area-inset-bottom));min-height:70px;box-shadow:0 -3px 16px #342a2418;justify-content:space-around}.bottomnav .navlink{width:auto;flex:1;min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px;position:relative;font-size:11px;border-radius:6px}.bottomnav .navlink.active{color:#fff8e8;background:#ffffff08}.bottomnav .navlink.active:before{content:'';position:absolute;top:0;left:calc(50% - 12px);width:24px;height:3px;border-radius:999px;background:#bc9870}.bottomnav .icon{width:22px;height:22px}.hero,.hero.compact{padding:0 0 20px;align-items:flex-start;flex-direction:column;gap:16px}.hero h1,h1{font-size:28px;line-height:34px}.hero h1{margin-bottom:6px}.hero-actions{width:100%;gap:8px}.hero-actions button{flex:1}.tools{gap:12px;margin-bottom:16px}.tabs{flex:1}.tabs button{flex:1;min-width:0}.search{flex-basis:100%;max-width:none;min-width:0;order:2}.tools>select{flex:1;width:auto;min-width:130px}.categories{margin:0 -16px 16px;padding:0 16px 8px;gap:8px}.categories button{padding:8px 16px}.grid{grid-template-columns:1fr;gap:16px}.visual{height:210px}.itembody{padding:16px}.itembody h3{font-size:24px}.itembody p{font-size:15px}.count{font-size:13px}.detailhead{margin-bottom:20px;gap:8px;flex-wrap:wrap}.detail-layout{grid-template-columns:1fr;gap:24px}.detail-photo{min-height:0}.detail-photo img{height:auto;max-height:280px}.detail-photo .photo-empty{min-height:210px;height:210px}.detail-info h1{font-size:28px;line-height:34px}.detail-meta{font-size:14px;gap:16px}.facts{grid-template-columns:1fr;gap:20px}.fact.full{grid-column:auto}.fact strong{font-size:22px}.detail-page>.actions button{width:100%}.editorhead{align-items:flex-start;flex-direction:column;gap:12px}.formgrid{grid-template-columns:1fr;gap:20px}.field.wide{grid-column:auto}.formsection{padding:20px 16px}.sticky{position:static;padding:16px;border-radius:12px;margin-top:24px}.sticky button{flex:1;min-width:120px}.admin-row{padding:16px;grid-template-columns:56px minmax(0,1fr);gap:12px}.admin-row img,.admin-row .visual{width:56px;height:56px}.admin-actions{grid-column:1/-1;justify-content:flex-end}.admin-actions button{flex:1;font-size:13px}.table-head{display:none}.teamrow{gap:12px;align-items:flex-start}.teamrow>strong{flex-basis:100%}.teamrow button,.teamrow select{flex:1;min-width:130px}.stats{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:16px 10px}.stat strong{font-size:26px}.stat small{font-size:12px;line-height:1.3;display:block}.profile-card,.learning-card{padding:20px}.profile-card{gap:16px}.learning-card h2{font-size:24px}.learning-card .actions button{flex:1}.footer{display:block;font-size:11px}.footer>*{display:block;margin-bottom:8px}.login-card,.login{padding:32px 24px}.login-brand{font-size:52px}dialog{padding:24px 20px;max-height:85dvh}.mobilelabel{display:block}#toast{bottom:calc(86px + env(safe-area-inset-bottom))}.empty-state{padding:36px 20px}.userbar .brand{padding:0}.notice{font-size:14px}.material{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Faithful page geometry from the supplied Mamie designs. */
@font-face{font-family:Parisienne;src:url('/assets/Parisienne-Regular.ttf') format('truetype');font-display:swap}
h1{font-size:56px;font-weight:700;letter-spacing:-1.7px;line-height:1.14}.sidebar{width:190px;background:#30261e;padding:24px 12px}.app-shell{grid-template-columns:190px minmax(0,1fr)}.brand,.login-brand,.mobile-brand{font-family:Parisienne,cursive;font-style:normal;font-weight:400;letter-spacing:0;line-height:1}.brand{font-size:58px;text-align:center;padding:4px 4px 42px}.brand small{font-size:8px;letter-spacing:1.6px;margin-top:9px}.icon{display:inline-flex;align-items:center;justify-content:center;font-size:23px;line-height:1;width:24px;height:24px;vertical-align:middle}.userbar{height:72px;min-height:72px;padding:12px 28px;background:#fffcf740}.userchip{border:0;background:none;padding:0;text-align:left}.userchip .avatar{background:none;width:28px;color:#806d58}.content{padding:24px 28px}.hero{padding-bottom:20px}.hero h1{margin:0}.eyebrow{display:none}.grid{gap:14px}.item{box-shadow:none;border-radius:13px;background:#fffcf740}.item:hover{transform:none;box-shadow:none}.item-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:none;text-align:left}.item-open:hover{background:none}.visual{height:210px;border-radius:0}.itembody{padding:13px 16px 15px;text-align:left}.itembody h3{font-size:22px;letter-spacing:-.45px;margin-bottom:7px}.itembody p{font-size:14px;line-height:1.35;margin-bottom:11px}.favorite{width:42px;height:42px;top:10px;right:10px;background:#fffdf4;border:0;color:#755b3f}.navlink{padding:14px 13px;min-height:52px;font-size:15px;gap:16px}.sidenav{gap:12px}.navgroup{margin-top:38px;padding-top:26px}.navgroup-label{text-transform:none;letter-spacing:0;font-size:11px}.tabs{width:354px;max-width:100%;padding:2px;background:none;gap:0}.tabs button{flex:1;min-width:0;border-radius:8px;font-size:17px}.categories{gap:10px}.categories button{border-radius:17px;font-size:14px}.photo-empty{background:#eee8df}.badge,.category-pill{display:inline-flex;width:max-content;max-width:100%;font-size:12px;font-family:Arial,sans-serif;line-height:1.35;border-radius:10px;padding:5px 12px;background:#efe3d3;color:#463525;letter-spacing:0}
@media(max-width:760px){h1,.hero h1{font-size:34px;letter-spacing:-.8px}.app-shell{display:block}.sidebar{display:none}.workspace{width:100%;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.userbar{position:sticky;top:0;z-index:15;display:flex;justify-content:center;background:#30261e;color:white;height:76px;min-height:76px;border:0;padding:16px 24px}.mobile-brand{display:block;font-size:43px;color:white;text-decoration:none}.userbar .userchip{display:none}.userbar .brand{font-size:43px;color:white;padding:0}.content{padding:18px 20px}.hero{gap:12px;align-items:flex-start;flex-direction:column;padding-bottom:16px}.hero>.primary{width:100%;min-height:48px}.bottomnav{display:flex;position:fixed;z-index:25;bottom:0;left:0;right:0;background:#fffcf6f5;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:12px;min-height:72px}.bottomnav .navlink{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;gap:4px;font-size:11px;min-height:52px;padding:4px;color:#51483f;background:none}.bottomnav .navlink.active{color:#88613c}.bottomnav .icon{font-size:25px;width:25px;height:25px}.tools{gap:10px;margin-bottom:16px}.tabs{width:100%}.tabs button{font-size:15px;min-height:40px;padding:8px}.search{margin:0;width:100%;max-width:none;flex-basis:100%}.categories{margin:0 -20px 16px;padding:0 20px 4px;gap:8px;scrollbar-width:none}.categories button{font-size:13px;min-height:37px;padding:9px 18px}.grid{grid-template-columns:1fr;gap:14px}.visual{height:190px}.itembody{padding:13px 15px}.itembody h3{font-size:22px}.itembody p{font-size:14px}.favorite{width:39px;height:39px}.badge,.category-pill{font-size:11px;padding:5px 12px}}
/* Page-specific composition shared with the supplied screens. */
.tools{display:flex;align-items:center;gap:24px}.search{margin-left:auto;flex:1;max-width:420px}.illustration-label{position:absolute;bottom:8px;left:8px;padding:3px 7px;background:#fffcf6d9;border-radius:5px;font-size:10px;color:#675b4d}.visual{position:relative;overflow:hidden}.visual img{width:100%;height:100%;object-fit:cover}.itembody .meta{display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap}.categories{scrollbar-width:none}.categories::-webkit-scrollbar{display:none}
.detail-page{max-width:1080px}.breadcrumb{margin-bottom:24px;color:#756854;font-size:14px}.detail-layout{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(280px,1.05fr);gap:34px;align-items:start}.detail-photo{height:560px;border-radius:12px;min-height:0}.detail-copy h1{font-size:46px;margin:0 0 16px}.detail-meta{display:flex;gap:22px;margin:20px 0;padding-bottom:20px;border-bottom:1px solid var(--line)}.detail-category{display:inline-block;background:#e9dfcf;border-radius:14px;padding:6px 15px;font-size:13px}.detail-sections{display:grid;gap:0}.fact-accordion{border-bottom:1px solid var(--line);padding:15px 0}.fact-accordion summary{font:bold 21px Georgia;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.fact-accordion summary:after{content:'⌄';font:18px Arial}.fact-accordion p{line-height:1.65;margin:12px 0}.detail-intro{font-size:16px;line-height:1.5}.repeat-dish{margin-top:20px;width:100%}
.design-table{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.admin-row{display:grid;grid-template-columns:64px minmax(180px,1fr) 105px 94px 110px;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.admin-row:last-child{border:0}.admin-row>.visual{width:64px;height:60px;border-radius:8px}.admin-row .illustration-label{display:none}.admin-main{background:none;border:0;padding:0;text-align:left}.admin-main strong{display:block;font-size:17px}.admin-main small{display:block;margin-top:6px;color:var(--muted)}.admin-actions{display:flex;gap:5px}.admin-actions button{padding:6px}.updated-date{font-size:12px;color:var(--muted)}.status-tabs{display:flex;gap:8px;margin-bottom:18px}.status-tabs button{border-radius:18px;padding:7px 14px}.status-tabs .active{background:var(--olive);color:white}
.editor{max-width:none}.editorhead h1{font-size:42px}.editor-layout{display:grid;grid-template-columns:125px minmax(250px,1fr) 235px;gap:18px;align-items:start}.editor-nav{display:grid;gap:8px;position:sticky;top:20px}.editor-nav a{color:var(--ink);text-decoration:none;padding:10px 8px;border-radius:7px;font-size:14px}.editor-nav a:first-child{background:#e8decf}.editor-main{min-width:0}.formsection{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}.formsection h2{font-size:23px;margin:0 0 18px}.formgrid{gap:14px}.field{min-width:0}.field input,.field select,.field textarea{width:100%;min-width:0}.editor-photo-panel .visual{height:185px;border-radius:7px;margin-bottom:15px}.editor-photo-panel input{font-size:12px}.editor .sticky{position:sticky;bottom:0;padding:16px;background:var(--paper);border-top:1px solid var(--line);justify-content:flex-end;margin-top:20px;z-index:5}
.category-layout{display:grid;grid-template-columns:minmax(250px,1fr) 320px;gap:22px;align-items:start}.category-list{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}.category-row{width:100%;display:flex;align-items:center;gap:16px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:17px;background:none}.category-row strong{flex:1}.category-row .count{font-size:12px;color:var(--muted)}.category-row .index{color:var(--muted)}.category-layout form{border:1px solid var(--line);padding:22px;border-radius:10px;background:var(--card)}.category-layout form h2{font-size:24px}.category-layout form label{display:block;margin:15px 0}.category-layout form input,.category-layout form select{width:100%}
.team-table{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}.teamrow,.team-table .table-head{display:grid;grid-template-columns:minmax(220px,1fr) 160px 130px 120px;gap:15px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.team-table .table-head{font-size:12px;color:var(--muted);background:#efe9df}.team-person{display:flex;align-items:center;gap:12px}.team-person strong,.team-person small{display:block}.team-person small{margin-top:5px;color:var(--muted)}.profile-avatar,.round-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#ebe1d1;color:#796243;flex-shrink:0}.teamrow select{width:100%}
.learning-page,.profile-page{max-width:1040px}.learning-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}.action-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:205px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:22px;gap:14px}.action-card strong{font:bold 25px Georgia}.action-card p,.action-card span{color:var(--muted);line-height:1.5}.progress-card{display:flex;align-items:center;gap:20px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;margin:22px 0}.progress-copy{flex:1;display:grid;gap:9px}.progress-copy strong{font:bold 26px Georgia}.progress-copy span{font-size:14px;color:var(--muted)}.progress-metric{width:200px;display:grid;gap:8px}.progress-metric strong{font-size:23px}.progress-track{height:8px;background:#e5ddd0;border-radius:8px;overflow:hidden;width:100%}.progress-track>span{display:block;height:100%;background:#9c7b51;border-radius:8px}.recent-section h2{font-size:30px;margin:30px 0 18px}.recent-list{display:grid;gap:14px}.material-row{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}.material-open{display:flex;width:100%;padding:0;border:0;border-radius:0;text-align:left;background:none;align-items:stretch}.material-thumb{width:185px;height:130px;object-fit:cover;flex-shrink:0}.material-copy{padding:18px;display:grid;gap:8px;flex:1}.material-title{font:bold 23px Georgia}.material-description{font-size:14px;color:var(--muted)}.row-chevron{font-size:25px;color:#8d7658}.profile-identity{display:flex;align-items:center;gap:18px;margin:12px 0 25px}.profile-identity>.profile-avatar{width:75px;height:75px;font-size:26px}.profile-name{font:bold 27px Georgia}.profile-telegram{color:var(--muted);margin-top:7px}.section-switch{display:flex;border-bottom:1px solid var(--line);gap:30px;margin:20px 0 25px}.section-switch button{background:none;border:0;border-radius:0;padding:13px 0;color:var(--muted)}.section-switch .active{color:var(--ink);border-bottom:3px solid var(--accent)}.profile-update{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #dbc28f;border-radius:10px;background:#f4ead6;margin:20px 0}.profile-update p{font-size:13px;margin:6px 0 0}.profile-update .primary{margin-left:auto}.profile-settings{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:22px;margin-top:26px}.account-setting{display:flex;gap:15px;align-items:center;margin:20px 0}.account-setting p{color:var(--muted);margin:5px 0}.logout-button{margin-top:20px;display:flex;align-items:center;gap:12px}.favorites-empty{text-align:center;padding:55px 20px}
.quiz-page,.lesson-page{max-width:800px;margin:auto}.quiz-progress,.lesson-progress{display:flex;align-items:center;gap:20px;margin:25px 0}.quiz-progress .progress-track,.lesson-progress .progress-track{flex:1}.quiz-page h1,.lesson-page h1{font-size:40px}.quiz-options{display:grid;gap:13px;margin:26px 0}.quiz-option{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer}.quiz-option.selected{background:#f0e6d7;border-color:#9b7c55}.quiz-option input{width:20px;height:20px;accent-color:#957448}.quiz-controls{display:flex;gap:15px;justify-content:space-between}.quiz-feedback{border:1px solid #afbb91;background:#edf0e2;border-radius:10px;padding:22px;margin-top:22px}.quiz-feedback.incorrect{background:#f7e7db;border-color:#c59d85}.feedback-heading{font:bold 25px Georgia}.quiz-result{text-align:center;padding:30px}.result-score{font:bold 58px Georgia;margin:24px}.lesson-card{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:28px}.lesson-card .material-thumb{width:100%;height:260px;border-radius:8px}.answer-facts{line-height:1.6}.answer-hidden{text-align:center;padding:30px}.lesson-answer-actions{display:flex;gap:14px;margin-top:24px}.text-button{background:none;border:0;padding:8px;color:#846849}
.login-shell{background:var(--paper);padding:35px;min-height:calc(100vh - 72px)}.login-card{border:1px solid var(--line);box-shadow:none;background:transparent;padding:35px 48px;width:480px;text-align:center}.login-brand{font-size:82px}.login-card h1{font-size:42px;letter-spacing:-1px;margin:22px 0}.login-steps{margin-top:24px;text-align:left;display:grid;gap:16px}.login-steps>div{display:flex;align-items:center;gap:14px}.login-steps b{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;flex-shrink:0}.confirm-panel{padding:30px;width:min(100%,480px)}.confirm-panel h2{font-size:28px}.confirm-panel p{line-height:1.6}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}
@media(min-width:1024px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1023px){.app-shell{grid-template-columns:170px minmax(0,1fr)}.sidebar{width:170px}.sidebar .brand{font-size:50px;letter-spacing:0}.sidebar .brand small,.sidebar .navlink span,.sidebar-foot,.navgroup-label{display:block}.sidebar .navlink{justify-content:flex-start}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout{grid-template-columns:110px minmax(0,1fr)}.editor-photo-panel{grid-column:2}.category-layout{grid-template-columns:1fr}.admin-row{grid-template-columns:50px minmax(0,1fr) 90px}.updated-date{display:none}.admin-actions{grid-column:auto}.teamrow,.team-table .table-head{grid-template-columns:minmax(140px,1fr) 130px 110px}.teamrow>:last-child,.team-table .table-head>:last-child{display:none}}
@media(max-width:767px){.tools{flex-wrap:wrap;gap:12px}.search{max-width:none;flex-basis:100%}.detail-layout{display:block}.detail-photo{height:260px;margin:0 -20px 24px;border-radius:0}.detail-copy h1{font-size:34px}.detail-meta{gap:18px;font-size:14px}.fact-accordion summary{font-size:21px}.breadcrumb{margin-bottom:17px;font-size:12px}.admin-row{grid-template-columns:65px minmax(0,1fr);padding:15px;gap:10px}.admin-row>.badge{grid-column:2}.admin-row .updated-date{display:none}.admin-actions{grid-column:2;justify-content:flex-start}.editorhead{align-items:flex-start;flex-direction:column}.editorhead h1{font-size:32px}.editor-layout{display:flex;flex-direction:column}.editor-nav{display:flex;overflow:auto;width:100%;position:static}.editor-nav a{white-space:nowrap}.editor-main,.editor-photo-panel{width:100%}.formgrid{grid-template-columns:1fr}.formsection{padding:18px}.editor .sticky{bottom:72px;flex-wrap:wrap;padding:12px 0}.editor .sticky button{flex:1;min-width:140px}.category-layout{display:block}.category-layout form{margin-top:20px}.category-row{gap:10px;padding:15px}.category-row strong{min-width:0}.category-row .count{max-width:64px}.team-table .table-head{display:none}.teamrow{display:flex;flex-wrap:wrap;gap:13px}.team-person{width:100%}.teamrow select{width:auto;flex:1}.learning-actions{grid-template-columns:1fr;gap:12px;margin:18px 0}.action-card{min-height:130px;padding:20px;gap:10px}.action-card strong{font-size:24px}.progress-card{flex-wrap:wrap;padding:18px;gap:12px}.progress-copy{min-width:180px}.progress-copy strong{font-size:24px}.progress-metric{width:100%;padding-left:64px}.progress-card>.row-chevron{display:none}.material-thumb{width:100px;height:125px}.material-copy{padding:13px;gap:6px}.material-title{font-size:21px}.material-description{font-size:12px}.profile-update{flex-wrap:wrap}.profile-update .primary{width:100%;margin:0}.section-switch{gap:25px}.profile-identity{gap:13px}.profile-name{font-size:23px}.profile-settings{padding:18px}.quiz-page h1,.lesson-page h1{font-size:31px}.quiz-option{padding:18px 15px}.quiz-controls{flex-wrap:wrap}.quiz-controls .primary{width:100%}.lesson-card{padding:18px}.lesson-answer-actions{flex-wrap:wrap}.lesson-answer-actions button{flex:1}.login-shell{padding:25px 20px;min-height:calc(100vh - 76px)}.login-card{padding:25px 18px;width:100%;max-width:460px}.login-brand{font-size:76px}.login-card h1{font-size:32px}.confirm-panel{padding:24px}.confirm-actions{flex-direction:column}.bottomnav .navlink.active:before{display:none}.footer{display:none}}
.detail-copy h1{font-weight:400;letter-spacing:-1px}.detail-category{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;padding:0;border-radius:0}.detail-category .quiet{border:0;background:none}.detail-photo{height:560px}.fact-accordion>div{font-size:15px;line-height:1.5;margin-top:10px;color:#605b53}.fact-accordion summary{font-weight:400}.detail-page>.back-link{margin-bottom:24px;border:0;padding:0;background:none}.login-shell>.sidebar{position:fixed;left:0;top:0;bottom:0}.login-shell{padding-left:225px}.login-steps{list-style:none;counter-reset:steps;padding-left:0}.login-steps li{display:flex;align-items:center;gap:12px;counter-increment:steps}.login-steps li:before{content:counter(steps);border:1px solid var(--line);border-radius:50%;width:30px;height:30px;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0}.formsection h3{font-size:25px;margin:0 0 18px}.learning-toolbar{display:flex;align-items:center;gap:20px}.learning-toolbar select{margin-left:auto;min-width:230px}.profile-identity .profile-name{margin:0}.quiz-question-source{color:var(--muted)}
@media(max-width:767px){.login-shell{padding-left:20px}.login-shell>.sidebar{display:none}.learning-toolbar{flex-wrap:wrap}.learning-toolbar select{width:100%;margin:0}.detail-copy h1{font-size:32px}.detail-category{margin-bottom:14px}.detail-photo{height:260px}.fact-accordion summary{font:600 17px Arial}.fact-accordion:not([open])>div{display:none}}
.learning-toolbar .section-switch{width:330px;max-width:100%;border:1px solid var(--line);border-radius:10px;gap:0;margin:0}.learning-toolbar .section-switch button{flex:1;padding:12px;border:0;border-radius:9px}.learning-toolbar .section-switch .active{background:var(--accent);color:white}.learning-toolbar select{max-width:285px}.action-card{position:relative;min-height:175px;gap:10px;padding:20px}.action-card>.row-chevron{position:absolute;right:18px;top:55px}.action-card strong{font-size:21px}.action-card>.round-icon{width:56px;height:56px}.progress-line{display:flex;align-items:center;gap:18px;margin:25px 0 35px;font-size:14px}.progress-line .progress-track{flex:1}.progress-line>span{white-space:nowrap}.recent-section h2{font-weight:700}.material-open>.row-chevron{align-self:center;padding:0 14px}.material-copy small{color:var(--muted);font-size:12px}.sidebar{background:linear-gradient(105deg,#3e3024,#2f251d 75%)}
@media(max-width:767px){.learning-toolbar .section-switch{width:100%}.learning-toolbar select{max-width:none}.action-card{min-height:170px}.progress-line{flex-wrap:wrap;gap:12px}.progress-line .progress-track{flex-basis:55%}.progress-line>span{width:100%;text-align:right}.material-open>.row-chevron{padding-right:10px}.material-copy{min-width:0}}

/* Reference page composition: learning, category drawer and drink facts. */
.learning-recent-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:25px;align-items:start}.learning-example{border:1px solid var(--line);background:var(--card);border-radius:12px;overflow:hidden}.learning-example>h2{font-size:23px;padding:18px 20px;margin:0}.example-photo{width:100%;height:190px;object-fit:cover}.example-copy{padding:20px}.example-copy h3{font:26px Georgia,serif;margin:0 0 12px}.example-copy h4{font:20px Georgia,serif;margin:20px 0 8px}.example-copy p{font-size:14px;line-height:1.55}.example-copy button{width:100%;margin-top:14px}.learning-actions .action-card{min-height:175px;padding:18px 20px}.learning-actions .round-icon{width:48px;height:48px;margin-bottom:12px}.learning-actions .action-card>strong{margin:0 0 10px}.progress-track>span{background:#343a25}.learning-recent-grid .material-thumb{width:135px;height:145px}.learning-recent-grid .material-title{font-size:24px}.learning-recent-grid .material-description{-webkit-line-clamp:2}.category-drawer{padding:22px!important;align-self:start}.category-layout .category-drawer form{padding:0;border:0;background:transparent;display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px!important}.category-layout .category-drawer .field{margin:0;gap:8px}.category-drawer h2{font:27px Georgia,serif;margin:0 0 22px}.category-picker{display:none!important}.category-row{grid-template-columns:62px minmax(0,1fr) auto 24px;min-height:90px;gap:16px;margin-bottom:10px;border:1px solid #dcd3c5;border-radius:10px;background:#fffcf6;padding:12px}.category-thumb{width:62px;height:62px;border-radius:8px;overflow:hidden;display:grid;place-items:center;background:#ede6d9}.category-thumb img{width:100%;height:100%;object-fit:cover}.category-thumb .illustration-label{display:none}.drink-detail .detail-layout{grid-template-columns:380px minmax(0,1fr);align-items:start}.drink-detail .detail-photo{height:280px}.drink-detail .detail-sections{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.drink-detail .detail-copy{display:contents}.drink-detail .detail-category,.drink-detail h1,.drink-detail .detail-meta,.drink-detail .detail-intro{grid-column:2}.drink-detail .detail-photo{grid-column:1;grid-row:1/5}.drink-detail .detail-layout{gap:10px 34px}.drink-detail .detail-copy>button,.drink-detail .source-info{grid-column:1/-1}.detail-copy .repeat-dish{width:100%;margin-top:24px}.profile-tabs{display:flex;gap:8px;border-bottom:1px solid #dcd3c5;margin:16px 0 24px}.profile-tabs button{background:none;border:0;border-radius:0;padding:14px 20px}.profile-tabs button.active{border-bottom:2px solid #997956;color:#745438}
@media(max-width:767px){.learning-recent-grid{display:block}.learning-example{display:none}.learning-recent-grid .material-thumb{width:110px;height:135px}.category-layout .category-drawer{width:100%}.category-row{grid-template-columns:54px minmax(0,1fr) 20px;gap:12px}.category-thumb{width:54px;height:54px}.category-row small{grid-column:2;grid-row:2;margin-top:-24px}.category-row>.ti{grid-column:3;grid-row:1/3}.drink-detail .detail-layout{display:flex;flex-direction:column}.drink-detail .detail-copy{display:block;width:100%}.drink-detail .detail-photo{width:100%;height:240px}.drink-detail .detail-sections{display:block}.drink-detail .detail-category{margin-top:22px}}
.learning-actions .action-card{gap:0;min-height:180px}.learning-actions .action-card>strong{font-size:19px;line-height:24px}.learning-actions .action-card>span:last-child{font-size:14px;line-height:20px}.learning-actions .round-icon{margin-bottom:14px}.learning-recent-grid .recent-section h2{font-size:29px;margin-top:22px}
.profile-identity{border:1px solid #dcd3c5;border-radius:12px;background:#fffcf6;padding:22px;gap:22px;min-height:125px}.profile-name h2{font:28px Georgia,serif;margin:0 0 10px}.profile-name p{font:14px Arial,sans-serif;color:#79756d;margin:0}.profile-name .category-pill{display:inline-block;vertical-align:middle;font:12px Arial,sans-serif}.profile-telegram{display:flex;align-items:center;gap:12px;border:1px solid #e3dbcf;border-radius:12px;padding:14px;font-size:14px}.profile-telegram small{display:block;font-size:12px;margin-top:6px}.profile-page .profile-tabs{width:375px;border:1px solid #dcd3c5;border-radius:10px;margin:18px 0 24px;padding:0}.profile-page .profile-tabs button{border:0;border-radius:9px;flex:1}.profile-page .profile-tabs button.active{background:#997956;color:#fff}.profile-settings{border:0;border-top:1px solid #dcd3c5;border-radius:0;background:none;padding:22px 0;margin-top:24px}.profile-settings h2{font:20px Arial,sans-serif}.profile-settings .account-setting{border:1px solid #dcd3c5;border-radius:10px;background:#fffcf6;padding:18px}.profile-settings .actions{margin:16px 0}.profile-page .progress-card{min-height:108px}.profile-page .round-icon{width:70px;height:70px}.profile-page .progress-metric{padding-left:24px;border-left:1px solid #e7dfd3}@media(max-width:767px){.profile-identity{padding:20px;gap:14px}.profile-telegram{width:100%;font-size:13px}.profile-name h2{font-size:23px}.profile-page .profile-tabs{width:100%}.profile-page .progress-metric{border:0;padding-left:0}.profile-page .round-icon{width:52px;height:52px}}
.layout>main>.table-head{display:grid;grid-template-columns:64px minmax(0,1fr) 105px 94px 110px;gap:14px;align-items:center;padding:17px 16px;border:1px solid #dcd3c5;border-radius:10px 10px 0 0;background:#eee8de;text-transform:none;font-size:13px;color:#51483e}.admin-row .visual{padding:0;width:64px;height:72px;border:0;position:relative}.admin-row .visual img{width:100%;height:100%;padding:0;object-fit:cover;border-radius:6px}.admin-main h3{font-size:20px;line-height:1.2;margin:0 0 10px}.admin-row{min-height:112px}.admin-row .illustration-label{display:none}.status-tabs{display:flex;gap:12px;margin:20px 0 26px}.status-tabs button{background:#ece8e0;border:0;border-radius:18px;padding:11px 20px;color:#342a24}.status-tabs button.active{background:#343a25;color:#fff}.status-tabs button:last-child{margin-left:auto;background:none;text-decoration:underline}.admin-actions button{padding:8px;border:0;background:none}.admin-actions button span{font-size:12px}.admin-actions button i{font-size:24px}@media(max-width:767px){.layout>main>.table-head{display:none}.admin-row .visual{width:74px;height:80px}.status-tabs{gap:6px;flex-wrap:wrap}.status-tabs button{padding:9px 12px;font-size:12px}.admin-row{min-height:130px}}
.team h1{font:700 56px Georgia,serif;margin:0 0 24px}.team>.profile-tabs{width:375px;border:1px solid #dcd3c5;border-radius:10px;margin:0 0 22px}.team>.profile-tabs button{flex:1;border:0;border-radius:9px}.team>.profile-tabs button.active{background:#997956;color:#fff}.team>.search{display:block;width:100%;margin-bottom:22px}.team-table .table-head{text-transform:none;font-size:14px}.teamrow{min-height:80px}.teamrow .profile-avatar{font-size:21px}.teamrow strong{font-weight:400}.teamrow small{font-size:12px}.teamrow .badge.published:before{content:"";width:7px;height:7px;border-radius:50%;background:#496b3e;display:inline-block;margin-right:6px}@media(max-width:767px){.team h1{font-size:34px}.team>.profile-tabs{width:100%}}

.progress-track progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:8px;border:0;background:#e5ddd0;color:#343a25}.progress-track progress::-webkit-progress-bar{background:#e5ddd0;border-radius:8px}.progress-track progress::-webkit-progress-value{background:#343a25;border-radius:8px}.progress-track progress::-moz-progress-bar{background:#343a25;border-radius:8px}.editorhead h1{font:40px Georgia,serif}.category-list{border:0;background:none;padding:0}.category-list .tabs{margin-bottom:20px}.quiz-option{padding:18px;min-height:64px}.footer{border-top:0;color:#8d8478;font-size:12px}

.login-shell .login-card{width:min(720px,calc(100% - 60px));max-width:none;padding:28px 34px 34px;margin:56px auto;background:#fffcf6;border-radius:14px}.login-card .login-brand{font-size:64px;margin:0 0 8px;line-height:1.15}.login-card h1{font:700 48px Georgia,serif;line-height:1.15;margin:10px 0}.login-card>p.muted:first-of-type{font-size:24px;margin:0 0 28px}.login-card>.primary,.login-open-bot{display:flex;justify-content:center;align-items:center;gap:18px;width:450px;max-width:100%;margin:0 auto 18px;min-height:56px;font-size:20px}.login-card>.primary .ti{font-size:30px}.login-open-bot{min-height:46px;background:none;border-color:#a79077;font-size:17px}.login-card #loginstatus{font-size:13px;margin:8px 0 18px}.login-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0 0;padding:0;list-style:none;counter-reset:none}.login-steps li{display:flex;flex-direction:column;align-items:center;gap:14px;padding:0;font-size:15px;text-align:center}.login-steps li:before{display:none}.step-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eee6da}.login-steps .ti{font-size:35px}.login-steps strong{font-size:15px;font-weight:400}.login-steps small{font-size:14px;color:#77716b;line-height:1.5}.login-card>[data-action=dev-login]{margin-top:24px}@media(max-width:767px){.login-shell .login-card{width:calc(100% - 32px);padding:24px 18px;margin:28px auto}.login-card h1{font-size:30px}.login-card>p.muted:first-of-type{font-size:17px}.login-card .login-brand{font-size:60px}.login-steps{display:flex;flex-direction:column;gap:22px}.login-steps li{display:grid;grid-template-columns:38px 1fr;gap:10px;text-align:left;align-items:center}.login-steps li>.ti{display:none}.login-steps strong{grid-column:2;grid-row:1}.login-steps small{grid-column:2}.login-card>.primary,.login-open-bot{font-size:16px}}

.mobile-menu{display:none}@media(max-width:767px){.userbar{position:relative}.mobile-menu{display:grid;place-items:center;position:absolute;left:16px;top:20px;width:36px;height:36px;padding:0;background:none;border:0;color:#f5f1e8}.mobile-menu .ti{font-size:26px}.mobile-menu-open .sidebar{display:block;position:fixed;top:76px;bottom:72px;left:0;width:230px;height:auto;z-index:90;padding:20px 12px;overflow:auto;box-shadow:12px 0 25px #342a2440}.mobile-menu-open .sidebar .brand,.mobile-menu-open .sidebar .brand-note{display:none}.mobile-menu-open .sidebar .nav{margin-top:0}.mobile-menu-open .sidebar button{width:100%;color:#f5f1e8}.mobile-menu-open .sidebar .nav button.active{background:#997956}.mobile-menu-open .sidebar .nav{display:flex;flex-direction:column}}

@media(max-width:767px){.admin-row{grid-template-columns:74px minmax(0,1fr);column-gap:12px}}
.lesson-photo{display:block;width:100%;height:260px;object-fit:cover;border-radius:8px;margin-bottom:18px}.lesson-card>h2{font:18px Arial,sans-serif;margin:22px 0 16px}.lesson-card>.primary,.lesson-finish{display:block;width:100%;margin-top:8px}.answer-hidden{padding:18px;text-align:center;border:1px solid var(--line);border-radius:10px;background:#f0ebe2}.answer-hidden>.icon,.answer-hidden>strong{display:block;margin:0 auto 8px}.answer-hidden p{font-size:14px;margin:0;color:var(--muted)}@media(max-width:767px){.lesson-progress{display:block;margin:0 0 18px}.lesson-progress .progress-track{margin-top:6px}.lesson-card{padding:0;background:none;border:0}.lesson-photo{height:220px}.lesson-page h1{font-size:29px;margin-bottom:8px}}
.login-shell{grid-template-columns:minmax(0,1fr)}.login-card{min-width:0}@media(max-width:767px){.login-shell{padding:0 16px}.login-shell .login-card{width:100%;margin:28px 0}.login-card h1{white-space:normal}}
@media(min-width:768px){.team-page .editorhead h1,.team .editorhead h1{font:700 56px Georgia,serif}}
@media(min-width:768px){.learning-recent-grid{grid-template-columns:minmax(0,1fr) 255px;gap:28px}.learning-example{padding:10px;background:#f0ebe2}.learning-example>h2{font:13px Arial,sans-serif;margin:0 0 8px}.learning-example .example-photo{height:130px;border-radius:6px}.learning-example .example-copy{padding:10px 6px}.learning-example h3{font:18px Georgia,serif;margin:0 0 8px}.learning-example h4{font:14px Arial,sans-serif;margin:14px 0 6px}.learning-example p{font-size:13px}.learning-example button{font-size:13px}.material-title{font:24px Georgia,serif}.material-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.material-row .material-open{min-height:145px}.material-copy{padding:12px 16px}}

@media(max-width:767px){.profile-identity{flex-wrap:wrap}.profile-identity .profile-name{flex:1;min-width:0}.profile-telegram{flex-basis:100%;min-width:0}.profile-telegram span{overflow-wrap:anywhere}}
.learning-example h2{padding:0}

@media(max-width:767px){.editor .sticky{gap:8px;padding:8px}.editor .sticky #savestate{display:none}.editor .sticky button{min-width:0;font-size:12px;padding:10px 8px}.editor .sticky .danger{flex-basis:100%;padding:6px}}

.drink-detail .detail-meta>span{display:flex;align-items:center;min-height:70px;border:1px solid var(--line);border-radius:9px;padding:14px;flex:1}.drink-detail .detail-meta{display:flex;gap:12px}.drink-detail .detail-sections{margin-top:12px}
@media(max-width:767px){.drink-detail .detail-meta{width:100%;flex-wrap:wrap}.drink-detail .detail-meta>span{min-height:60px;font-size:13px}}

dialog:has([data-confirm-restore]),dialog:has([data-confirm-action]){width:390px;max-width:calc(100vw - 32px);padding:22px}dialog:has([data-confirm-restore]) h2{font-size:24px;margin-top:0}dialog:has([data-confirm-restore]) .actions{justify-content:flex-end}dialog:has([data-confirm-restore]) p{font-size:13px}

@media(min-width:1024px){.app-shell{grid-template-columns:184px minmax(0,1fr)}.sidebar{width:184px}.sidebar .brand{padding-bottom:20px}.userbar{height:64px;min-height:64px}.content{padding:20px}.hero.compact{padding-bottom:20px}.tools .search{max-width:358px}}

/* Compact menu section switcher. */
.tools .menu-section-tabs{width:auto;flex:0 0 auto;gap:2px;padding:2px}
.tools .menu-section-tabs button{flex:0 0 auto;min-width:78px;min-height:34px;padding:6px 14px;font-size:14px;line-height:20px}
.tools .menu-section-tabs .bar-coming-soon{display:flex;align-items:center;gap:7px;color:var(--muted);opacity:1;cursor:default}
.bar-coming-soon span{font-size:10px;line-height:16px;padding:1px 6px;border-radius:5px;background:#eae4d9;white-space:nowrap}

/* Stable photo frames at every viewport width. */
.grid .item .visual{height:210px;min-height:210px;max-height:210px;flex-shrink:0}
.grid .item .visual img,.editor-photo-panel .visual img,.admin-row .visual img,.detail-photo img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;display:block}
.editor-photo-panel .visual{height:185px;min-height:185px;max-height:185px}
.admin-row .visual{width:64px;height:72px;min-width:64px;min-height:72px;flex-shrink:0}
.photo-preview{display:block;width:100%;height:260px;min-height:260px;max-height:260px;object-fit:contain;object-position:center;background:#eee8df}
.lesson-photo{height:260px;min-height:260px;max-height:260px;object-fit:contain;object-position:center;background:#eee8df}
.learning-example .example-photo{display:block;height:130px;min-height:130px;max-height:130px;object-fit:contain;object-position:center;background:#eee8df}
.detail-page .detail-photo{height:360px;min-height:360px;max-height:360px}
.drink-detail .detail-photo{height:240px;min-height:240px;max-height:240px}
.detail-photo .photo-empty{height:100%;min-height:0}

.cropped-photo{display:block;width:100%;height:100%;background:#eee8df;overflow:hidden}
#photo-crop-dialog{width:620px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:24px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;overflow:auto}
#photo-crop-dialog::backdrop{background:#241b16a6}
.crop-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.crop-heading h2{margin:0;font:30px Georgia,serif}.crop-heading button{font-size:26px;padding:0 10px}
#photo-crop-dialog p{font-size:13px;line-height:1.5}
.crop-frame{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;background:#eee8df;border:2px solid var(--accent);border-radius:8px;touch-action:none;cursor:grab;user-select:none}
.crop-frame:active{cursor:grabbing}.crop-frame img{position:absolute;max-width:none;max-height:none;pointer-events:none;object-fit:fill}
.crop-guides{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 33.1%,#ffffff70 33.1%,#ffffff70 33.5%,transparent 33.5%,transparent 66.4%,#ffffff70 66.4%,#ffffff70 66.8%,transparent 66.8%),linear-gradient(to bottom,transparent 33.1%,#ffffff70 33.1%,#ffffff70 33.5%,transparent 33.5%,transparent 66.4%,#ffffff70 66.4%,#ffffff70 66.8%,transparent 66.8%)}
.crop-zoom{display:flex;align-items:center;gap:12px;margin:20px 0;font-size:14px}.crop-zoom input{flex:1;min-width:0;width:auto;accent-color:var(--accent);padding:0}.crop-zoom output{min-width:42px;text-align:right;font-size:12px}
.crop-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.crop-actions button{font-size:13px}.crop-save-note{margin-bottom:0}
@media(max-width:600px){#photo-crop-dialog{padding:16px}.crop-heading h2{font-size:25px}.crop-actions [data-crop-reset]{flex-basis:100%}}

.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.detail-toolbar .back-link{margin:0}.detail-photo-panel{min-width:0;margin:0;align-self:start}.detail-page .detail-photo{width:100%;height:360px;max-height:55vh;overflow:hidden}.detail-page .detail-photo img{width:100%;height:100%;object-fit:contain;object-position:center}.inline-photo-tools{display:grid;gap:12px;margin-top:14px}.inline-editing .detail-copy{min-width:0}.inline-editing .field{margin-bottom:12px}.inline-name input{font-family:var(--serif,Georgia,serif);font-size:28px}.inline-editing .actions{margin-top:24px}@media(max-width:767px){.detail-page .detail-photo{height:280px;max-height:45vh}.detail-toolbar{align-items:flex-start}.inline-name input{font-size:24px}}

/* Dish card: warm wood reference, full original image and in-place admin form. */
.dish-detail{width:100%;max-width:1080px;margin:0 auto;padding-bottom:8px}
.dish-detail .detail-toolbar{margin-bottom:24px}.dish-detail .back-link{border:0;background:transparent;padding:0;min-height:44px;font-size:16px}
.dish-detail .detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.dish-detail .detail-photo-panel{width:100%;margin:0;align-self:start}
.dish-detail .detail-photo{height:560px;min-height:0;max-height:640px;width:100%;border-radius:12px;background:#eee8df;display:flex;align-items:center;justify-content:center}
.dish-detail .detail-photo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.dish-detail .detail-copy{display:block;min-width:0;width:100%}
.dish-detail .detail-category{display:flex;align-items:center;justify-content:space-between;background:none;border-radius:0;padding:0;margin:0 0 14px;min-height:38px}
.dish-detail .detail-category>.badge{padding:9px 17px;border-radius:13px;font-size:14px;font-weight:400;background:#eee2d2}
.dish-detail .detail-category>button{border:0;background:none;padding:7px;color:#7b6852;font-size:26px}
.dish-detail .detail-copy h1{font:400 clamp(32px,3.4vw,46px)/1.1 Georgia,serif;letter-spacing:-.7px;margin:0 0 22px;color:#241f1a;overflow-wrap:anywhere}
.dish-detail .detail-meta{display:flex;gap:28px;flex-wrap:wrap;margin:0 0 24px;padding:0;border:0;font-size:15px;color:#4e453b}
.dish-detail .detail-meta>span{display:flex;align-items:center;gap:10px;flex:0 1 auto;border:0;border-radius:0;padding:0;min-height:28px}
.dish-detail .detail-meta svg{width:24px;height:24px;color:#806c55;flex:none}
.dish-detail .detail-intro{font-size:18px;line-height:1.4;color:#626267;margin:0 0 28px}
.dish-detail .detail-sections{display:block;border-top:1px solid var(--line)}
.dish-detail .fact-accordion{padding:16px 0;border-bottom:1px solid var(--line)}
.dish-detail .fact-accordion summary{font:400 24px/1.2 Georgia,serif;color:#241f1a;list-style:none}
.dish-detail .fact-accordion summary::-webkit-details-marker{display:none}
.dish-detail .fact-accordion summary:after{display:none}
.dish-detail .fact-accordion>div{font-size:16px;line-height:1.45;color:#626267;margin-top:8px;white-space:pre-line}
.dish-detail .allergen-tags{display:flex;gap:10px;flex-wrap:wrap;white-space:normal}
.dish-detail .allergen-tags .badge{padding:9px 16px;border-radius:13px;background:#eee2d2;color:#493727;font-size:14px}
.dish-detail>.repeat-dish{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:60px;margin-top:28px;border-radius:12px;font-size:17px}
.dish-detail>.repeat-dish .icon{font-size:25px}
.dish-detail .source-info{margin-top:20px;font-size:13px;color:var(--muted)}
.dish-detail.inline-editing .detail-photo{height:560px}.dish-detail.inline-editing .detail-copy .formgrid{gap:12px}.dish-detail.inline-editing .actions{position:sticky;bottom:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;z-index:5}
@media(min-width:768px) and (max-width:1023px){.dish-detail .detail-layout{gap:24px}.dish-detail .detail-photo{height:480px}.dish-detail .detail-copy h1{font-size:34px}}
@media(max-width:767px){
 .dish-detail .detail-toolbar{margin-bottom:14px}.dish-detail .detail-layout{display:flex;flex-direction:column;gap:18px}
 .dish-detail .detail-photo,.dish-detail.inline-editing .detail-photo{height:280px;min-height:0;max-height:360px;border-radius:10px}
 .dish-detail .detail-category{margin-bottom:8px;min-height:32px}.dish-detail .detail-category>.badge{padding:7px 13px;font-size:13px}
 .dish-detail .detail-copy h1{font-size:32px;line-height:1.12;margin-bottom:12px}
 .dish-detail .detail-meta{gap:22px;font-size:14px;margin-bottom:12px}.dish-detail .detail-meta svg{width:22px;height:22px}
 .dish-detail .detail-intro{font-size:15px;line-height:1.4;margin-bottom:16px}
 .dish-detail .fact-accordion{padding:12px 0}.dish-detail .fact-accordion summary{font:600 16px/1.3 Arial,sans-serif}.dish-detail .fact-accordion summary:after{display:block;content:'⌄';font:20px Arial;color:#806c55}.dish-detail .fact-accordion[open] summary:after{transform:rotate(180deg)}
 .dish-detail .fact-accordion>div{font-size:15px}.dish-detail .allergen-tags{gap:8px}.dish-detail .allergen-tags .badge{padding:8px 14px;font-size:13px}
 .dish-detail>.repeat-dish{margin-top:20px;min-height:54px;font-size:16px}.dish-detail.inline-editing .actions{flex-wrap:wrap;position:static}
}

@media(min-width:768px){.dish-detail .fact-accordion:not([open]) summary:after{display:block;content:"⌄";font:20px Arial;color:#806c55}}

.sauce-tags{display:flex;flex-wrap:wrap;gap:8px}.sauce-tags button.badge{cursor:pointer;border:1px solid #d5c2aa;color:#493622;font:inherit;padding:8px 12px}.sauce-tags button:hover{background:#dfc9ac}.sauce-notes{margin-top:12px}.sauce-selection{border:1px solid #ded2c1;border-radius:12px;padding:14px}.sauce-selection>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;max-height:240px;overflow:auto}.sauce-selection label{display:flex;gap:8px;align-items:center;font-size:14px}.sauce-selection input[type=checkbox]{width:18px;min-height:18px;accent-color:#8f7452}.sauce-selection small{display:block;margin-top:12px}

.allergen-selection{border:1px solid #ded2c1;border-radius:12px;padding:14px}.allergen-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;max-height:240px;overflow:auto}.allergen-options label{display:flex;gap:8px;align-items:center;font-size:14px}.allergen-options input[type=checkbox]{width:18px;min-height:18px;accent-color:#8f7452}.allergen-add{display:flex;gap:8px;margin-top:16px}.allergen-add input{min-width:0;flex:1}.allergen-selection small{display:block;margin-top:10px}
.sauce-tags{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.sauce-chip{max-width:100%;border:1px solid #dfd0ba;border-radius:14px;background:#f4ecdf;overflow:hidden}.sauce-chip summary{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;cursor:pointer;list-style:none;font-size:14px;color:#493522}.sauce-chip summary::-webkit-details-marker{display:none}.sauce-mini{width:44px;height:38px;flex:0 0 44px;object-fit:contain;border-radius:9px}.sauce-chevron{margin-left:auto;transition:transform .15s}.sauce-chip[open]{flex-basis:100%}.sauce-chip[open] .sauce-chevron{transform:rotate(180deg)}.sauce-composition{padding:12px 16px;border-top:1px solid #dfd0ba;font-size:14px}.sauce-composition strong{font-family:Georgia,serif;font-size:18px;font-weight:400}.sauce-composition p{margin:6px 0 0;line-height:1.5}.sauce-chip summary:focus-visible{outline:2px solid #8f7452;outline-offset:-3px}.sauce-selection label{align-items:center}.sauce-selection .sauce-mini{width:36px;height:30px;flex-basis:36px}
.fact-accordion .sauce-chip>summary{font:14px/1.3 var(--font-body,Arial,sans-serif);border:0;margin:0}.fact-accordion .sauce-chip>summary::after{content:none}.fact-accordion .sauce-chip>summary .sauce-mini{width:44px;height:38px;margin:0}
.grid .item .visual img[src^="/assets/sauces/"]{height:210px;width:100%;object-fit:contain;object-position:center;background:#eee5d6}

/* Selected editorial kitchen card */
.dish-detail .detail-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px}
.dish-detail .detail-photo{height:630px;max-height:70vh;background:#ede7dc}
.dish-detail .detail-copy h1{font-size:clamp(30px,3.2vw,46px);margin-bottom:20px}
.dish-detail .detail-meta{font-size:14px;gap:30px;margin-bottom:20px}
.dish-detail .fact-accordion{padding:14px 0}
.dish-detail .fact-accordion>summary{font-size:21px}
.dish-detail .fact-accordion>div{font-size:15px;line-height:1.5;margin-top:7px}
.dish-detail .fact-accordion p{margin:0}


.serving-miniatures{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.serving-miniatures>span{display:flex;align-items:center;gap:5px}
.serving-miniatures img{width:34px;height:34px;object-fit:contain;border-radius:6px}
.serving-miniatures small{font-size:11px}
.dish-extra{margin-top:10px;font-size:13px;color:#777166}.dish-extra>summary{cursor:pointer}.dish-extra p{margin-top:10px!important}
.serving-editor{border:1px solid var(--line,#ddd4c7);border-radius:10px;padding:14px;min-width:0}
.serving-editor legend{font-family:Georgia,serif;font-size:20px;padding:0 5px}
.serving-input-wrap{position:relative}.serving-input-wrap label{display:grid;gap:6px}.serving-input-wrap textarea{width:100%;min-height:76px}
.serving-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.serving-options>label{display:flex;flex-direction:column;align-items:center;padding:8px;border:1px solid #e4ddd1;border-radius:8px;font-size:12px;cursor:pointer}
.serving-options img{width:64px;height:64px;object-fit:contain;border-radius:6px}
.serving-options input{width:auto;min-height:0;margin:0;accent-color:#353c28}
.serving-options>label:has(input:checked){border-color:#7a8265;background:#efeee5}
.serving-suggestions{position:absolute;top:100%;left:10px;width:270px;max-width:calc(100% - 20px);background:#fffdf8;border:1px solid #ded7cd;border-radius:10px;box-shadow:0 6px 22px #33271922;z-index:5;padding:8px}
.serving-suggestions[hidden]{display:none}.serving-suggestions>div{max-height:190px;overflow:auto;overscroll-behavior:contain;margin-top:28px}
.serving-suggestions button[data-serving-add]{display:flex;align-items:center;gap:8px;border:0;width:100%;padding:6px;text-align:left;background:transparent;font-size:13px}
.serving-suggestions button[data-serving-add]:hover{background:#eee8de}.serving-suggestions img{width:40px;height:40px;object-fit:contain;border-radius:5px}
.serving-dismiss{position:absolute;right:6px;top:5px;padding:4px 8px!important;font-size:12px!important}
@media(max-width:767px){.dish-detail .detail-photo{height:320px;max-height:45vh}.dish-detail .detail-copy h1{font-size:32px;margin-bottom:14px}.dish-detail .detail-layout{gap:16px}.dish-detail .detail-meta{font-size:13px;gap:16px}.dish-detail .fact-accordion{padding:12px 0}.dish-detail .fact-accordion>summary{font-family:inherit;font-size:16px}.dish-detail .fact-accordion>div{font-size:14px}.serving-options{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-detail.inline-editing .detail-photo{height:320px}}

.dish-detail .dish-extra>summary{font-family:inherit;font-size:13px;color:var(--muted);padding:8px 0;min-height:0}.dish-detail .detail-photo{height:auto;min-height:0;max-height:none;background:transparent}.dish-detail .detail-photo img{height:auto;max-height:min(630px,70vh);object-fit:contain}.dish-detail .fact-serving .serving-miniatures{margin-top:8px}@media(max-width:767px){.dish-detail .detail-photo img{max-height:320px}.dish-detail .detail-photo{min-height:0}}

/* Refined selected card: quieter chrome, stronger editorial hierarchy. */
.source-note{border:0;background:none;padding:0;margin:12px 0 0;border-radius:0;font:12px/1.5 var(--font-body,Arial,sans-serif);color:#8c8377;white-space:pre-line}
.source-note>summary{display:inline;cursor:pointer;text-decoration:underline;text-underline-offset:3px;list-style:none;font:inherit}
.source-note>summary::-webkit-details-marker{display:none}.source-note[open]>summary{display:block;margin-bottom:6px}.source-note a{font-size:12px}
body:has(.dish-detail){background:#faf7f2}body:has(.dish-detail) .content{background:#faf7f2}
.dish-detail .detail-toolbar{margin-bottom:16px;min-height:24px}.dish-detail .detail-toolbar .back-link{padding:0;min-height:24px;font-size:13px;color:#817a71}
.dish-detail .detail-layout{grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:34px}
.dish-detail .detail-copy h1{font:500 clamp(34px,3.6vw,48px)/1.06 Georgia,serif;color:#171410;letter-spacing:-1.2px;margin:14px 0 22px}
.dish-detail .detail-category{min-height:32px;margin-bottom:0;gap:10px}.dish-detail .detail-category>.badge{font-size:12px;padding:6px 12px;border-radius:9px;background:#f1e6d8}
.dish-detail .detail-category>.card-edit{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:12px;min-height:34px;padding:7px 12px;background:#f1e6d8;border:0;border-radius:8px;color:#33291d}
.dish-detail .detail-meta{gap:28px;margin:0 0 22px;color:#403d37}.dish-detail .detail-meta span{display:flex;gap:10px;align-items:center}.dish-detail .detail-meta svg{width:23px;height:23px}
@media(min-width:1000px){
 .dish-detail .detail-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:20px;align-items:start}
 .dish-detail:not(.inline-editing) .detail-copy>.detail-category,.dish-detail.inline-editing .detail-copy>.detail-category{grid-column:2;grid-row:1;min-height:38px;align-items:center;margin-bottom:0}
 .dish-detail .detail-copy>.detail-meta{grid-column:1;grid-row:1;min-height:38px;align-items:center;gap:20px;margin:0;flex-wrap:wrap;font-size:13px}
 .dish-detail .detail-meta>span{white-space:nowrap;gap:8px}
 .dish-detail .detail-copy>.detail-sections,.dish-detail .detail-copy>.source-note{grid-column:1/-1}
 .dish-detail .detail-copy>.source-note{margin-top:0}
}
.dish-detail .fact-accordion{padding:13px 0;border-color:#e8e1d8}.dish-detail .fact-accordion>summary{font:400 20px/1.25 Georgia,serif;color:#24211c}.dish-detail .fact-accordion>div{font:14px/1.48 Arial,sans-serif;color:#626267;margin-top:6px}
.dish-detail .fact-description{border-top:1px solid #e8e1d8}
.dish-detail .detail-photo img{max-height:680px}.dish-detail .detail-photo-panel>.repeat-dish{margin:12px 0 0;width:100%;min-height:46px;border-radius:9px;font-size:14px;background:#343b29}
.dish-detail .sauce-chip{background:none;border:0;padding:0;border-radius:0}.dish-detail .sauce-chip>summary{gap:12px;font-size:14px;color:#27241f}.dish-detail .sauce-chip>summary .sauce-mini{width:70px;height:54px;border-radius:8px}.dish-detail .allergen-tags .badge{font-size:12px;padding:7px 13px;background:#f1e6d8}
@media(max-width:767px){.dish-detail .detail-layout{gap:18px;display:flex;flex-direction:column}.dish-detail .detail-photo-panel{width:100%}.dish-detail .detail-photo img{max-height:380px;width:auto;max-width:100%;margin:auto;border-radius:12px}.dish-detail .detail-copy h1{font-size:32px;letter-spacing:-.6px;margin:10px 0 18px}.dish-detail .detail-category>.card-edit{font-size:11px;padding:6px 9px}.dish-detail .fact-accordion>summary{font:600 15px/1.3 Arial,sans-serif}.dish-detail .detail-photo-panel>.repeat-dish{display:none}.dish-detail:not(.inline-editing) .detail-layout{padding-bottom:0}.dish-detail .detail-meta{margin-bottom:18px}.dish-detail .fact-accordion>div{font-size:14px}}

.mobile-card-action{display:none}@media(max-width:767px){.mobile-card-action{display:block}.dish-detail .mobile-card-action .repeat-dish{width:100%;margin-top:20px;min-height:48px;font-size:14px;border-radius:9px}}


.dish-detail .detail-photo{margin:0;background:transparent}
.dish-detail .detail-category>button:not(.card-edit){height:34px;min-height:34px;line-height:1;padding:5px}

.dish-detail .ingredient-list{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;white-space:normal}
.dish-detail .ingredient-chip{display:block;position:relative;max-width:100%;padding:0 0 0 14px;border:0;border-radius:0;background:transparent;color:#51493e;font:14px/1.5 Arial,sans-serif;overflow-wrap:anywhere}
.dish-detail .ingredient-chip::before,.dish-detail .ingredient-group-name::before{content:"";position:absolute;left:1px;top:9px;width:4px;height:4px;border-radius:50%;background:#a18b6f}
.dish-detail .ingredient-group{padding:2px 0;border:0;background:transparent}
.dish-detail .ingredient-group-name{display:block;position:relative;padding-left:14px;margin-bottom:5px;font:500 14px/1.5 Arial,sans-serif;color:#51493e}
.dish-detail .ingredient-group .ingredient-list{padding-left:12px;border-left:1px solid #e8dfd2}

.dish-detail .empty-info,.sauce-composition .empty-info{display:inline-block;color:#b3a592;font:400 20px/1.2 Georgia,serif;letter-spacing:1px}


.ingredient-editor{min-width:0;margin:0;padding:0;border:0}
.ingredient-editor legend{margin-bottom:8px}
.ingredient-entries{display:grid;gap:8px}
.ingredient-entry{position:relative}
.ingredient-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:42px;z-index:20;padding:8px;border:1px solid #ded2c1;border-radius:10px;background:var(--card);box-shadow:0 6px 20px #342a2420}
.ingredient-suggestion-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}
.ingredient-suggestion-options{display:grid;gap:4px;max-height:200px;overflow:auto}
.ingredient-entry .ingredient-suggestion-options button{display:flex;align-items:center;gap:10px;height:auto;min-height:52px;padding:6px 8px;text-align:left;font-size:14px;color:var(--ink);background:transparent;border:0}
.ingredient-entry .ingredient-suggestion-options button:hover{background:#f3ede4}
.ingredient-suggestion-options img{width:44px;height:38px;object-fit:contain;border-radius:6px}
.ingredient-entry .ingredient-suggestion-heading button{width:28px;height:28px;border:0;background:transparent}

/* Compact card editor */
.sauce-selection,.allergen-selection{position:relative}
#itemform .catalog-toggle{position:absolute;right:10px;top:-16px;min-height:28px;padding:3px 8px;background:var(--card);font-size:12px}
.catalog-option-row{min-width:0}
.catalog-option-actions{display:none}
.catalog-editing .catalog-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.catalog-editing .catalog-option-actions{display:flex;gap:4px}
#itemform .catalog-option-actions button{display:grid;place-items:center;width:28px;min-height:28px;padding:3px;font-size:20px}
.catalog-option-actions .icon{width:16px;height:16px}
.catalog-option-name{overflow-wrap:anywhere}
.catalog-inline-editor{grid-column:1/-1;display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f3ede4;margin-bottom:8px}
.catalog-inline-actions{display:flex;gap:6px}
#itemform .catalog-inline-actions button{min-height:32px;padding:5px 10px;font-size:13px}
.catalog-inline-editor small{font-size:12px;color:var(--muted)}
#itemform .catalog-editing .sauce-options,#itemform .catalog-editing .allergen-options{max-height:360px}
#itemform .catalog-editing .allergen-options,#itemform .catalog-editing .sauce-options{grid-template-columns:1fr;align-items:start}
.catalog-option-row[hidden]{display:none}
#itemform .field{gap:5px;font-size:13px}
#itemform input:not([type=checkbox]):not([type=hidden]),#itemform select{min-height:38px;padding:8px 10px;font-size:14px}
#itemform textarea{field-sizing:content;min-height:64px;max-height:220px;padding:8px 10px;font-size:14px;line-height:1.45;overflow:auto}
#itemform textarea[name=notes]{max-height:100px}
#itemform fieldset{margin:0;padding:10px 12px;border-radius:10px}
#itemform legend{padding:0 4px}
#itemform .formgrid{gap:12px}
#itemform .ingredient-entries{gap:6px}
#itemform .ingredient-add{align-self:start;min-height:32px;padding:4px 10px;font-size:13px}
#itemform .allergen-options{gap:6px;max-height:180px}
#itemform .allergen-options label,#itemform .sauce-options label{font-size:13px}
#itemform .allergen-add{margin-top:8px;gap:6px}
#itemform .allergen-selection small,#itemform .sauce-selection small{font-size:12px;margin-top:6px}
#itemform .sauce-options{max-height:180px;overflow:auto}
#itemform .sauce-search{margin-bottom:6px}
.dish-detail.inline-editing .detail-layout{grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);gap:24px;align-items:start}
.dish-detail.inline-editing .detail-copy>.field{margin-bottom:10px}
.dish-detail.inline-editing .formgrid .field{margin-bottom:0}
#itemform .inline-name input{min-height:44px;font:400 23px/1.2 Georgia,serif;padding:8px 10px}
.dish-detail.inline-editing .detail-photo{height:auto;max-height:none;display:block;border-radius:10px}
.dish-detail.inline-editing .detail-photo img,.dish-detail.inline-editing .detail-photo .cropped-photo{display:block;width:100%;height:auto;max-height:420px;object-fit:contain}
.dish-detail.inline-editing .inline-photo-tools{gap:8px;margin-top:8px}
.dish-detail.inline-editing .inline-photo-tools .field{margin:0}
.dish-detail.inline-editing .inline-photo-tools button{min-height:36px;padding:7px 10px;font-size:13px}
.dish-detail.inline-editing .detail-toolbar{margin-bottom:12px}
.dish-detail.inline-editing .actions{gap:8px;margin-top:16px;padding:10px 12px;font-size:13px}
.dish-detail.inline-editing .actions button{min-height:38px;padding:8px 12px;font-size:14px}
@media(max-width:767px){
 .dish-detail.inline-editing .detail-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .dish-detail.inline-editing .detail-photo img,.dish-detail.inline-editing .detail-photo .cropped-photo{max-height:240px}
 #itemform input:not([type=checkbox]):not([type=hidden]),#itemform select,#itemform textarea{font-size:16px;min-height:44px}
 #itemform textarea{min-height:68px}
 .dish-detail.inline-editing .actions button{min-height:44px}
}
.ingredient-entry{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px}
.ingredient-entry input{width:100%;min-width:0}
.ingredient-entry button{height:34px;padding:0;border:1px solid #e8dfd2;border-radius:8px;background:#f3ede4;color:#847463;font-size:22px}
.ingredient-add{justify-self:start;margin-top:10px;padding:8px 12px;border:1px solid #e8dfd2;border-radius:8px;background:#f3ede4;color:#51493e}

.sauce-selection .sauce-search{width:100%;margin-bottom:12px}.sauce-selection .sauce-options label[hidden]{display:none}.sauce-selection .sauce-search-empty{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}.sauce-selection .sauce-search-empty[hidden]{display:none}.sauce-search-empty small{flex-basis:100%;margin:0}.sauce-create-dialog{width:520px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #ded2c1;border-radius:14px;background:var(--card);color:var(--ink);padding:24px}.sauce-create-dialog::backdrop{background:#241b1699}.sauce-create-form{display:grid;gap:16px}.sauce-create-form h2{margin:0;font-size:30px}.sauce-create-form .field{display:grid;gap:7px}.sauce-create-form .muted{font-size:12px;margin:0}.sauce-create-form .actions{justify-content:flex-end}

.photo-edit-choice{width:420px;max-width:calc(100vw - 24px);padding:24px;border:1px solid #ded2c1;border-radius:14px;background:var(--card);color:var(--ink)}.photo-edit-choice::backdrop{background:#241b1699}.photo-edit-choice h2{margin:0;font-size:28px}.photo-edit-choice>[data-photo-target]{display:grid;gap:5px;text-align:left;width:100%;margin-top:12px;padding:16px;border:1px solid #ded2c1;border-radius:10px;background:#f3ede4;color:var(--ink)}.photo-edit-choice>[data-photo-target]:hover{background:#eaddcc}.photo-edit-choice [data-photo-target] span{font-size:13px;color:var(--muted)}.dish-detail .detail-photo .cropped-photo{aspect-ratio:3/4;height:auto;max-height:675px;object-fit:contain}#photo-crop-dialog .crop-frame{max-height:65dvh}

#itemform .catalog-inline-editor label.field{display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left}
#itemform .selection-heading{font-size:12px;color:var(--muted);margin:4px 0 7px}
#itemform .catalog-selected{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
#itemform .catalog-selected .catalog-option-row{max-width:100%}
#itemform .catalog-option-row>label{position:relative;display:flex;align-items:center;gap:7px;cursor:pointer;font-size:13px;min-width:0;min-height:36px;padding:7px 10px;border:1px solid #e2d8ca;border-radius:9px;background:var(--card);transition:background .15s,border-color .15s}
#itemform .catalog-selected .catalog-option-row>label{background:#efe6d9;border-color:#ded2c1}
#itemform .catalog-option-row>label:hover{background:#eaddcc;border-color:#c9b79e}
#itemform .catalog-option-row>label:focus-within{outline:2px solid #987953;outline-offset:2px}
#itemform .catalog-option-row input[type=checkbox]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#itemform .catalog-selected .sauce-mini{width:30px;height:30px}
#itemform .selection-empty{margin-bottom:10px;color:var(--muted)}
#itemform .catalog-editing .catalog-selected{display:grid;grid-template-columns:1fr}
#itemform .catalog-editing .catalog-selected .catalog-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
#itemform .sauce-options .catalog-option-row,#itemform .allergen-options .catalog-option-row{padding:0}
#itemform .catalog-option-row[hidden],#itemform .selection-empty[hidden]{display:none}
#itemform .catalog-selected{max-height:none;overflow:visible}
#itemform .selection-heading{display:block;overflow:visible}

/* Dish name overlays its photograph. */
.dish-detail .detail-photo{position:relative}
.dish-name-plaque{position:absolute;z-index:1;top:0;left:0;right:0;padding:22px 24px 48px;background:linear-gradient(180deg,rgba(25,19,14,.72) 0%,rgba(25,19,14,.42) 55%,rgba(25,19,14,0) 100%);pointer-events:none}
.dish-name-plaque h1{margin:0;font:400 clamp(27px,2.8vw,38px)/1.12 Georgia,serif;letter-spacing:-.6px;color:#fffaf2;text-shadow:0 1px 8px rgba(25,19,14,.25);overflow-wrap:anywhere;text-wrap:balance}
.dish-detail:not(.inline-editing) .detail-category{margin-bottom:18px}
@media(max-width:767px){.dish-name-plaque{padding:18px 20px 42px}.dish-name-plaque h1{font-size:30px}}

/* Bound the viewing photo and place service notes beneath it. */
.dish-detail:not(.inline-editing) .detail-photo{height:min(440px,46vw);max-height:440px;min-height:0;background:#eee8df}
.dish-detail:not(.inline-editing) .detail-photo img,
.dish-detail:not(.inline-editing) .detail-photo .cropped-photo{width:100%;height:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0}
.dish-detail .photo-facts{margin-top:16px}
.dish-detail .photo-facts .fact-accordion{width:100%}
@media(max-width:767px){
 .dish-detail:not(.inline-editing) .detail-photo{height:min(380px,90vw);max-height:380px}
 .dish-detail .photo-facts{margin-top:12px}
}

.dish-detail .dish-description{font:14px/1.5 Arial,sans-serif;color:#626267;padding:0 0 14px;overflow-wrap:anywhere}.dish-detail .dish-description p{margin:0}

/* Card and crop editor share a stable square frame. */
.dish-detail .detail-photo,.dish-detail.inline-editing .detail-photo,.dish-detail:not(.inline-editing) .detail-photo{width:min(100%,440px);height:auto;min-height:0;max-height:none;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.dish-detail .detail-photo img,.dish-detail .detail-photo .cropped-photo,.dish-detail.inline-editing .detail-photo img,.dish-detail.inline-editing .detail-photo .cropped-photo{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:100%;margin:0;aspect-ratio:auto;object-fit:contain}
#photo-crop-dialog .crop-frame{width:min(100%,60dvh);max-height:none;height:auto;margin-inline:auto}
@media(max-width:767px){.dish-detail .detail-photo,.dish-detail.inline-editing .detail-photo,.dish-detail:not(.inline-editing) .detail-photo{width:min(100%,380px)}}

/* Editing keeps the card columns and photograph in place. */
.detail-photo-shell{position:relative;width:min(100%,440px)}
.dish-detail.inline-editing .detail-layout{grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:34px}
.dish-detail.inline-editing .detail-toolbar{margin-bottom:16px}
.dish-detail .detail-category.inline-category{min-height:32px;margin-bottom:18px;align-items:center}
.inline-category>.field{margin:0!important;font-size:0;flex:1}
.inline-category select{width:auto;max-width:100%;min-height:32px!important;padding:4px 8px;font-size:12px!important}
.inline-category>.badge{font-size:11px}
.inline-metric{display:flex;align-items:center;gap:8px;min-width:0}
#itemform .inline-metric input{width:95px;min-height:30px;padding:3px 6px;font-size:13px}
.dish-detail.inline-editing .detail-meta{gap:20px;flex-wrap:wrap}
.dish-detail.inline-editing .dish-name-plaque{pointer-events:auto}
#itemform textarea.inline-title{display:block;resize:none;scrollbar-width:none;min-height:0;border:0;border-radius:0;padding:0;background:transparent;color:#fffaf2;font:400 clamp(27px,2.8vw,38px)/1.12 Georgia,serif;letter-spacing:-.6px;text-shadow:0 1px 8px #19130e40;width:100%;box-shadow:none}
.inline-title:focus{outline:1px solid #fff8;outline-offset:5px}
.photo-edit-controls{position:absolute;bottom:12px;right:12px;z-index:3;font-size:12px}
.photo-edit-controls>summary{list-style:none;cursor:pointer;background:#faf7f2ec;border:1px solid #dfd4c4;padding:7px 12px;border-radius:7px}
.photo-edit-controls[open]{left:12px;padding:10px;background:#faf7f2f5;border:1px solid #dfd4c4;border-radius:8px}
.photo-edit-controls .inline-photo-tools{display:flex;flex-wrap:wrap;align-items:center}
.photo-edit-controls input[type=file]{max-width:210px}
.inline-fact{padding:13px 0;border-top:1px solid #e8e1d8}
.inline-fact>.field{margin:0!important}
.inline-fact>label.field,.inline-fact legend,.inline-fact .serving-input-wrap>label{font:400 20px/1.25 Georgia,serif;color:#24211c}
.inline-fact fieldset{border:0;padding:0;min-width:0}
.inline-fact legend{margin-bottom:6px;padding:0}
#itemform .inline-fact textarea,#itemform .inline-description textarea{display:block;width:100%;min-height:48px;margin-top:6px;padding:5px 7px;font:14px/1.48 Arial,sans-serif;resize:vertical}
.inline-description .field{margin:0!important}
#itemform .inline-description textarea{margin-top:0}
.inline-facts .inline-extra{font-size:12px;color:#817a71;margin-top:12px}
.inline-extra[open]>.field{margin-top:10px}
@media(max-width:767px){.detail-photo-shell{width:min(100%,380px)}.dish-detail.inline-editing .detail-layout{gap:18px}#itemform textarea.inline-title{font:400 30px/1.12 Georgia,serif;min-height:0}.inline-fact>label.field,.inline-fact legend,.inline-fact .serving-input-wrap>label{font:600 15px/1.3 Arial,sans-serif}}

#itemform .detail-photo-panel{gap:8px}
#itemform .inline-category>.field{gap:0}
#itemform .inline-category select{height:32px;min-height:32px!important;box-sizing:border-box;padding:4px 8px}
#itemform .inline-metric input{height:28px;min-height:28px!important;box-sizing:border-box;padding:3px 6px}
#itemform .inline-fact>label.field,#itemform .inline-fact legend,#itemform .inline-fact .serving-input-wrap>label{font:400 20px/1.25 Georgia,serif}
@media(max-width:767px){#itemform .inline-fact>label.field,#itemform .inline-fact legend,#itemform .inline-fact .serving-input-wrap>label{font:600 15px/1.3 Arial,sans-serif}}

.dish-detail .detail-category.inline-category{min-height:38px}

/* Category stays on the photograph in viewing and editing modes. */
.dish-detail .detail-photo-shell{border-radius:12px;overflow:hidden}
.dish-detail .detail-photo{border-radius:12px;overflow:hidden}
.photo-category{position:absolute;left:24px;bottom:24px;z-index:2;max-width:calc(100% - 110px)}
.photo-category .badge{display:inline-block;background:#f5eadbea;color:#493622;padding:6px 12px;border-radius:8px;font-size:12px;line-height:1.4}
#itemform .photo-category .field{margin:0;gap:0}
#itemform .photo-category select{width:auto;max-width:100%;height:32px;min-height:32px;padding:4px 9px;background:#f5eadbf2;color:#493622;border:0;border-radius:8px;font-size:12px}

@media(max-width:767px){.photo-category{left:20px;bottom:20px}}

/* Keep the desktop interface within a centered reading width. */
@media(min-width:1024px){
 body,body:has(.dish-detail){background:#e8e1d7}
 .app-shell{width:100%;max-width:1360px;margin-inline:auto}
 .workspace{background:var(--paper);border-right:1px solid #d8cbbd}
 body:has(.dish-detail) .workspace{background:#faf7f2}
 .sidebar{left:max(0px,calc((100% - 1360px)/2))}
 .content{width:100%;max-width:1140px;margin-inline:auto}
 .detail-page{margin-inline:auto}
}

/* Catalog follows the dish card's warm, restrained composition. */
.hero h1{font-weight:400;font-size:46px;letter-spacing:-1.2px;line-height:1.12}
.catalog-hero{margin-bottom:22px}
.content:has(.catalog-hero) .categories{flex-wrap:wrap;overflow:visible;gap:7px;margin-bottom:20px}
.content:has(.catalog-hero) .categories button{border-radius:8px;padding:7px 12px;min-height:34px;background:#efe8dd;font-size:13px}
.content:has(.catalog-hero) .categories button.active{background:var(--green);color:#fff}
.content:has(.catalog-hero) .grid{gap:20px}
.content:has(.catalog-hero) .item{border:1px solid #e3d8ca;border-radius:12px;background:#faf7f1;overflow:hidden}
.content:has(.catalog-hero) .itembody{padding:14px 16px}
.content:has(.catalog-hero) .itembody p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;margin:0 0 12px;color:#665c52;font-size:14px;line-height:1.45}
.catalog-status{font-size:11px;background:#efe8dd;color:#7b6b58}
.content:has(.catalog-hero) .favorite{width:34px;height:34px;top:12px;right:12px;border-radius:8px;background:#faf6eee8}
@media(max-width:767px){
 .hero h1{font-size:34px;letter-spacing:-.7px}
 .catalog-hero{margin-bottom:18px}
 .content:has(.catalog-hero) .categories{flex-wrap:nowrap;overflow-x:auto;margin-bottom:16px}
 .content:has(.catalog-hero) .grid{gap:16px}
 }

.catalog-group-title{grid-column:1 / -1;margin:8px 0 -4px;font:400 27px/1.2 Georgia,'Times New Roman',serif;color:#352b23;letter-spacing:-.4px}
.catalog-group-title:first-child{margin-top:0}
.action-card{background:#faf7f1;border-color:#e3d8ca;box-shadow:none}
.action-card strong{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.catalog-hero{padding-bottom:0!important}
@media(max-width:767px){.catalog-group-title{font-size:24px}}

.catalog-favorites{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid #dfd2c1;border-radius:8px;background:#faf7f1;color:#67533e;font-size:14px}
.catalog-favorites.active{background:var(--green);border-color:var(--green);color:#fff}
.admin-toolbar .catalog-scope-tabs .catalog-favorites{width:44px;height:44px;min-height:44px;padding:0;justify-content:center;gap:0;flex:0 0 44px}
.catalog-scope-tabs .catalog-favorites:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.favorite.selected,.detail-favorite.selected{background:var(--green)!important;color:#fff!important}
.favorite.selected .icon,.detail-favorite.selected .icon{font-weight:bold}
.detail-favorite{width:38px;height:38px;border-radius:8px;border:1px solid #e3d8ca;background:#faf7f1}
@media(max-width:767px){.tools .catalog-favorites{min-height:38px}.tools .search{flex-basis:100%}}

/* Square sauce previews; four cards per desktop row, including All. */
.content:has(.catalog-hero) .grid.catalog-list{grid-template-columns:1fr;gap:10px}
.content:has(.catalog-hero) .grid.catalog-list>.item{grid-column:1/-1}
.content:has(.catalog-hero) .catalog-list .item-open{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;padding-right:140px;text-align:left}
.content:has(.catalog-hero) .catalog-list .item .visual{width:96px;height:96px!important;min-height:0;aspect-ratio:1;overflow:hidden}
.content:has(.catalog-hero) .catalog-list .itembody{padding:12px 16px;min-height:0}
.content:has(.catalog-hero) .catalog-list .itembody h3{font-size:23px;margin-bottom:6px}
.content:has(.catalog-hero) .catalog-list .itembody p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.content:has(.catalog-hero) .catalog-list .catalog-card-actions{top:50%;transform:translateY(-50%)}
@media(max-width:767px){.content:has(.catalog-hero) .catalog-list .item-open{grid-template-columns:72px minmax(0,1fr);padding-right:0;padding-bottom:38px}.content:has(.catalog-hero) .catalog-list .item .visual{width:72px;height:72px!important}.content:has(.catalog-hero) .catalog-list .itembody{padding:8px 12px}.content:has(.catalog-hero) .catalog-list .itembody h3{font-size:19px}.content:has(.catalog-hero) .catalog-list .catalog-card-actions{top:auto;bottom:5px;transform:none}}
.content:has(.catalog-hero) .sauce-card .visual{width:100%;height:auto!important;min-height:0;max-height:none;aspect-ratio:1;position:relative}
.content:has(.catalog-hero) .sauce-card .visual img,.content:has(.catalog-hero) .sauce-card .visual svg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media(min-width:1024px){
 .content:has(.catalog-hero) .grid{grid-template-columns:repeat(12,minmax(0,1fr))}
 .content:has(.catalog-hero) .grid>.item{grid-column:span 4}
 .content:has(.catalog-hero) .grid>.sauce-card{grid-column:span 3}
}

/* Quiet category navigation with a clear active underline. */
.catalog-hero:has(h1:empty){display:none}
.content:has(.catalog-hero) .categories{padding:5px 0 12px;gap:4px 16px;border-bottom:1px solid #ded3c5;margin-bottom:24px}
.content:has(.catalog-hero) .categories button{position:relative;border:0;border-radius:0;background:transparent;padding:9px 2px;min-height:38px;color:#786b5e;font-size:14px;transition:color .18s,background .18s}
.content:has(.catalog-hero) .categories button:hover{color:#302c21;background:#eee7db}
.content:has(.catalog-hero) .categories button.active{background:transparent;color:#303722;font-weight:600}
.content:has(.catalog-hero) .categories button.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;border-radius:2px;background:#414831}
.menu-order-bar{display:flex;align-items:center;gap:10px;margin:12px 0 14px;padding:12px 14px;background:#eae5d8;border:1px solid #d6cbb9;border-radius:10px;font-size:13px}
.menu-order-bar span{flex:1;color:#675e51}
.menu-order-bar button{white-space:nowrap;padding:8px 12px;min-height:36px}
.menu-drag-handle{display:inline-flex;align-items:center;justify-content:center;touch-action:none;cursor:grab;user-select:none;letter-spacing:-3px;font-size:22px;color:#81715e;margin-right:9px}
.menu-card-handle{position:absolute;left:10px;top:10px;width:34px;height:34px;margin:0;border:1px solid #dacdbb;border-radius:8px;background:#fffaf0ed;z-index:3}
.menu-layout-editing .item-open{cursor:default}
.menu-drag-source{opacity:.3;transition:opacity .15s}
.menu-drag-ghost{position:fixed!important;z-index:1000;pointer-events:none;opacity:.95;transform:rotate(2deg) scale(1.03);box-shadow:0 18px 40px #30251840;border-radius:12px;overflow:hidden;background:#faf7f1;animation:menu-grab .15s ease-out}
.menu-is-dragging,.menu-is-dragging *{cursor:grabbing!important}
.menu-drop-target{outline:2px solid #68704a!important;outline-offset:4px;background:#e8ebde!important;border-radius:8px!important}
@keyframes menu-grab{from{transform:rotate(0) scale(1)}to{transform:rotate(2deg) scale(1.03)}}
@media(max-width:767px){.menu-order-bar{flex-wrap:wrap}.menu-order-bar span{flex-basis:100%}.content:has(.catalog-hero) .categories{gap:14px}.menu-drag-ghost{max-width:180px;max-height:260px}.menu-drag-handle{min-width:24px}}
@media(prefers-reduced-motion:reduce){.menu-drag-ghost{animation:none;transform:none}}

.catalog-card-actions{position:absolute;top:12px;right:12px;display:flex;gap:5px;z-index:3}
.catalog-card-actions .favorite,.catalog-card-action{position:static!important;display:inline-flex;align-items:center;justify-content:center;width:34px;height:38px;min-height:0;padding:6px;margin:0;border:1px solid #e4d9c9;border-radius:8px;background:#fffaf0ed;color:#6c5840;box-shadow:0 2px 8px #30241a0a}
.catalog-card-action:hover{background:#fff;color:#333a25;transform:translateY(-1px)}
.menu-layout-editing .catalog-card-actions{visibility:hidden}
.content:has(.catalog-hero) .admin-toolbar{flex-wrap:wrap;gap:10px}
@media(max-width:767px){.catalog-card-actions{top:8px;right:8px;gap:4px}.catalog-card-actions .favorite,.catalog-card-action{width:30px;height:34px;padding:5px}.catalog-card-actions .icon{font-size:18px}}
/* Keep the bookmark at the right, aligned with the other card actions. */
.content:has(.catalog-hero) .catalog-card-actions .favorite{order:3;width:34px;height:38px;top:auto;right:auto;border:1px solid #e4d9c9;border-radius:8px;background:#fffaf0ed;padding:6px}
@media(max-width:767px){.content:has(.catalog-hero) .catalog-card-actions .favorite{width:30px;height:34px;padding:5px}}

/* Status is a quiet photo caption; published cards have no labels. */
.card-state-marker{position:absolute;left:12px;bottom:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:5px;background:#faf7f1eb;color:#685742;font-size:11px;font-weight:500;line-height:1.3;box-shadow:0 1px 5px #30241a10;pointer-events:none}
.card-state-marker::before{content:'';width:5px;height:5px;border-radius:50%;background:#8c857a}
.card-state-marker.archived{color:#716b63;background:#f3f0e9eb}
.card-state-marker.archived::before{background:#b94b42}
.content:has(.catalog-hero) .itembody p{margin-bottom:0}

/* Search belongs to the menu controls, with status filters on their own row. */
.content:has(.catalog-hero) .admin-toolbar{gap:12px 18px;padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.admin-toolbar .menu-section-tabs{order:1}
.admin-toolbar .catalog-view-switch{order:2;margin-left:auto;display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px}
.catalog-view-switch button{display:flex;align-items:center;gap:7px;min-height:32px;padding:5px 10px;border:0;background:transparent;font-size:12px;border-radius:6px;color:var(--muted)}
.catalog-view-switch button.active{background:var(--green);color:var(--card)}
.catalog-view-switch .icon{width:17px;height:17px}
@media(max-width:480px){.catalog-view-switch button{padding:6px 8px}.catalog-view-switch button span{display:none}.catalog-view-switch button::after{content:none}}
.admin-toolbar .catalog-scope-tabs{order:3;display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-basis:100%}
.admin-toolbar .catalog-search{order:2;flex:1 1 220px;max-width:340px;min-width:0;margin-left:auto;display:flex;align-items:center;gap:10px;padding:0 4px;border-bottom:1px solid #cfc0ac;transition:border-color .18s}
.admin-toolbar .catalog-search .icon{position:static;flex-shrink:0;font-size:19px;color:#8d795f}
.admin-toolbar .catalog-search input{min-width:0;width:100%;height:38px;min-height:38px;padding:8px 0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:14px;color:var(--text)}
.admin-toolbar .catalog-search input::placeholder{color:#96846f}
.admin-toolbar .catalog-search:focus-within{border-color:var(--green)}
.admin-toolbar .catalog-search input:focus{outline:none;box-shadow:none}
@media(max-width:767px){.content:has(.catalog-hero) .admin-toolbar{gap:12px}.admin-toolbar .catalog-search{flex-basis:100%;max-width:none;margin-left:0}.admin-toolbar .catalog-scope-tabs{gap:6px}.catalog-scope-tabs .catalog-favorites{font-size:13px;padding:7px 10px}}

.catalog-card-actions .catalog-publish{order:1}.catalog-card-actions:has(.catalog-publish) [data-menu-delete]{order:2}


.catalog-card-actions .icon{width:20px;height:20px;flex-shrink:0}
.catalog-card-actions .catalog-card-action,.catalog-card-actions .favorite{color:#6c5840;background:#fffaf0ed;border-color:#e4d9c9}
.catalog-card-actions .catalog-card-action:hover,.catalog-card-actions .favorite:hover{color:#3d3023;background:#fffaf2;border-color:#bda78b}
.catalog-scope-tabs .icon,.menu-layout-toggle .icon{width:19px;height:19px;flex-shrink:0}
.catalog-card-actions .favorite.selected{background:#eee2cf;color:#685033;border-color:#c8ad87}

/* Keep search within the card area and available while scrolling. */
.catalog-search-rail{position:sticky;top:12px;z-index:8;display:flex;align-items:flex-start;justify-content:flex-end;margin:0 0 16px;pointer-events:none}
.catalog-search-rail .catalog-search{display:flex;align-items:center;gap:10px;width:min(100%,340px);min-width:0;max-width:340px;flex:none;margin:0;padding:0 2px 5px;background:var(--paper);border:0;border-bottom:1px solid #cfc0ac;border-radius:0;box-shadow:none;pointer-events:auto}
.catalog-search-rail .catalog-search .icon{position:static;flex-shrink:0;width:19px;height:19px;color:#8d795f}
.catalog-search-rail .catalog-search input{width:100%;min-width:0;height:32px;min-height:32px;padding:4px 0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:14px;color:var(--ink)}
.catalog-search-rail .catalog-search input::placeholder{color:#96846f}
.catalog-search-rail .catalog-search:focus-within{border-color:#796246;box-shadow:none}
.catalog-search-rail .catalog-search input:focus{outline:none;box-shadow:none}
@media(max-width:767px){.catalog-search-rail{top:10px;margin-bottom:12px}.catalog-search-rail .catalog-search{width:100%;max-width:none}}

@media(min-width:768px){main:has(#material:empty):has(#items>.catalog-group-title:first-child)>.catalog-search-rail{height:0;margin-bottom:0}main:has(#material:empty):has(#items>.catalog-group-title:first-child) #items>.catalog-group-title:first-child{padding-right:370px;min-height:38px;display:flex;align-items:center}}

/* Keep the site centered in the same position on short and long pages. */
html{scrollbar-gutter:stable}

.detail-photo-shell>.detail-favorite{position:absolute;top:12px;right:12px;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:30px;height:34px;min-height:34px;padding:5px;border:1px solid #e4d9c9;border-radius:8px;background:#fffaf0ed;color:#6c5840;box-shadow:0 2px 8px #30241a0a}
.detail-photo-shell>.detail-favorite .icon{width:20px;height:20px;flex-shrink:0}
.detail-photo-shell>.detail-favorite:hover{color:#3d3023;background:#fffaf2;border-color:#bda78b}
.dish-name-plaque{padding-right:54px}

/* Menu updates use the same paper, serif headings and quiet olive accents. */
.updates-page{max-width:100%;margin-inline:auto}
.updates-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 24px}
.updates-heading h1{font-size:clamp(30px,3.5vw,44px);margin:6px 0 8px;font-weight:400;line-height:1.12}
.updates-heading p{margin:0;color:#887764;font-size:14px}
.updates-heading>button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-height:38px;padding:8px;border:1px solid #ded2c1;border-radius:9px}
.updates-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-block:1px solid #ded2c1;padding:14px 0;margin-bottom:22px}
.updates-filters{display:flex;gap:6px;flex-wrap:wrap}
.updates-filters button{border:0;background:transparent;padding:8px 12px;min-height:36px;border-radius:7px;color:#77614a;font-size:13px}
.updates-filters button.active{background:#343d29;color:#fffaf2}
.updates-filters button span{margin-left:5px;font-variant-numeric:tabular-nums}
.updates-hint{font-size:12px;color:#96846f}
.updates-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#efe2cf;color:#392e22;font-size:11px;font-weight:600;margin-left:auto}
.updates-count[hidden]{display:none}
.navlink>.updates-count{flex:0 0 auto}
#updates-feed{display:grid;gap:12px}
.update-card{position:relative;display:flex;align-items:flex-start;gap:18px;padding:23px 24px;border:1px solid #ded2c1;border-radius:12px;background:#faf7f2;transition:border-color .2s}
.update-card.is-unread{border-left:3px solid #6a7353;padding-left:22px}
.update-symbol{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:10px;background:#eee7db;color:#77614a}
.update-symbol .icon{width:21px;height:21px}
.update-new .update-symbol{background:#e8ecdf;color:#465339}
.update-removed .update-symbol{color:#946053;background:#f1e4dd}
.update-body{flex:1;min-width:0}
.update-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#96846f}
.update-type{color:#77614a}
.update-meta>.update-new{color:#53613f;font-size:11px;margin-left:auto}
.update-body h2{font-size:26px;font-weight:400;line-height:1.2;margin:9px 0 8px}
.update-changes{font-size:14px;color:#6e6256;line-height:1.6;margin:0}
.update-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}
.update-actions button{font-size:13px}
.update-actions .text-button{min-height:34px;padding:5px 0;color:#77614a;background:transparent;border:0}
.update-ack{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#343d29;color:#fffaf2;border:1px solid #343d29;border-radius:7px;min-height:34px;padding:6px 12px;font-size:13px}
.update-ack:hover{background:#465139}
.update-ack .icon,.update-read .icon{width:17px;height:17px}
.update-read{display:inline-flex;align-items:center;gap:5px;color:#7c846b;font-size:12px}
.update-readers{margin-left:auto}
.updates-empty{text-align:center;padding:60px 20px;color:#8c7b66}
.updates-empty>.icon{width:36px;height:36px;color:#9f8d76}
.updates-empty h2{color:var(--ink);font-weight:400;font-size:28px;margin:18px 0 10px}
.updates-empty p{max-width:440px;margin:0 auto 22px;font-size:14px;line-height:1.6}
.updates-empty button{display:inline-flex;align-items:center;gap:10px}
.update-highlight{outline:2px solid #9c8668;outline-offset:3px}
.detail-update-ack{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ded2c1;padding-top:18px;margin-top:20px;color:#96846f;font-size:12px}
.update-readers-dialog{padding:20px;max-width:600px}
.update-readers-dialog h2{font-size:30px;margin:0 30px 10px 0}
.update-readers-dialog>p{color:#77614a}
.update-readers-dialog ul{list-style:none;padding:0;margin:18px 0 0;max-height:55vh;overflow:auto}
.update-readers-dialog li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;border-top:1px solid #e4d9c9;font-size:14px}
.reader-done,.reader-pending{font-size:12px;text-align:right}
.reader-done{color:#637050}.reader-pending{color:#96846f}
@media(max-width:767px){.updates-heading{margin-bottom:18px}.updates-heading h1{font-size:32px}.updates-toolbar{align-items:flex-start;flex-direction:column;gap:9px}.updates-hint{font-size:11px}.update-card{padding:18px 14px;gap:12px}.update-card.is-unread{padding-left:12px}.update-symbol{width:30px;height:30px;border-radius:8px}.update-symbol .icon{width:18px;height:18px}.update-body h2{font-size:23px}.update-meta{gap:6px 10px}.update-meta time{font-size:11px}.update-actions{gap:10px 16px;margin-top:14px}.update-readers{margin-left:0}.bottomnav .navlink{position:relative}.bottomnav .updates-count{position:absolute;top:0;right:calc(50% - 25px)}.detail-update-ack{flex-wrap:wrap}.update-readers-dialog{padding:12px}}
#updates-feed{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.update-card,.update-card.is-unread{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid #ded2c1;overflow:hidden}
.update-card.is-unread{border-color:#a9ad92}
.update-photo{display:block;position:relative;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:0;overflow:hidden;background:#eee5d7}
.update-photo img,.update-photo svg{display:block;width:100%;height:100%;object-fit:cover}
.update-photo-label{position:absolute;bottom:12px;left:12px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:7px;background:#f7f0e5;color:#66523c;font-size:12px}
.update-photo-label .icon{width:16px;height:16px}
.update-new .update-photo-label{background:#edf1e2;color:#465339}.update-removed .update-photo-label{background:#f4e4de;color:#92594b}
.update-body{display:flex;flex-direction:column;width:100%;padding:17px 18px 14px}
.update-meta{justify-content:space-between;font-size:11px;gap:6px}
.update-body h2{font-size:25px;margin:12px 0 9px}
.update-body h2 button{padding:0;border:0;background:transparent;font:inherit;color:inherit;text-align:left}
.update-description{font-size:13px;line-height:1.6;margin:0 0 12px;color:#806d5b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.update-changes{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;margin-bottom:16px}
.update-field{padding:4px 8px;background:#f2e8cc;color:#7b6337;border-radius:5px}
.update-actions{margin-top:auto;gap:8px;justify-content:space-between}
.update-open{background:transparent;border:1px solid #ded2c1;color:#77614a;padding:7px 10px;font-size:12px;border-radius:7px}
.update-readers{align-self:flex-start;margin:12px 0 0;padding:0;background:transparent;border:0;color:#96846f;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.detail-update-ack{margin:0 0 20px;padding:12px 14px;border:1px solid #ded2c1;border-radius:8px;background:#f6f0e4;color:#77614a}
.update-highlight{outline:none;background:linear-gradient(transparent 65%,#ecdba885 65%);border-bottom-color:#cfb66e!important}
.fact-accordion.update-highlight,.dish-description.update-highlight{background:#f5eddb;border-radius:6px;box-shadow:inset 3px 0 #d7bd78;padding-left:12px;padding-right:10px}
.update-highlight-new{background:linear-gradient(transparent 65%,#cbd9b885 65%)}
.fact-accordion.update-highlight-new,.dish-description.update-highlight-new{background:#edf1e5;box-shadow:inset 3px 0 #91a976}
.detail-photo.update-highlight{outline:3px solid #d7bd78;outline-offset:-3px;border-radius:inherit}.detail-photo.update-highlight-new{outline-color:#91a976}
@media(max-width:1050px){#updates-feed{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#updates-feed{grid-template-columns:1fr;gap:16px}.update-card,.update-card.is-unread{padding:0}.update-body{padding:16px}.update-photo{aspect-ratio:4/3}.update-body h2{font-size:26px}.update-actions{gap:10px}.detail-update-ack{align-items:flex-start}.updates-empty{grid-column:1/-1}}
.detail-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.detail-photo-shell>.detail-card-actions{position:absolute;top:12px;right:12px;z-index:5}
.detail-photo-shell>.detail-card-actions button{background:#fffaf0ed;box-shadow:0 2px 8px #30241a0a}
.detail-photo-shell.has-admin-actions .dish-name-plaque{padding-top:64px}
.dish-detail .detail-photo-panel>.detail-meta{margin:0;padding:14px 0;border-bottom:1px solid var(--line);gap:18px;align-items:center}
.detail-card-actions .icon{width:20px;height:20px}
.detail-card-actions .selected{background:#eee2cf;color:#685033;border-color:#c8ad87}
.detail-card-actions button:hover{background:#fffaf2;border-color:#bda78b}
.inline-editing .actions [data-editor-undo],.inline-editing .actions [data-editor-reset]{padding-inline:12px}
@media(max-width:767px){.inline-editing .actions{flex-wrap:wrap;gap:6px}.inline-editing .actions #savestate{flex-basis:100%;font-size:11px}.detail-card-actions{gap:5px}}

/* Telegram viewport and isolated demo presentation. */
:root{--mamie-safe-top:env(safe-area-inset-top,0px);--mamie-safe-bottom:env(safe-area-inset-bottom,0px);--mamie-viewport:100dvh}
.app-shell{min-height:var(--mamie-viewport)}
.demo-notice{display:flex;flex-direction:column;gap:4px;border:1px solid #cdbb96;background:#f4ecda;color:#51402d;border-radius:12px;padding:12px 16px;margin-bottom:20px;font-size:13px;line-height:1.45}
.demo-notice strong{font-size:15px}.demo-notice span{max-width:75ch}
body.demo-mode [data-catalog-delete],body.demo-mode [data-delete-item],body.demo-mode [data-delete-category]{display:none}
@media(max-width:767px){
 body{padding-top:var(--mamie-safe-top);padding-bottom:calc(76px + var(--mamie-safe-bottom))}
 .bottomnav{padding-bottom:var(--mamie-safe-bottom);min-height:calc(64px + var(--mamie-safe-bottom))}
 .sidebar{padding-top:calc(24px + var(--mamie-safe-top));padding-bottom:calc(84px + var(--mamie-safe-bottom));max-height:var(--mamie-viewport);overflow-y:auto}
 .content{padding:16px 12px}.demo-notice{font-size:12px;padding:10px 12px;margin-bottom:16px}
 dialog{max-height:calc(var(--mamie-viewport) - 32px);max-width:calc(100vw - 24px);overflow:auto}
 input,select,textarea{font-size:16px}.inline-editing .actions.sticky,.actions.sticky{bottom:calc(76px + var(--mamie-safe-bottom))}
 .userchip span{max-width:180px;overflow-wrap:anywhere}.catalog-scope-tabs{flex-wrap:wrap}
}

body.demo-mode .source-note,body.demo-mode .source-link,body.demo-mode .rawnotes{display:none}

body.demo-mode [data-menu-delete],body.demo-mode [data-action="logout"]{display:none}

/* Phone controls stay compact without shrinking their touch targets. */
@media(max-width:767px){
 html{scrollbar-gutter:auto}
 .content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .content:has(.catalog-hero) .admin-toolbar{gap:10px;padding-bottom:12px;margin-bottom:10px}
 .admin-toolbar .menu-section-tabs{min-width:0;flex-shrink:1}
 .admin-toolbar .menu-section-tabs button{min-width:0;padding:8px 12px;min-height:40px}
 .admin-toolbar .catalog-view-switch{flex-shrink:0}
 .catalog-view-switch button{min-width:40px;min-height:40px}
 .admin-toolbar .catalog-scope-tabs{flex-wrap:wrap;overflow:visible;gap:6px;padding:2px 0}
 .catalog-scope-tabs>*{flex-shrink:0;min-height:44px;white-space:nowrap}
 .content:has(.catalog-hero) .categories{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;gap:16px;padding:2px 0 9px;margin-bottom:12px;scrollbar-width:thin}
 .content:has(.catalog-hero) .categories button{flex-shrink:0;min-height:44px;white-space:nowrap;padding:9px 2px}
 .catalog-search-rail{top:0;padding-top:6px;margin-bottom:12px;background:var(--paper)}
 .catalog-search-rail .catalog-search input{font-size:16px;height:44px;min-height:44px}
 .content:has(.catalog-hero) .grid{gap:14px}
 .catalog-group-title{margin-top:20px}
 .catalog-card-actions{gap:5px}
 .catalog-card-actions .catalog-card-action,.catalog-card-actions .favorite,.content:has(.catalog-hero) .catalog-card-actions .favorite,
 .detail-card-actions button,.detail-photo-shell>.detail-favorite{width:44px;height:44px;min-height:44px;padding:10px}
 .catalog-card-actions .icon,.detail-card-actions .icon{width:20px;height:20px}
 .content:has(.catalog-hero) .catalog-list .item-open{padding-bottom:54px}
 .content:has(.catalog-hero) .catalog-list .catalog-card-actions{bottom:6px;right:8px}
 .detail-layout,.dish-detail.inline-editing .detail-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .detail-layout>*{min-width:0}
 .detail-photo-shell,.dish-detail .detail-photo,.dish-detail.inline-editing .detail-photo,.dish-detail:not(.inline-editing) .detail-photo{width:100%;max-width:440px;margin-inline:auto}
 .dish-name-plaque{padding:18px 66px 42px 18px}
 .detail-meta{flex-wrap:wrap;gap:12px}
 .dish-detail.inline-editing .detail-meta{gap:10px}
 .detail-card-actions{gap:6px;flex-shrink:0}
 #itemform .inline-metric input{font-size:16px;min-height:40px!important;height:40px;width:88px}
 #itemform .inline-category select{font-size:16px!important;min-height:40px!important;height:40px;max-width:100%}
 #itemform .inline-fact textarea,#itemform .inline-description textarea,#itemform .ingredient-entry input,
 #itemform .catalog-inline-editor input,#itemform .catalog-inline-editor textarea{font-size:16px;line-height:1.4;min-height:44px}
 .ingredient-entry{grid-template-columns:minmax(0,1fr) 44px;gap:6px}
 .ingredient-entry button{width:44px;height:44px;min-height:44px}
 #itemform .allergen-options,#itemform .sauce-options{grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px;overscroll-behavior:contain}
 #itemform .catalog-editing .allergen-options,#itemform .catalog-editing .sauce-options{grid-template-columns:minmax(0,1fr)}
 #itemform .catalog-option-row>label{min-height:44px;overflow-wrap:anywhere}
 .photo-edit-controls>summary{min-height:44px;display:flex;align-items:center}
 .photo-edit-controls input[type=file]{max-width:100%}
 .inline-editing .actions.sticky{position:static;margin-top:20px;max-width:100%;padding:10px;box-shadow:none}
 .inline-editing .actions button{min-height:44px;flex:1 1 auto;padding:9px 10px;font-size:13px}
 .update-actions button{min-height:44px}
 dialog input,dialog textarea,dialog select{font-size:16px}
}
@media(max-width:380px){
 .admin-toolbar .menu-section-tabs button{padding-inline:8px}
 .menu-section-tabs .badge{font-size:9px;padding-inline:4px}
}
