/* Generated by scripts/build-web.cjs from miniprogram/*.wxss — do not edit by hand. */
/* ---- app.wxss ---- */
.app, .detail-layer {
  --c-accent: #C6FF00;
  --c-accent-soft: rgba(198, 255, 0, .12);
  --c-accent-line: rgba(198, 255, 0, .36);
  --c-on-accent: #000;
  --c-bg: #000;
  --c-surface: #111;
  --c-surface-2: #1b1b1b;
  --c-line: #242424;
  --c-line-strong: #3a3a3a;
  --c-text: #fff;
  --c-text-2: #b3b3b3;
  --c-text-3: #8c8c8c;
  --f-mono: "DIN Alternate", "Roboto Mono", Menlo, "Courier New", monospace;
  --gutter: calc(var(--rpx) * 32);
  --tabbar-space: calc(calc(var(--rpx) * 250) + env(safe-area-inset-bottom));

  background: var(--c-bg);
  color: var(--c-text);
  font-size: calc(var(--rpx) * 28);
  line-height: 1.6;
  letter-spacing: 0;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
}
div, span, img, button { box-sizing: border-box; }
button { display: flex; align-items: center; justify-content: center; min-height: calc(var(--rpx) * 88); padding: calc(var(--rpx) * 16) calc(var(--rpx) * 24); border: 1px solid var(--c-line-strong); border-radius: 0; background: var(--c-surface-2); color: var(--c-text); font-size: calc(var(--rpx) * 28); line-height: 1.5; }
button::after { border: 0; }
.eyebrow { color: var(--c-text-3); font-family: var(--f-mono); font-size: calc(var(--rpx) * 22); line-height: 1.6; letter-spacing: calc(var(--rpx) * 2); }
.btn-primary, .btn-secondary { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 20); width: 100%; margin: 0; padding: calc(var(--rpx) * 28) calc(var(--rpx) * 36); border: 1px solid var(--c-accent); border-radius: 0; font-size: calc(var(--rpx) * 30); font-weight: 700; line-height: 1.5; }
.btn-primary { min-height: calc(var(--rpx) * 108); background: var(--c-accent); color: var(--c-on-accent); }
.btn-secondary { min-height: calc(var(--rpx) * 96); background: transparent; color: var(--c-accent); }
.btn-primary::after, .btn-secondary::after { border: 0; }
.btn-primary-pressed { opacity: .85; }
.btn-secondary-pressed { background: var(--c-accent-soft); }
.btn-arrow { flex: none; font-size: calc(var(--rpx) * 36); font-weight: 400; }
.badge { display: inline-block; padding: calc(var(--rpx) * 2) calc(var(--rpx) * 10); font-size: calc(var(--rpx) * 20); font-weight: 700; line-height: 1.6; white-space: nowrap; }
.badge-promo { background: var(--c-accent); color: var(--c-on-accent); }
.badge-status { border: 1px solid var(--c-accent-line); color: var(--c-accent); }
.price { display: flex; align-items: baseline; justify-content: flex-end; flex-wrap: wrap; gap: calc(var(--rpx) * 4) calc(var(--rpx) * 6); color: var(--c-accent); font-family: var(--f-mono); font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.price-suffix { color: var(--c-text-3); font-family: -apple-system, "PingFang SC", sans-serif; font-size: calc(var(--rpx) * 22); font-weight: 400; }

/* ---- components/logo-banner/index.wxss ---- */
.banner { position: relative; width: 100%; height: 100%; background: #000; overflow: hidden; }
.canvas, .fallback { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.banner { min-height: calc(var(--rpx) * 405); }

/* ---- custom-tab-bar/index.wxss ---- */
div, span, img { box-sizing: border-box; }
.tab-bar { position: fixed; z-index: 100; left: 0; right: 0; bottom: 0; padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid rgba(255,255,255,.08); background: rgba(10,10,10,.8); -webkit-backdrop-filter: blur(24px) saturate(140%); backdrop-filter: blur(24px) saturate(140%); }
.tab-items { display: flex; height: calc(var(--rpx) * 118); }
.tab-item { display: flex; flex: 0 0 50%; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: calc(var(--rpx) * 8) 0 calc(var(--rpx) * 10); color: #8a8a8a; }
.tab-indicator { flex: none; width: calc(var(--rpx) * 40); height: calc(var(--rpx) * 4); margin-bottom: calc(var(--rpx) * 8); background: #C6FF00; opacity: 0; }
.selected .tab-indicator { opacity: 1; }
.tab-icon { display: block; flex: none; width: calc(var(--rpx) * 54); height: calc(var(--rpx) * 54); }
.tab-label { display: block; margin-top: calc(var(--rpx) * 6); font-size: calc(var(--rpx) * 20); font-weight: 400; line-height: calc(var(--rpx) * 26); letter-spacing: 0; }
.selected .tab-label { color: #C6FF00; font-weight: 600; }
.tab-fade { position: fixed; z-index: 99; left: 0; right: 0; bottom: calc(calc(var(--rpx) * 118) + 1px + env(safe-area-inset-bottom)); height: calc(var(--rpx) * 120); background: linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,0)); pointer-events: none; }

/* ---- styles/moon-orbit.wxss ---- */
.moon-ring.ring-a { width: calc(var(--rpx) * 1098); height: calc(var(--rpx) * 128); transform: rotate(-13deg); }
.moon-ring.ring-a.back { margin: calc(var(--rpx) * -128) 0 0 calc(var(--rpx) * -549); transform-origin: 50% 100%; }
.moon-ring.ring-a.front { margin: 0 0 0 calc(var(--rpx) * -549); transform-origin: 50% 0; }
.moon-ring.ring-a .ring-line { width: calc(var(--rpx) * 1098); height: calc(var(--rpx) * 256); border-color: rgba(235, 240, 255, 0.34); }
.moon-ring.ring-a.front .ring-line { top: calc(var(--rpx) * -128); }
.moon-ring.ring-b { width: calc(var(--rpx) * 816); height: calc(var(--rpx) * 96); transform: rotate(9deg); }
.moon-ring.ring-b.back { margin: calc(var(--rpx) * -96) 0 0 calc(var(--rpx) * -408); transform-origin: 50% 100%; }
.moon-ring.ring-b.front { margin: 0 0 0 calc(var(--rpx) * -408); transform-origin: 50% 0; }
.moon-ring.ring-b .ring-line { width: calc(var(--rpx) * 816); height: calc(var(--rpx) * 192); border-color: rgba(235, 240, 255, 0.22); }
.moon-ring.ring-b.front .ring-line { top: calc(var(--rpx) * -96); }
.moon-ring.ring-c { width: calc(var(--rpx) * 1308); height: calc(var(--rpx) * 166); transform: rotate(-6deg); }
.moon-ring.ring-c.back { margin: calc(var(--rpx) * -166) 0 0 calc(var(--rpx) * -654); transform-origin: 50% 100%; }
.moon-ring.ring-c.front { margin: 0 0 0 calc(var(--rpx) * -654); transform-origin: 50% 0; }
.moon-ring.ring-c .ring-line { width: calc(var(--rpx) * 1308); height: calc(var(--rpx) * 332); border-color: rgba(235, 240, 255, 0.12); }
.moon-ring.ring-c.front .ring-line { top: calc(var(--rpx) * -166); }
@keyframes moon-orbit-a {
  0% { transform: translate(calc(var(--rpx) * 534.9), calc(var(--rpx) * -123.5)) scale(0.86); opacity: 0.73; z-index: 1; }
  1.389% { transform: translate(calc(var(--rpx) * 535.4), calc(var(--rpx) * -112.2)) scale(0.872); opacity: 0.75; z-index: 4; }
  2.778% { transform: translate(calc(var(--rpx) * 531.8), calc(var(--rpx) * -100)) scale(0.884); opacity: 0.77; z-index: 4; }
  4.167% { transform: translate(calc(var(--rpx) * 524.2), calc(var(--rpx) * -87)) scale(0.896); opacity: 0.8; z-index: 4; }
  5.556% { transform: translate(calc(var(--rpx) * 512.5), calc(var(--rpx) * -73.4)) scale(0.908); opacity: 0.82; z-index: 4; }
  6.944% { transform: translate(calc(var(--rpx) * 497), calc(var(--rpx) * -59.2)) scale(0.919); opacity: 0.84; z-index: 4; }
  8.333% { transform: translate(calc(var(--rpx) * 477.7), calc(var(--rpx) * -44.6)) scale(0.93); opacity: 0.86; z-index: 4; }
  9.722% { transform: translate(calc(var(--rpx) * 454.7), calc(var(--rpx) * -29.6)) scale(0.94); opacity: 0.88; z-index: 4; }
  11.111% { transform: translate(calc(var(--rpx) * 428.3), calc(var(--rpx) * -14.4)) scale(0.95); opacity: 0.9; z-index: 4; }
  12.5% { transform: translate(calc(var(--rpx) * 398.6), calc(var(--rpx) * 0.9)) scale(0.959); opacity: 0.92; z-index: 4; }
  13.889% { transform: translate(calc(var(--rpx) * 365.9), calc(var(--rpx) * 16.2)) scale(0.967); opacity: 0.94; z-index: 4; }
  15.278% { transform: translate(calc(var(--rpx) * 330.4), calc(var(--rpx) * 31.3)) scale(0.975); opacity: 0.95; z-index: 4; }
  16.667% { transform: translate(calc(var(--rpx) * 292.4), calc(var(--rpx) * 46.3)) scale(0.981); opacity: 0.96; z-index: 4; }
  18.056% { transform: translate(calc(var(--rpx) * 252.2), calc(var(--rpx) * 60.8)) scale(0.987); opacity: 0.97; z-index: 4; }
  19.444% { transform: translate(calc(var(--rpx) * 210), calc(var(--rpx) * 75)) scale(0.992); opacity: 0.98; z-index: 4; }
  20.833% { transform: translate(calc(var(--rpx) * 166.3), calc(var(--rpx) * 88.5)) scale(0.995); opacity: 0.99; z-index: 4; }
  22.222% { transform: translate(calc(var(--rpx) * 121.2), calc(var(--rpx) * 101.4)) scale(0.998); opacity: 1; z-index: 4; }
  23.611% { transform: translate(calc(var(--rpx) * 75.3), calc(var(--rpx) * 113.5)) scale(0.999); opacity: 1; z-index: 4; }
  25% { transform: translate(calc(var(--rpx) * 28.8), calc(var(--rpx) * 124.7)) scale(1); opacity: 1; z-index: 4; }
  26.389% { transform: translate(calc(var(--rpx) * -17.9), calc(var(--rpx) * 135)) scale(0.999); opacity: 1; z-index: 4; }
  27.778% { transform: translate(calc(var(--rpx) * -64.5), calc(var(--rpx) * 144.3)) scale(0.998); opacity: 1; z-index: 4; }
  29.167% { transform: translate(calc(var(--rpx) * -110.6), calc(var(--rpx) * 152.4)) scale(0.995); opacity: 0.99; z-index: 4; }
  30.556% { transform: translate(calc(var(--rpx) * -155.9), calc(var(--rpx) * 159.4)) scale(0.992); opacity: 0.98; z-index: 4; }
  31.944% { transform: translate(calc(var(--rpx) * -200), calc(var(--rpx) * 165.2)) scale(0.987); opacity: 0.97; z-index: 4; }
  33.333% { transform: translate(calc(var(--rpx) * -242.5), calc(var(--rpx) * 169.8)) scale(0.981); opacity: 0.96; z-index: 4; }
  34.722% { transform: translate(calc(var(--rpx) * -283.2), calc(var(--rpx) * 173)) scale(0.975); opacity: 0.95; z-index: 4; }
  36.111% { transform: translate(calc(var(--rpx) * -321.8), calc(var(--rpx) * 174.9)) scale(0.967); opacity: 0.94; z-index: 4; }
  37.5% { transform: translate(calc(var(--rpx) * -357.9), calc(var(--rpx) * 175.5)) scale(0.959); opacity: 0.92; z-index: 4; }
  38.889% { transform: translate(calc(var(--rpx) * -391.3), calc(var(--rpx) * 174.8)) scale(0.95); opacity: 0.9; z-index: 4; }
  40.278% { transform: translate(calc(var(--rpx) * -421.7), calc(var(--rpx) * 172.7)) scale(0.94); opacity: 0.88; z-index: 4; }
  41.667% { transform: translate(calc(var(--rpx) * -448.9), calc(var(--rpx) * 169.3)) scale(0.93); opacity: 0.86; z-index: 4; }
  43.056% { transform: translate(calc(var(--rpx) * -472.6), calc(var(--rpx) * 164.6)) scale(0.919); opacity: 0.84; z-index: 4; }
  44.444% { transform: translate(calc(var(--rpx) * -492.8), calc(var(--rpx) * 158.7)) scale(0.908); opacity: 0.82; z-index: 4; }
  45.833% { transform: translate(calc(var(--rpx) * -509.2), calc(var(--rpx) * 151.6)) scale(0.896); opacity: 0.8; z-index: 4; }
  47.222% { transform: translate(calc(var(--rpx) * -521.8), calc(var(--rpx) * 143.3)) scale(0.884); opacity: 0.77; z-index: 4; }
  48.611% { transform: translate(calc(var(--rpx) * -530.4), calc(var(--rpx) * 133.9)) scale(0.872); opacity: 0.75; z-index: 4; }
  50% { transform: translate(calc(var(--rpx) * -534.9), calc(var(--rpx) * 123.5)) scale(0.86); opacity: 0.73; z-index: 4; }
  51.389% { transform: translate(calc(var(--rpx) * -535.4), calc(var(--rpx) * 112.2)) scale(0.848); opacity: 0.7; z-index: 1; }
  52.778% { transform: translate(calc(var(--rpx) * -531.8), calc(var(--rpx) * 100)) scale(0.836); opacity: 0.68; z-index: 1; }
  54.167% { transform: translate(calc(var(--rpx) * -524.2), calc(var(--rpx) * 87)) scale(0.824); opacity: 0.65; z-index: 1; }
  55.556% { transform: translate(calc(var(--rpx) * -512.5), calc(var(--rpx) * 73.4)) scale(0.812); opacity: 0.63; z-index: 1; }
  56.944% { transform: translate(calc(var(--rpx) * -497), calc(var(--rpx) * 59.2)) scale(0.801); opacity: 0.61; z-index: 1; }
  58.333% { transform: translate(calc(var(--rpx) * -477.7), calc(var(--rpx) * 44.6)) scale(0.79); opacity: 0.59; z-index: 1; }
  59.722% { transform: translate(calc(var(--rpx) * -454.7), calc(var(--rpx) * 29.6)) scale(0.78); opacity: 0.57; z-index: 1; }
  61.111% { transform: translate(calc(var(--rpx) * -428.3), calc(var(--rpx) * 14.4)) scale(0.77); opacity: 0.55; z-index: 1; }
  62.5% { transform: translate(calc(var(--rpx) * -398.6), calc(var(--rpx) * -0.9)) scale(0.761); opacity: 0.53; z-index: 1; }
  63.889% { transform: translate(calc(var(--rpx) * -365.9), calc(var(--rpx) * -16.2)) scale(0.753); opacity: 0.51; z-index: 1; }
  65.278% { transform: translate(calc(var(--rpx) * -330.4), calc(var(--rpx) * -31.3)) scale(0.745); opacity: 0.5; z-index: 1; }
  66.667% { transform: translate(calc(var(--rpx) * -292.4), calc(var(--rpx) * -46.3)) scale(0.739); opacity: 0.49; z-index: 1; }
  68.056% { transform: translate(calc(var(--rpx) * -252.2), calc(var(--rpx) * -60.8)) scale(0.733); opacity: 0.48; z-index: 1; }
  69.444% { transform: translate(calc(var(--rpx) * -210), calc(var(--rpx) * -75)) scale(0.728); opacity: 0.47; z-index: 1; }
  70.833% { transform: translate(calc(var(--rpx) * -166.3), calc(var(--rpx) * -88.5)) scale(0.725); opacity: 0.46; z-index: 1; }
  72.222% { transform: translate(calc(var(--rpx) * -121.2), calc(var(--rpx) * -101.4)) scale(0.722); opacity: 0.45; z-index: 1; }
  73.611% { transform: translate(calc(var(--rpx) * -75.3), calc(var(--rpx) * -113.5)) scale(0.721); opacity: 0.45; z-index: 1; }
  75% { transform: translate(calc(var(--rpx) * -28.8), calc(var(--rpx) * -124.7)) scale(0.72); opacity: 0.45; z-index: 1; }
  76.389% { transform: translate(calc(var(--rpx) * 17.9), calc(var(--rpx) * -135)) scale(0.721); opacity: 0.45; z-index: 1; }
  77.778% { transform: translate(calc(var(--rpx) * 64.5), calc(var(--rpx) * -144.3)) scale(0.722); opacity: 0.45; z-index: 1; }
  79.167% { transform: translate(calc(var(--rpx) * 110.6), calc(var(--rpx) * -152.4)) scale(0.725); opacity: 0.46; z-index: 1; }
  80.556% { transform: translate(calc(var(--rpx) * 155.9), calc(var(--rpx) * -159.4)) scale(0.728); opacity: 0.47; z-index: 1; }
  81.944% { transform: translate(calc(var(--rpx) * 200), calc(var(--rpx) * -165.2)) scale(0.733); opacity: 0.48; z-index: 1; }
  83.333% { transform: translate(calc(var(--rpx) * 242.5), calc(var(--rpx) * -169.8)) scale(0.739); opacity: 0.49; z-index: 1; }
  84.722% { transform: translate(calc(var(--rpx) * 283.2), calc(var(--rpx) * -173)) scale(0.745); opacity: 0.5; z-index: 1; }
  86.111% { transform: translate(calc(var(--rpx) * 321.8), calc(var(--rpx) * -174.9)) scale(0.753); opacity: 0.51; z-index: 1; }
  87.5% { transform: translate(calc(var(--rpx) * 357.9), calc(var(--rpx) * -175.5)) scale(0.761); opacity: 0.53; z-index: 1; }
  88.889% { transform: translate(calc(var(--rpx) * 391.3), calc(var(--rpx) * -174.8)) scale(0.77); opacity: 0.55; z-index: 1; }
  90.278% { transform: translate(calc(var(--rpx) * 421.7), calc(var(--rpx) * -172.7)) scale(0.78); opacity: 0.57; z-index: 1; }
  91.667% { transform: translate(calc(var(--rpx) * 448.9), calc(var(--rpx) * -169.3)) scale(0.79); opacity: 0.59; z-index: 1; }
  93.056% { transform: translate(calc(var(--rpx) * 472.6), calc(var(--rpx) * -164.6)) scale(0.801); opacity: 0.61; z-index: 1; }
  94.444% { transform: translate(calc(var(--rpx) * 492.8), calc(var(--rpx) * -158.7)) scale(0.812); opacity: 0.63; z-index: 1; }
  95.833% { transform: translate(calc(var(--rpx) * 509.2), calc(var(--rpx) * -151.6)) scale(0.824); opacity: 0.65; z-index: 1; }
  97.222% { transform: translate(calc(var(--rpx) * 521.8), calc(var(--rpx) * -143.3)) scale(0.836); opacity: 0.68; z-index: 1; }
  98.611% { transform: translate(calc(var(--rpx) * 530.4), calc(var(--rpx) * -133.9)) scale(0.848); opacity: 0.7; z-index: 1; }
  100% { transform: translate(calc(var(--rpx) * 534.9), calc(var(--rpx) * -123.5)) scale(0.86); opacity: 0.72; z-index: 1; }
}
@keyframes moon-orbit-b {
  0% { transform: translate(calc(var(--rpx) * 403), calc(var(--rpx) * 63.8)) scale(0.86); opacity: 0.73; z-index: 1; }
  1.389% { transform: translate(calc(var(--rpx) * 402.8), calc(var(--rpx) * 55.3)) scale(0.848); opacity: 0.7; z-index: 1; }
  2.778% { transform: translate(calc(var(--rpx) * 399.5), calc(var(--rpx) * 46.4)) scale(0.836); opacity: 0.68; z-index: 1; }
  4.167% { transform: translate(calc(var(--rpx) * 393.1), calc(var(--rpx) * 37.1)) scale(0.824); opacity: 0.65; z-index: 1; }
  5.556% { transform: translate(calc(var(--rpx) * 383.8), calc(var(--rpx) * 27.5)) scale(0.812); opacity: 0.63; z-index: 1; }
  6.944% { transform: translate(calc(var(--rpx) * 371.6), calc(var(--rpx) * 17.8)) scale(0.801); opacity: 0.61; z-index: 1; }
  8.333% { transform: translate(calc(var(--rpx) * 356.5), calc(var(--rpx) * 7.9)) scale(0.79); opacity: 0.59; z-index: 1; }
  9.722% { transform: translate(calc(var(--rpx) * 338.7), calc(var(--rpx) * -2.1)) scale(0.78); opacity: 0.57; z-index: 1; }
  11.111% { transform: translate(calc(var(--rpx) * 318.4), calc(var(--rpx) * -12.1)) scale(0.77); opacity: 0.55; z-index: 1; }
  12.5% { transform: translate(calc(var(--rpx) * 295.6), calc(var(--rpx) * -21.9)) scale(0.761); opacity: 0.53; z-index: 1; }
  13.889% { transform: translate(calc(var(--rpx) * 270.5), calc(var(--rpx) * -31.6)) scale(0.753); opacity: 0.51; z-index: 1; }
  15.278% { transform: translate(calc(var(--rpx) * 243.4), calc(var(--rpx) * -41.1)) scale(0.745); opacity: 0.5; z-index: 1; }
  16.667% { transform: translate(calc(var(--rpx) * 214.5), calc(var(--rpx) * -50.2)) scale(0.739); opacity: 0.49; z-index: 1; }
  18.056% { transform: translate(calc(var(--rpx) * 183.9), calc(var(--rpx) * -59)) scale(0.733); opacity: 0.48; z-index: 1; }
  19.444% { transform: translate(calc(var(--rpx) * 151.9), calc(var(--rpx) * -67.3)) scale(0.728); opacity: 0.47; z-index: 1; }
  20.833% { transform: translate(calc(var(--rpx) * 118.8), calc(var(--rpx) * -75.1)) scale(0.725); opacity: 0.46; z-index: 1; }
  22.222% { transform: translate(calc(var(--rpx) * 84.8), calc(var(--rpx) * -82.3)) scale(0.722); opacity: 0.45; z-index: 1; }
  23.611% { transform: translate(calc(var(--rpx) * 50.1), calc(var(--rpx) * -88.9)) scale(0.721); opacity: 0.45; z-index: 1; }
  25% { transform: translate(calc(var(--rpx) * 15), calc(var(--rpx) * -94.8)) scale(0.72); opacity: 0.45; z-index: 1; }
  26.389% { transform: translate(calc(var(--rpx) * -20.2), calc(var(--rpx) * -100)) scale(0.721); opacity: 0.45; z-index: 1; }
  27.778% { transform: translate(calc(var(--rpx) * -55.2), calc(var(--rpx) * -104.5)) scale(0.722); opacity: 0.45; z-index: 1; }
  29.167% { transform: translate(calc(var(--rpx) * -89.8), calc(var(--rpx) * -108.1)) scale(0.725); opacity: 0.46; z-index: 1; }
  30.556% { transform: translate(calc(var(--rpx) * -123.7), calc(var(--rpx) * -110.9)) scale(0.728); opacity: 0.47; z-index: 1; }
  31.944% { transform: translate(calc(var(--rpx) * -156.7), calc(var(--rpx) * -112.9)) scale(0.733); opacity: 0.48; z-index: 1; }
  33.333% { transform: translate(calc(var(--rpx) * -188.5), calc(var(--rpx) * -114)) scale(0.739); opacity: 0.49; z-index: 1; }
  34.722% { transform: translate(calc(var(--rpx) * -218.8), calc(var(--rpx) * -114.3)) scale(0.745); opacity: 0.5; z-index: 1; }
  36.111% { transform: translate(calc(var(--rpx) * -247.5), calc(var(--rpx) * -113.7)) scale(0.753); opacity: 0.51; z-index: 1; }
  37.5% { transform: translate(calc(var(--rpx) * -274.3), calc(var(--rpx) * -112.2)) scale(0.761); opacity: 0.53; z-index: 1; }
  38.889% { transform: translate(calc(var(--rpx) * -299), calc(var(--rpx) * -109.8)) scale(0.77); opacity: 0.55; z-index: 1; }
  40.278% { transform: translate(calc(var(--rpx) * -321.5), calc(var(--rpx) * -106.7)) scale(0.78); opacity: 0.57; z-index: 1; }
  41.667% { transform: translate(calc(var(--rpx) * -341.5), calc(var(--rpx) * -102.7)) scale(0.79); opacity: 0.59; z-index: 1; }
  43.056% { transform: translate(calc(var(--rpx) * -358.9), calc(var(--rpx) * -97.9)) scale(0.801); opacity: 0.61; z-index: 1; }
  44.444% { transform: translate(calc(var(--rpx) * -373.5), calc(var(--rpx) * -92.4)) scale(0.812); opacity: 0.63; z-index: 1; }
  45.833% { transform: translate(calc(var(--rpx) * -385.4), calc(var(--rpx) * -86.2)) scale(0.824); opacity: 0.65; z-index: 1; }
  47.222% { transform: translate(calc(var(--rpx) * -394.2), calc(var(--rpx) * -79.3)) scale(0.836); opacity: 0.68; z-index: 1; }
  48.611% { transform: translate(calc(var(--rpx) * -400.1), calc(var(--rpx) * -71.8)) scale(0.848); opacity: 0.7; z-index: 1; }
  50% { transform: translate(calc(var(--rpx) * -403), calc(var(--rpx) * -63.8)) scale(0.86); opacity: 0.72; z-index: 1; }
  51.389% { transform: translate(calc(var(--rpx) * -402.8), calc(var(--rpx) * -55.3)) scale(0.872); opacity: 0.75; z-index: 4; }
  52.778% { transform: translate(calc(var(--rpx) * -399.5), calc(var(--rpx) * -46.4)) scale(0.884); opacity: 0.77; z-index: 4; }
  54.167% { transform: translate(calc(var(--rpx) * -393.1), calc(var(--rpx) * -37.1)) scale(0.896); opacity: 0.8; z-index: 4; }
  55.556% { transform: translate(calc(var(--rpx) * -383.8), calc(var(--rpx) * -27.5)) scale(0.908); opacity: 0.82; z-index: 4; }
  56.944% { transform: translate(calc(var(--rpx) * -371.6), calc(var(--rpx) * -17.8)) scale(0.919); opacity: 0.84; z-index: 4; }
  58.333% { transform: translate(calc(var(--rpx) * -356.5), calc(var(--rpx) * -7.9)) scale(0.93); opacity: 0.86; z-index: 4; }
  59.722% { transform: translate(calc(var(--rpx) * -338.7), calc(var(--rpx) * 2.1)) scale(0.94); opacity: 0.88; z-index: 4; }
  61.111% { transform: translate(calc(var(--rpx) * -318.4), calc(var(--rpx) * 12.1)) scale(0.95); opacity: 0.9; z-index: 4; }
  62.5% { transform: translate(calc(var(--rpx) * -295.6), calc(var(--rpx) * 21.9)) scale(0.959); opacity: 0.92; z-index: 4; }
  63.889% { transform: translate(calc(var(--rpx) * -270.5), calc(var(--rpx) * 31.6)) scale(0.967); opacity: 0.94; z-index: 4; }
  65.278% { transform: translate(calc(var(--rpx) * -243.4), calc(var(--rpx) * 41.1)) scale(0.975); opacity: 0.95; z-index: 4; }
  66.667% { transform: translate(calc(var(--rpx) * -214.5), calc(var(--rpx) * 50.2)) scale(0.981); opacity: 0.96; z-index: 4; }
  68.056% { transform: translate(calc(var(--rpx) * -183.9), calc(var(--rpx) * 59)) scale(0.987); opacity: 0.97; z-index: 4; }
  69.444% { transform: translate(calc(var(--rpx) * -151.9), calc(var(--rpx) * 67.3)) scale(0.992); opacity: 0.98; z-index: 4; }
  70.833% { transform: translate(calc(var(--rpx) * -118.8), calc(var(--rpx) * 75.1)) scale(0.995); opacity: 0.99; z-index: 4; }
  72.222% { transform: translate(calc(var(--rpx) * -84.8), calc(var(--rpx) * 82.3)) scale(0.998); opacity: 1; z-index: 4; }
  73.611% { transform: translate(calc(var(--rpx) * -50.1), calc(var(--rpx) * 88.9)) scale(0.999); opacity: 1; z-index: 4; }
  75% { transform: translate(calc(var(--rpx) * -15), calc(var(--rpx) * 94.8)) scale(1); opacity: 1; z-index: 4; }
  76.389% { transform: translate(calc(var(--rpx) * 20.2), calc(var(--rpx) * 100)) scale(0.999); opacity: 1; z-index: 4; }
  77.778% { transform: translate(calc(var(--rpx) * 55.2), calc(var(--rpx) * 104.5)) scale(0.998); opacity: 1; z-index: 4; }
  79.167% { transform: translate(calc(var(--rpx) * 89.8), calc(var(--rpx) * 108.1)) scale(0.995); opacity: 0.99; z-index: 4; }
  80.556% { transform: translate(calc(var(--rpx) * 123.7), calc(var(--rpx) * 110.9)) scale(0.992); opacity: 0.98; z-index: 4; }
  81.944% { transform: translate(calc(var(--rpx) * 156.7), calc(var(--rpx) * 112.9)) scale(0.987); opacity: 0.97; z-index: 4; }
  83.333% { transform: translate(calc(var(--rpx) * 188.5), calc(var(--rpx) * 114)) scale(0.981); opacity: 0.96; z-index: 4; }
  84.722% { transform: translate(calc(var(--rpx) * 218.8), calc(var(--rpx) * 114.3)) scale(0.975); opacity: 0.95; z-index: 4; }
  86.111% { transform: translate(calc(var(--rpx) * 247.5), calc(var(--rpx) * 113.7)) scale(0.967); opacity: 0.94; z-index: 4; }
  87.5% { transform: translate(calc(var(--rpx) * 274.3), calc(var(--rpx) * 112.2)) scale(0.959); opacity: 0.92; z-index: 4; }
  88.889% { transform: translate(calc(var(--rpx) * 299), calc(var(--rpx) * 109.8)) scale(0.95); opacity: 0.9; z-index: 4; }
  90.278% { transform: translate(calc(var(--rpx) * 321.5), calc(var(--rpx) * 106.7)) scale(0.94); opacity: 0.88; z-index: 4; }
  91.667% { transform: translate(calc(var(--rpx) * 341.5), calc(var(--rpx) * 102.7)) scale(0.93); opacity: 0.86; z-index: 4; }
  93.056% { transform: translate(calc(var(--rpx) * 358.9), calc(var(--rpx) * 97.9)) scale(0.919); opacity: 0.84; z-index: 4; }
  94.444% { transform: translate(calc(var(--rpx) * 373.5), calc(var(--rpx) * 92.4)) scale(0.908); opacity: 0.82; z-index: 4; }
  95.833% { transform: translate(calc(var(--rpx) * 385.4), calc(var(--rpx) * 86.2)) scale(0.896); opacity: 0.8; z-index: 4; }
  97.222% { transform: translate(calc(var(--rpx) * 394.2), calc(var(--rpx) * 79.3)) scale(0.884); opacity: 0.77; z-index: 4; }
  98.611% { transform: translate(calc(var(--rpx) * 400.1), calc(var(--rpx) * 71.8)) scale(0.872); opacity: 0.75; z-index: 4; }
  100% { transform: translate(calc(var(--rpx) * 403), calc(var(--rpx) * 63.8)) scale(0.86); opacity: 0.73; z-index: 4; }
}

/* ---- pages/home/index.wxss ---- */
.view-home .home-page { position: relative; isolation: isolate; min-height: 100vh; padding-bottom: var(--tabbar-space); overflow: hidden; background: var(--c-bg); color: var(--c-text); }
.view-home .moon-layer { position: fixed; z-index: -1; left: 0; top: 0; right: 0; bottom: 0; opacity: .36; pointer-events: none; overflow: hidden; }
.view-home .moon-system { position: absolute; left: calc(var(--rpx) * 830); top: calc(var(--rpx) * 900); width: 0; height: 0; animation: moon-float 8s ease-in-out infinite; }
@keyframes moon-float { 0%, 100% { transform: translateY(calc(var(--rpx) * -10)); } 50% { transform: translateY(calc(var(--rpx) * 10)); } }
.view-home .moon-image { position: absolute; z-index: 2; left: calc(var(--rpx) * -530); top: calc(var(--rpx) * -480); width: calc(var(--rpx) * 780); }
.view-home .moon-ring { position: absolute; left: 0; top: 0; overflow: hidden; }
.view-home .moon-ring.back { z-index: 1; opacity: .45; }
.view-home .moon-ring.front { z-index: 3; }
.view-home .ring-line { position: absolute; left: 0; top: 0; border: 1px solid rgba(235, 240, 255, .3); border-radius: 50%; }
.view-home .moon-satellite { position: absolute; left: 0; top: 0; }
.view-home .moon-satellite.sat-a { width: calc(var(--rpx) * 190); height: calc(var(--rpx) * 126); margin: calc(var(--rpx) * -63) 0 0 calc(var(--rpx) * -95); animation: moon-orbit-a 24s linear infinite; }
.view-home .moon-satellite.sat-b { width: calc(var(--rpx) * 84); height: calc(var(--rpx) * 96); margin: calc(var(--rpx) * -48) 0 0 calc(var(--rpx) * -42); animation: moon-orbit-b 15s linear infinite; }
.view-home .moon-spark { position: absolute; z-index: 3; color: #e9eef7; text-shadow: 0 0 calc(var(--rpx) * 16) rgba(255, 255, 255, .8); animation: moon-twinkle 3.6s ease-in-out infinite; }
.view-home .spark-a { left: calc(var(--rpx) * -480); top: calc(var(--rpx) * 330); font-size: calc(var(--rpx) * 34); }
.view-home .spark-b { left: calc(var(--rpx) * -300); top: calc(var(--rpx) * -400); font-size: calc(var(--rpx) * 22); animation-delay: 1.4s; }
@keyframes moon-twinkle { 0%, 100% { opacity: .15; transform: scale(.6) rotate(0); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }
.view-home .hero { position: relative; }
.view-home .logo-stage { position: relative; height: calc(var(--rpx) * 405); overflow: hidden; border-bottom: 1px solid var(--c-line); background: #000; }
.view-home .hero-copy { padding: calc(var(--rpx) * 44) var(--gutter) 0; }
.view-home .hero-kicker { display: flex; align-items: center; gap: calc(var(--rpx) * 14); color: var(--c-text-3); font-family: var(--f-mono); font-size: calc(var(--rpx) * 22); line-height: 1.6; letter-spacing: calc(var(--rpx) * 2); }
.view-home .signal-dot { flex: none; width: calc(var(--rpx) * 10); height: calc(var(--rpx) * 10); background: var(--c-accent); transform: rotate(45deg); }
.view-home .hero-title { margin-top: calc(var(--rpx) * 20); color: var(--c-text); font-size: calc(var(--rpx) * 76); font-weight: 900; line-height: 1.1; }
.view-home .hero-title span { display: block; color: var(--c-accent); }
.view-home .hero-description { margin-top: calc(var(--rpx) * 24); color: var(--c-text-2); font-size: calc(var(--rpx) * 28); line-height: 1.75; }
.view-home .hero-button { margin-top: calc(var(--rpx) * 40); }
.view-home .status-strip { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 16); margin: calc(var(--rpx) * 40) var(--gutter) 0; padding: calc(var(--rpx) * 22) 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.view-home .status-item { display: flex; align-items: center; min-width: 0; gap: calc(var(--rpx) * 12); color: var(--c-text-3); font-size: calc(var(--rpx) * 24); line-height: 1.6; white-space: nowrap; }
.view-home .status-live { color: var(--c-text); }
.view-home .status-dot { flex: none; width: calc(var(--rpx) * 10); height: calc(var(--rpx) * 10); border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 calc(var(--rpx) * 14) rgba(198,255,0,.5); }
.view-home .home-section { position: relative; margin: calc(var(--rpx) * 72) var(--gutter) 0; }
.view-home .section-head { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 12) calc(var(--rpx) * 24); flex-wrap: wrap; }
.view-home .section-meta { color: var(--c-text-3); font-size: calc(var(--rpx) * 24); }
.view-home .recruit-section { isolation: isolate; margin-top: calc(var(--rpx) * 64); }
.view-home .recruit-content { position: relative; z-index: 1; }
.view-home .recruit-status { display: flex; align-items: center; gap: calc(var(--rpx) * 14); color: var(--c-accent); font-family: var(--f-mono); font-size: calc(var(--rpx) * 22); line-height: 1.6; letter-spacing: calc(var(--rpx) * 2); }
.view-home .recruit-dot { flex: none; width: calc(var(--rpx) * 10); height: calc(var(--rpx) * 10); border-radius: 50%; background: var(--c-accent); }
.view-home .join-watermark { position: absolute; z-index: 0; top: calc(var(--rpx) * 70); right: calc(var(--rpx) * -8); color: transparent; -webkit-text-stroke: 1px rgba(198,255,0,.16); font-family: "Arial Black", Arial, sans-serif; font-size: calc(var(--rpx) * 150); font-weight: 900; line-height: 1.2; pointer-events: none; white-space: nowrap; }
.view-home .recruit-title { margin-top: calc(var(--rpx) * 28); color: var(--c-text); font-size: calc(var(--rpx) * 48); font-weight: 900; line-height: 1.25; }
.view-home .recruit-title span { color: var(--c-accent); }
.view-home .recruit-roles { display: flex; flex-wrap: wrap; gap: calc(var(--rpx) * 8) calc(var(--rpx) * 14); margin-top: calc(var(--rpx) * 20); }
.view-home .role-token { display: flex; align-items: center; gap: calc(var(--rpx) * 14); }
.view-home .recruit-role { color: var(--c-text-2); font-size: calc(var(--rpx) * 28); line-height: 1.6; }
.view-home .role-divider { color: var(--c-line-strong); font-size: calc(var(--rpx) * 28); }
.view-home .recruit-button { margin-top: calc(var(--rpx) * 36); }

/* ---- pages/services/index.wxss ---- */
.view-services .services-page { padding: calc(var(--rpx) * 24) var(--gutter) var(--tabbar-space); color: var(--c-text); }
.view-services .services-games { width: 100%; margin-bottom: calc(var(--rpx) * 8); white-space: nowrap; }
.view-services .services-game-list { display: inline-flex; gap: calc(var(--rpx) * 12); padding-right: calc(var(--rpx) * 20); }
.view-services .services-game { flex: none; padding: calc(var(--rpx) * 10) calc(var(--rpx) * 24); border: 1px solid var(--c-line-strong); color: var(--c-text-2); font-size: calc(var(--rpx) * 26); line-height: 1.6; }
.view-services .services-game.selected { border-color: var(--c-accent); background: var(--c-accent); color: var(--c-on-accent); font-weight: 700; }
.view-services .services-game-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: calc(var(--rpx) * 16); margin: calc(var(--rpx) * 16) 0 calc(var(--rpx) * 24); padding-bottom: calc(var(--rpx) * 20); border-bottom: 1px solid var(--c-line); }
.view-services .game-title { display: flex; flex-direction: column; min-width: 0; }
.view-services .game-name { margin-top: calc(var(--rpx) * 4); font-size: calc(var(--rpx) * 40); font-weight: 800; line-height: 1.3; }
.view-services .services-count { flex: none; color: var(--c-text-3); font-size: calc(var(--rpx) * 24); line-height: 1.8; }
.view-services .services-list { display: flex; flex-direction: column; gap: calc(var(--rpx) * 16); }
.view-services .service-entry { display: flex; gap: calc(var(--rpx) * 18); padding: calc(var(--rpx) * 28) calc(var(--rpx) * 24) calc(var(--rpx) * 24); border: 1px solid var(--c-line); background: var(--c-surface); transition: border-color 120ms ease, background-color 120ms ease; }
.view-services .service-entry-active { border-color: var(--c-accent-line); background: var(--c-surface-2); }
.view-services .entry-number { flex: none; width: calc(var(--rpx) * 36); padding-top: calc(var(--rpx) * 8); color: var(--c-accent); font-family: var(--f-mono); font-size: calc(var(--rpx) * 22); font-variant-numeric: tabular-nums; }
.view-services .entry-content { flex: 1; min-width: 0; }
.view-services .entry-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: calc(var(--rpx) * 16); }
.view-services .entry-title { min-width: 0; }
.view-services .entry-name { color: var(--c-text); font-size: calc(var(--rpx) * 34); font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.view-services .entry-summary { margin-top: calc(var(--rpx) * 6); color: var(--c-text-3); font-size: calc(var(--rpx) * 24); line-height: 1.6; }
.view-services .entry-price { flex: none; max-width: 46%; }
.view-services .entry-amount { font-size: calc(var(--rpx) * 38); font-weight: 800; line-height: 1.3; }
.view-services .entry-footer { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 16); margin-top: calc(var(--rpx) * 20); }
.view-services .entry-sections { display: flex; flex-wrap: wrap; align-items: center; gap: calc(var(--rpx) * 10); min-width: 0; }
.view-services .entry-tag { display: block; padding: calc(var(--rpx) * 2) calc(var(--rpx) * 12); border: 1px solid var(--c-line-strong); color: var(--c-text-2); font-size: calc(var(--rpx) * 22); line-height: 1.6; }
.view-services .entry-arrow { flex: none; color: var(--c-text-3); font-size: calc(var(--rpx) * 44); line-height: 1; }
.view-services .service-entry-active .entry-arrow { color: var(--c-accent); }

/* ---- pages/service-catalog/index.wxss ---- */
.view-service-catalog .catalog-page { padding: 0 var(--gutter) calc(calc(var(--rpx) * 220) + env(safe-area-inset-bottom)); color: var(--c-text); }
.view-service-catalog .catalog-heading { padding: calc(var(--rpx) * 36) 0 calc(var(--rpx) * 28); }
.view-service-catalog .catalog-game { display: block; overflow-wrap: anywhere; }
.view-service-catalog .catalog-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: calc(var(--rpx) * 20); margin-top: calc(var(--rpx) * 14); }
.view-service-catalog .catalog-title { min-width: 0; font-size: calc(var(--rpx) * 48); font-weight: 800; line-height: 1.3; }
.view-service-catalog .catalog-price { flex: none; max-width: 50%; padding-bottom: calc(var(--rpx) * 4); }
.view-service-catalog .catalog-amount { font-size: calc(var(--rpx) * 44); font-weight: 800; line-height: 1.2; }
.view-service-catalog .catalog-summary { margin-top: calc(var(--rpx) * 14); color: var(--c-text-2); font-size: calc(var(--rpx) * 28); line-height: 1.7; }
.view-service-catalog .catalog-description { margin-top: calc(var(--rpx) * 12); color: var(--c-text-3); font-size: calc(var(--rpx) * 26); line-height: 1.8; }
.view-service-catalog .section-tabs-wrap { position: sticky; z-index: 5; top: 0; margin: 0 calc(-1 * var(--gutter)); background: var(--c-bg); }
.view-service-catalog .section-tabs { width: 100%; white-space: nowrap; }
.view-service-catalog .section-tab-list { display: inline-flex; gap: calc(var(--rpx) * 44); padding: 0 var(--gutter); }
.view-service-catalog .section-tab { position: relative; flex: none; padding: calc(var(--rpx) * 22) 0 calc(var(--rpx) * 20); color: var(--c-text-3); font-size: calc(var(--rpx) * 28); line-height: 1.5; transition: color 150ms ease; }
.view-service-catalog .section-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--rpx) * 4); background: var(--c-accent); opacity: 0; transition: opacity 150ms ease; }
.view-service-catalog .section-tab.selected { color: var(--c-text); font-weight: 700; }
.view-service-catalog .section-tab.selected::after { opacity: 1; }
.view-service-catalog .catalog-section { margin-top: calc(var(--rpx) * 24); padding: calc(var(--rpx) * 30) calc(var(--rpx) * 28) calc(var(--rpx) * 12); background: var(--c-surface); }
.view-service-catalog .section-tabs-wrap + .catalog-section { margin-top: calc(var(--rpx) * 20); }
.view-service-catalog .section-title-row { display: flex; align-items: baseline; gap: calc(var(--rpx) * 14); }
.view-service-catalog .section-index { color: var(--c-accent); font-family: var(--f-mono); font-size: calc(var(--rpx) * 22); font-variant-numeric: tabular-nums; }
.view-service-catalog .section-title { font-size: calc(var(--rpx) * 34); font-weight: 800; line-height: 1.4; }
.view-service-catalog .menu-context { margin-top: calc(var(--rpx) * 4); color: var(--c-text-3); font-size: calc(var(--rpx) * 24); line-height: 1.7; }
.view-service-catalog .menu-list { margin-top: calc(var(--rpx) * 12); }
.view-service-catalog .menu-item + .menu-item { margin-top: calc(var(--rpx) * 4); }
.view-service-catalog .menu-group-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: calc(var(--rpx) * 8) calc(var(--rpx) * 20); padding-top: calc(var(--rpx) * 20); }
.view-service-catalog .menu-group-title { color: var(--c-text); font-size: calc(var(--rpx) * 30); font-weight: 700; line-height: 1.6; }
.view-service-catalog .menu-group-rating { color: var(--c-text-3); font-size: calc(var(--rpx) * 24); line-height: 1.6; }
.view-service-catalog .menu-line { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 20); min-height: calc(var(--rpx) * 84); padding: calc(var(--rpx) * 14) 0; }
.view-service-catalog .menu-label-group { display: flex; align-items: baseline; gap: calc(var(--rpx) * 14); min-width: 0; }
.view-service-catalog .menu-label { flex: 1 1 auto; min-width: 0; color: var(--c-text); font-size: calc(var(--rpx) * 30); line-height: 1.6; overflow-wrap: anywhere; }
.view-service-catalog .menu-sub { flex: none; color: var(--c-text-3); font-size: calc(var(--rpx) * 24); }
.view-service-catalog .menu-price { flex: 0 0 auto; max-width: 54%; font-size: calc(var(--rpx) * 32); line-height: 1.6; overflow-wrap: anywhere; }
.view-service-catalog .menu-note { margin-top: calc(var(--rpx) * -10); padding-bottom: calc(var(--rpx) * 14); color: var(--c-text-3); font-size: calc(var(--rpx) * 24); line-height: 1.7; }
.view-service-catalog .composition-parts { display: flex; flex-wrap: wrap; gap: calc(var(--rpx) * 4) calc(var(--rpx) * 18); margin-top: calc(var(--rpx) * -8); padding-bottom: calc(var(--rpx) * 18); }
.view-service-catalog .composition-part { color: var(--c-text-3); font-family: var(--f-mono); font-size: calc(var(--rpx) * 24); line-height: 1.7; font-variant-numeric: tabular-nums; }
.view-service-catalog .composition-part.free { color: var(--c-accent); font-family: -apple-system, "PingFang SC", sans-serif; }
.view-service-catalog .menu-composition { padding: calc(var(--rpx) * 14) 0 calc(var(--rpx) * 20); }
.view-service-catalog .composition-caption { color: var(--c-text-3); font-size: calc(var(--rpx) * 24); }
.view-service-catalog .composition-prices { margin-top: calc(var(--rpx) * 10); color: var(--c-accent); font-family: var(--f-mono); font-size: calc(var(--rpx) * 28); line-height: 1.9; overflow-wrap: anywhere; }
.view-service-catalog .price-table { margin-top: calc(var(--rpx) * 16); }
.view-service-catalog .table-row { display: flex; align-items: center; min-height: calc(var(--rpx) * 92); }
.view-service-catalog .table-head { min-height: calc(var(--rpx) * 56); border-bottom: 1px solid var(--c-line); color: var(--c-text-3); font-size: calc(var(--rpx) * 22); }
.view-service-catalog .table-name { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.view-service-catalog .table-label { color: var(--c-text); font-size: calc(var(--rpx) * 28); line-height: 1.5; }
.view-service-catalog .table-rating { color: var(--c-text-3); font-size: calc(var(--rpx) * 18); letter-spacing: calc(var(--rpx) * 2); line-height: 1.5; }
.view-service-catalog .table-cell { flex: 0 0 22%; text-align: right; }
.view-service-catalog .table-price { color: var(--c-accent); font-family: var(--f-mono); font-size: calc(var(--rpx) * 30); font-weight: 700; font-variant-numeric: tabular-nums; }
.view-service-catalog .section-notes { margin: calc(var(--rpx) * 8) 0 calc(var(--rpx) * 18); padding-left: calc(var(--rpx) * 18); border-left: calc(var(--rpx) * 4) solid var(--c-accent); }
.view-service-catalog .note-line { color: var(--c-text-2); font-size: calc(var(--rpx) * 26); line-height: 1.8; }
.view-service-catalog .note-line + .note-line { margin-top: calc(var(--rpx) * 6); }
.view-service-catalog .note-line.numbered { display: flex; gap: calc(var(--rpx) * 16); }
.view-service-catalog .note-index { flex: none; width: calc(var(--rpx) * 28); color: var(--c-accent); font-family: var(--f-mono); font-variant-numeric: tabular-nums; }
.view-service-catalog .info-block { margin-top: calc(var(--rpx) * 24); padding: calc(var(--rpx) * 28); background: var(--c-surface); }
.view-service-catalog .info-title { margin-bottom: calc(var(--rpx) * 14); color: var(--c-text); font-size: calc(var(--rpx) * 30); font-weight: 800; }
.view-service-catalog .guarantee { display: flex; gap: calc(var(--rpx) * 14); color: var(--c-text-2); font-size: calc(var(--rpx) * 26); line-height: 1.8; }
.view-service-catalog .guarantee + .guarantee { margin-top: calc(var(--rpx) * 6); }
.view-service-catalog .guarantee-mark { flex: none; color: var(--c-accent); }
.view-service-catalog .contact-bar { position: fixed; z-index: 10; left: 0; right: 0; bottom: 0; padding: calc(var(--rpx) * 18) var(--gutter) calc(calc(var(--rpx) * 20) + env(safe-area-inset-bottom)); background: var(--c-bg); }
.view-service-catalog .contact-bar::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: calc(var(--rpx) * 80); background: linear-gradient(to top, rgba(0,0,0,.95), rgba(0,0,0,0)); pointer-events: none; }
.view-service-catalog .catalog-empty { padding: calc(var(--rpx) * 120) var(--gutter); color: var(--c-text-3); text-align: center; }
.view-service-catalog .catalog-empty-button { margin-top: calc(var(--rpx) * 40); }
