:root{--paper: #faf7f2;--card: #ffffff;--ink: #2b241d;--ink-2: #7d7468;--ink-3: #b0a696;--line: #eee7db;--line-2: #e0d8c9;--accent: #e05a24;--accent-deep: #c24818;--accent-soft: #fbeee6;--gold: #c98d4e;--green: #3d7a52;--amber: #a8741a;--red: #c0432c;--radius: 18px;--shadow-sm: 0 1px 2px rgba(120, 84, 50, .04), 0 6px 20px rgba(120, 84, 50, .06);--shadow-md: 0 10px 34px rgba(120, 84, 50, .13);--safe-b: env(safe-area-inset-bottom, 0px);--font-display: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;--font-body: -apple-system, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}::selection{background:var(--accent-soft);color:var(--accent-deep)}a{color:inherit;text-decoration:none}button{font-family:inherit;-webkit-user-select:none;user-select:none}img{display:block}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:.5px}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;width:100%;max-width:1060px;margin:0 auto;padding:20px 16px 48px}.topbar{position:sticky;top:0;z-index:100;background:#faf7f2e0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1060px;margin:0 auto;padding:0 16px;height:58px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:34px;height:34px;border-radius:10px;background:var(--accent);color:#fff;font-family:var(--font-display);font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #e05a2447}.logo-txt{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:1px;line-height:1.1}.logo-txt small{display:block;font-family:var(--font-body);font-size:9px;font-weight:600;letter-spacing:2.5px;color:var(--ink-3);margin-top:3px}.top-nav{display:flex;gap:2px}.top-nav a{padding:7px 14px;border-radius:10px;font-size:14px;color:var(--ink-2);font-weight:500;transition:all .15s}.top-nav a.router-link-active{color:var(--ink);font-weight:700;background:transparent;position:relative}.top-nav a.router-link-active:after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--accent);border-radius:1px}.cart-link{position:relative}.badge{position:absolute;top:-5px;right:-7px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;border-radius:9px;text-align:center;padding:0 5px}.tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:120;background:#fffefbeb;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:7px 8px calc(7px + var(--safe-b));grid-template-columns:repeat(4,1fr)}.tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--ink-3);border-radius:12px;padding:3px 0;transition:color .18s}.tabbar .t-svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}.tabbar a.router-link-active{color:var(--accent);font-weight:700}.tabbar a.router-link-active .t-svg{stroke:var(--accent);transform:translateY(-1px)}.tabbar .badge{top:-4px;right:calc(50% - 26px)}.tabbar.hide{display:none!important}.hero{position:relative;overflow:hidden;border-radius:22px;margin-bottom:16px;background:linear-gradient(150deg,#fff8ef,#fdeedd 55%,#f9e3cf);color:var(--ink);border:1px solid #f3e6d5;box-shadow:var(--shadow-sm)}.hero:after{content:"";position:absolute;right:-70px;top:-90px;width:320px;height:320px;background:radial-gradient(circle,rgba(224,90,36,.1),transparent 65%)}.hero:before{content:"";position:absolute;left:-60px;bottom:-90px;width:260px;height:260px;background:radial-gradient(circle,rgba(201,141,78,.1),transparent 65%)}.hero-in{position:relative;z-index:2;padding:34px 30px 30px;max-width:70%}.hero-kicker{font-size:10px;font-weight:700;letter-spacing:3px;color:var(--accent);margin-bottom:16px;text-transform:uppercase}.hero-in h1{font-size:32px;line-height:1.3;letter-spacing:2px;color:var(--ink)}.hero-in h1 em{font-style:normal;color:var(--accent-deep)}.hero-sub{margin-top:12px;font-size:13px;color:var(--ink-2);letter-spacing:1px}.hero-feats{display:flex;align-items:center;gap:10px;margin-top:20px}.hero-feats span{font-size:12px;letter-spacing:2px;color:var(--ink-2)}.hero-feats i{font-style:normal;color:var(--ink-3);font-size:11px}.hero-seal{position:absolute;z-index:2;right:26px;top:24px;width:56px;height:56px;border:2px solid rgba(224,90,36,.75);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--accent-deep);transform:rotate(-12deg);box-shadow:0 0 0 3px #e05a241a,inset 0 0 12px #e05a240f;background:#fff6}.hero-watermark{position:absolute;z-index:1;right:20px;bottom:-14px;font-size:110px;opacity:.12;transform:rotate(-8deg)}.subbar{position:sticky;top:58px;z-index:90;background:linear-gradient(var(--paper) 82%,transparent);padding:10px 0 8px;margin:-6px 0 4px}.search-box{display:flex;align-items:center;gap:9px;background:var(--card);border-radius:12px;padding:0 14px;height:44px;border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #e05a241a}.search-box .s-ico{width:15px;height:15px;stroke:var(--ink-3);fill:none;stroke-width:1.8;stroke-linecap:round;flex-shrink:0}.search-box input{border:none;height:100%;font-size:14px;background:transparent;padding:0}.search-box input:focus{border:none;box-shadow:none}.chips-scroll{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.chips-scroll::-webkit-scrollbar{display:none}.chip{flex-shrink:0;padding:7px 17px;border-radius:999px;background:transparent;border:1px solid var(--line-2);font-size:13px;cursor:pointer;color:var(--ink-2);transition:all .18s;font-family:inherit}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600;box-shadow:0 4px 12px #e05a2440}.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin:18px 2px 14px}.sec-head h2{font-size:20px;letter-spacing:1.5px}.sec-head h2:before{content:"§";color:var(--accent);margin-right:8px;font-size:16px}.sec-count{font-size:12px;color:var(--ink-3);letter-spacing:1px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.prod{background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}.prod:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-2)}.prod.soldout{opacity:.7}.prod-media{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;overflow:hidden}.prod-media span{font-size:54px;transition:transform .25s;filter:saturate(.9)}.prod:hover .prod-media span{transform:scale(1.1) rotate(-4deg)}.prod-media.t0{background:linear-gradient(140deg,#f6efe3,#eee2cf)}.prod-media.t1{background:linear-gradient(140deg,#edf0e5,#dfe4d2)}.prod-media.t2{background:linear-gradient(140deg,#eaedf2,#d9dde7)}.prod-media.t3{background:linear-gradient(140deg,#f4e8e1,#e9d5c9)}.prod-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.prod:hover .prod-media img{transform:scale(1.05)}.prod.soldout .prod-media span{filter:grayscale(1);opacity:.5}.sold-tag,.low-tag{position:absolute;top:9px;left:9px;font-style:normal;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;color:#fff}.sold-tag{background:#211b14c7}.low-tag{background:#d0521ee6}.prod-body{padding:13px 15px 15px;display:flex;flex-direction:column;flex:1}.prod .name{font-size:15px;font-weight:600;line-height:1.4;letter-spacing:.3px}.prod .desc{font-size:12px;color:var(--ink-3);margin-top:4px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prod .row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.price{color:var(--accent-deep);font-weight:700;font-size:18px;font-family:Georgia,Times New Roman,serif;letter-spacing:-.3px}.price i{font-style:normal;font-size:12px;margin-right:1px}.add-wrap{position:relative;display:inline-flex}.add-btn{width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;background:var(--accent);color:#fff;font-size:18px;font-weight:500;line-height:1;transition:transform .12s,background .15s;box-shadow:0 4px 10px #e05a244d}.add-btn:hover{background:var(--accent-deep)}.add-btn:active{transform:scale(.85)}.add-btn:disabled{background:var(--line-2);color:var(--ink-3);cursor:not-allowed;box-shadow:none}.in-cart{position:absolute;top:-7px;left:-10px;z-index:2;min-width:18px;height:18px;line-height:18px;padding:0 5px;background:var(--green);color:#fff;font-size:11px;font-weight:700;border-radius:9px;text-align:center}.skel{height:218px;border-radius:var(--radius);background:linear-gradient(100deg,#ebe7de 40%,#f4f1ea,#ebe7de 60%);background-size:200% 100%;animation:shimmer 1.3s infinite;border:1px solid var(--line)}@keyframes shimmer{0%{background-position:130% 0}to{background-position:-70% 0}}.card{background:var(--card);border-radius:var(--radius);padding:20px;border:1px solid var(--line)}.empty{text-align:center;color:var(--ink-3);padding:52px 0;font-size:14px}.empty .big{font-size:42px;margin-bottom:12px;filter:grayscale(.4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-2);border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;background:transparent;color:var(--ink);transition:all .15s,transform .12s}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn-danger{background:transparent;color:var(--red);border-color:#c0432c59}.btn-ghost{background:transparent}.btn-sm{padding:6px 12px;font-size:13px;border-radius:9px}.btn-block{width:100%}input,select,textarea{width:100%;border:1px solid var(--line-2);border-radius:12px;padding:11px 13px;font-size:14px;outline:none;background:var(--card);font-family:inherit;color:var(--ink);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e05a241a}input::placeholder{color:var(--ink-3)}label.field{display:block;margin-bottom:13px;font-size:12px;color:var(--ink-2);font-weight:600;letter-spacing:.5px}label.field input,label.field select,label.field textarea{margin-top:6px;font-weight:400}.shop-closed{display:flex;align-items:center;gap:12px;background:var(--card);border:1px dashed var(--line-2);border-radius:14px;padding:12px 16px;margin-bottom:12px;font-size:13px;font-weight:600}.shop-closed .ico{font-size:18px}.shop-closed .sub{font-weight:400;font-size:12px;color:var(--ink-3)}.prod-img{width:100%;height:100%;object-fit:cover}.switch{position:relative;width:52px;height:30px;flex-shrink:0;cursor:pointer}.switch input{display:none}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--line-2);transition:background .2s}.switch .thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000002e;transition:left .2s}.switch input:checked+.track{background:var(--green)}.switch input:checked~.thumb{left:25px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.stat-card .s-label{font-size:12px;color:var(--ink-3);font-weight:600;letter-spacing:1px}.stat-card .s-val{font-size:22px;font-weight:700;margin-top:6px;font-family:Georgia,serif;color:var(--ink);letter-spacing:-.3px}.stat-card .s-sub{font-size:11px;color:var(--ink-3);margin-top:3px}.stat-card.main{background:linear-gradient(135deg,#fff7f0,#fdeadd);border-color:#f3ddc8}.stat-card.main .s-label,.stat-card.main .s-val{color:var(--accent-deep)}.stat-card.main .s-sub{color:var(--ink-3)}.bars{display:flex;align-items:flex-end;gap:10px;height:130px;padding:6px 4px 0}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.bar-col .bar{width:100%;max-width:30px;border-radius:6px 6px 3px 3px;min-height:3px;background:var(--line-2);opacity:1;transition:height .3s}.bar-col.today .bar{background:var(--accent);opacity:1}.bar-col .b-val{font-size:10px;color:var(--ink-3);white-space:nowrap;font-family:Georgia,serif}.bar-col .b-day{font-size:11px;color:var(--ink-2)}.bar-col.today .b-day{color:var(--accent);font-weight:700}.cat-mgr{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cat-item{display:inline-flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 8px 6px 14px;font-size:13px}.cat-item .cnt{font-size:11px;color:var(--ink-3)}.cat-item button{border:none;background:none;cursor:pointer;font-size:12px;width:22px;height:22px;border-radius:50%;color:var(--ink-3)}.cat-item button:hover{background:var(--line)}.cat-add{display:flex;gap:8px;margin-top:12px}.cat-add input{flex:1}.sort-btns{display:flex;flex-direction:column;gap:2px}.sort-btns button{border:1px solid var(--line-2);background:#fff;cursor:pointer;width:26px;height:17px;border-radius:5px;font-size:9px;line-height:1;color:var(--ink-2)}.sort-btns button:active{background:var(--accent-soft);color:var(--accent)}.clear-btn{border:none;background:var(--line);color:var(--ink-2);cursor:pointer;width:24px;height:24px;border-radius:50%;font-size:11px;line-height:1;flex-shrink:0}.p-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:12px}.tab{position:relative}.tab-badge{font-style:normal;margin-left:6px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;border-radius:9px;display:inline-block;text-align:center;padding:0 5px}.cart-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.cart-row:last-of-type{border-bottom:none}.cart-media{width:52px;height:52px;border-radius:12px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--paper);border:1px solid var(--line)}.cart-media img{width:100%;height:100%;object-fit:cover}.cart-row .info{flex:1;min-width:0}.cart-row .info .n{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-row .info .p{font-size:13px;color:var(--accent-deep);font-weight:700;margin-top:3px;font-family:Georgia,serif}.cart-warn{font-size:11px;color:var(--red);margin-top:3px;font-weight:600}.cart-row.invalid{opacity:.55}.cart-row.invalid .cart-media,.cart-row.invalid img{filter:grayscale(1)}.qty{display:flex;align-items:center;gap:3px;background:var(--paper);border-radius:10px;padding:3px;border:1px solid var(--line)}.qty button{width:28px;height:28px;border-radius:8px;border:none;background:var(--card);cursor:pointer;font-size:15px;line-height:1;color:var(--ink)}.qty button:active{transform:scale(.9)}.qty button:disabled{color:var(--ink-3);opacity:.5}.qty span{min-width:24px;text-align:center;font-weight:700;font-size:14px}.cart-del{background:none;border:none;color:var(--ink-3);font-size:16px;cursor:pointer;padding:6px}.cart-del:active{transform:scale(.9)}.checkout{margin-top:18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.checkout .full{grid-column:1 / -1}.pay-bar{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--card);border-radius:var(--radius);padding:14px 18px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.pay-bar .total{font-size:13px;color:var(--ink-2);letter-spacing:1px}.pay-bar .total b{color:var(--accent-deep);font-size:24px;font-weight:700;font-family:Georgia,serif;letter-spacing:-.5px}.btn-submit{min-width:150px;border:none;cursor:pointer;border-radius:13px;background:var(--accent);color:#fff;font-size:15px;font-weight:700;padding:13px 26px;letter-spacing:2px;transition:transform .12s,background .15s}.btn-submit:hover{background:var(--accent-deep)}.btn-submit:active{transform:scale(.96)}.btn-submit:disabled{opacity:.45}.success{text-align:center;padding:34px 0 20px}.ok-ico{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:var(--accent);color:#fff;font-size:34px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px #e05a244d;animation:pop .45s cubic-bezier(.2,1.6,.4,1)}@keyframes pop{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}.success h2{font-size:21px;letter-spacing:2px}.success .sub{color:var(--ink-2);font-size:13px;margin:10px 0 4px}.success .ono{font-size:13px;color:var(--ink-3);margin:4px 0 22px;letter-spacing:1px}.success .ono b{color:var(--ink);font-family:Georgia,serif}.success .acts{display:flex;gap:10px;justify-content:center}.order{background:var(--card);border-radius:var(--radius);padding:16px 18px;margin-bottom:13px;border:1px solid var(--line)}.order .head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.order .ono{font-size:12px;color:var(--ink-3);letter-spacing:.5px;font-family:Georgia,serif}.order .time{font-size:11px;color:var(--ink-3);margin-top:3px}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;flex-shrink:0;letter-spacing:1px}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.pending{background:#f5ecd9;color:var(--amber)}.status.delivered{background:#e7f0e7;color:var(--green)}.status.cancelled{background:#efebe3;color:var(--ink-3)}.order.cancelled{opacity:.7}.order .item-line{display:flex;align-items:center;gap:10px;font-size:14px;padding:5px 0;color:var(--ink)}.order .item-line .q{color:var(--ink-3);font-size:12px;font-family:Georgia,serif}.oi-img{width:28px;height:28px;border-radius:8px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--paper);border:1px solid var(--line)}.oi-img img{width:100%;height:100%;object-fit:cover}.order .addr{font-size:12px;color:var(--ink-2);margin:9px 0 4px;padding-top:10px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.order .foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--ink-2)}.foot-acts{display:flex;gap:8px}.order .foot .total{color:var(--accent-deep);font-weight:700;font-size:19px;font-family:Georgia,serif;letter-spacing:-.3px}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}.tabs{display:flex;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:4px}.tab{padding:8px 18px;border-radius:10px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--ink-2);font-weight:600;transition:all .18s}.tab.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:700}.tbl-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th,.tbl td{padding:11px 8px;text-align:left;border-bottom:1px solid var(--line)}.tbl th{color:var(--ink-3);font-weight:600;font-size:12px;white-space:nowrap;letter-spacing:1px}.tbl .price{color:var(--accent-deep);font-weight:700;font-family:Georgia,serif}.tag{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;letter-spacing:1px}.tag.on{background:#e7f0e7;color:var(--green)}.tag.off{background:#efebe3;color:var(--ink-3)}.ops{display:flex;gap:6px;align-items:center}.m-cards{display:none}.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}.pcard .p-head{display:flex;align-items:center;gap:10px}.pcard .p-head b{flex:1;font-size:15px}.pcard .p-emoji{font-size:24px}.pcard .p-meta{display:flex;gap:14px;font-size:13px;color:var(--ink-2);margin:9px 0 11px;align-items:baseline}.pcard .p-meta .price{font-size:15px}.pcard .p-ops{display:flex;gap:8px}.ocard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px;margin-bottom:12px}.ocard .o-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.ocard .o-no{font-size:11px;color:var(--ink-3);font-family:Georgia,serif}.ocard .o-items{font-size:13px;color:var(--ink);line-height:1.7;margin:7px 0}.ocard .o-info{font-size:12px;color:var(--ink-2)}.ocard .o-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.ocard .price{font-family:Georgia,serif}.img-pick{width:96px;height:96px;border-radius:14px;border:1.5px dashed var(--line-2);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;overflow:hidden;background:var(--paper);flex-shrink:0;font-size:12px;color:var(--ink-3)}.img-pick:active{border-color:var(--accent)}.img-pick img{width:100%;height:100%;object-fit:contain}.img-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:13px}.img-row .img-side{flex:1}.addr-card{display:flex;align-items:center;gap:12px}.addr-card .a-ico{width:44px;height:44px;border-radius:12px;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.addr-card .a-body{flex:1;min-width:0}.addr-card .a-body .a-main{font-size:14px;font-weight:600}.addr-card .a-body .a-sub{font-size:12px;color:var(--ink-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#19130c80;z-index:200;display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fadeIn .2s}.modal{background:var(--card);border-radius:24px 24px 0 0;padding:24px 22px calc(24px + var(--safe-b));width:100%;max-width:480px;max-height:88vh;overflow:auto;animation:slideUp .28s cubic-bezier(.2,.9,.3,1)}.modal h3{margin-bottom:18px;font-size:18px;letter-spacing:1px}.modal .actions{display:flex;gap:10px;margin-top:6px}.modal .actions .btn{flex:1;padding:13px;font-size:15px}.modal-err{color:var(--red);font-size:13px;margin-top:10px}@keyframes fadeIn{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(60%)}}.toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-b));transform:translate(-50%);background:var(--ink);color:#f7f2e9;padding:11px 24px;border-radius:999px;font-size:14px;z-index:300;white-space:nowrap;animation:toastIn .25s cubic-bezier(.2,1.4,.4,1);box-shadow:var(--shadow-md)}@keyframes toastIn{0%{transform:translate(-50%,16px);opacity:0}}.page-enter-active,.page-leave-active{transition:opacity .18s ease,transform .18s ease}.page-enter-from{opacity:0;transform:translateY(12px)}.page-leave-to{opacity:0;transform:translateY(-8px)}@media (max-width: 768px){.top-nav{display:none}.tabbar{display:grid}.main{padding:14px 13px calc(88px + var(--safe-b))}.topbar-inner{height:52px;padding:0 14px}.logo{font-size:16px}.logo-mark{width:30px;height:30px;font-size:17px;border-radius:9px}.logo-txt{font-size:16px}.subbar{top:52px}.hero{border-radius:16px;margin-bottom:12px}.hero-in{padding:18px 18px 17px;max-width:78%}.hero-in h1{font-size:21px;letter-spacing:1px}.hero-kicker{margin-bottom:9px;font-size:9px;letter-spacing:2px}.hero-sub{margin-top:6px;font-size:11px}.hero-feats{margin-top:11px;gap:7px}.hero-feats span{font-size:10px}.hero-seal{width:42px;height:42px;font-size:19px;right:16px;top:16px}.hero-watermark{font-size:70px;right:10px;bottom:-8px}.grid{grid-template-columns:1fr 1fr;gap:10px}.prod-media span{font-size:44px}.prod .name{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prod-body{padding:10px 12px 12px}.price{font-size:16px}.add-btn{width:32px;height:32px}.checkout{grid-template-columns:1fr;gap:0}.pay-bar{position:sticky;bottom:calc(58px + var(--safe-b));z-index:110;border-radius:16px;box-shadow:var(--shadow-md)}input,select,textarea{font-size:16px}.tbl-wrap,.desk-only{display:none}.m-cards{display:block}.search-box{height:42px}.p-filters{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr 1fr;gap:8px}.stat-card{padding:12px}.stat-card .s-val{font-size:17px}}@media (min-width: 769px){.modal-mask{align-items:center}.modal{border-radius:20px;width:440px}}
