@font-face { font-family:"Manrope"; src:url("/static/fonts/Manrope-Variable.ef9404cbc22b.woff2") format("woff2"); font-style:normal; font-weight:200 800; font-display:swap; }
@font-face { font-family:"Noto Sans SC"; src:url("/static/fonts/NotoSansSC-UI.949fdaba7ba8.woff2") format("woff2"); font-style:normal; font-weight:100 900; font-display:swap; }

:root {
  --shop-bg:#f6f7f9; --shop-surface:#fff; --shop-text:#121722; --shop-muted:#667085;
  --shop-line:#dfe3e9; --shop-line-strong:#cbd2dc; --shop-blue:#2155d9;
  --shop-blue-hover:#1947bd; --shop-blue-soft:#edf3ff; --shop-green:#198754;
  --shop-red:#c93a45; --shop-font:"Noto Sans SC","Microsoft YaHei",sans-serif;
  --shop-warranty:#176545; --shop-warranty-soft:#dff3e8;
  --shop-warranty-surface:#f4fbf7; --shop-warranty-line:#cfe3d9;
  --shop-display:"Manrope","Noto Sans SC",sans-serif; --shop-ease:cubic-bezier(.16,1,.3,1);
}

html { scroll-behavior:smooth; }
.shop-atelier { min-width:320px; margin:0; background:var(--shop-bg); color:var(--shop-text); font-family:var(--shop-font); accent-color:var(--shop-blue); }
.shop-atelier * { box-sizing:border-box; }
.shop-atelier ::selection { color:#fff; background:var(--shop-blue); }
.shop-atelier a { text-underline-offset:4px; }
.shop-atelier button,.shop-atelier input { font:inherit; }
.shop-atelier .hidden { display:none!important; }
.shop-atelier :is(a,button,input):focus-visible { outline:3px solid rgba(33,85,217,.28); outline-offset:3px; }
.shop-atelier::-webkit-scrollbar { width:11px; }
.shop-atelier::-webkit-scrollbar-track { background:var(--shop-bg); }
.shop-atelier::-webkit-scrollbar-thumb { border:3px solid var(--shop-bg); border-radius:9px; background:#98a2b3; }
#products,#purchases { scroll-margin-top:84px; }

.shop-atelier .service-signal.is-preview i { background:#98a2b3; box-shadow:0 0 0 5px rgba(152,162,179,.1); }

.shop-atelier .shop-support-copy {
  display:grid; min-width:210px; min-height:48px; grid-template-columns:1fr auto;
  align-items:center; gap:1px 14px; padding:8px 12px; border:1px solid #5d6674;
  border-radius:10px; background:transparent; color:#fff; text-align:left;
}
.shop-atelier .shop-support-copy>span,.shop-atelier .shop-support-copy>strong { grid-column:1; }
.shop-atelier .shop-support-copy>span,.shop-atelier .shop-support-copy>small { color:#9da3ad; font-size:10px; }
.shop-atelier .shop-support-copy>small { grid-column:2; grid-row:1/3; }
.shop-atelier .shop-support-copy:is(:hover,:focus-visible),.shop-atelier .shop-support-copy.copied { border-color:#7aa7ff; background:rgba(255,255,255,.08); }

.shop-main { width:min(1240px,calc(100% - 48px)); margin:0 auto; padding:64px 0 88px; }
.shop-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:34px; text-align:left; }
.shop-intro h1 { margin:0; font:650 clamp(2.75rem,4.2vw,3.6rem)/1.05 var(--shop-display); letter-spacing:-.035em; }
.shop-subtitle { margin:14px 0 0; color:var(--shop-muted); font-size:clamp(16px,1.7vw,22px); font-weight:500; }
.shop-warranty-summary { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:12px; min-width:min(100%,410px); padding:13px 14px; border:1px solid var(--shop-warranty-line); border-radius:10px; background:var(--shop-warranty-surface); color:var(--shop-warranty); text-align:left; cursor:pointer; }
.shop-warranty-summary:hover { border-color:var(--shop-green); background:var(--shop-warranty-soft); }
.shop-warranty-mark { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:var(--shop-warranty-soft); color:var(--shop-warranty); font-weight:800; }
.shop-warranty-summary strong,.shop-warranty-summary small { display:block; }
.shop-warranty-summary strong { font-size:13px; }
.shop-warranty-summary small { margin-top:3px; color:var(--shop-muted); font-size:10px; }
.shop-warranty-summary em { color:var(--shop-warranty); font-size:10px; font-style:normal; font-weight:750; white-space:nowrap; }

.shop-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.shop-atelier .shop-product {
  display:flex; min-height:418px; flex-direction:column; justify-content:flex-start;
  padding:0; overflow:hidden; border:0; border-radius:16px; background:var(--shop-surface); color:var(--shop-text);
  box-shadow:0 0 0 1px rgba(18,23,34,.09),0 2px 3px rgba(18,23,34,.04),0 18px 36px -28px rgba(18,23,34,.3);
  transition:box-shadow 180ms var(--shop-ease);
}
.shop-atelier .shop-product:hover { box-shadow:0 0 0 1px rgba(18,23,34,.15),0 2px 3px rgba(18,23,34,.05),0 22px 42px -30px rgba(18,23,34,.38); }
.shop-atelier .shop-product:first-child { background:var(--shop-surface); }
.shop-product-visual {
  position:relative; display:flex; min-height:0; aspect-ratio:1.586/1; flex-direction:column; justify-content:space-between;
  margin:16px 16px 0; padding:24px; overflow:hidden; border-radius:16px;
  background:linear-gradient(112deg,rgba(255,255,255,.16),transparent 30%),linear-gradient(145deg,#606a76 0%,#333a44 45%,#171b21 100%); color:#fff;
  box-shadow:0 19px 36px -25px rgba(9,12,18,.86),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.28);
  isolation:isolate;
}
.shop-product-visual::before { position:absolute; z-index:-1; inset:-30%; background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px); transform:rotate(-7deg); content:""; }
.shop-product-visual::after { position:absolute; z-index:-1; width:72%; height:180%; top:-46%; left:-82%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent); filter:blur(4px); transform:rotate(16deg); transition:transform 700ms cubic-bezier(.16,1,.3,1); content:""; }
.shop-product[data-product="pro_5x"] .shop-product-visual { background:radial-gradient(circle at 78% 8%,rgba(55,112,255,.26),transparent 34%),linear-gradient(145deg,#253861 0%,#111c36 51%,#080d18 100%); }
.shop-product[data-product="pro_5x"] .shop-product-visual::before { inset:auto; width:82%; height:1px; top:38%; left:34%; background:linear-gradient(90deg,transparent,rgba(122,167,255,.9) 36%,rgba(227,237,255,.82) 50%,rgba(91,141,255,.36) 70%,transparent); box-shadow:0 4px 20px rgba(52,105,241,.52); transform:rotate(-24deg); }
.shop-product[data-product="pro_20x"] .shop-product-visual { background:radial-gradient(circle at 100% 0%,rgba(93,42,110,.46),transparent 39%),linear-gradient(145deg,#27232b 0%,#171319 48%,#09090c 100%); }
.shop-product[data-product="pro_20x"] .shop-product-visual::before { inset:auto; width:176px; height:176px; top:-92px; right:-54px; border:1px solid rgba(235,205,150,.46); border-radius:50%; background:radial-gradient(circle,rgba(18,11,21,.92) 0 54%,transparent 55%),radial-gradient(circle,transparent 0 67%,rgba(117,63,132,.2) 68% 69%,transparent 70%); box-shadow:0 0 0 20px rgba(148,91,159,.055),0 0 0 44px rgba(235,205,150,.025); transform:none; }
.shop-product[data-product="pro_20x"] .shop-product-visual::after { background:linear-gradient(90deg,transparent,rgba(238,214,170,.13),transparent); }
.shop-product:hover .shop-product-visual::after { transform:translateX(270%) rotate(16deg); }
.shop-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.shop-card-brand { display:flex; align-items:center; gap:8px; color:rgba(247,249,252,.9); }
.shop-card-mark { position:relative; width:22px; height:22px; flex:0 0 22px; border:1px solid currentColor; border-radius:6px; opacity:.9; }
.shop-card-mark i { position:absolute; display:block; width:3px; background:currentColor; transform:skew(-13deg); }
.shop-card-mark i:first-child { height:12px; left:6px; top:4px; }
.shop-card-mark i:last-child { right:5px; bottom:4px; height:8px; }
.shop-card-brand b { font:600 10px/1 var(--shop-font); letter-spacing:.08em; }
.shop-plan-code { padding-top:3px; color:rgba(247,249,252,.76); font:650 9px/1 var(--shop-display); letter-spacing:.14em; }
.shop-card-bottom { display:grid; gap:18px; }
.shop-product-title h2 { margin:0; font:580 32px/1.05 var(--shop-display); letter-spacing:-.03em; }
.shop-atelier .shop-product .shop-product-title p { max-width:28ch; margin:8px 0 0; color:#e2e7ee; font-size:11px; line-height:1.55; }
.shop-atelier .shop-product[data-product="pro_5x"] .shop-product-title p { color:#d9e4ff; }
.shop-atelier .shop-product[data-product="pro_20x"] .shop-product-title p { color:#eadff0; }
.shop-card-meta { display:flex; justify-content:space-between; padding-top:10px; border-top:1px solid rgba(255,255,255,.16); color:rgba(238,242,247,.58); font:600 8px/1 var(--shop-display); letter-spacing:.14em; }
.shop-product[data-product="pro_20x"] .shop-card-brand,.shop-product[data-product="pro_20x"] .shop-plan-code { color:#efd7a6; }
.shop-product[data-product="pro_20x"] .shop-card-meta { border-color:rgba(235,205,150,.24); color:rgba(239,215,166,.66); }
.shop-product-details { display:flex; min-height:190px; flex:1; flex-direction:column; padding:24px; background:var(--shop-surface); }
.shop-price-row { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:16px; }
.shop-atelier .shop-product .shop-price { display:flex; align-items:baseline; margin:0; color:var(--shop-text); font-family:var(--shop-display); font-variant-numeric:tabular-nums; }
.shop-price small { margin-right:3px; font-size:16px; font-weight:600; }
.shop-price strong { font-size:38px; line-height:1; letter-spacing:-.035em; }
.shop-price span { margin-left:5px; color:var(--shop-muted); font-family:var(--shop-font); font-size:11px; }
.shop-atelier .shop-product .shop-price.is-unavailable { color:#303743; font:600 18px/1.25 var(--shop-font); }
.shop-atelier .shop-product .shop-stock { display:flex; align-items:center; gap:6px; margin:5px 0 0; color:var(--shop-green); font-size:11px; font-weight:600; white-space:nowrap; }
.shop-stock i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.shop-atelier .shop-product .shop-stock.is-empty { color:#6f7784; }
.shop-contact-reason { margin:0; padding:10px 0; border-top:1px solid #e4e7eb; color:#76531f; font-size:11px; line-height:1.55; }
.product-warranty-link { display:flex; align-items:center; gap:6px; width:100%; margin:16px 0 12px; padding:0; border:0; background:transparent; color:var(--shop-warranty); font-size:11px; font-weight:750; text-align:left; cursor:pointer; }
.product-warranty-link>span { display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:var(--shop-warranty-soft); font-size:10px; }
.product-warranty-link em { margin-left:auto; color:#667085; font-size:10px; font-style:normal; font-weight:600; }
.product-warranty-link:hover em { color:var(--shop-blue); text-decoration:underline; text-underline-offset:3px; }
.shop-buy { width:100%; min-height:48px; margin-top:auto; border:0; border-radius:10px; background:#17191d; color:#fff; font-size:13px; font-weight:700; cursor:pointer; transition:background 160ms ease,transform 160ms var(--shop-ease); }
.shop-buy:hover:not(:disabled) { background:var(--shop-blue-hover); transform:translateY(-1px); }
.shop-atelier .shop-product .shop-buy:disabled { background:#eef0f3; color:#747d89; cursor:not-allowed; }
.shop-buy.is-contact { display:grid; place-content:center; gap:2px; background:#17191d; }
.shop-buy.is-contact span { font-size:13px; font-weight:750; }
.shop-buy.is-contact small { color:#c7d0db; font-size:9px; font-weight:550; }
.shop-empty-products { grid-column:1/-1; padding:72px 24px; border:1px dashed var(--shop-line-strong); border-radius:14px; text-align:center; }
.shop-empty-products p { margin:8px 0 0; color:var(--shop-muted); }

.shop-orders { margin-top:64px; padding:30px; border:1px solid var(--shop-line); border-radius:14px; background:var(--shop-surface); }
.shop-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:22px; border-bottom:1px solid var(--shop-line); }
.shop-section-head h2 { margin:0; font:650 24px/1.2 var(--shop-display); letter-spacing:-.025em; }
.shop-section-head p { margin:8px 0 0; color:var(--shop-muted); font-size:12px; }
.shop-section-head>a { color:var(--shop-blue); font-size:12px; font-weight:700; text-decoration:none; }
.shop-orders .purchase-list { min-height:176px; }
.shop-orders .order-empty { min-height:176px; }
.shop-orders .order-empty-primary { background:var(--shop-text); }
.shop-orders .purchase-loading { grid-template-columns:42px minmax(0,1fr); justify-items:start; align-content:center; text-align:left; }
.shop-orders .purchase-loading .order-empty-copy { min-width:0; width:100%; }
.purchase-loading-spinner { width:34px; height:34px; border:3px solid #dce5f4; border-top-color:var(--shop-blue); border-radius:50%; animation:shop-record-spin .8s linear infinite; }
@keyframes shop-record-spin { to { transform:rotate(360deg); } }
.expired-purchases { overflow:hidden; border:1px solid var(--shop-line); border-radius:12px; background:#f8f9fa; }
.expired-purchases>summary { display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:20px; padding:14px 18px; color:var(--shop-text); cursor:pointer; list-style:none; }
.expired-purchases>summary::-webkit-details-marker { display:none; }
.expired-purchases>summary:hover { background:#f1f3f5; }
.expired-purchases>summary:focus-visible { outline:3px solid rgba(18,100,216,.22); outline-offset:-3px; }
.expired-purchases>summary>span { display:grid; gap:4px; }
.expired-purchases>summary strong { font-size:13px; }
.expired-purchases>summary small { color:var(--shop-muted); font-size:11px; }
.expired-purchases>summary svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; transition:transform 160ms var(--shop-ease); }
.expired-purchases[open]>summary svg { transform:rotate(180deg); }
.expired-purchases-list { display:grid; gap:10px; padding:0 10px 10px; border-top:1px solid var(--shop-line); }
.expired-purchases-list .purchase-record { border-color:#e2e5e9; box-shadow:none; opacity:.82; }
.expired-purchases-list .purchase-record:first-child { margin-top:10px; }
.expired-purchases-list .purchase-record>header { padding-block:15px; }

.shop-checkout { width:min(500px,100vw); max-width:none; height:100dvh; max-height:none; margin:0 0 0 auto; padding:0; border:0; border-radius:0; background:#fff; color:var(--shop-text); box-shadow:-24px 0 64px rgba(18,23,34,.2); }
.shop-checkout[open] { animation:shop-checkout-in 300ms var(--shop-ease); }
.shop-checkout::backdrop { background:rgba(18,23,34,.48); }
.shop-checkout .purchase-shell { min-height:100%; align-content:start; gap:24px; padding:clamp(26px,5vw,44px); }
.shop-checkout .purchase-dialog-head { margin-bottom:12px; }
.shop-checkout .purchase-dialog-head h2 { font:650 30px/1.15 var(--shop-display); letter-spacing:-.03em; }
.shop-checkout .purchase-product-summary { padding:18px; border-radius:12px; background:#f1f3f6; }
.shop-checkout .purchase-product-summary>span { border-radius:7px; background:var(--shop-text); }
.shop-checkout .payment-methods span { border-radius:10px; }
.purchase-pricing-breakdown { display:grid; gap:7px; margin:0; padding:13px 0; border-top:1px solid #e2e6eb; border-bottom:1px solid #e2e6eb; }
.purchase-pricing-breakdown>div { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.purchase-pricing-breakdown dt { color:#677180; font-size:12px; }
.purchase-pricing-breakdown dd { margin:0; color:#2b3340; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
.checkout-warranty { display:grid; gap:7px; padding:14px 15px; border:1px solid var(--shop-warranty-line); border-radius:10px; background:var(--shop-warranty-surface); }
.checkout-warranty>div { display:flex; align-items:center; gap:8px; color:var(--shop-warranty); }
.checkout-warranty>div>span { display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:var(--shop-warranty-soft); font-size:11px; font-weight:800; }
.checkout-warranty strong { font-size:12px; }
.checkout-warranty p { margin:0; color:var(--shop-muted); font-size:10px; line-height:1.65; }
.warranty-consent { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:-10px; }
.warranty-consent label { display:flex; min-width:0; align-items:center; gap:9px; color:#364152; font-size:11px; cursor:pointer; }
.warranty-consent input { width:17px; height:17px; flex:none; }
.warranty-consent button { flex:none; padding:4px 0; border:0; background:transparent; color:var(--shop-blue); font-size:11px; font-weight:700; cursor:pointer; }
.warranty-consent button:hover { text-decoration:underline; text-underline-offset:3px; }
.shop-checkout .signal-button { min-height:50px; border:0; border-radius:10px; background:var(--shop-blue); }
.shop-checkout .signal-button:hover { background:var(--shop-blue-hover); }
@keyframes shop-checkout-in { from { opacity:.7; transform:translateX(40px); } to { opacity:1; transform:translateX(0); } }

.warranty-dialog { width:min(700px,calc(100vw - 28px)); max-height:min(820px,calc(100dvh - 28px)); padding:0; overflow:hidden; border:0; border-radius:16px; background:#fff; color:var(--shop-text); box-shadow:0 28px 80px rgba(18,23,34,.28); }
.warranty-dialog::backdrop { background:rgba(18,23,34,.54); }
.warranty-dialog-shell { display:grid; max-height:min(820px,calc(100dvh - 28px)); grid-template-rows:auto auto minmax(0,1fr) auto; }
.warranty-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:26px 28px 20px; border-bottom:1px solid var(--shop-line); }
.warranty-dialog header>div>span { color:var(--shop-warranty); font-size:10px; font-weight:800; letter-spacing:.08em; }
.warranty-dialog h2 { margin:5px 0 0; font:650 27px/1.2 var(--shop-display); letter-spacing:-.025em; }
.warranty-dialog header p { margin:7px 0 0; color:var(--shop-muted); font-size:10px; }
.warranty-summary-card { display:grid; grid-template-columns:38px 1fr; gap:13px; margin:20px 28px 0; padding:16px; border-radius:10px; background:var(--shop-warranty-surface); color:var(--shop-warranty); }
.warranty-summary-card>span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; background:var(--shop-warranty-soft); font-size:17px; font-weight:800; }
.warranty-summary-card strong { font-size:13px; }
.warranty-summary-card p { margin:5px 0 0; color:var(--shop-muted); font-size:11px; line-height:1.6; }
.warranty-terms { display:grid; gap:0; margin-top:18px; padding:0 28px 8px; overflow:auto; }
.warranty-terms section { padding:16px 0; border-top:1px solid #e7eaee; }
.warranty-terms section:first-child { border-top:0; }
.warranty-terms h3 { margin:0 0 7px; font-size:12px; }
.warranty-terms p { margin:0; color:#536071; font-size:11px; line-height:1.8; }
.warranty-terms p+p { margin-top:8px; }
.warranty-exclusion { padding-inline:14px!important; border:1px solid var(--shop-line)!important; border-radius:10px; background:var(--shop-bg); }
.warranty-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 28px; border-top:1px solid var(--shop-line); background:#f8f9fa; }
.warranty-dialog footer p { margin:0; color:var(--shop-muted); font-size:10px; }
.warranty-dialog footer .signal-button { min-width:110px; min-height:44px; border:0; border-radius:9px; background:var(--shop-text); color:#fff; }

.shop-atelier .customer-auth-dialog { color:var(--shop-text); }
.shop-atelier .customer-auth-shell { border-radius:14px; }
.shop-atelier .customer-auth-dialog .signal-button { background:var(--shop-blue); }
@media (max-width:960px) {
  .shop-intro { align-items:flex-start; flex-direction:column; }
  .shop-product-grid { grid-template-columns:1fr; }
  .shop-atelier .shop-product { width:100%; max-width:560px; min-height:400px; margin-inline:auto; }
}

@media (max-width:640px) {
  .shop-main { width:min(100% - 28px,1240px); padding:38px 0 56px; }
  .shop-intro { margin-bottom:26px; }
  .shop-intro h1 { font-size:clamp(2.25rem,10vw,2.8rem); }
  .shop-subtitle { margin-top:10px; font-size:16px; }
  .shop-product-grid { gap:12px; }
  .shop-atelier .shop-product { min-height:380px; padding:0; border-radius:14px; }
  .shop-product-visual { min-height:0; margin:14px 14px 0; padding:20px; }
  .shop-product-title h2 { font-size:30px; }
  .shop-product-details { min-height:184px; padding:20px; }
  .shop-orders { margin-top:40px; padding:22px; }
  .shop-section-head { align-items:flex-start; }
  .shop-orders .order-empty { grid-template-columns:1fr; }
  .shop-orders .purchase-loading { grid-template-columns:42px minmax(0,1fr); justify-items:start; }
  .shop-orders .order-empty-actions { width:100%; }
  .shop-orders .order-empty-primary { width:100%; text-align:center; }
  .shop-checkout { width:100vw; }
  .shop-checkout .purchase-shell { padding:24px 20px; }
  .warranty-dialog header,.warranty-dialog footer { padding-inline:20px; }
  .warranty-summary-card { margin-inline:20px; }
  .warranty-terms { padding-inline:20px; }
  .shop-atelier .station-footer { grid-template-columns:1fr; }
  .shop-atelier .shop-support-copy { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  .purchase-loading-spinner { animation:none; border-color:var(--shop-blue); opacity:.55; }
}

@media (max-width:360px) {
  .shop-product-visual { padding:18px; }
  .shop-product-details { padding:18px; }
  .shop-price-row { gap:10px; }
  .shop-price strong { font-size:34px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .shop-product,.shop-buy,.shop-product-visual::after,.shop-checkout[open],.warranty-dialog[open] { animation:none; transition:none; }
  .shop-product:hover .shop-product-visual::after { transform:rotate(16deg); }
}

.checkout-credit-option { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:14px 16px; border:1px solid #cbd8ee; border-radius:14px; background:#f4f8ff; cursor:pointer; }
.checkout-credit-option input { width:18px; height:18px; accent-color:#1f5fe0; }
.checkout-credit-option span { display:grid; gap:2px; }
.checkout-credit-option b { color:#10213f; }
.checkout-credit-option small { color:#63718a; }
.checkout-credit-option strong { color:#1f5fe0; }
.checkout-credit-option:has(input:disabled) { opacity:.62; cursor:not-allowed; }
