:root{--primary:#1f5b45;--secondary:#f4b95f;--accent:#e96745;--bg:#f7f4ee;--surface:#fffdf8;--ink:#18251f;--muted:#748078;--line:rgba(31,91,69,.11);--shadow:0 24px 70px rgba(31,62,48,.16)}
[hidden]{display:none!important}
*{box-sizing:border-box}button,input{font:inherit}button{border:0;cursor:pointer}body{margin:0;min-height:100vh;background:#e6ece6;color:var(--ink);font-family:'Plus Jakarta Sans','PingFang SC',sans-serif;display:flex;align-items:center;justify-content:center;gap:7vw;overflow:hidden}.ambient{position:fixed;border-radius:50%;filter:blur(1px);opacity:.7;pointer-events:none}.ambient-a{width:520px;height:520px;background:#c8d9c7;left:-200px;top:-200px}.ambient-b{width:430px;height:430px;background:#f2d8af;right:-170px;bottom:-230px}.preview-note{width:min(440px,32vw);position:relative;z-index:2}.note-brand{display:flex;align-items:center;gap:14px;color:var(--primary);letter-spacing:.12em}.note-brand span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--primary);color:white;font-family:'Noto Serif SC';font-size:22px}.preview-note h1{font:700 clamp(34px,3.7vw,62px)/1.16 'Noto Serif SC',serif;margin:42px 0 24px;letter-spacing:-.04em}.preview-note p{font-size:16px;line-height:1.9;color:#5f6e65;max-width:410px}.note-pills{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.note-pills span{background:rgba(255,255,255,.6);border:1px solid rgba(31,91,69,.12);padding:9px 13px;border-radius:99px;font-size:12px;color:var(--primary)}.admin-link{display:inline-flex;align-items:center;gap:48px;margin-top:10px;padding:15px 18px;border-radius:14px;background:var(--ink);color:white;text-decoration:none;font-weight:700}.admin-link span{color:var(--secondary)}.phone-shell{position:relative;z-index:2;width:390px;height:min(844px,94vh);background:#111;border:8px solid #111;border-radius:50px;box-shadow:0 35px 90px rgba(28,49,40,.28);overflow:hidden}.phone-status{height:37px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:0 26px;font-size:11px;font-weight:700}.island{width:92px;height:24px;border-radius:20px;background:#111}.app{height:calc(100% - 37px);background:var(--bg);position:relative;overflow:hidden}.topbar{height:61px;display:flex;align-items:center;justify-content:space-between;padding:8px 17px;background:var(--surface)}.location{display:flex;align-items:center;gap:8px;background:none;color:var(--ink);padding:0;text-align:left}.location .pin{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e4eee8;color:var(--primary);font-size:10px}.location small{display:block;color:var(--muted);font-size:9px;margin-bottom:1px}.location strong{font-size:12px}.location b{font-size:18px;color:#91a099}.mini-menu{padding:6px 12px;border-radius:16px;background:transparent;border:1px solid #d9ddd9;color:#45554c;letter-spacing:2px}.scroll-area{height:calc(100% - 61px - 69px);overflow-y:auto;scroll-behavior:smooth;scrollbar-width:none}.scroll-area::-webkit-scrollbar{display:none}.view{display:none;min-height:100%;padding-bottom:22px}.view.active{display:block}.hero{height:254px;background:linear-gradient(135deg,#164b39 0%,#286b50 100%);margin:0 10px;border-radius:0 0 27px 27px;position:relative;color:white;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.18),transparent 32%),repeating-linear-gradient(120deg,transparent 0 32px,rgba(255,255,255,.025) 33px 34px)}.hero-copy{position:relative;padding:29px 0 0 21px;z-index:2}.eyebrow{font-size:8px;letter-spacing:.22em;color:#d4bd89;margin-bottom:9px}.hero h2{font:700 23px/1.38 'Noto Serif SC';margin:0}.hero p{font-size:10px;color:#dbe8e0;margin:9px 0 16px}.hero button{background:var(--secondary);color:#3d3524;padding:9px 13px;border-radius:20px;font-size:10px;font-weight:700}.hero-art{position:absolute;right:0;bottom:0;width:49%;height:100%}.cup{position:absolute;right:28px;bottom:18px;width:94px;height:151px;background:linear-gradient(90deg,#f6e5ca,#fff3de 46%,#d7c1a1);clip-path:polygon(8% 0,92% 0,78% 100%,21% 100%);filter:drop-shadow(0 12px 10px rgba(10,30,20,.22));display:flex;align-items:center;justify-content:center}.cup:after{content:"";position:absolute;left:4px;right:4px;top:-5px;height:12px;border-radius:50%;background:#e6cda7;border:3px solid #fff0d7}.cup i{font:700 14px 'Noto Serif SC';color:#355e4c;border:1px solid #355e4c;padding:6px 4px;font-style:normal}.peach{position:absolute;border-radius:48% 52% 55% 45%;background:radial-gradient(circle at 32% 28%,#ffd6bd 0 18%,#f49a70 46%,#cf5c52 100%);box-shadow:inset -5px -8px 13px rgba(124,38,38,.16)}.peach-one{width:48px;height:47px;right:8px;bottom:21px}.peach-two{width:34px;height:33px;right:101px;bottom:4px}.leaf{position:absolute;width:40px;height:19px;border-radius:100% 0 100% 0;background:#78a371;transform:rotate(-30deg)}.leaf-one{right:28px;bottom:61px}.leaf-two{right:105px;bottom:37px;transform:rotate(25deg)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 16px 0;background:var(--surface);padding:16px 7px;border-radius:18px;box-shadow:0 8px 25px rgba(52,72,62,.055)}.quick-grid button{background:transparent;display:flex;align-items:center;flex-direction:column;gap:3px;color:var(--ink)}.quick-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;margin-bottom:4px;font-size:21px}.quick-icon.tea{background:#e5eee8}.quick-icon.order{background:#f7ead4}.quick-icon.coupon{background:#f6ded6}.quick-icon.store{background:#e8e3da}.quick-grid strong{font-size:10px}.quick-grid small{font-size:8px;color:#9a9f9b}.block{padding:23px 16px 2px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.section-head small,.page-title small,.sheet-heading small{font-size:8px;letter-spacing:.22em;color:#b38952}.section-head h3,.page-title h2,.sheet-heading h2{font:700 20px 'Noto Serif SC';margin:2px 0 0}.section-head button{background:transparent;color:#8b948e;font-size:10px}.horizontal-products{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}.product-card{width:146px;min-width:146px;background:var(--surface);border-radius:17px;overflow:hidden;box-shadow:0 8px 24px rgba(45,62,52,.06);text-align:left;padding:0}.product-card .product-art{height:112px;background:linear-gradient(140deg,#e3ebdf,#f6e0ba);display:grid;place-items:center;font-size:52px;position:relative}.product-card .badge{position:absolute;top:9px;left:9px;background:var(--accent);color:white;font-size:7px;padding:4px 7px;border-radius:10px;letter-spacing:.04em}.product-card .product-info{padding:10px}.product-card strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card p{font-size:8px;color:#9a9d9b;margin:5px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price{font-size:10px;color:var(--accent);font-weight:700}.price b{font-size:16px}.add{float:right;background:var(--primary);color:white;width:25px;height:25px;border-radius:50%;font-size:17px;line-height:21px}.member-card{margin:19px 16px 14px;border-radius:19px;background:#172f26;color:white;padding:17px;display:grid;grid-template-columns:42px 1fr;gap:12px;position:relative;overflow:hidden}.member-card:after{content:"";position:absolute;width:100px;height:100px;border:1px solid rgba(244,185,95,.17);border-radius:50%;right:-26px;top:-37px}.member-mark{width:42px;height:42px;border-radius:13px;background:var(--secondary);color:#1e4435;display:grid;place-items:center;font:700 20px 'Noto Serif SC'}.member-card small{font-size:8px;color:#d5b87e;letter-spacing:.1em}.member-card h3{font-size:11px;margin:4px 0}.member-card p{font-size:8px;margin:0;color:#aabbb4}.stamp-progress{grid-column:1/3;height:4px;background:#355046;border-radius:4px}.stamp-progress i{display:block;width:75%;height:100%;background:var(--secondary);border-radius:4px}.page-title{padding:25px 18px 10px}.page-title h2{font-size:23px}.search{display:flex;align-items:center;background:white;margin:3px 16px 14px;border-radius:14px;padding:0 13px;height:41px;color:#87948d}.search input{border:0;outline:0;width:100%;padding-left:8px;background:transparent;font-size:11px}.catalog-layout{display:grid;grid-template-columns:82px 1fr;align-items:start;min-height:520px}.category-list{position:sticky;top:0;padding:4px 7px}.category-list button{width:100%;min-height:59px;background:transparent;color:#7e8882;border-radius:13px;font-size:10px;padding:8px 4px}.category-list button span{display:block;font-size:17px;margin-bottom:2px}.category-list button.active{background:white;color:var(--primary);font-weight:700;box-shadow:0 5px 16px rgba(43,68,55,.06)}.product-list{padding:4px 13px 0 5px}.menu-product{display:grid;grid-template-columns:88px 1fr;gap:11px;margin-bottom:12px;background:var(--surface);border-radius:16px;padding:8px;text-align:left;width:100%;color:var(--ink)}.menu-art{height:92px;border-radius:13px;background:linear-gradient(140deg,#e3ebdf,#f7e0b8);display:grid;place-items:center;font-size:37px;position:relative}.menu-product h3{font-size:12px;margin:3px 0 5px}.menu-product p{font-size:8px;line-height:1.5;color:#949c97;margin:0}.menu-product .price-row{margin-top:9px}.menu-product .add{float:right}.order-tabs{display:flex;gap:18px;padding:4px 18px 14px;border-bottom:1px solid var(--line)}.order-tabs button{background:transparent;padding:7px 0;color:#8c958f;font-size:10px}.order-tabs button.active{color:var(--primary);font-weight:700;border-bottom:2px solid var(--primary)}.order-list{padding:14px 15px}.order-card{background:var(--surface);border-radius:18px;padding:15px;margin-bottom:12px}.order-card-head{display:flex;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid var(--line)}.order-card-head b{font-size:11px}.order-card-head span{font-size:10px;color:var(--accent)}.order-card p{font-size:9px;color:#808a84;line-height:1.6}.order-card-foot{display:flex;justify-content:space-between;align-items:center}.order-card-foot strong{font-size:13px}.order-card-foot button{border:1px solid var(--primary);color:var(--primary);background:transparent;border-radius:15px;padding:6px 10px;font-size:9px}.pickup-code{background:#e8efe9;color:var(--primary);border-radius:12px;padding:10px;text-align:center;margin:10px 0;font-size:9px}.pickup-code b{display:block;font-size:25px;letter-spacing:.16em}.empty{padding:70px 20px;text-align:center;color:#8b958f;font-size:11px}.profile-hero{margin:0;background:linear-gradient(135deg,#174b39,#28684f);padding:35px 21px;color:white;display:flex;align-items:center;gap:13px}.avatar{width:50px;height:50px;background:var(--secondary);color:var(--primary);display:grid;place-items:center;border-radius:50%;font:700 20px 'Noto Serif SC'}.profile-hero h2{font:700 17px 'Noto Serif SC';margin:0 0 5px}.profile-hero p{font-size:9px;margin:0;color:#c8d8d0}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:-14px 16px 15px;position:relative;background:white;border-radius:17px;padding:16px}.profile-stats div{text-align:center;border-right:1px solid var(--line)}.profile-stats div:last-child{border:0}.profile-stats b{display:block;color:var(--primary);font-size:17px}.profile-stats span{font-size:9px;color:#87918b}.profile-menu{background:white;margin:0 16px;border-radius:17px;padding:5px 14px}.profile-menu button{display:flex;align-items:center;width:100%;background:transparent;border-bottom:1px solid var(--line);padding:14px 0;font-size:11px;text-align:left;color:var(--ink)}.profile-menu button:last-child{border:0}.profile-menu span{width:29px;font-size:16px}.profile-menu b{margin-left:auto;color:#9aa19d}.template-note{text-align:center;font-size:9px;line-height:1.7;color:#859089;margin:22px}.template-note span{font-size:8px}.tabbar{position:absolute;bottom:0;left:0;right:0;height:69px;background:rgba(255,253,248,.96);backdrop-filter:blur(15px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:7px}.tabbar button{background:transparent;color:#8b948f;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;position:relative}.tabbar span{font-size:20px;line-height:20px}.tabbar b{font-size:8px}.tabbar button.active{color:var(--primary)}.tabbar i{display:none;position:absolute;top:5px;right:17px;background:var(--accent);color:white;width:15px;height:15px;border-radius:50%;font-style:normal;font-size:8px;place-items:center}.tabbar i.show{display:grid}.modal-backdrop{position:fixed;inset:0;background:rgba(14,27,21,.55);backdrop-filter:blur(3px);z-index:8;opacity:0;pointer-events:none;transition:.25s}.modal-backdrop.show{opacity:1;pointer-events:auto}.sheet{position:fixed;z-index:9;background:var(--surface);border-radius:28px 28px 0 0;width:390px;max-height:76vh;bottom:calc((100vh - min(844px,94vh))/2 + 8px);left:calc(50% + 3.5vw);transform:translate(-50%,110%);transition:.3s cubic-bezier(.2,.8,.2,1);overflow-y:auto;padding:22px 18px 26px;box-shadow:0 -15px 50px rgba(20,44,33,.18)}.sheet.show{transform:translate(-50%,0)}.sheet-close{position:sticky;z-index:4;float:right;top:0;width:30px;height:30px;background:#edf0ed;border-radius:50%;color:#65716a;font-size:20px}.detail-art{height:180px;border-radius:20px;background:linear-gradient(140deg,#dfeadf,#f5d4a1);display:grid;place-items:center;font-size:76px;margin-bottom:17px}.detail-title h2{font:700 20px 'Noto Serif SC';margin:0 0 5px}.detail-title p{font-size:10px;color:#7f8a83;line-height:1.6}.option-group{margin:17px 0}.option-group h4{font-size:11px;margin:0 0 9px}.option-list{display:flex;gap:7px;flex-wrap:wrap}.option-list button{background:#f1f2ee;border:1px solid transparent;color:#66716a;padding:8px 12px;border-radius:18px;font-size:9px}.option-list button.selected{border-color:var(--primary);background:#e8f0eb;color:var(--primary);font-weight:700}.detail-action{display:flex;align-items:center;gap:15px;margin-top:20px}.detail-action .price{flex:1}.primary-button,.detail-action>button{background:var(--primary);color:white;padding:13px 21px;border-radius:22px;font-size:11px;font-weight:700}.cart-line{display:grid;grid-template-columns:44px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.cart-line .thumb{width:44px;height:44px;border-radius:12px;background:#edf0e8;display:grid;place-items:center;font-size:22px}.cart-line h4{font-size:10px;margin:0}.cart-line p{font-size:8px;color:#8c958f;margin:4px 0}.cart-line strong{font-size:11px}.qty{display:flex;align-items:center;gap:7px}.qty button{width:23px;height:23px;border-radius:50%;background:#edf1ed;color:var(--primary)}.qty span{font-size:10px}.cart-summary{position:sticky;bottom:-26px;background:var(--surface);padding:15px 0 0}.cart-summary>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cart-summary span{font-size:9px;color:#7a857e}.cart-summary strong{font-size:12px}.cart-summary strong b{font-size:23px}.cart-summary>button{width:100%;background:var(--primary);color:white;padding:13px;border-radius:22px;font-weight:700}.info-title{font:700 23px 'Noto Serif SC';margin:4px 0 18px}.info-card{background:#f4f2eb;border-radius:16px;padding:14px;margin-bottom:10px}.info-card b{display:block;font-size:12px;margin-bottom:5px}.info-card p{margin:3px 0;color:#738078;font-size:9px;line-height:1.55}.info-card .tag{display:inline-block;color:white;padding:4px 7px;border-radius:10px;font-size:7px;margin-bottom:8px}.checkout-form label{display:block;font-size:9px;color:#7f8a83;margin:13px 0 5px}.checkout-form select,.checkout-form textarea{width:100%;border:1px solid var(--line);background:#f7f6f1;border-radius:12px;padding:11px;outline:0;font-size:10px}.checkout-row{display:flex;justify-content:space-between;margin:13px 0;font-size:11px}.checkout-row.total{border-top:1px solid var(--line);padding-top:13px}.checkout-row.total b{font-size:20px;color:var(--accent)}.toast{position:fixed;z-index:12;left:50%;top:30px;transform:translate(-50%,-80px);background:#17382b;color:white;padding:11px 18px;border-radius:22px;font-size:11px;box-shadow:var(--shadow);transition:.25s}.toast.show{transform:translate(-50%,0)}
.reset-demo{display:block;margin-top:10px;padding:10px 14px;border:1px solid rgba(31,91,69,.2);border-radius:12px;background:rgba(255,255,255,.45);color:var(--primary);font-size:12px;font-weight:700}
@media(max-width:900px){body{background:#111}.preview-note,.ambient{display:none}.phone-shell{width:100vw;height:100vh;border:0;border-radius:0}.phone-status{display:none}.app{height:100%}.sheet{left:50%;bottom:0;width:100%;max-width:520px}.scroll-area{height:calc(100% - 61px - 69px)}}
