:root {
  color-scheme: light;
  --ink: #18182e;
  --muted: #56586b;
  --violet: #5d45d7;
  --night: #111224;
  --line: #e3e1ed;
  --paper: #faf9fe;
  font-family: Inter, "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
  font-synthesis: none;
  color: var(--ink);
  background: var(--paper);
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; cursor: pointer; }
button:focus-visible, a:focus-visible, summary:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid #a391ff; outline-offset: 4px; }
h1, h2, h3, p, figure { margin: 0; }
.container { width: min(1200px, calc(100% - 88px)); margin-inline: auto; }
.section { scroll-margin-top: 24px; }
.skip-link { position: fixed; left: 12px; top: 10px; z-index: 5; padding: 12px; background: white; transform: translateY(-150%); }
.skip-link:focus { transform: none; }

.header { background: #101124; color: #f9f8ff; border-bottom: 1px solid #292944; }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; white-space: nowrap; }
.brand > span:last-child { display: flex; gap: 8px; align-items: baseline; }
.brand strong { font-size: 18px; letter-spacing: -.045em; }
.brand small { font-size: 13px; font-weight: 650; opacity: .7; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #b4a1fc; color: #221649; }
.brand-mark i { width: 14px; height: 14px; display: grid; place-items: center; transform: rotate(45deg); border: 2px solid currentColor; border-radius: 2px; }
.brand-mark i::after { content: ""; width: 4px; height: 4px; background: currentColor; }
nav { display: flex; gap: 35px; color: #cbc9df; font-size: 14px; font-weight: 550; }
nav a:hover, .footer a:hover { color: #bcaaff; }
.button { border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 17px; min-height: 48px; border-radius: 9px; white-space: nowrap; font-size: 14px; font-weight: 700; transition: background .18s ease, border-color .18s ease, color .18s ease; }
.button-nav { min-height: 40px; padding-block: 8px; background: #1d1d35; border-color: #3d3a55; }
.button-nav:hover, .button-quiet:hover { background: #2a2648; border-color: #7464a7; }
.button-primary { background: #c4b0ff; color: #21173e; border-color: #c4b0ff; }
.button-primary:hover { background: #e0d4ff; border-color: #e0d4ff; }
.button-quiet { background: #191a32; border-color: #494361; color: #f3edff; }
.button-arrow { margin-left: 3px; }
.win-icon { display: inline-block; flex: 0 0 auto; width: 15px; height: 15px; background: linear-gradient(to right, transparent calc(50% - 1px), var(--win-gap, #c4b0ff) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(to bottom, transparent calc(50% - 1px), var(--win-gap, #c4b0ff) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)), currentColor; }
.button-primary:hover .win-icon { --win-gap: #e0d4ff; }

.hero { color: #f9f8ff; background: radial-gradient(ellipse at 86% 51%, #31265a 0, transparent 50%), radial-gradient(ellipse at 38% 0%, #1c203a 0, transparent 56%), #101124; overflow: hidden; }
.hero-inner { min-height: 560px; display: grid; grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr); align-items: center; gap: clamp(26px, 4.2vw, 64px); padding: 76px 0 82px; }
.hero-copy { position: relative; z-index: 1; }
.hero-label { display: inline-flex; align-items: center; gap: 8px; color: #d5c6ff; font-size: 13px; letter-spacing: .11em; font-weight: 700; margin-bottom: 24px; }
.hero-label span, .hero-caption span { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #ae98ff; box-shadow: 0 0 13px #ae98ff88; }
h1 { font-size: clamp(38px, 4vw, 62px); line-height: 1.14; letter-spacing: -.055em; font-weight: 850; }
h1 em { font-style: normal; color: #c4b0ff; }
.hero-description { margin-top: 22px; max-width: 400px; line-height: 1.8; font-size: 16px; color: #c4c5d8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }

.hero-visual { position: relative; z-index: 0; }
.hero-visual::before { content: ""; position: absolute; z-index: -1; inset: -85px -110px -65px -47px; background-image: linear-gradient(#8a79bd20 1px, transparent 1px), linear-gradient(90deg, #8a79bd20 1px, transparent 1px); background-size: 40px 40px; mask-image: radial-gradient(ellipse, black, transparent 72%); }
.workspace { background: #191b35; border: 1px solid #5d527e; border-radius: 17px; overflow: hidden; box-shadow: 0 32px 66px #08061595, 0 0 42px #aa8bfa14; }
.workspace-title { min-height: 41px; display: flex; align-items: center; gap: 9px; padding: 0 15px; font-size: 11px; color: #c0bdd5; background: #17192e; border-bottom: 1px solid #3c3855; }
.workspace-dot { width: 8px; height: 8px; transform: rotate(45deg); border: 2px solid #bfacfc; border-radius: 1px; }
.window-controls { margin-left: auto; letter-spacing: .06em; color: #8f8aa6; }
.workspace-body { display: grid; grid-template-columns: 111px minmax(0, 1fr); min-height: 330px; }
.workspace-menu { display: flex; flex-direction: column; gap: 6px; padding: 19px 9px; border-right: 1px solid #3d375a; background: #1d1d39; color: #b2b1ca; white-space: nowrap; }
.workspace-menu strong { color: #f4efff; padding: 0 7px 12px; font-size: 15px; letter-spacing: -.04em; }
.workspace-menu span { display: block; padding: 8px 7px; font-size: 10px; border-radius: 5px; }
.workspace-menu i { display: inline-block; min-width: 14px; font-style: normal; font-size: 11px; color: #bfa6ff; }
.workspace-menu .workspace-selected { background: #3e3268; color: #fff; }
.workspace-content { padding: 18px; background: linear-gradient(155deg, #262343, #1b2039 52%, #1b1d35); min-width: 0; }
.workspace-heading { display: flex; justify-content: space-between; align-items: end; gap: 6px; }
.workspace-heading h2 { font-size: 23px; line-height: 1.3; margin-top: 3px; }
.workspace-heading small, .workspace-stats small { font-size: 10px; color: #c2bbda; }
.mock-action { font-size: 10px; font-weight: 700; border-radius: 5px; background: #c1adff; color: #241747; padding: 7px 9px; white-space: nowrap; }
.workspace-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 15px 0 13px; }
.workspace-stats > div { display: flex; flex-direction: column; gap: 5px; padding: 9px 10px; border: 1px solid #463b67; border-radius: 7px; background: #30274b; }
.workspace-stats b { font-size: 22px; line-height: 1; color: #dbccff; }
.workspace-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 10px; color: #d1cfe1; text-align: left; white-space: nowrap; }
.workspace-table th, .workspace-table td { padding: 7px 6px; border-bottom: 1px solid #3c3655; }
.workspace-table th { color: #aaa5c0; font-weight: 550; }
.workspace-table td:first-child { color: #f3efff; }
.store-icon { display: inline-grid; place-items: center; border-radius: 5px; width: 19px; height: 19px; margin-right: 4px; font-style: normal; }
.store-blue { background: #314666; color: #b6deff; }.store-purple { background: #473966; color: #ded0ff; }.store-peach { background: #533d58; color: #ffceda; }
.online { color: #a2e8d4; }.online::before { content: ""; display: inline-block; width: 5px; height: 5px; background: #7ddbc2; border-radius: 50%; margin-right: 5px; vertical-align: 1px; }
.workspace-note { margin-top: 10px; font-size: 9px; color: #a5a1bc; }
.hero-caption { display: flex; align-items: center; gap: 9px; justify-content: flex-end; font-size: 11px; color: #b6acd1; padding: 13px 4px 0; }
.hero-caption span { width: 5px; height: 5px; }.hero-caption i { width: 1px; height: 11px; background: #6e658c; }

.features { padding: 80px 0 82px; }
.section-heading { margin-bottom: 28px; }
.overline { color: var(--violet); font-size: 13px; font-weight: 800; letter-spacing: .1em; margin-bottom: 9px; }
.section h2 { font-size: clamp(27px, 3.1vw, 42px); font-weight: 830; line-height: 1.18; letter-spacing: -.045em; }
.feature-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 7px; background: #efedf7; border: 1px solid #e6e1f2; border-radius: 13px; }
.feature-tabs button { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 49px; padding: 8px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #4c4a62; font-size: 14px; font-weight: 700; }
.feature-tabs button:hover { color: #5231c5; background: #f6f3fe; }
.feature-tabs [aria-selected="true"] { background: #fff; border-color: #dfd6f5; color: #5135be; box-shadow: 0 3px 9px #2720440c; }
.feature-icon { font-size: 19px; color: #704de0; }
.feature-panel { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr); align-items: center; gap: clamp(20px, 4.2vw, 62px); background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: clamp(22px, 3.4vw, 45px); margin-top: 12px; }
.feature-copy h3 { font-size: clamp(23px, 2.6vw, 35px); line-height: 1.24; letter-spacing: -.04em; margin-bottom: 13px; }
.feature-copy p, .download-description { color: var(--muted); line-height: 1.8; font-size: 15px; }
.feature-copy ul { padding: 0; margin: 21px 0 0; display: grid; gap: 11px; list-style: none; }
.feature-copy li { display: flex; align-items: center; gap: 9px; font-size: 14px; color: #343249; }
.feature-copy li::before { content: "✓"; color: #6547cc; background: #f0e9fd; display: inline-grid; place-items: center; border-radius: 50%; width: 21px; height: 21px; font-size: 12px; font-weight: 800; flex-shrink: 0; }
.screenshot { border: 1px solid #d8d3e7; border-radius: 10px; background: #1b2440; overflow: hidden; aspect-ratio: 1.82; }
.screenshot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.screenshot[data-shot="shops"] img { object-position: 50% 0; transform: scale(1.14); transform-origin: top left; }
.screenshot[data-shot="retouch"] img { object-position: 50% 69%; }
.screenshot[data-shot="guides"] img { object-position: 50% 12%; }
.feature-figure figcaption { margin-top: 8px; color: #626179; font-size: 12px; text-align: right; }

.download { background: #ebe6fa; border-block: 1px solid #e1d9f5; padding: 70px 0; }
.download-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .54fr); gap: 34px; align-items: center; }
.download-description { margin-top: 12px; }
.steps { counter-reset: setup; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 0; margin: 25px 0 0; list-style: none; }
.steps li { counter-increment: setup; display: grid; grid-template-columns: 25px 1fr; gap: 4px 8px; }
.steps li::before { content: counter(setup); width: 24px; height: 24px; grid-row: span 2; display: grid; place-items: center; border-radius: 50%; background: #dbcef6; color: #5232b4; font-size: 12px; font-weight: 800; }
.steps b { font-size: 14px; line-height: 24px; }.steps span { color: #5c5771; font-size: 13px; line-height: 1.5; }
.download-box { display: grid; justify-items: start; border: 1px solid #473b68; border-radius: 15px; padding: 25px; background: #1e1b35; color: #fff; }
.download-icon { width: 24px; height: 24px; color: #c8b4ff; --win-gap: #1e1b35; margin-bottom: 12px; }
.download-box h3 { font-size: 22px; letter-spacing: -.03em; }.download-box p { margin-top: 7px; font-size: 13px; color: #cec7e2; }
.download-link { margin-top: 19px; width: 100%; justify-content: space-between; }

.faq { padding: 65px 0 73px; }.faq-grid { display: grid; grid-template-columns: .54fr 1fr; gap: 25px; }
.faq-items { border-top: 1px solid var(--line); }.faq details { border-bottom: 1px solid var(--line); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 10px; list-style: none; cursor: pointer; padding: 16px 0; font-weight: 700; font-size: 15px; }
.faq summary::-webkit-details-marker { display: none; }.faq summary::after { content: "+"; font-size: 18px; color: var(--violet); }.faq details[open] summary::after { content: "−"; }
.faq details p { padding: 0 0 14px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.text-button { padding: 0; background: none; border: 0; color: #6043c6; text-decoration: underline; text-underline-offset: 3px; }
.footer { background: var(--night); color: #f9f6ff; }.footer-inner { display: flex; gap: 20px; justify-content: space-between; align-items: center; padding: 27px 0; }
.footer-inner > div { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; color: #cec7e2; font-size: 13px; }.footer .text-button { color: inherit; text-decoration: none; }.footer .text-button:hover { color: #bcaaff; }

dialog { padding: 0; width: min(352px, calc(100% - 28px)); border: 1px solid #e1d8f4; border-radius: 18px; box-shadow: 0 18px 60px #09051e65; color: var(--ink); }
dialog::backdrop { background: #101124aa; backdrop-filter: blur(5px); }
.contact-inner { position: relative; text-align: center; padding: 28px 20px 24px; }
.contact-inner h2 { margin-bottom: 6px; font-size: 24px; }.contact-inner p { color: var(--muted); font-size: 14px; }
.contact-inner img { display: block; width: min(100%, 259px); height: auto; margin: 16px auto 0; }
.close-button { position: absolute; right: 10px; top: 10px; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 50%; background: #eee9f7; font-size: 20px; line-height: 1; }.close-button:hover { background: #e2d7f3; }

@media (max-width: 940px) {
  .container { width: min(100% - 48px, 1200px); }
  .hero-inner { gap: 25px; min-height: 0; padding: 62px 0; }
  .workspace-body { grid-template-columns: 85px minmax(0, 1fr); min-height: 0; }.workspace-content { padding: 13px; }.workspace-menu { padding: 14px 5px; }
  .workspace-stats { gap: 5px; }.workspace-stats > div { padding: 8px 5px; }
  .hero-actions .button { min-height: 43px; padding-inline: 11px; font-size: 12px; }
}
@media (max-width: 740px) {
  .container { width: calc(100% - 36px); }.header-inner { min-height: 63px; }.header nav { display: none; }
  .hero-inner { grid-template-columns: 1fr; padding: 48px 0 40px; gap: 32px; }
  .hero-label { margin-bottom: 16px; }.hero-description { margin-top: 15px; }.hero-actions { margin-top: 20px; }
  .hero-actions .button { min-height: 44px; }
  .hero-visual { width: min(540px, 100%); }.workspace-content { padding: 15px; }
  .features, .download, .faq { padding: 48px 0; }
  .section-heading { margin-bottom: 19px; }
  .feature-panel, .download-grid, .faq-grid { grid-template-columns: 1fr; }
  .feature-tabs { grid-template-columns: repeat(2, 1fr); }.feature-tabs button { min-height: 43px; }
  .feature-panel { padding: 20px; }.faq-grid { gap: 17px; }
}
@media (max-width: 380px) {
  .header-inner { gap: 8px; }.header .brand small { display: none; }.button-nav { font-size: 12px; padding-inline: 9px; }
  h1 { font-size: 35px; }.hero-actions { gap: 7px; }.hero-actions .button { gap: 6px; }
  .workspace-menu { display: none; }.workspace-body { grid-template-columns: 1fr; }
  .steps { gap: 8px; }.steps li { grid-template-columns: 20px 1fr; gap: 3px 4px; }.steps li::before { width: 19px; height: 19px; }.steps b { line-height: 19px; }
  .footer-inner { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }
