:root { --ink:#132238; --muted:#65758b; --line:#dfe8f2; --blue:#2f7df6; --cyan:#4bc7d6; --soft:#f4f8fc; --green:#0a8d69; }
html { scroll-behavior:smooth; }
#download,#purchase { scroll-margin-top:24px; }
.topic-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; border:1px solid #d7e5f5; border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(37,62,91,.06); }
.topic-intro__identity { display:flex; align-items:center; gap:16px; min-width:0; }
.topic-intro__identity img { width:72px; height:72px; flex:0 0 72px; border-radius:16px; object-fit:contain; }
.topic-intro h2 { margin:0; color:var(--ink); font-size:24px; }
.topic-intro p { max-width:650px; margin:6px 0 0; color:var(--muted); line-height:1.6; }
.topic-intro__download { display:flex; flex:0 0 190px; flex-direction:column; align-items:stretch; gap:7px; text-align:center; }
.topic-intro__download .button { width:100%; }
.topic-intro__download small { color:var(--muted); font-size:11px; }
.package-pending { display:flex; min-height:44px; align-items:center; justify-content:center; border:1px dashed #b9c8d8; border-radius:11px; color:#6f7f91; font-weight:800; }
@media (max-width:680px) { .topic-intro { align-items:stretch; flex-direction:column; padding:18px; } .topic-intro__download { flex-basis:auto; } }
* { box-sizing:border-box; }
.pro-icon-defs { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.pro-shell { display:grid; gap:20px; max-width:1120px; margin:0 auto; padding:12px 0 48px; }
.pro-offer { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:30px; align-items:center; padding:48px 42px; border:1px solid #d7e5f5; border-radius:24px; background:linear-gradient(135deg,#f5fbff 0%,#eef5ff 52%,#fff 100%); box-shadow:0 20px 60px rgba(42,91,142,.12); }
.pro-offer::after { content:""; position:absolute; width:260px; height:260px; right:-90px; top:-100px; border:42px solid rgba(75,199,214,.16); border-radius:50%; }
.offer-copy,.pro-price { position:relative; z-index:1; }
.eyebrow { display:block; margin-bottom:10px; color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.pro-offer h2 { margin:0; color:var(--ink); font-size:clamp(30px,5vw,54px); line-height:1.08; letter-spacing:-.02em; }
.pro-offer h2 em { color:var(--blue); font-style:normal; }
.pro-offer p { max-width:650px; margin:18px 0 0; color:var(--muted); font-size:16px; line-height:1.75; }
.offer-points { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:22px; color:#35627b; font-size:13px; font-weight:700; }
.offer-points span { display:inline-flex; align-items:center; gap:6px; }
.offer-points svg { width:16px; height:16px; flex:0 0 16px; color:var(--blue); fill:currentColor; }
.pro-price { padding:26px 20px; border:1px solid rgba(47,125,246,.2); border-radius:18px; background:rgba(255,255,255,.78); text-align:center; box-shadow:0 14px 30px rgba(47,125,246,.1); }
.price-label { display:block; color:var(--muted); font-size:12px; }
.pro-price strong { display:block; margin:8px 0 6px; color:var(--blue); font-size:48px; line-height:1; }
.pro-price span:last-child { color:var(--muted); font-size:12px; }
.pro-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.pro-panel { padding:26px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(37,62,91,.06); }
.feature-panel { padding:30px; }
.section-heading {
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  grid-template-areas:"eyebrow title" "copy copy";
  align-items:center;
  column-gap:12px;
  row-gap:8px;
  margin-bottom:18px;
}
.section-heading > .eyebrow,
.section-heading > .eyebrow-with-icon {
  grid-area:eyebrow;
  display:inline-flex;
  min-height:18px;
  align-items:center;
  margin:0;
  white-space:nowrap;
}
.eyebrow-with-icon { gap:7px; }
.eyebrow-with-icon svg { width:16px; height:16px; flex:0 0 16px; fill:currentColor; }
.section-heading > h2 { grid-area:title; min-width:0; }
.section-heading h2,.pro-panel h2 { margin:0; color:var(--ink); font-size:22px; line-height:1.25; }
.section-heading > p { grid-area:copy; }
.section-heading p,.pro-panel p { color:var(--muted); line-height:1.7; }
.section-heading p { max-width:680px; margin:0; }
.feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.feature-grid article { min-height:166px; padding:18px; border:1px solid #e4edf5; border-radius:14px; background:var(--soft); }
.feature-grid article.roadmap { background:#fbfcfe; border-style:dashed; }
.feature-icon { display:grid; width:34px; height:34px; place-items:center; margin-bottom:18px; border-radius:10px; background:#e4f1ff; color:var(--blue); font-size:18px; font-weight:800; }
.feature-icon svg { width:20px; height:20px; fill:currentColor; }
.feature-grid h3 { margin:0 0 7px; color:var(--ink); font-size:15px; }
.feature-state { display:inline-block; margin:0 0 8px; color:var(--green); font-size:10px; font-weight:800; letter-spacing:.06em; }
.feature-grid article.roadmap .feature-state { color:#8a6a16; }
.feature-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.pro-list { display:grid; gap:10px; padding:0; margin:16px 0 0; list-style:none; }
.pro-list li { position:relative; padding-left:24px; color:#34445d; line-height:1.55; }
.pro-list li::before { position:absolute; left:0; top:0; color:var(--green); font-weight:900; content:"✓"; }
.pro-list.excluded li::before { color:#8b98a8; content:"−"; }
.compact-list { gap:8px; }
.comparison-panel { overflow:hidden; }
.comparison-table-wrap { overflow-x:auto; border:1px solid #dfe8f2; border-radius:14px; background:#fff; }
.comparison-table { width:100%; min-width:650px; table-layout:fixed; border-collapse:collapse; }
.comparison-table th,.comparison-table td { padding:14px 16px; border-bottom:1px solid #e8eef5; vertical-align:middle; font-size:13px; line-height:1.5; }
.comparison-table thead th { background:#f4f8fc; color:#34445d; font-size:12px; font-weight:800; text-align:center; }
.comparison-table thead th:first-child { width:47%; text-align:left; }
.comparison-table thead th:nth-child(2),.comparison-table thead th:nth-child(3) { width:26.5%; }
.comparison-table tbody tr:last-child th,.comparison-table tbody tr:last-child td { border-bottom:0; }
.comparison-table tbody th { color:#34445d; font-weight:700; text-align:left; }
.comparison-table tbody td { color:#58708b; text-align:center; }
.comparison-table tbody td:last-child { color:#1768b4; font-weight:700; }
.comparison-table tbody tr:nth-child(even) th,.comparison-table tbody tr:nth-child(even) td { background:#fbfdff; }
.comparison-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.comparison-action { display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:0; padding:14px 16px; border:1px solid #dfe8f2; border-radius:14px; background:#f9fbfd; }
.comparison-action--pro { border-color:#b9d7f4; background:#f1f7ff; }
.comparison-action > div { min-width:0; }
.comparison-action strong,.comparison-action span { display:block; overflow-wrap:anywhere; }
.comparison-action strong { color:var(--ink); font-size:14px; }
.comparison-action span { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.45; }
.comparison-action .button { flex:0 0 auto; min-height:40px; padding:0 16px; font-size:12px; }
.pro-status { display:inline-flex; min-height:30px; align-items:center; padding:5px 11px; border-radius:999px; background:#ecfdf5; color:#087a55; font-size:12px; font-weight:800; }
.pro-status.pending { background:#fff5dc; color:#8a5b00; }
.action-row,.pro-pay { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.pro-pay button { min-width:190px; min-height:48px; }
.button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:0 20px; border:0; border-radius:11px; background:var(--blue); color:#fff !important; font-weight:800; text-decoration:none; cursor:pointer; box-shadow:0 8px 18px rgba(47,125,246,.2); }
.button.secondary { border:1px solid #cbd8e6; background:#fff; color:#2d4b6b !important; box-shadow:none; }
.pro-note { margin-top:22px; padding:14px 16px; border-left:3px solid var(--blue); background:#f0f6fd; color:#34445d !important; font-size:13px; }
.payment-result { margin-top:22px; padding:20px; border:1px solid #cfe0f3; border-radius:14px; background:#f7fbff; text-align:center; }
.payment-result__meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; color:var(--muted); font-size:12px; }
.payment-result__meta strong { color:var(--ink); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.02em; }
.copy-order { padding:4px 9px; border:1px solid #cbd8e6; border-radius:7px; background:#fff; color:#2d4b6b; cursor:pointer; }
.payment-result__amount { margin:10px 0 14px !important; color:var(--ink) !important; }
.payment-result__qr { display:block; width:min(320px,100%); aspect-ratio:1; height:auto; image-rendering:pixelated; margin:0 auto 14px; padding:10px; border:1px solid #e0e8f0; border-radius:10px; background:#fff; color-scheme:only light; forced-color-adjust:none; }
.payment-result__open { margin:0 auto 12px; }
.payment-result__hint,.payment-result__status { display:block; font-size:12px; color:var(--muted); }
.payment-result__status { margin-top:10px; color:var(--blue); }
.pro-orders { width:100%; border-collapse:collapse; }
.pro-orders th,.pro-orders td { padding:11px 10px; border-bottom:1px solid #e3eaf2; text-align:left; font-size:12px; }
.pro-orders th { color:var(--muted); }
@media (max-width:820px) { .pro-offer { grid-template-columns:1fr; padding:34px 26px; } .pro-price { max-width:220px; text-align:left; } .pro-price strong { font-size:40px; } .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:820px) { .comparison-actions { grid-template-columns:1fr; } }
@media (max-width:560px) { .pro-shell { gap:14px; padding-top:4px; } .pro-grid,.feature-grid { grid-template-columns:1fr; } .pro-offer { padding:28px 20px; border-radius:18px; } .pro-panel,.feature-panel { padding:20px; border-radius:15px; } .pro-offer h2 { font-size:34px; } .section-heading { grid-template-columns:minmax(0,1fr); grid-template-areas:"eyebrow" "title" "copy"; row-gap:6px; } .section-heading h2 { font-size:21px; } .action-row,.pro-pay { display:grid; grid-template-columns:1fr; } .button,.pro-pay button { width:100%; } .comparison-table { min-width:580px; } .comparison-table th,.comparison-table td { padding:12px 10px; font-size:12px; } .comparison-action { align-items:stretch; flex-direction:column; } .comparison-action .button { width:100%; } }
