:root{--wine:#420e24;--wine-light:#601b38;--cream:#f8f5ee;--ink:#392932;--muted:#75666b;--gold:#ad8c59;--line:#e4dcd4;--white:#fffdf9;--error:#a12836;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button,a,input,textarea,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(38px,4.5vw,60px);line-height:1.06;letter-spacing:-1.8px;margin-bottom:24px}h2{font-size:32px;letter-spacing:-.7px}h3{font-size:25px;line-height:1.25}p{line-height:1.75}button{border:0}.primary,.secondary,.link-btn{min-height:48px;padding:14px 22px;border-radius:5px;font-size:14px;line-height:1.4}.primary{background:var(--wine);color:white;border:1px solid var(--wine)}.primary:hover{background:var(--wine-light)}.secondary{background:transparent;color:var(--wine);border:1px solid var(--line)}.secondary:hover{background:#eee7df}.link-btn{background:transparent;color:var(--wine);padding-left:0;text-decoration:underline;text-underline-offset:5px}.danger{color:var(--error)}.full{width:100%}label{display:block;font-size:13px;font-weight:600;margin:0 0 10px}input:not([type=checkbox]),textarea{width:100%;border:1px solid #cfc3bb;border-radius:5px;padding:16px;color:var(--ink);background:var(--white);min-height:52px}input::placeholder,textarea::placeholder{color:#9b8d91}input[type=checkbox]{width:19px;height:19px;accent-color:var(--wine);flex-shrink:0}textarea{resize:vertical;line-height:1.6}.field{margin-bottom:24px}.helper{font-size:12px;line-height:1.6;color:var(--muted);margin:9px 0 0}.error{font-size:14px;color:var(--error);line-height:1.6;margin:16px 0 0}.error:empty{display:none}.home{min-height:100svh;display:grid;grid-template-columns:47% 53%}.brand-side{background:var(--wine);display:flex;align-items:center;justify-content:center;position:relative;min-height:100%;padding:70px}.brand-side:before{content:"";position:absolute;inset:28px;border:1px solid #bda27d44;pointer-events:none}.brand-side img{display:block;width:100%;max-width:440px;height:auto}.welcome-side{display:flex;align-items:center;justify-content:center;padding:70px 8vw;position:relative}.welcome{max-width:440px;width:100%}.welcome h1{max-width:380px;color:var(--wine);margin-bottom:28px}.welcome p{font-size:15px;color:var(--muted);margin-bottom:35px}.welcome .primary{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:17px 21px}.welcome input{font-size:17px;letter-spacing:1px}.ornament{width:36px;height:36px;margin-bottom:28px;color:var(--gold);display:block}.loading-page{min-height:100svh;display:grid;place-items:center}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(5vw,20px);border-bottom:1px solid var(--line);background:var(--white)}.mini-logo{width:108px;height:auto;display:block}.topbar .brand-group{display:flex;align-items:center;gap:23px}.brand-label{font-size:10px;letter-spacing:2px;line-height:1.8;text-transform:uppercase;color:var(--muted)}.shell{width:min(1120px,90%);margin:52px auto 80px}.eyebrow{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2.2px;color:var(--gold);margin-bottom:15px}.page-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:35px}.page-heading h1{font-size:44px;margin:0 0 14px}.page-heading p{color:var(--muted);font-size:14px;margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.dish-card{background:var(--white);border:1px solid var(--line);border-radius:6px;overflow:hidden}.dish-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.no-photo{aspect-ratio:4/3;display:grid;place-items:center;background:#eee7df;color:#8b797f;font-family:Georgia,serif;font-size:16px}.card-body{padding:25px}.card-body h2{font-size:26px;margin-bottom:24px}.card-body .primary{width:100%}.detail{max-width:800px;margin:25px auto}.detail-image{display:block;width:100%;max-height:480px;object-fit:contain;background:#eee7df;border-radius:5px;margin-bottom:32px}.detail h1{font-size:44px}.prose{font-size:16px;line-height:1.8;overflow-wrap:anywhere}.prose h2{font-size:27px;margin:35px 0 15px}.prose h3{font-size:23px;margin:24px 0 12px}.prose p{margin-bottom:14px}.prose ul,.prose ol{padding-left:24px}.prose li{margin:5px 0}.detail-section{padding-bottom:20px;border-bottom:1px solid var(--line)}.detail-section:last-child{border:0}.auth-shell{max-width:430px;width:90%;margin:60px auto}.auth-shell .mini-logo{margin:0 auto 35px;width:145px}.auth-shell h1{font-size:38px;text-align:center}.auth-shell>p{font-size:14px;text-align:center;color:var(--muted)}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:25px 0 35px}.tabs button{background:none;padding:15px 24px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--wine);border-color:var(--wine)}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.empty{padding:65px 25px;text-align:center;background:var(--white);border:1px dashed #d2c3b6;border-radius:6px}.empty h2{font-size:28px;margin:0 0 13px}.empty p{font-size:14px;color:var(--muted);max-width:420px;margin:0 auto 25px}.list{display:grid;gap:12px}.list-item{display:flex;gap:20px;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:20px;background:var(--white);border-radius:5px}.list-item h3{margin:0 0 8px;font-size:23px}.list-item p{font-size:13px;margin:0;color:var(--muted)}.list-item img{width:72px;height:72px;object-fit:cover;border-radius:3px}.item-main{display:flex;align-items:center;gap:20px;min-width:0}.badge{display:inline-block;padding:4px 9px;border-radius:20px;font-size:10px;letter-spacing:.3px;background:#e6ede2;color:#47603d}.badge.off{background:#eee4e4;color:#886268}.editor-layout{display:grid;grid-template-columns:1fr 290px;gap:40px}.panel{background:var(--white);padding:30px;border:1px solid var(--line);border-radius:6px}.panel h2{font-size:26px}.check{display:flex;align-items:center;gap:12px;font-weight:400;line-height:1.6;cursor:pointer}.photo-preview{width:100%;height:auto;max-height:240px;object-fit:contain;margin:15px 0}.toolbar{display:flex;gap:4px;padding:6px;border:1px solid #cfc3bb;border-bottom:0;background:#f1ece5;border-radius:5px 5px 0 0}.toolbar button{background:none;border-radius:3px;min-width:40px;min-height:36px;color:var(--wine)}.toolbar button:hover{background:white}.toolbar+textarea{border-radius:0 0 5px 5px;min-height:165px}.editor-section{margin:0 0 24px}details{border-top:1px solid var(--line);padding-top:20px;margin:20px 0}summary{cursor:pointer;color:var(--wine);margin-bottom:20px;font-family:Georgia,serif;font-size:23px}.sticky{position:sticky;top:25px;align-self:start}.search{max-width:500px;display:flex;gap:10px;margin:25px 0}.search input{flex:1;min-width:0}.choices{display:grid;gap:8px;max-height:420px;overflow:auto}.choice{padding:12px;border:1px solid var(--line);border-radius:4px;margin:0}.choice:has(input:checked){border-color:var(--wine);background:#f5eef0}.form-footer{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;background:var(--wine);color:white;padding:15px 24px;border-radius:6px;box-shadow:0 10px 35px #2e112a20;max-width:90%;font-size:14px}#notice:empty{display:none}dialog{border:1px solid var(--line);border-radius:8px;max-width:760px;width:92%;padding:30px;color:var(--ink);background:var(--cream);max-height:90svh;overflow:auto}dialog::backdrop{background:#29101db3}.dialog-header{position:sticky;top:-30px;background:var(--cream);padding:10px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:25px}.dialog-header h2{font-size:24px;margin:0}.spinner{display:inline-block;width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}@media(max-width:900px){.brand-side{padding:40px}.welcome-side{padding:50px 6vw}.grid{grid-template-columns:repeat(2,1fr)}.editor-layout{grid-template-columns:1fr}.sticky{position:static}.brand-label{display:none}}@media(max-width:600px){.home{grid-template-columns:1fr}.brand-side{min-height:auto;padding:32px 24px}.brand-side:before{inset:12px}.brand-side img{max-width:190px}.welcome-side{padding:38px 26px 50px;align-items:start}.welcome h1{font-size:43px;margin-bottom:20px;max-width:none;letter-spacing:-1.3px}.welcome p{font-size:14px;margin-bottom:26px}.ornament{display:none}.grid{grid-template-columns:1fr}.topbar{padding:15px 5%}.mini-logo{width:77px}.topbar .secondary{padding:10px 13px;font-size:12px}.shell{margin-top:32px}.page-heading{flex-direction:column;gap:12px}.page-heading h1{font-size:36px}.detail h1{font-size:36px}.list-item{gap:12px;padding:16px}.list-item img{width:50px;height:50px}.list-item h3{font-size:20px}.item-main{gap:12px}.panel{padding:22px}.tabs button{padding:15px}.editor-layout{gap:22px}.search{flex-wrap:wrap}.search .primary{padding:12px}.actions .primary,.actions .secondary{padding:12px 15px}.detail-image{margin-bottom:25px}.auth-shell{margin-top:35px}}
