:root{--surface-1: #fcfcfb;--page: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--gridline: #e1e0d9;--border: rgba(11, 11, 11, .1);--accent: #8f3147;--accent-strong: #6f1f34;--accent-wash: #e9bdc8;--accent-wash-2: #f7e7e8;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(11, 11, 11, .06), 0 4px 12px rgba(11, 11, 11, .04);font-family:system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;color:var(--text-primary);background:var(--page)}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 12px;font-weight:600;line-height:1.3}h1{font-size:24px}h2{font-size:19px}h3{font-size:16px}.container{max-width:1120px;margin:0 auto;padding:0 20px}.page{padding:24px 0 64px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.small{font-size:13px}.center{text-align:center}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card-tight{padding:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);font-size:14px;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.btn:hover:not(:disabled){background:#f2f1ee}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-danger{color:var(--status-critical);border-color:#d03b3b66}.btn-danger:hover:not(:disabled){background:#d03b3b14}.btn-sm{padding:5px 11px;font-size:13px}.btn-lg{padding:13px 26px;font-size:16px}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label{font-size:14px;font-weight:500}.field .hint{font-size:12px;color:var(--text-muted)}.field .error{font-size:12px;color:var(--status-critical)}input,textarea,select{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);font-size:14px;font-family:inherit;color:var(--text-primary)}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent-wash);border-color:var(--accent)}input:disabled,textarea:disabled{background:#f2f1ee;color:var(--text-muted)}textarea{resize:vertical;min-height:80px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:600;color:var(--text-secondary);padding:10px 12px;border-bottom:1px solid var(--gridline);white-space:nowrap}.table td{padding:10px 12px;border-bottom:1px solid var(--gridline);vertical-align:middle}.table td.num,.table th.num{font-variant-numeric:tabular-nums;text-align:right}.table tbody tr:hover{background:#f6f5f2}.table-wrap{overflow-x:auto}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:12px;color:var(--text-secondary);background:#f2f1ee;border:1px solid var(--border);white-space:nowrap}.badge .dot{width:7px;height:7px;border-radius:50%;flex:none}.dot-good{background:var(--status-good)}.dot-warning{background:var(--status-warning)}.dot-serious{background:var(--status-serious)}.dot-critical{background:var(--status-critical)}.dot-neutral{background:var(--text-muted)}.dot-accent{background:var(--accent)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.kpi{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:15px 16px;display:flex;flex-direction:column;gap:6px}.kpi-label{font-size:13px;color:var(--text-secondary)}.kpi-value{font-size:28px;font-weight:600;line-height:1.15}.kpi-sub{font-size:12px;color:var(--text-muted)}.hero-figure{font-size:52px;font-weight:600;line-height:1.05}.meter{height:6px;border-radius:999px;background:var(--accent-wash-2);overflow:hidden}.meter>span{display:block;height:100%;background:var(--accent);border-radius:999px}.meter.is-warning>span{background:var(--status-warning)}.meter.is-critical>span{background:var(--status-critical)}.meter.is-good>span{background:var(--status-good)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.product-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s}.product-card:hover{box-shadow:var(--shadow)}.product-thumb{aspect-ratio:4 / 3;background:#f2f1ee;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-body{padding:12px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.product-name{font-weight:500}.price{color:var(--status-critical);font-weight:600;font-size:17px}.alert{padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:14px;display:flex;gap:8px;align-items:flex-start}.alert .dot{margin-top:7px}.alert-info{background:var(--accent-wash-2);border-color:var(--accent-wash)}.alert-warning{background:#fab2191a;border-color:#fab21973}.alert-critical{background:#d03b3b12;border-color:#d03b3b59}.alert-good{background:#0ca30c12;border-color:#0ca30c4d}.pickup-card{background:var(--accent-wash-2);border:1px dashed var(--accent);border-radius:var(--radius);padding:18px;text-align:center}.pickup-code{font-size:34px;font-weight:700;letter-spacing:6px;font-variant-numeric:tabular-nums;margin:6px 0}.steps{display:flex;align-items:center;gap:0;flex-wrap:wrap}.step{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-muted)}.step .dot{width:9px;height:9px;border-radius:50%;background:var(--gridline)}.step.done{color:var(--text-secondary)}.step.done .dot{background:var(--accent)}.step.current{color:var(--text-primary);font-weight:600}.step.current .dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.step-line{width:26px;height:1px;background:var(--gridline);margin:0 8px}.chat-fab{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#d92e6b,#a8164c);color:#fff;border:1px solid rgba(255,77,141,.6);cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.04em;box-shadow:0 12px 32px #c81f5c80,0 0 26px #ff4d8d61;display:flex;align-items:center;justify-content:center;z-index:50;transition:transform .2s ease,box-shadow .2s ease}.chat-fab:hover{transform:translateY(-2px);box-shadow:0 16px 40px #c81f5c99,0 0 38px #ff4d8d8c}.chat-fab .unread{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ff3d6e;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid #120910}.chat-panel{position:fixed;right:24px;bottom:94px;width:366px;max-width:calc(100vw - 32px);height:480px;background:linear-gradient(180deg,#241320,#170c13);border:1px solid rgba(255,77,141,.3);border-radius:16px;color:#f8eef3;box-shadow:0 24px 70px #000000a6,0 0 44px #ff4d8d29;display:flex;flex-direction:column;z-index:50;overflow:hidden}.chat-head{padding:13px 15px;border-bottom:1px solid rgba(255,77,141,.18);font-weight:600;color:#f8eef3}.chat-body{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:10px}.chat-foot{border-top:1px solid rgba(255,77,141,.18);padding:11px;display:flex;gap:8px;background:#00000047}.chat-panel input{background:#ffffff0f;border-color:#ff4d8d40;color:#f8eef3;border-radius:10px}.chat-panel input::placeholder{color:#a3819acc}.chat-panel input:focus{outline:2px solid rgba(255,77,141,.28);border-color:#ff4d8d}.chat-panel .btn-primary{background:linear-gradient(135deg,#d92e6b,#a8164c);border:0;color:#fff;border-radius:10px}.chat-panel .badge{background:#ff4d8d1a;border-color:#ff4d8d42;color:#d3b3c2}.msg{max-width:78%;padding:9px 13px;border-radius:14px;font-size:14px;white-space:pre-wrap;word-break:break-word}.msg-visitor{align-self:flex-end;background:linear-gradient(135deg,#d92e6b,#a8164c);color:#fff;border-bottom-right-radius:4px}.msg-agent{align-self:flex-start;background:#ffffff12;border:1px solid rgba(255,77,141,.16);color:#f2e2ea;border-bottom-left-radius:4px}.msg-system{align-self:center;background:none;color:#a3819a;font-size:12px;text-align:center;max-width:92%}.admin-shell{display:flex;min-height:100vh}.admin-nav{width:190px;flex:none;background:var(--surface-1);border-right:1px solid var(--border);padding:16px 10px;display:flex;flex-direction:column;gap:2px}.admin-nav .brand{font-weight:700;padding:6px 10px 14px}.admin-nav a{padding:8px 11px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:6px}.admin-nav a:hover{background:#f2f1ee;text-decoration:none}.admin-nav a.router-link-active{background:var(--accent-wash-2);color:var(--accent-strong);font-weight:600}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-top{height:52px;border-bottom:1px solid var(--border);background:var(--surface-1);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.admin-content{padding:22px;flex:1;min-width:0}.empty{padding:44px 20px;text-align:center;color:var(--text-muted)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--gridline);border-top-color:var(--accent);animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.tag{display:inline-block;padding:1px 8px;border-radius:4px;background:#f2f1ee;font-size:12px;color:var(--text-secondary)}.shop-shell{--page: #120910;--surface-1: #1d0f18;--surface-2: #291523;--text-primary: #f8eef3;--text-secondary: #d3b3c2;--text-muted: #a3819a;--gridline: rgba(255, 77, 141, .16);--border: rgba(255, 77, 141, .24);--accent: #ff4d8d;--accent-strong: #ff77ab;--accent-wash: rgba(255, 77, 141, .32);--accent-wash-2: rgba(255, 77, 141, .1);--price: #ff6b9f;--gold: #e6bd85;--gold-soft: #f2dcb6;--btn-from: #d92e6b;--btn-to: #a8164c;--glow: 0 0 26px rgba(255, 77, 141, .4);--glow-strong: 0 0 40px rgba(255, 77, 141, .6);--radius: 14px;position:relative;min-height:100vh;overflow-x:clip;background:radial-gradient(900px 520px at 12% -8%,rgba(255,77,141,.16),transparent 62%),radial-gradient(760px 460px at 92% 4%,rgba(150,40,110,.22),transparent 60%),radial-gradient(1100px 700px at 50% 108%,rgba(120,24,84,.2),transparent 65%),var(--page);color:var(--text-primary)}.shop-shell ::selection{background:#ff4d8d61;color:#fff}.shop-shell main.container.page{padding:30px 20px 72px;position:relative;z-index:1}.shop-shell a{color:inherit}.shop-shell a:hover{text-decoration:none}.shop-shell h1,.shop-shell h2,.shop-shell h3{color:var(--text-primary);letter-spacing:0}.shop-shell :focus-visible{outline:2px solid var(--accent);outline-offset:3px}html{scrollbar-width:thin;scrollbar-color:rgba(140,110,125,.55) transparent}.chat-body::-webkit-scrollbar{width:10px;height:10px}.chat-body::-webkit-scrollbar-track{background:transparent}.chat-body::-webkit-scrollbar-thumb{background:#ff4d8d4d;border-radius:999px;border:2px solid transparent;background-clip:content-box}.shop-header{position:sticky;top:0;z-index:30;background:#120910e6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.shop-header:after{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(255,77,141,.65),rgba(230,189,133,.55),transparent)}.shop-header-inner{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:20px}.shop-brand{display:inline-flex;align-items:center;gap:10px;color:#fff5f9!important;font-family:Songti SC,STSong,SimSun,serif;font-size:29px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;text-shadow:0 0 24px rgba(255,77,141,.5)}.brand-period{color:var(--accent);text-shadow:0 0 16px rgba(255,77,141,.9)}.shop-brand-age{padding:2px 9px;border:1px solid rgba(230,189,133,.5);border-radius:999px;color:var(--gold);font-family:Georgia,serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-shadow:none}.shop-nav{display:flex;gap:30px;align-items:center}.shop-nav a{position:relative;padding:9px 0;color:#e6cbd7!important;font-size:14px;white-space:nowrap}.shop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:linear-gradient(90deg,var(--accent),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.shop-nav a:hover,.shop-nav a.router-link-exact-active{color:#fff6fa!important}.shop-nav a:hover:after,.shop-nav a.router-link-exact-active:after{transform:scaleX(1)}.shop-header a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.shop-home{gap:0}.shop-intro{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr);min-height:340px;overflow:hidden;border:1px solid rgba(255,77,141,.28);border-radius:18px;background:radial-gradient(620px 340px at 6% 0%,rgba(255,77,141,.3),transparent 66%),linear-gradient(135deg,#3a0f28,#200a19 55%,#150710);box-shadow:0 24px 70px #0000008c,inset 0 1px #ffffff0d}.shop-intro-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:42px clamp(26px,5vw,60px)}.shop-overline{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;color:var(--gold-soft);font-size:12px;letter-spacing:.2em}.shop-overline:before{content:"";width:28px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}.shop-intro h1{margin:0;color:#fff6fa;font-family:Songti SC,STSong,SimSun,serif;font-size:clamp(44px,5.4vw,74px);font-weight:600;line-height:1.05;letter-spacing:.03em;text-shadow:0 0 44px rgba(255,77,141,.45),0 2px 26px rgba(0,0,0,.5)}.shop-intro-text{margin:16px 0 0;max-width:30em;color:#e0c2cf;font-size:15px}.shop-shell .shop-intro-link{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:11px 22px;border:1px solid rgba(255,77,141,.6);border-radius:999px;background:linear-gradient(135deg,#ff4d8d38,#ff4d8d0f);color:#fff2f7;font-size:14px;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease}.shop-intro-link span{padding-left:2px}.shop-shell .shop-intro-link:hover{border-color:var(--accent-strong);background:linear-gradient(135deg,#ff4d8d57,#ff4d8d1f);box-shadow:var(--glow)}.shop-intro-art{position:relative;display:grid;place-items:center;overflow:hidden;border-left:1px solid rgba(255,77,141,.22);background:radial-gradient(circle at 62% 38%,rgba(255,77,141,.35),transparent 62%),linear-gradient(160deg,#2b0c1e,#14070f);color:#ffd9e8}.shop-intro-art:before{content:"";position:absolute;top:20px;right:20px;bottom:20px;left:20px;z-index:1;border:1px solid rgba(230,189,133,.35);border-radius:4px;pointer-events:none}.shop-intro-art:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(255,77,141,.42),transparent 68%);filter:blur(8px)}.shop-intro-brand{position:relative;z-index:1;font-family:Songti SC,STSong,SimSun,serif;font-size:clamp(76px,8vw,112px);font-weight:700;letter-spacing:.06em;line-height:.96;writing-mode:vertical-rl;color:#ffe9f2;text-shadow:0 0 36px rgba(255,77,141,.65)}.shop-intro-age{position:absolute;right:30px;bottom:24px;z-index:1;padding:2px 12px;border:1px solid rgba(230,189,133,.5);border-radius:999px;color:var(--gold);font-family:Georgia,serif;font-size:18px;font-weight:700;letter-spacing:.08em}.shop-list-heading{display:flex;align-items:baseline;gap:14px;padding:44px 0 22px;scroll-margin-top:100px}.shop-list-heading h2{margin:0;font-family:Songti SC,STSong,SimSun,serif;font-size:24px;font-weight:600;letter-spacing:.05em}.shop-list-heading h2:after{content:"";display:block;width:42px;height:2px;margin-top:10px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--gold))}.shop-list-heading span{color:var(--text-muted);font-size:12px;letter-spacing:.14em}.category-filter{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:26px}.category-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:border-color .2s ease,color .2s ease,background .2s ease,box-shadow .2s ease}.category-chip:hover{border-color:#ff4d8d8c;color:var(--text-primary)}.category-chip.active{border-color:var(--accent);background:linear-gradient(135deg,#ff4d8d38,#ff4d8d0f);color:#fff2f7;box-shadow:0 0 18px #ff4d8d59}.category-chip-count{color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.category-chip.active .category-chip-count{color:var(--gold)}.shop-shell .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}.shop-shell .product-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--surface-2),var(--surface-1));box-shadow:0 10px 30px #00000073;color:var(--text-primary);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.shop-shell .product-card:hover{transform:translateY(-5px);border-color:#ff4d8da6;box-shadow:0 18px 44px #0009,0 0 34px #ff4d8d52}.shop-shell .product-thumb{aspect-ratio:4 / 5;justify-content:flex-start;align-items:flex-end;padding:0;border:0;border-bottom:1px solid rgba(255,77,141,.16);border-radius:0;background:#2a1120;color:var(--text-muted);font-size:12px;overflow:hidden}.shop-shell .product-thumb img{transition:transform .5s ease}.shop-shell .product-card:hover .product-thumb img{transform:scale(1.06)}.shop-shell .product-thumb video{display:block;width:100%;height:100%;object-fit:cover;background:#000}.shop-shell .product-thumb .product-video{object-fit:contain}.product-placeholder{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:17px;overflow:hidden;background:radial-gradient(120% 90% at 70% 8%,rgba(255,77,141,.35),transparent 60%),linear-gradient(150deg,#3a1226,#1b0a14);color:#f3d3e0}.product-card:nth-child(2n) .product-placeholder{background:radial-gradient(120% 90% at 28% 8%,rgba(230,189,133,.22),transparent 60%),linear-gradient(150deg,#33172a,#170a12);color:#f0dcc6}.product-placeholder-number,.product-placeholder-caption{position:relative;z-index:1}.product-placeholder-number{font-family:Georgia,serif;font-size:13px;letter-spacing:.12em;opacity:.85}.product-placeholder-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Songti SC,STSong,SimSun,serif;font-size:clamp(110px,11vw,160px);line-height:1;color:#ffffff1a;text-shadow:0 0 60px rgba(255,77,141,.5)}.product-placeholder-caption{font-size:12px;letter-spacing:.08em;opacity:.8}.product-placeholder-detail{border-radius:0}.shop-shell .product-body{padding:14px 15px 16px;gap:6px}.shop-shell .product-name{font-size:15px;font-weight:500;line-height:1.45;color:var(--text-primary)}.shop-shell .product-card:hover .product-name{color:#fff}.shop-shell .price{color:var(--price);font-size:17px;font-weight:700;letter-spacing:.01em;text-shadow:0 0 18px rgba(255,107,159,.35)}.shop-shell .product-price-lg{font-size:28px}.stock-note{color:var(--gold);font-size:12px;letter-spacing:.04em}.stock-note.is-out{color:var(--text-muted)}.shop-order-help{margin:44px 0 0;padding:20px 24px;border:1px solid rgba(255,77,141,.22);border-left:3px solid var(--accent);border-radius:12px;background:linear-gradient(90deg,#ff4d8d1a,#ff4d8d05);color:var(--text-secondary);font-size:13px}.shop-order-help a{margin-left:12px;color:var(--accent-strong)!important}.shop-order-help a:hover{text-decoration:underline;text-underline-offset:3px}.shop-shell .card{background:linear-gradient(180deg,var(--surface-2),var(--surface-1));border-color:var(--border);border-radius:14px;box-shadow:0 12px 34px #0006}.shop-shell .badge{background:#ff4d8d1a;border-color:#ff4d8d47;color:var(--text-secondary)}.shop-shell .tag{background:#ff4d8d1f;border-radius:999px;padding:2px 10px;color:var(--text-secondary)}.shop-shell .btn{border-radius:999px;border-color:#ff4d8d4d;background:#ffffff0a;color:var(--text-primary);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.shop-shell .btn:hover:not(:disabled){background:#ff4d8d24;border-color:#ff4d8d99}.shop-shell .btn-primary{border:0;background:linear-gradient(135deg,var(--btn-from),var(--btn-to));color:#fff;font-weight:600;letter-spacing:.04em;box-shadow:0 8px 26px #c81f5c6b}.shop-shell .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#e8467c,#bd1c58);box-shadow:0 12px 36px #ff4d8d8c;transform:translateY(-1px)}.shop-shell .btn-danger{color:#ff8fa0;border-color:#ff788c66}.shop-shell .btn-danger:hover:not(:disabled){background:#ff5a6e24}.shop-shell input,.shop-shell textarea,.shop-shell select{border-color:#ff4d8d3d;border-radius:10px;background:#ffffff0b;color:var(--text-primary)}.shop-shell input::placeholder,.shop-shell textarea::placeholder{color:#a3819abf}.shop-shell input:focus,.shop-shell textarea:focus,.shop-shell select:focus{outline:2px solid rgba(255,77,141,.28);border-color:var(--accent);background:#ffffff12}.shop-shell input:disabled,.shop-shell textarea:disabled{background:#ffffff08;color:var(--text-muted)}.shop-shell .alert{border-radius:12px}.shop-shell .alert-info{background:#ff4d8d1a;border-color:#ff4d8d4d}.shop-shell .alert-warning{background:#fab2191a;border-color:#fab21966}.shop-shell .alert-critical{background:#ff5a6e1a;border-color:#ff5a6e61}.shop-shell .alert-good{background:#3cc8781a;border-color:#3cc8785c}.shop-shell .dot-good{background:#3ddc7f}.shop-shell .dot-warning{background:#ffc247}.shop-shell .dot-serious{background:#ff9a6b}.shop-shell .dot-critical{background:#ff5a6e}.shop-shell .dot-neutral{background:#ffffff61}.shop-shell .spinner{border-color:#ffffff24;border-top-color:var(--accent)}.product-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,5vw,56px)}.shop-shell .product-detail-grid>.stack:first-child>.product-thumb{aspect-ratio:1;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000008c,0 0 50px #ff4d8d24}.thumb-strip{display:flex;flex-wrap:wrap;gap:10px}.thumb-chip{width:64px;height:64px;padding:0;overflow:hidden;border:1px solid rgba(255,77,141,.25);border-radius:10px;background:none;cursor:pointer;opacity:.6;transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease}.thumb-chip img{display:block;width:100%;height:100%;object-fit:cover}.thumb-chip video{display:block;width:100%;height:100%;object-fit:cover;background:#000}.thumb-chip:hover{opacity:1;border-color:#ff4d8d99}.thumb-chip.active{opacity:1;border-color:var(--accent);box-shadow:0 0 18px #ff4d8d73}.back-to-products{align-self:flex-start;color:var(--text-secondary)!important;font-size:13px;letter-spacing:.04em}.back-to-products:hover{color:var(--accent-strong)!important}.product-category{margin:0;color:var(--gold);font-size:12px;letter-spacing:.18em}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:24px;align-items:start}.shop-shell .pickup-card{padding:22px;border:1px dashed rgba(255,77,141,.65);border-radius:16px;background:linear-gradient(150deg,#ff4d8d33,#ff4d8d0d);box-shadow:inset 0 0 44px #ff4d8d38,0 14px 40px #00000073}.shop-shell .pickup-code{margin:8px 0;color:#fff2f7;font-size:36px;font-weight:700;letter-spacing:8px;font-variant-numeric:tabular-nums;text-shadow:0 0 28px rgba(255,77,141,.75)}.shop-shell .step{color:var(--text-muted);font-size:13px}.shop-shell .step .dot{width:9px;height:9px;background:#ffffff29}.shop-shell .step.done{color:var(--text-secondary)}.shop-shell .step.done .dot{background:var(--accent);box-shadow:0 0 10px #ff4d8d99}.shop-shell .step.current{color:#fff;font-weight:600}.shop-shell .step.current .dot{background:var(--accent);box-shadow:0 0 0 4px #ff4d8d33,0 0 16px #ff4d8dd9}.shop-shell .step-line{background:linear-gradient(90deg,#ff4d8d80,#ff4d8d1f)}.shop-footer{margin-top:84px;padding:26px 0;border-top:1px solid rgba(255,77,141,.2);background:linear-gradient(180deg,#12091000,#0d0509);color:var(--text-muted)}.footer-inner{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.footer-inner>div{display:flex;align-items:baseline;gap:14px}.footer-inner strong{color:var(--gold-soft);font-family:Songti SC,STSong,SimSun,serif;font-size:14px;letter-spacing:.06em}.footer-inner span,.footer-inner p{font-size:12px}.footer-inner p{margin:0}@media(max-width:900px){.shop-shell .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-inner{flex-direction:column}}@media(max-width:640px){.shop-header-inner{min-height:64px}.shop-shell main.container.page{padding:22px 16px 52px}.shop-brand{font-size:23px;gap:8px}.shop-brand-age{display:none}.shop-nav{gap:18px}.shop-nav a{font-size:13px}.shop-intro{grid-template-columns:1fr;min-height:0;border-radius:14px}.shop-intro-copy{padding:32px 26px 30px}.shop-intro h1{font-size:46px}.shop-intro-text{font-size:14px}.shop-shell .shop-intro-link{margin-top:22px;padding:10px 18px}.shop-intro-art{min-height:104px;justify-content:end;padding-right:62px;border-left:0;border-top:1px solid rgba(255,77,141,.22)}.shop-intro-art:before{top:12px;right:12px;bottom:12px;left:12px}.shop-intro-art:after{width:190px;height:190px}.shop-intro-brand{font-size:62px;line-height:1;writing-mode:horizontal-tb;letter-spacing:.04em}.shop-intro-age{right:auto;left:28px;bottom:16px;font-size:14px;padding:1px 10px}.shop-list-heading{padding:32px 0 18px}.shop-list-heading h2{font-size:20px}.shop-shell .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.product-placeholder{padding:11px}.product-placeholder-mark{font-size:100px}.shop-shell .product-body{padding:11px 12px 13px}.shop-shell .product-name{font-size:14px}.shop-shell .price{font-size:16px}.shop-shell .product-price-lg{font-size:24px}.product-detail-grid,.checkout-grid{grid-template-columns:minmax(0,1fr)}.shop-order-help a{display:inline-block}.shop-shell .pickup-code{font-size:30px;letter-spacing:6px}.chat-fab{right:16px;bottom:16px;width:54px;height:54px}.chat-panel{right:16px;bottom:82px;height:60vh}}@media(max-width:360px){.shop-brand{font-size:20px}.shop-nav{gap:11px}.shop-nav a{font-size:12px}.shop-intro-copy{padding:26px 20px 24px}.shop-intro h1{font-size:38px}.shop-shell .product-grid{gap:16px 10px}.product-placeholder-mark{font-size:82px}}
