
:root{color-scheme:light;--ink:#31372b;--green:#526545;--muted:#8d9080;--line:#e5e5d9}
*{box-sizing:border-box}body{margin:0;background:#faf9f5;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:.18s}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #a8b58b;outline-offset:3px}button{border:0}main{max-width:1120px;margin:auto;padding:0 42px}header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:19px;color:inherit;text-decoration:none}.brandicon{display:grid;place-items:center;background:var(--green);color:white;border-radius:10px;width:37px;height:37px}.brandnote{font-size:12px;font-weight:400;color:var(--muted);border-left:1px solid var(--line);margin-left:8px;padding-left:17px}.manage{background:transparent;color:var(--green);display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:8px}.manage.active{background:#e9eddf}.hero{display:flex;align-items:center;justify-content:space-between;min-height:385px;padding:34px 28px 40px 8px;gap:40px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--green);display:flex;align-items:center;gap:8px}.eyebrow span{width:5px;height:5px;background:#92a274;border-radius:50%}h1{font-size:49px;line-height:1.3;letter-spacing:2px;margin:20px 0 15px;font-weight:650}h1 span{color:var(--green)}.hero p{font-size:13px;color:#858878;line-height:1.9;margin:0 0 23px}.primary{background:var(--green);color:white;border-radius:8px;padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 3px 5px #52654512}.primary:hover{background:#3e5032}.art{position:relative;background:#eeefdf;border-radius:50% 50% 43% 43%;width:330px;height:295px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-5deg)}.arttop{font-family:Georgia,serif;font-size:11px;letter-spacing:2px;color:#778162;position:absolute;top:23px}.arttop span{font-size:22px;margin-left:16px}.plate{width:212px;height:212px;border:12px solid #fffef7;border-radius:50%;background:#f9f7eb;box-shadow:5px 9px 0 #a9b48d30,inset 0 0 0 3px #e3e4d2;position:relative}.rice{position:absolute;right:16px;top:26px;width:89px;height:110px;border-radius:50%;background:repeating-linear-gradient(28deg,#fffef5 0 5px,#e6e3d5 6px,#fffef5 7px 11px);box-shadow:2px 3px 8px #c6c3a955}.food{position:absolute;left:15px;top:37px;width:90px;height:107px;z-index:1}.food i{position:absolute;width:38px;height:34px;border-radius:12px 9px 11px 8px;background:#be6848;box-shadow:inset -4px -4px 0 #9b4c32;transform:rotate(25deg)}.food i:nth-child(2){left:31px;top:15px;background:#d8ab62}.food i:nth-child(3){top:35px;left:1px}.food i:nth-child(4){top:49px;left:37px;background:#dfbc70}.food i:nth-child(5){top:74px;left:12px}.food i:nth-child(6){top:17px;left:57px;width:21px;height:21px;background:#6b8250}.food i:nth-child(7){top:68px;left:65px;width:21px;height:21px;background:#6b8250}.food i:nth-child(8){left:13px;top:12px;width:12px;height:14px;background:#90a16a}.green{position:absolute;width:24px;height:42px;background:#839762;border-radius:90% 0 90% 0;bottom:8px;right:55px;transform:rotate(-20deg)}.g2{right:28px;bottom:19px;transform:rotate(35deg)}.g3{right:80px;bottom:11px;transform:rotate(-60deg)}.artbottom{position:absolute;bottom:20px;font-size:10px;letter-spacing:3px;color:#7b826a}.stamp{position:absolute;right:-15px;bottom:42px;border:1px solid #87926a;border-radius:50%;width:61px;height:61px;display:grid;place-content:center;text-align:center;font-family:Georgia,serif;font-size:11px;color:#7c8864;transform:rotate(18deg);line-height:1.4;background:#faf9f5}.toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}.tabs{display:flex;gap:28px}.tabs button{background:none;padding:18px 0;position:relative;font-size:15px;color:#969989}.tabs button.current{color:var(--ink);font-weight:600}.tabs button.current:after{content:"";position:absolute;bottom:-1px;height:3px;background:var(--green);left:0;right:0;border-radius:3px}.tabs span{font-size:10px;padding:3px 7px;margin-left:5px;background:#eceee5;border-radius:5px;color:#78816b}.search{display:flex;align-items:center;gap:9px;color:#9b9f90;background:#f0f0e8;padding:10px 12px;border-radius:8px}.search input{background:none;border:none;outline:none;width:165px;font-size:12px;color:var(--ink)}.filters{display:flex;align-items:center;gap:8px;margin:24px 0}.filters button{background:none;color:#858b78;padding:7px 15px;border-radius:20px;font-size:12px}.filters .chosen{background:#e9eddf;color:var(--green);font-weight:600}.filters>span{margin-left:auto;font-size:11px;color:#a0a390}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;min-height:200px}.card{border:1px solid var(--line);border-radius:12px;background:#fffefa;display:flex;padding:20px 16px;align-items:flex-start;gap:13px;min-height:148px;position:relative}.card.picked{border-color:#a8b58e;background:#f9fbf2}.dishicon{width:57px;height:65px;border-radius:50% 50% 44% 44%;display:grid;place-items:center;flex-shrink:0;background:#eeecdf;color:#919477;margin-top:14px}.c1{background:#f1e4d9;color:#ba7e61}.c2{background:#e7eddc;color:#7e9861}.c3{background:#f5ecd9;color:#ba9d64}.c4{background:#e5ebe6;color:#82958b}.dishbody{min-width:0;padding-right:12px}.tag{font-size:9px;letter-spacing:1px;color:#9c9e8d}.dishbody h2{font-size:16px;margin:8px 0 9px;overflow-wrap:anywhere}.dishbody p{font-size:11px;line-height:1.7;color:#9b9d8d;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.pick{position:absolute;right:12px;top:15px;width:27px;height:27px;display:grid;place-items:center;background:#f1f2e9;color:#919881;border-radius:50%}.pick.on{background:var(--green);color:white}.actions{position:absolute;right:8px;bottom:8px;display:flex;gap:3px}.actions button{padding:7px;background:#f0f0e7;color:#7f896e;border-radius:5px}.addcard{border:1px dashed #d6dcc7;min-height:148px;border-radius:12px;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;font-size:12px;color:#8a947a}.addcard>span{background:#edeee5;width:35px;height:35px;border-radius:50%;display:grid;place-items:center}.addcard small{color:#afb39f;font-size:10px}.empty{text-align:center;padding:52px 20px 64px;border:1px dashed var(--line);border-radius:12px;min-height:235px}.empty>span{display:inline-grid;place-items:center;width:65px;height:65px;background:#eeefdf;color:#8b9876;border-radius:50%;margin-bottom:8px}.empty h2{font-size:18px;font-weight:500}.empty p{font-size:12px;color:#959c85;line-height:1.8;margin-bottom:22px}footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:7px;margin-top:40px;padding:23px 0 30px;font-size:10px;color:#a2a68f}footer>span{margin-left:auto}.error{display:flex;align-items:center;justify-content:space-between;background:#fceee5;color:#a26647;padding:12px;border-radius:8px;margin:12px 0;gap:8px;font-size:12px}.error button{display:flex;align-items:center;gap:6px;background:transparent;color:inherit;white-space:nowrap}.overlay{position:fixed;inset:0;background:#28322050;backdrop-filter:blur(4px);z-index:10;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{background:#faf9f5;border-radius:18px;padding:26px;width:430px;max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #28322040}.dialoghead{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialoghead h2{font-size:20px;margin:0}.dialoghead button{background:none;color:#88917e;padding:6px}label{display:block;font-size:12px;color:#747c66;margin:16px 0}label input,label select,label textarea{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fffefa;color:var(--ink);margin-top:8px;outline-color:#9aab81}label textarea{height:90px;resize:vertical}label small{color:#a6ad97;margin-left:5px}.save{width:100%;margin-top:7px}
@media(max-width:850px){main{padding:0 24px}.grid{grid-template-columns:repeat(2,1fr)}.art{width:270px;height:260px}.hero{padding-right:10px}.filters>span{display:none}.brandnote{display:none}h1{font-size:43px}}
@media(max-width:560px){main{padding:0 20px}header{height:74px}.brand{font-size:17px;gap:8px}.brandicon{height:32px;width:32px}.manage{font-size:11px;padding:8px 10px}.hero{min-height:280px;padding:28px 0;gap:0;position:relative}.hero>div:first-child{z-index:1}.eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:34px;margin:15px 0 12px}.hero p{font-size:11px;margin-bottom:17px}.primary{padding:11px 14px;font-size:12px}.art{width:165px;height:190px;position:absolute;right:-5px;top:46px;opacity:.9}.plate{width:140px;height:140px;border-width:8px}.rice{width:52px;height:70px;right:12px;top:17px}.food{transform:scale(.63);transform-origin:top left;left:11px;top:25px}.green{width:16px;height:27px;right:35px;bottom:9px}.g2{right:17px;bottom:15px}.g3{right:51px;bottom:5px}.arttop{font-size:7px;letter-spacing:1px;top:14px}.arttop span{display:none}.artbottom{font-size:7px;letter-spacing:1px;bottom:14px}.stamp{width:43px;height:43px;right:-2px;bottom:24px;font-size:8px}.toolbar{flex-wrap:wrap;gap:0}.tabs{gap:24px}.tabs button{font-size:14px}.search{width:100%;margin:13px 0}.search input{width:100%}.filters{gap:3px;margin:18px 0}.filters button{padding:6px 11px}.grid{grid-template-columns:1fr;gap:11px}.card{min-height:125px;padding:16px 18px;gap:17px}.dishicon{margin-top:5px}.dishbody{padding-right:28px}.dishbody h2{font-size:17px}.dishbody p{font-size:12px}.pick{width:31px;height:31px;right:18px;top:20px}.addcard{min-height:112px}.empty{padding:35px 15px}.empty p{max-width:250px;margin-left:auto;margin-right:auto}footer{flex-wrap:wrap;margin-top:26px;line-height:1.8}footer>span{width:100%;margin-left:21px}.dialog{padding:22px}.overlay{padding:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
[hidden]{display:none!important}.authwrap{min-height:100dvh;display:grid;place-items:center;padding:25px}.authcard{max-width:400px;width:100%;padding:35px;background:#fffefa;border:1px solid var(--line);border-radius:20px}.authbrand{margin-bottom:38px}.authcard h1{font-size:32px;line-height:1.45}.authcard>p{font-size:12px;color:#8d9580;line-height:1.8}.authnote{text-align:center;margin:25px 0 0}.headbuttons{display:flex;gap:8px}.dishicon{font-size:32px}.empty>span{font-size:30px}.pick{font-size:21px}.dialoghead>button{font-size:25px}.accountintro{font-size:12px;color:#8d9580}.logout{width:100%;padding:12px;margin-top:15px;background:transparent;color:#8b6d59;border:1px solid var(--line);border-radius:8px}.authwrap input:focus{outline:2px solid #a8b58b}.actions>button{font-size:18px}.addcard>span{font-size:25px}@media(max-width:560px){.authcard{padding:25px}.brand{font-size:15px}.manage{font-size:10px;padding:8px}.headbuttons{gap:5px}}

.authwrap{grid-template-columns:minmax(0,1fr);width:100%}.authcard{min-width:0}.authcard input{min-width:0;max-width:100%}
.dishicon{width:76px;height:76px;background:transparent!important;border-radius:0;margin-top:5px}.dishicon svg{display:block;width:100%;height:100%}.card{min-height:158px}.dishbody{flex:1}.dishbody h2{line-height:1.4}@media(max-width:560px){.card{min-height:135px;gap:14px}.dishicon{width:74px;height:74px}.dishbody{padding-right:25px}}
