.admin{z-index:70;background:var(--paper);background-image:radial-gradient(var(--paper-dot) .6px, transparent .6px);background-size:14px 14px;position:fixed;inset:0;overflow-y:auto}.admin__inner{flex-direction:column;gap:16px;max-width:760px;margin:0 auto;padding:18px 16px 40px;display:flex}.admin__bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin__title{letter-spacing:-.02em;font-size:22px;font-weight:700}.acard{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;padding:20px;display:flex}.acard--green{background:var(--green-bg);border-color:var(--green-line)}.acard--gate{max-width:340px;margin:12vh auto 0}.acard__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.acard__title{font-size:16px;font-weight:600}.tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-5);font-size:10.5px}.fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field--full{grid-column:1/-1}.field__label{color:var(--ink-4);font-size:12.5px}.input,.select,.textarea{background:var(--paper);border:1px solid var(--line-2);border-radius:9px;width:100%;padding:11px;font-size:14px}.textarea{resize:vertical}.acard--green .input,.acard--green .select,.acard--green .textarea{background:var(--green-bg-2);border-color:var(--green-line-2)}.abtns{flex-wrap:wrap;gap:10px;display:flex}.abtn{background:var(--terracotta);min-height:44px;color:var(--on-terracotta);border-radius:9px;padding:11px 16px;font-size:14px;font-weight:600}.abtn--green{background:var(--green-deep);color:var(--on-green)}.abtn--ink{background:var(--ink);color:var(--on-ink)}.abtn--outline{border:1px solid var(--line-2);color:var(--ink-3);background:0 0}.abtn--danger{background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger-ink);min-height:36px;padding:8px 12px;font-size:13px}.abtn--small{border:1px solid var(--line-2);min-height:36px;color:var(--ink-3);background:0 0;padding:8px 12px;font-size:13px}.abtn[disabled]{opacity:.5;cursor:not-allowed}.picker{text-align:center;color:var(--ink-3);cursor:pointer;border:1px dashed #c0b39a;border-radius:9px;padding:14px;font-size:13.5px;display:block}.picker:hover{border-color:var(--terracotta);color:var(--terracotta)}.pthumbs{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pthumb{background:var(--stripe-b);border-radius:8px;width:70px;height:70px;position:relative;overflow:hidden}.pthumb img{object-fit:cover;width:100%;height:100%}.pthumb__x{width:20px;height:20px;color:var(--paper);background:#231f1abf;border-radius:999px;justify-content:center;align-items:center;font-size:12px;line-height:1;display:flex;position:absolute;top:3px;right:3px}.toggles{flex-wrap:wrap;gap:8px;display:flex}.toggle{background:var(--green-bg-2);border:1px solid var(--green-line-2);color:#4a5748;border-radius:999px;padding:8px 13px;font-size:12.5px}.toggle[aria-pressed=true]{background:var(--green-deep);border-color:var(--green-deep);color:var(--on-green)}.rows{flex-direction:column;gap:8px;display:flex}.row{border:1px solid var(--line-3);background:var(--paper);border-radius:10px;align-items:center;gap:12px;padding:8px;display:flex}.acard--green .row{background:var(--green-bg-2);border-color:var(--green-line)}.row__thumb{background:var(--stripe-b);border-radius:8px;flex:none;width:52px;height:52px;overflow:hidden}.row__thumb img{object-fit:cover;width:100%;height:100%}.row__main{flex:1;min-width:0}.row__name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.row__meta{font-family:var(--font-mono);color:var(--ink-5);margin-top:3px;font-size:11.5px}.row__actions{flex:none;gap:6px;display:flex}.note{color:var(--terracotta);font-size:12.5px}.note--muted{color:var(--ink-4)}.sql{font-family:var(--font-mono);white-space:pre-wrap;background:var(--paper);border:1px solid var(--line-3);color:var(--ink-2);border-radius:9px;padding:12px;font-size:11px;line-height:1.7;overflow-x:auto}@page{size:A4;margin:0}.flier-body{background:#d8d2c6;margin:0}.flier-toolbar{background:var(--ink);color:var(--on-ink);align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.flier-toolbar label{align-items:center;gap:6px;display:flex}.flier-toolbar input{border:1px solid var(--line-2);background:var(--card);width:60px;color:var(--ink);border-radius:7px;padding:6px 8px}.flier-toolbar__btn{background:var(--terracotta);color:var(--on-terracotta);border-radius:999px;margin-left:auto;padding:8px 14px;font-weight:600}.page{background-color:var(--paper);background-image:radial-gradient(var(--paper-dot) .6px, transparent .6px);width:210mm;height:297mm;color:var(--ink);background-size:15px 15px;flex-direction:column;gap:7mm;margin:16px auto;padding:14mm 13mm 11mm;display:flex;overflow:hidden;box-shadow:0 4px 24px #0000002e}.fhead{border-bottom:2px solid var(--ink);gap:9mm;padding-bottom:6mm;display:flex}.fhead__left{flex:1;min-width:0}.fkicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--terracotta);font-size:11pt;font-weight:700}.fh1{letter-spacing:-.03em;margin-top:2.5mm;font-size:36pt;font-weight:700;line-height:.95}.fsub{color:#4a4238;max-width:34ch;margin-top:3mm;font-size:12.5pt;line-height:1.4}.fpickup{margin-top:4mm;font-size:12pt;font-weight:600}.fcontact{font-family:var(--font-mono);margin-top:1.5mm;font-size:12pt}.qrblock{background:var(--ink);border-radius:4mm;flex-direction:column;flex:none;align-items:center;gap:2.5mm;width:70mm;padding:4mm 4mm 3.5mm;display:flex}.qrblock__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--paper);font-size:11pt;font-weight:700}.qrblock__panel{background:var(--card);border-radius:2.5mm;width:60mm;height:60mm;padding:2.5mm}.qr{width:100%;height:100%;display:block}.qr-fallback{text-align:center;height:100%;color:var(--danger-ink);justify-content:center;align-items:center;padding:4mm;font-size:10pt;display:flex}.qrblock__url{font-family:var(--font-mono);color:var(--paper);word-break:break-all;text-align:center;font-size:9.5pt}.qrblock__hint{color:#c7bda9;text-align:center;font-size:9.5pt}.fgrid{flex:1;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:5mm;min-height:0;display:grid}.fcard{background:var(--card);border:1px solid var(--line);break-inside:avoid;border-radius:3mm;display:flex;position:relative;overflow:hidden}.fcard__photo{background:var(--card);flex:0 0 50%;align-self:stretch;position:relative}.fcard__photo>img{object-fit:contain;width:calc(100% - 4mm);height:calc(100% - 4mm);position:absolute;inset:2mm}.fcard__photo>.photo-placeholder{width:100%;height:100%;position:absolute;inset:0}.fcard__photo .photo-placeholder{font-size:6.5pt}.fcard__main{flex-direction:column;flex:1;min-width:0;padding:3mm;display:flex}.fcard__name{font-size:11.5pt;font-weight:600;line-height:1.2}.fcard__name-zh{color:#6b6255;margin-top:1mm;font-size:9.5pt}.fcard__prices{align-items:baseline;gap:2mm;margin-top:auto;padding-top:2mm;display:flex}.fcard__price{font-family:var(--font-mono);color:var(--terracotta);font-size:15pt;font-weight:700}.fcard__orig{font-family:var(--font-mono);color:var(--ink-5);font-size:9.5pt;text-decoration:line-through}.fcard__bundle{writing-mode:vertical-rl;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--green);font-size:7pt;position:absolute;top:3mm;right:1.5mm}.ffoot{border-top:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:6mm;padding-top:4mm;display:flex}.ffoot__left{font-size:11pt;font-weight:600}.ffoot__right{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-size:9pt}@media print{.flier-body{background:0 0}.flier-toolbar{display:none}.page{box-shadow:none;margin:0}}:root{--paper:#f4efe6;--paper-dot:#e2d9c8;--card:#fbf8f2;--band:#efe6d5;--ink:#231f1a;--ink-2:#443d33;--ink-3:#544c40;--ink-4:#8a7f6d;--ink-5:#9b8f7c;--line:#ded2bb;--line-2:#cfc2ab;--line-3:#e6dccb;--terracotta:#a8552f;--terracotta-hover:#7d3d20;--terracotta-tint:#f9f2e8;--green:#5d8c5a;--green-deep:#3f6b3c;--green-mid:#4a7247;--green-bg:#edf2ec;--green-bg-2:#f6faf5;--green-line:#c3d5c0;--green-line-2:#b7c9b4;--green-ink:#7c8a78;--danger-bg:#f9ece5;--danger-line:#e0c3b5;--danger-ink:#8f4023;--on-ink:#f4efe6;--on-terracotta:#fdfaf4;--on-green:#f2f6f1;--stripe-a:#e8dfcd;--stripe-b:#efe7d8;--scrim:#231f1a80;--card-shadow:0 1px 0 #e6dccb, 0 6px 14px -12px #3c2d1980;--font-sans:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Space Mono", ui-monospace, "SF Mono", Menlo, monospace;--content-max:1080px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--paper);background-image:radial-gradient(var(--paper-dot) .6px, transparent .6px);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;background-size:14px 14px;font-size:16px}:lang(zh-Hans){font-family:var(--font-sans), "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input,select,textarea{font:inherit;color:inherit}a{color:var(--terracotta);text-decoration:none}a:hover{color:var(--terracotta-hover)}:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px;border-radius:4px}.mono{font-family:var(--font-mono)}.photo-placeholder{background:repeating-linear-gradient(135deg, var(--stripe-a) 0 8px, var(--stripe-b) 8px 16px);width:100%;height:100%;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-5);justify-content:center;align-items:center;font-size:9.5px;display:flex}.hscroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}.hscroll::-webkit-scrollbar{display:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.header{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f4efe6ed;border-bottom:1px solid #ddd2bf;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.header__inner{width:100%;max-width:var(--content-max);align-items:center;gap:12px;margin:0 auto;display:flex}.header__brand{flex-direction:column;min-width:0;margin-right:auto;line-height:1.05;display:flex}.header__title{letter-spacing:-.01em;font-size:17px;font-weight:700}.header__count{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);font-size:10px}.langtoggle{border:1px solid var(--line-2);background:var(--card);border-radius:999px;flex:none;display:flex;overflow:hidden}.langtoggle__seg{color:var(--ink-3);background:0 0;padding:7px 11px;font-size:12px;font-weight:600}.langtoggle__seg[aria-pressed=true]{background:var(--ink);color:var(--paper)}.btn-contact{background:var(--terracotta);color:var(--on-terracotta);border-radius:999px;flex:none;padding:9px 16px;font-size:13px;font-weight:600}.btn-contact:hover{background:var(--terracotta-hover)}.wrap{max-width:var(--content-max);margin:0 auto}.hero{padding:26px 16px 8px}.hero__h1{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(30px,8vw,52px);font-weight:700;line-height:1.02}.hero__sub{color:var(--ink-3);text-wrap:pretty;max-width:52ch;margin-top:12px;font-size:16px;line-height:1.55}.hero__chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.infochip{background:var(--band);border:1px solid var(--line);color:#4a4238;border-radius:8px;align-items:center;gap:7px;padding:7px 11px;font-size:12.5px;display:flex}.infochip__dot{background:var(--green);border-radius:999px;flex:none;width:6px;height:6px}.filters{z-index:20;background:linear-gradient(var(--paper) 70%, transparent);padding:10px 16px 8px;position:sticky;top:57px}.filters__row{max-width:var(--content-max);gap:7px;margin:0 auto;padding-bottom:2px;display:flex}.chip{background:var(--card);border:1px solid var(--line-2);color:var(--ink-3);white-space:nowrap;border-radius:999px;flex:none;padding:8px 14px;font-size:13px;font-weight:500}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600}.grid{max-width:var(--content-max);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:0 auto;padding:4px 16px 40px;display:grid}.card{text-align:left;background:var(--card);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:14px;flex-direction:column;transition:transform .15s ease-out,border-color .15s ease-out;display:flex;overflow:hidden}.card:hover{border-color:#c0ac8c;transform:translateY(-2px)}.card__media,.sheet__hero{aspect-ratio:4/3;background:var(--stripe-b);flex:none;position:relative;overflow:hidden}.card__media>img,.card__media>.photo-placeholder,.sheet__hero>img,.sheet__hero>.photo-placeholder{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border-radius:5px;padding:4px 7px;font-size:9.5px;position:absolute}.badge--pending{background:var(--ink);color:var(--paper);top:8px;left:8px}.badge--bundle{background:var(--green);color:var(--card);top:8px;right:8px}.badge--count{color:var(--paper);background:#231f1ab8;bottom:8px;right:8px}.card__body{flex-direction:column;flex:1;gap:6px;padding:10px 11px 12px;display:flex}.card__name{font-size:14px;font-weight:600;line-height:1.25}.priceRow{align-items:baseline;gap:7px;margin-top:auto;display:flex}.price{font-family:var(--font-mono);color:var(--terracotta);font-size:16px;font-weight:700}.price--orig{font-family:var(--font-mono);color:var(--ink-5);font-size:11.5px;font-weight:400;text-decoration:line-through}.empty{text-align:center;color:var(--ink-4);padding:56px 16px;font-size:15px}.contactband{background:var(--band);border-top:1px solid #ddd2bf;padding:34px 16px 22px}.contactband__h2{letter-spacing:-.02em;font-size:22px;font-weight:700}.contactband__sub{color:var(--ink-3);max-width:46ch;margin-top:8px;font-size:14.5px}.contactband__actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.btn{border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:13px 18px;font-size:14.5px;font-weight:600;display:inline-flex}.btn--primary{background:var(--terracotta);color:var(--on-terracotta)}.btn--primary:hover{background:var(--terracotta-hover);color:var(--on-terracotta)}.btn--secondary{background:var(--card);border:1px solid var(--line-2);color:var(--ink)}.btn--secondary:hover{color:var(--ink);border-color:#c0ac8c}.btn--green{background:var(--green-deep);color:var(--on-green);border-radius:10px}.wechat{align-items:center;gap:14px;margin-top:22px;display:flex}.wechat__frame{border:1px solid var(--line-2);background:var(--card);border-radius:12px;flex:none;justify-content:center;align-items:center;width:132px;height:132px;display:flex;overflow:hidden}.wechat__frame img{object-fit:contain;width:100%;height:100%}.wechat__title{font-size:14.5px;font-weight:600}.wechat__id{font-family:var(--font-mono);color:var(--ink-3);margin-top:4px;font-size:13px}.wechat__hint{color:var(--ink-4);margin-top:6px;font-size:12.5px}.footerstrip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-5);justify-content:space-between;align-items:center;gap:12px;margin-top:34px;font-size:10.5px;display:flex}.footerstrip__dot{color:var(--ink-5);font-family:var(--font-mono);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:6px 10px}.scrim{z-index:50;background:var(--scrim);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);border-radius:18px 18px 0 0;width:100%;max-height:92vh;animation:.22s ease-out sheet-in;overflow-y:auto}.sheet--item{max-width:560px}.sheet--contact{max-width:460px;padding:0 16px 22px;animation-duration:.2s}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.sheet__head{z-index:2;background:var(--card);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex;position:sticky;top:0}.sheet__kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-5);font-size:10.5px}.sheet__close{background:var(--band);width:34px;height:34px;color:var(--ink-3);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:17px;line-height:1;display:flex}.thumbs{gap:7px;padding:10px 16px 0;display:flex}.thumb{border:2px solid var(--line-3);background:var(--stripe-b);border-radius:8px;flex:none;width:60px;height:60px;padding:0;overflow:hidden}.thumb[aria-current=true]{border-color:var(--terracotta)}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.sheet__body{flex-direction:column;gap:14px;padding:14px 16px 22px;display:flex}.sheet__title{letter-spacing:-.02em;font-size:21px;font-weight:700;line-height:1.2}.sheet__price{font-family:var(--font-mono);color:var(--terracotta);font-size:26px;font-weight:700}.sheet__origPrice{font-family:var(--font-mono);color:var(--ink-5);font-size:14px;text-decoration:line-through}.savepill{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--band);border:1px solid var(--line);color:var(--green);border-radius:6px;padding:3px 7px;font-size:11px}.sheet__desc{color:var(--ink-2);white-space:pre-wrap;text-wrap:pretty;font-size:15px;line-height:1.6}.speccard{background:var(--paper);border:1px solid var(--line-3);border-radius:12px;flex-direction:column;gap:8px;padding:13px;display:flex}.specrow{justify-content:space-between;align-items:baseline;gap:14px;font-size:13.5px;display:flex}.specrow__label{color:var(--ink-4);flex:none}.specrow__value{color:#3b352c;text-align:right}.linkcard{background:var(--card);border:1px solid var(--line-2);width:100%;min-height:48px;color:var(--ink);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.linkcard:hover{border-color:var(--terracotta);background:var(--terracotta-tint);color:var(--ink)}.linkcard__label{font-size:14px;font-weight:600}.linkcard__host{font-family:var(--font-mono);color:var(--ink-4);margin-top:2px;font-size:11.5px}.linkcard__arrow{color:var(--terracotta);flex:none;font-size:17px}.actionrow{flex-wrap:wrap;gap:10px;display:flex}.actionrow>*{flex:1;min-width:150px;min-height:48px}.bundle{background:var(--green-bg);border:1px solid var(--green-line);border-radius:12px;flex-direction:column;gap:10px;padding:13px;display:flex}.bundle__kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--green-mid);font-size:10px}.bundle__name{font-size:16px;font-weight:600}.bundle__prices{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.bundle__price{font-family:var(--font-mono);color:var(--green-deep);font-size:22px;font-weight:700}.bundle__meta{font-family:var(--font-mono);color:var(--green-ink);font-size:12.5px}.bundle__sum{text-decoration:line-through}.bundle__save{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--green-deep);font-size:11px}.bundle__members{flex-direction:column;gap:7px;display:flex}.member{text-align:left;background:var(--green-bg-2);border:1px solid var(--green-line);border-radius:9px;align-items:center;gap:10px;width:100%;padding:7px;display:flex}.member--current{background:#e3ebe1}.member__thumb{background:var(--stripe-b);border-radius:7px;flex:none;width:38px;height:38px;overflow:hidden}.member__thumb img{object-fit:cover;width:100%;height:100%;display:block}.member__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.member__price{font-family:var(--font-mono);color:#6b7768;flex:none;font-size:12.5px}.contactrow{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:50px;padding:13px 16px;font-size:14.5px;font-weight:600;display:flex}.contactrow--primary{background:var(--terracotta);color:var(--on-terracotta)}.contactrow--primary:hover{background:var(--terracotta-hover);color:var(--on-terracotta)}.contactrow--secondary{background:var(--card);border:1px solid var(--line-2);color:var(--ink)}.contactrow__meta{font-family:var(--font-mono);opacity:.85;font-size:12.5px;font-weight:400}.contactrow--wechat{border:1px solid var(--line-2);background:var(--card);border-radius:12px;align-items:center;gap:14px;padding:13px;display:flex}.contactrow--wechat .wechat__frame{width:96px;height:96px}
