/* GG Charts site v6 (26.10, site_1025, Astra's review TASK109A): header Product / Markets / Pricing / Help with drop-down panels, the candle logo,
   three stories on the home page, product shots of the bot message, real clips with posters and a pause button, no pinned scenes and no reveal
   masks: every page is whole without JS. Rules: no monospace, no uppercase labels, no letter-spaced captions, no boxes around tabs and labels. */
/* Fonts, both SIL Open Font License 1.1: Inter Tight (variable) and Instrument Serif Italic. Notices: /licenses */
@font-face{font-family:GGGeist;src:url(fonts/geist-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:InstrumentSerif;src:url(fonts/instrument-serif-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{
  --bg:#000;--bg1:#050706;--pop:#0b0d0b;--line:#1a1e1a;--line2:#272c27;--line3:#363d36;
  --text:#e8efe8;--soft:#b3bcb4;--dim:#8f9a90;--mute:#7c877d;--gg:#3DDD71;--gg-h:#5be58a;--mint:#00FFA3;--ink:#050706;--up:#2BC360;--down:#E83A4E;
  --disp:GGGeist,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--serif:InstrumentSerif,"Times New Roman",serif;
  --ease:cubic-bezier(.2,.7,.1,1);--wrap:1312px;--gut:40px;--hd:64px;--sub:44px;color-scheme:dark
}
/* e20 28.10 (owner: «сайт дёргается при кликах»): the cross-document view transition is off — Safari 26 cross-faded two different pages for 3-5 frames (a double exposure of both headings) on every site click; now a clean cut */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font:400 18px/1.55 var(--disp);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%;height:auto}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sr:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:99;padding:10px 14px;background:var(--gg);color:var(--ink);border-radius:8px}
h1,h2,h3{text-wrap:balance}
em{font-style:italic}
h1 em,h2 em,h3 em{font:italic 400 1.1em/1 var(--serif);letter-spacing:-.005em}
html[data-phase="pre"] .live-only{display:none!important}
html[data-phase="live"] .pre-only{display:none!important}
.cd{font-variant-numeric:tabular-nums;white-space:nowrap}
.cd b{font-weight:400;color:#fff}
:focus-visible{outline:2px solid var(--gg);outline-offset:3px;border-radius:4px}

/* links and buttons */
.u{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.u:hover,.u:focus-visible{background-size:100% 1px}
.lnk{color:var(--gg)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;border-radius:10px;border:0;font:500 16px/1 var(--disp);white-space:nowrap;cursor:pointer;transition:background-color .2s var(--ease),transform .12s var(--ease)}
.btn:active{transform:scale(.98)}
.btn-g{background:var(--gg);color:var(--ink)}
.btn-g:hover{background:var(--gg-h)}
.btn-s{height:36px;padding:0 16px;font-size:15px;border-radius:8px}
.btn svg{width:18px;height:18px}

/* the logo: candle mark + «GG Charts» */
.logo{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;color:#fff}
.logo .mk{width:27px;height:28px;flex:none}
.lw{font:450 19px/1 var(--disp);letter-spacing:-.02em}
.lw b{font-weight:650}
.logo-l .mk{width:40px;height:42px}
.logo-l .lw{font-size:26px}

/* ───── header ───── */
.hd{position:sticky;top:0;z-index:50;height:var(--hd);background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:background-color .35s var(--ease),border-color .35s var(--ease)}
.hd.on{background:rgba(5,7,6,.9);border-bottom-color:var(--line)}
.hd-in{display:flex;align-items:center;gap:44px;height:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.hd-nav{display:flex;align-items:center;gap:6px;height:100%;font-size:15px;color:var(--soft)}
.hd-a,.dd-b{display:flex;align-items:center;gap:7px;height:100%;padding:0 12px;border:0;background:none;font:inherit;color:inherit;cursor:pointer}
.hd-a:hover,.hd-a[aria-current],.dd-b:hover,.dd.on .dd-b,.dd.open .dd-b{color:#fff}
.dd{position:relative;height:100%}
.dd-b i{width:7px;height:7px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.7;transition:transform .25s var(--ease)}
.dd.open .dd-b i{transform:translateY(3px) rotate(225deg)}
.dd-p{position:absolute;left:-12px;top:calc(100% - 6px);min-width:560px;padding:10px;background:var(--pop);border:1px solid var(--line2);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s .2s}
.dd:hover .dd-p,.dd:focus-within .dd-p,.dd.open .dd-p{opacity:1;visibility:visible;transform:none;transition:opacity .2s var(--ease),transform .2s var(--ease)}
.dd.shut .dd-p{opacity:0!important;visibility:hidden!important}
.dd-g{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.dd-p a{display:block;padding:12px 14px;border-radius:9px}
.dd-p a:hover,.dd-p a[aria-current]{background:#141814}
.dd-p b{display:block;font-weight:500;font-size:15px;color:#fff}
.dd-p span{display:block;margin-top:3px;font-size:14px;line-height:1.4;color:var(--dim)}
.hd-end{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:15px}
.hd-t{color:var(--soft)}
.hd-t:hover{color:#fff}
.hd-when{color:var(--dim)}
/* qa26site 26.10: the menu button 44 px (was 36, under the 40 px tap target); the two lines drawn where they were */
.hd-menu{display:none;position:relative;width:44px;height:44px;margin-right:-10px;border:0;background:none;cursor:pointer;color:#fff}
.hd-menu span{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor}
.hd-menu span:first-child{top:18px}
.hd-menu span:last-child{top:25px}

/* the second bar: sections of a product page, the one in view underlined in green */
.sub{position:sticky;top:var(--hd);z-index:40;height:var(--sub);background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);margin-top:96px}
.sub-in{display:flex;align-items:center;gap:30px;height:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.sub-in::-webkit-scrollbar{display:none}
.sub b{font-weight:500;font-size:15px;color:#fff;margin-right:6px}
.sub a{position:relative;display:flex;align-items:center;height:100%;font-size:15px;color:var(--dim);transition:color .3s var(--ease)}
.sub a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--gg);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.sub a:hover,.sub a.on{color:#fff}
.sub a.on::after{transform:none}

/* ───── the phone menu ───── */
.menu{position:fixed;inset:0;z-index:70;overflow-y:auto;background:#000;display:flex;flex-direction:column}
.menu[hidden]{display:none}
.menu-top{display:flex;align-items:center;justify-content:space-between;height:var(--hd);max-width:var(--wrap);width:100%;margin:0 auto;padding:0 var(--gut);flex:none}
.menu-x{width:40px;height:40px;margin-right:-8px;border:0;background:none;color:#fff;cursor:pointer;position:relative}
.menu-x::before,.menu-x::after{content:"";position:absolute;left:10px;right:10px;top:19px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.menu-x::after{transform:rotate(-45deg)}
.menu-in{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:0 64px;align-content:start;max-width:var(--wrap);width:100%;margin:0 auto;padding:28px var(--gut) 32px}
.menu-in h2{margin:0 0 6px;font:400 15px/1.4 var(--disp);color:var(--mute)}
.menu-in nav{margin-bottom:24px}
.menu-in a.mi{display:block;padding:6px 0;font:400 34px/1.15 var(--disp);letter-spacing:-.03em;color:#fff}
.menu-in a.mi:hover{color:var(--gg)}
.menu-low{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;max-width:var(--wrap);width:100%;margin:0 auto;padding:22px var(--gut) 32px;border-top:1px solid var(--line);font-size:16px;color:var(--soft);flex:none}
.menu-low .btn{margin-left:auto}

/* ───── type ───── */
.dh{margin:0;font:400 clamp(54px,9vw,142px)/.95 var(--disp);letter-spacing:-.045em;color:#fff}
.h1{margin:0;font:400 clamp(46px,7.2vw,112px)/.98 var(--disp);letter-spacing:-.04em;color:#fff}
.h2{margin:0;font:400 clamp(38px,5vw,74px)/1.02 var(--disp);letter-spacing:-.036em;color:#fff}
.h3{margin:0;font:400 clamp(26px,2.5vw,36px)/1.14 var(--disp);letter-spacing:-.025em;color:#fff}
.lead{margin:26px 0 0;max-width:680px;font:400 clamp(18px,1.5vw,21px)/1.5 var(--disp);color:var(--soft)}
.p{margin:16px 0 0;max-width:620px;color:var(--soft)}
div.p{margin:0}
div.p p{margin:0 0 12px}
div.p p:last-child{margin-bottom:0}
.note{margin:14px 0 0;font-size:15px;color:var(--mute)}
.cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}
.cta .lnk{font-size:17px}
.cta .note{margin:0}
.links{display:flex;flex-wrap:wrap;gap:8px 28px;margin:22px 0 0;font-size:17px}

/* ───── the home hero ───── */
.hero{position:relative;padding:84px 0 0;text-align:center;overflow:hidden}
.hero .dh{max-width:1200px;margin:0 auto}
.hero .lead{margin-left:auto;margin-right:auto}
.hero .cta{justify-content:center}
.hero-media{position:relative;margin:64px auto 0;width:min(1440px,calc(100% - 2 * var(--gut)))}
.ring{position:absolute;left:50%;top:-12%;width:118%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 1.5px rgba(61,221,113,.55),0 0 46px 6px rgba(61,221,113,.3),0 0 180px 40px rgba(0,255,163,.1),inset 0 0 140px 30px rgba(61,221,113,.12)}
.hero-desk{position:relative;z-index:2}
.hero-ph{display:none}
.ex-line{margin-top:36px;font-size:17px;color:var(--dim);text-align:center}

/* frames, clips, the pause button */
.frame{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line2);background:#000;line-height:0}
.vid{position:relative}
.vid video{width:100%;aspect-ratio:1440/900;object-fit:cover;background:#000}
.vp{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;opacity:.75;transition:opacity .2s}
.vp:hover,.vp:focus-visible{opacity:1}
.vp::before,.vp::after{content:"";position:absolute;top:11px;width:3px;height:12px;background:#fff;border-radius:1px}
.vp::before{left:12px}.vp::after{left:19px}
.vp.paused::before{left:13px;width:0;height:0;top:10px;background:none;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;border-radius:0}
.vp.paused::after{display:none}
.macro{margin:48px 0 0}
.macro img{width:100%;border-radius:12px}
.macro.narrow{max-width:840px}
.sec-media{margin-top:48px}
.sec-media.narrow{max-width:560px}

/* ───── sections ───── */
.sec{padding-top:140px}
.sec.s-tight{padding-top:56px}
.sec-head{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:end}
.ph{padding:88px 0 0}
.ph .crumbs{margin-bottom:32px}
.ph .lead{max-width:760px}
.ph-media{width:min(1440px,calc(100% - 2 * var(--gut)));margin:64px auto 0}
.ph-media .phones{justify-content:flex-start}
.row{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:center;padding:72px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row.flip{grid-template-columns:7fr 5fr}
.row.flip .row-t{order:2}
.row-t .p{margin-top:16px}
.row-m .bm{margin-top:24px}
.dl{margin:44px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px}
.dl div{padding:24px 0;border-top:1px solid var(--line2)}
.dl dt{font:400 22px/1.3 var(--disp);color:#fff;letter-spacing:-.01em}
.dl dd{margin:10px 0 0;color:var(--soft);font-size:17px}
.dl.c3{grid-template-columns:repeat(3,1fr);gap:0 48px}
.dl.c4{grid-template-columns:repeat(4,1fr);gap:0 40px}
.names{columns:3;column-gap:56px;margin:32px 0 0;padding:0;list-style:none;font-size:17px;color:var(--soft)}
.names li{break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--line)}
.names li small{margin-left:8px;color:var(--mute);font-size:14px}
.names.c4{columns:4}
details.more{margin-top:28px;border-top:1px solid var(--line2)}
details.more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:20px 0 0;font:400 22px/1.3 var(--disp);color:#fff}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::after{content:"+";margin-left:auto;font-size:24px;line-height:1;color:var(--dim)}
details.more[open]>summary::after{content:"−"}
details.more>summary span{color:var(--mute);font-size:17px}
details.more .names{margin-top:16px}
.grp-d{margin-top:0}
.grp-d>summary{padding:20px 0}
.grp-d[open]{padding-bottom:12px}
.grp{margin-top:64px}
.grp h3{margin:0;font:400 32px/1.1 var(--disp);letter-spacing:-.025em;color:#fff}
.grp h3 span{margin-left:12px;color:var(--mute);font-size:21px}
.tbl{width:100%;border-collapse:collapse;margin-top:40px;font-size:17px}
.tbl th,.tbl td{padding:16px 12px 16px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline}
.tbl thead th{font-size:15px;color:var(--mute);font-weight:400}
.tbl tbody th,.tbl tfoot th{font-weight:400;color:#fff}
.tbl td{color:var(--soft);font-variant-numeric:tabular-nums}
.tbl .r{text-align:right}
.callout{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 40px;padding:32px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.callout b{font:400 clamp(28px,3vw,40px)/1.1 var(--disp);letter-spacing:-.025em;color:#fff}
.callout span{color:var(--soft);font-size:18px;max-width:560px}
.callout i{font-style:normal;font-size:32px;color:var(--gg);transition:transform .3s var(--ease)}
.callout:hover i{transform:translateX(6px)}
#hip3.sec{padding-top:72px}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px;margin-top:28px}
.rel a{display:block;padding:22px 0;border-top:1px solid var(--line2)}
.rel b{display:block;font:400 24px/1.2 var(--disp);letter-spacing:-.02em;color:#fff}
.rel span{display:block;margin-top:6px;font-size:16px;color:var(--dim)}
.rel a:hover b{color:var(--gg)}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:15px;color:var(--mute)}
.crumbs a{color:var(--dim)}
.crumbs a:hover{color:#fff}
.crumbs span[aria-hidden]{color:var(--line3)}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:20px 0;font:400 20px/1.35 var(--disp);color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;line-height:1;color:var(--dim)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:-4px 0 22px;max-width:780px;color:var(--soft)}
.faq-g{display:grid;grid-template-columns:260px 1fr;gap:64px}
.toc{position:sticky;top:calc(var(--hd) + 24px);align-self:start;display:grid;gap:4px;font-size:17px}
.toc a{padding:5px 0;color:var(--dim)}
.toc a:hover{color:#fff}
.faq-sec{margin-bottom:56px}
.faq-sec h2{margin:0 0 12px;font:400 32px/1.15 var(--disp);letter-spacing:-.025em;color:#fff}
.log{margin-top:56px}
.log article{display:grid;grid-template-columns:260px 1fr;gap:48px;padding:36px 0;border-top:1px solid var(--line)}
.log time{font-size:18px;color:#fff}
.log .st{margin:6px 0 0;font-size:15px;color:var(--gg)}
.log .next .st{color:var(--dim)}
.log h2{margin:0;font:400 32px/1.15 var(--disp);letter-spacing:-.025em;color:#fff}
.log ul{margin:16px 0 0;padding-left:20px;color:var(--soft)}
.log li{margin:6px 0}
.log li b{font-weight:500;color:#fff}
.log p{color:var(--dim)}
.doc{display:grid;grid-template-columns:260px 1fr;gap:72px;padding-top:56px}
.doc-body{max-width:780px}
.doc-body h2{margin:48px 0 12px;font:400 30px/1.2 var(--disp);letter-spacing:-.02em;color:#fff}
.doc-body h2:first-child{margin-top:0}
.doc-body p,.doc-body li{color:var(--soft);font-size:18px;line-height:1.65}
.doc-body ul{padding-left:20px}
.doc-body a{color:var(--gg)}
/* qa26site 26.10: links inside the legal text underlined, not told apart by colour alone */
.doc-body p a,.doc-body li a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.doc-body pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:400 17px/1.6 var(--disp);color:var(--soft)}
.doc-body .lic{display:flex;gap:20px;margin-top:6px}
.upd{margin:18px 0 0;font-size:16px;color:var(--dim)}

/* the bot message: a product shot in our own style (not a copy of a messenger) */
.bm{margin:0;max-width:440px}
.bm-msg{padding:18px 20px;border:1px solid var(--line2);border-radius:14px 14px 4px 4px;background:var(--pop);font-size:16px;line-height:1.45;color:var(--text)}
.bm-msg p{margin:0 0 12px}
.bm-msg b{font-weight:600;color:#fff}
.bm-msg .bm-foot{margin:0;color:var(--dim)}
.bm-btns{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:4px}
.bm-btns span{display:flex;align-items:center;justify-content:center;height:42px;border:1px solid var(--line2);background:#101410;font-size:15px;font-weight:500;color:#fff}
.bm-btns span:first-child{border-radius:4px 4px 4px 14px}
.bm-btns span:last-child{border-radius:4px 4px 14px 4px}
.bm figcaption{margin-top:12px;font-size:14px;color:var(--mute)}
.phones{display:flex;justify-content:center;align-items:flex-end;gap:32px}
.phone-img{width:280px;border-radius:30px;border:1px solid var(--line3)}
.ph-frame{width:300px;border-radius:32px;flex:none}
.ph-frame .vid video{aspect-ratio:390/844}
.plans3{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--line2)}
.plans3>div{padding:32px 36px 36px;border-bottom:1px solid var(--line2)}
.plans3>div+div{border-left:1px solid var(--line2)}
.plans3>div:first-child{padding-left:0}
.plans3 h3{margin:0;font:400 26px/1.2 var(--disp);color:#fff}
.plans3 .amt{margin-top:16px;font:400 72px/1 var(--disp);letter-spacing:-.04em;color:#fff}
.plans3 .amt small{font-size:17px;letter-spacing:0;color:var(--dim)}
.plans3 .yr{margin:8px 0 0;font-size:16px;color:var(--dim)}
.plans3 ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;color:var(--soft);font-size:17px}
#plans .note{margin-top:24px;font-size:16px}
/* site2 27.10: the plan cards of /pricing (their buttons), the group rows of the plan tables, the frame of the assistant answer until its image is there */
.plans-p .cta{margin-top:22px}
.tbl .tg th{padding-top:36px;font-size:15px;color:var(--mute)}
.tbl-p td.r,.tbl-p thead th.r{width:16%}
.ai-ph{aspect-ratio:1440/900;background:var(--bg1)}

/* ───── footer: the closing line only on product pages; then the logo and the columns ───── */
.ft{margin-top:160px;position:relative}
.ft-final{position:relative;text-align:center;padding:0 var(--gut) 120px;overflow:hidden}
.ft-final::before{content:"";position:absolute;left:50%;top:62%;width:min(1400px,130vw);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 1.5px rgba(61,221,113,.5),0 0 50px 6px rgba(61,221,113,.3),0 0 200px 50px rgba(0,255,163,.1),inset 0 0 160px 40px rgba(61,221,113,.12)}
.ft-final .h2{position:relative;font-size:clamp(46px,6.4vw,96px)}
.ft-final .cta{position:relative;justify-content:center}
.ft-low{position:relative;background:#000;border-top:1px solid var(--line)}
.ft-cols{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:40px;padding-top:56px;padding-bottom:40px}
.ft-brand p{margin:20px 0 0;max-width:340px;font-size:16px;color:var(--soft)}
/* qa26site 26.10: h2 (was h3, a skipped heading level) */
.ft-cols h2{margin:0 0 14px;font:400 16px/1.3 var(--disp);color:#fff}
.ft-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.ft-cols ul a{color:var(--dim)}
.ft-cols ul a:hover{color:#fff}
.ft-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding-top:22px;padding-bottom:36px;border-top:1px solid var(--line);font-size:14px;color:var(--mute)}
.ft-base button{border:0;background:none;padding:0;font:inherit;color:var(--dim);cursor:pointer}
.ft-base button:hover{color:#fff}

@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important}}
html.rm *{transition-duration:0s!important}

@media (max-width:1100px){
  .hd-nav,.hd-end .hd-t,.hd-when{display:none}
  .hd-menu{display:block}
  .ft-cols{grid-template-columns:repeat(4,1fr)}
  .ft-brand{grid-column:1/-1}
}
@media (max-width:899px){
  :root{--gut:16px;--hd:56px;--sub:42px}
  body{font-size:16px}
  .hd-in{gap:12px}
  .hd-end{gap:12px}
  .logo .mk{width:24px;height:25px}
  .lw{font-size:18px}
  .logo-l .mk{width:34px;height:36px}
  .logo-l .lw{font-size:23px}
  .sub{margin-top:56px}
  .sub-in{gap:22px}
  .sub b{display:none}
  .menu-in{grid-template-columns:1fr;padding-top:12px}
  .menu-in a.mi{font-size:30px;padding:5px 0}
  .menu-low .btn{margin-left:0;width:100%;height:50px}
  .hero{padding-top:44px}
  .dh{font-size:clamp(44px,13.5vw,62px)}
  .hero-media{margin-top:40px;width:auto}
  .hero-desk,.ring{display:none}
  .hero-ph{display:block;margin:0 var(--gut);line-height:0}
  .hero-ph .vid video{aspect-ratio:390/844;border-radius:14px;border:1px solid var(--line2)}
  .ex-line{font-size:15px;margin-top:24px}
  .sec{padding-top:84px}
  .sec.s-tight{padding-top:36px}
  .sec-head{grid-template-columns:1fr;gap:16px}
  .ph{padding-top:36px}
  .ph .crumbs{margin-bottom:20px;font-size:14px}
  .h1{font-size:clamp(40px,11.5vw,54px);overflow-wrap:break-word;hyphens:auto}
  .h2{font-size:36px}
  .ph-media{width:auto;margin:36px var(--gut) 0}
  .row,.row.flip{grid-template-columns:1fr;gap:22px;padding:44px 0}
  .row.flip .row-t{order:0}
  .dl,.dl.c3,.dl.c4{grid-template-columns:1fr}
  .names{columns:2;column-gap:16px;font-size:15px}
  .names li small{display:block;margin:2px 0 0}
  .names.c4{columns:3}
  .grp h3{font-size:26px}
  .tbl{font-size:15px}
  .tbl th,.tbl td{padding:13px 8px 13px 0}
  .tbl-p{table-layout:fixed}.tbl-p td.r,.tbl-p thead th.r{width:20%}.tbl-p th,.tbl-p td{overflow-wrap:anywhere;hyphens:auto}.tbl-p thead th a{padding-left:0;padding-right:0}
  .callout{grid-template-columns:1fr auto;padding:24px 0}
  .callout span{grid-column:1/-1;grid-row:2;font-size:16px}
  .rel{grid-template-columns:1fr}
  .faq-g{grid-template-columns:1fr;gap:0}
  .toc{position:static;display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:28px;font-size:16px}
  .faq-sec h2{font-size:28px}
  .faq summary{font-size:18px}
  .log article{grid-template-columns:1fr;gap:8px;padding:28px 0}
  .log h2{font-size:28px}
  .doc{grid-template-columns:1fr;gap:0;padding-top:28px}
  .doc .toc{display:none}
  .doc-body p,.doc-body li{font-size:16px}
  .phones{gap:12px}
  .ph-frame{width:56%;border-radius:22px}
  .phone-img{width:40%;border-radius:18px}
  .phones .phone-img+.phone-img{display:none}
  .plans3{grid-template-columns:1fr}
  .plans3>div,.plans3>div:first-child{padding:26px 0}
  .plans3>div+div{border-left:0}
  .plans3 .amt{font-size:54px}
  .ft{margin-top:110px}
  .ft-final{padding-bottom:84px}
  .ft-cols{grid-template-columns:1fr 1fr;gap:32px 18px;padding-top:40px}
  .bm-msg{font-size:15px}
  /* qa26site 26.10: tap targets of at least 40 px on the phone; where a link sits in a line, padding with a negative margin keeps the layout */
  .logo{min-height:44px}
  .btn-s{height:40px}
  .vp{width:40px;height:40px;right:10px;bottom:10px}
  .vp::before,.vp::after{top:14px}
  .vp::before{left:15px}.vp::after{left:22px}
  .vp.paused::before{left:16px;top:13px}
  .crumbs a{padding:10px 4px;margin:-10px -4px}
  .sub a{padding:0 4px;margin:0 -4px}
  .sub a::after{left:4px;right:4px}
  .links{row-gap:16px}
  .links a,.cta .lnk,.lic a{padding:8px 4px;margin:-8px -4px;background-origin:content-box}
  /* site2 27.10: the plan names and row links of the plan tables, and a link that is alone in its paragraph, 40 px and more to tap */
  .tbl-p th a{display:inline-block;padding:11px 10px;margin:-11px -10px;background-origin:content-box}
  p>a.lnk:only-child,li>a.lnk:only-child{display:inline-block;padding:10px 6px;margin:-10px -6px;background-origin:content-box}
  .tbl td a{display:inline-block;padding:11px 0 11px 10px;margin:-11px 0;background-origin:content-box}
  .toc a{padding:8px 4px;margin:0 -4px}
  .menu-low a:not(.btn){padding:8px 0;margin:-8px 0}
  .ft-cols ul{gap:0}
  .ft-cols ul a{display:flex;align-items:center;min-height:40px}
  .ft-base{align-items:center}
  .ft-base button{min-height:40px}
}

/* wordmark 27.10: the lockup drawing (mark + GGCharts) — its height = the mark's */
.logo .wm{height:28px;width:auto;flex:none;display:block}.logo-l .wm{height:42px}@media (max-width:899px){.logo .wm{height:25px}.logo-l .wm{height:36px}}
/* e08: indicator cards */
.names li a{color:inherit}
.names li a:hover{color:#fff}
.rd{margin:0;padding:0;list-style:none}
.rd li{padding:4px 0}
.rd li+li{margin-top:2px}
.ind-nav{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:40px}
.ind-dl .note{margin:10px 0 0}

/* e08c: the list is the old 3-column (2 on a phone) list as a grid, filled by columns as before; a card is a full-width row right below the visual row of its item, height animates by grid rows */
.names.ind-list{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:56px;row-gap:0}
.names.ind-list>.ind{grid-column:var(--c3,1);grid-row:var(--r3,auto)}
.names.ind-list>.ind-cardli{grid-column:1/-1;grid-row:calc(var(--r3,0) + 1);padding:0;border:0}
.names .ind{padding:0}
@media (max-width:899px){
  .names.ind-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
  .names.ind-list>.ind{grid-column:var(--c2,1);grid-row:var(--r2,auto)}
  .names.ind-list>.ind-cardli{grid-row:calc(var(--r2,0) + 1)}
}
.ind-row{display:flex;align-items:baseline;width:100%;margin:0;padding:9px 0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.ind-row::after{content:"+";margin-left:auto;padding-left:16px;font-size:22px;line-height:1;color:var(--dim)}
.ind-row[aria-expanded="true"]::after{content:"−"}
.ind-row[aria-expanded="true"],.ind-row:hover{color:#fff}
.ind-row small{margin-left:8px;color:var(--mute);font-size:14px}
.ind-card{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .35s var(--ease),visibility 0s linear .35s}
.ind-card>div{overflow:hidden;min-height:0}
.ind-card.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .35s var(--ease),visibility 0s}
.ind-in{padding:8px 0 28px}
.ind-in .dl{margin-top:0}
.names .ind-row small{display:inline;margin:0 0 0 8px}
.ind-card.nt{transition:none!important}
.ind-pic{margin:0 0 28px}.ind-in .ind-pic{margin:28px 0 0}.ind-cta{margin-top:28px}.ind-relh{margin-top:40px;font-size:24px}
.ind-nav{margin-top:44px}

/* e26: language list in the footer */
.langs{padding-top:20px}
.langs .wrap{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:14px}
.langs a{color:var(--mute);padding:6px 8px;min-height:32px;display:inline-flex;align-items:center}
.langs a:hover,.langs a[aria-current]{color:#fff}
html[dir=rtl] body{text-align:right}
/* e26: asset pages */
.up{color:var(--up)}.dn{color:var(--down)}
.viz{margin-top:32px;max-width:640px}
.rng{display:block;width:100%;height:auto;aspect-ratio:600/44}
.rng .rl{stroke:var(--line3);stroke-width:2}.rng .ro{stroke:var(--mute);stroke-width:2}.rng .rp{fill:var(--mint)}.rng .rt{fill:var(--mute);font:12px var(--mono,monospace)}
.spk{display:block;width:100%;height:auto;aspect-ratio:600/120;margin-top:16px}
/* e52 29.10: Monthly / Yearly switch of the plan cards; the yearly view shows the monthly equivalent, the yearly bill and the saving */
.bill{display:inline-flex;gap:4px;margin-top:40px;padding:4px;border:1px solid var(--line2);border-radius:999px}
.bill[hidden]{display:none}
.bill button{height:40px;padding:0 24px;border:0;border-radius:999px;background:none;color:var(--dim);font:500 16px/1 var(--disp);cursor:pointer;-webkit-tap-highlight-color:transparent}
.bill button:hover{color:var(--text)}
.bill button[aria-checked=true]{background:var(--text);color:var(--ink)}
[data-bill=m] .by,[data-bill=y] .bm{display:none}
.plans3 .sv{margin:6px 0 0;min-height:24px;font-size:15px;line-height:24px;color:var(--gg)}
.plans3 .yr{min-height:24px}
.tbl-e td{width:34%}
.tbl-e th[scope=row]{width:32%}

/* TASK121 preview: no decorative frames around product media or plan columns. */
.frame,.bm-msg,.bm-btns span{border:0;border-radius:0;background:transparent}.plans3>div+div{border-left:0}

/* Existing controls remain controls; selected billing period uses an underline. */
.hero-media .ring{display:none}.bill{border:0;border-radius:0;background:transparent}.bill button{border-radius:0}.bill button[aria-checked=true]{background:transparent;color:var(--text);text-decoration:underline;text-decoration-color:var(--gg);text-underline-offset:8px}

/* e77 30.10: the header's theme button — the site's own drop-down (.dd), its list in one column, the current theme with a check (no strip) */
.hd-th .dd-b{min-width:44px;justify-content:center;padding:0 12px;color:var(--soft)}
.hd-th .dd-b:hover,.hd-th.open .dd-b{color:#fff}
.hd-th .dd-b svg{width:19px;height:19px;flex:none}
.hd-th .dd-p{left:auto;right:-14px;min-width:208px;padding:6px}
.hd-th .dd-g{grid-template-columns:1fr}
.hd-th .dd-p button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:0 14px;border:0;border-radius:9px;background:none;font:inherit;font-size:15px;font-weight:500;color:#fff;text-align:left;cursor:pointer}
.hd-th .dd-p button:hover,.hd-th .dd-p button:focus-visible{background:#141814;outline:none}
.hd-th .dd-p button[aria-checked=true]::after{content:"";width:9px;height:5px;margin:-4px 2px 0 12px;border:solid var(--gg);border-width:0 0 1.5px 1.5px;transform:rotate(-45deg)}
@media (max-width:899px){.hd-th .dd-p{right:-60px}}

/* ───── glow31 30.10 (owner 06:51 «весь фон страниц как на ggshot.com», 07:05 the approved first screen) ───── */
/* the home first screen: the plate (bg5 of the hero lab), the 3D mark on the right (a still poster first, the live mark after load) */
.hero.h3d{padding-top:0;text-align:left}
.h3d-bg{position:absolute;left:0;right:0;top:0;height:min(100vh,1080px);z-index:0;overflow:hidden;pointer-events:none}
.h3d-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;max-width:none}
.h3d-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 62%,var(--bg) 100%)}
.h3d-mark{position:absolute;z-index:1;pointer-events:none;right:3vw;width:min(52vw,92vh);height:min(52vw,92vh);top:calc(min(100vh,1080px) * .46 - min(26vw,46vh))}
.h3d-mark img,.h3d-mark canvas{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.h3d-mark canvas{opacity:0;transition:opacity .6s ease}
.h3d.h3d-on .h3d-mark canvas{opacity:1}
.h3d.h3d-on .h3d-poster{opacity:0;transition:opacity .6s ease}
.hero.h3d .h3d-t{position:relative;z-index:2;min-height:calc(min(100vh,1080px) - var(--hd));display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  --text:#e8efe8;--soft:#b3bcb4;--dim:#8f9a90;color:var(--text)}
.hero.h3d .dh,.hero.h3d .lead{max-width:min(46vw,700px);margin-left:0;margin-right:0}
.hero.h3d .cta{justify-content:flex-start}
.hero.h3d .hero-media{z-index:2;margin-top:24px}
@media (max-width:899px){
  .h3d-bg{height:100svh}
  .h3d-bg img{object-position:72% 50%}
  .hero.h3d .h3d-t{align-items:center;text-align:center;padding-top:min(48vh,440px);justify-content:flex-start;min-height:calc(100svh - var(--hd))}
  .hero.h3d .dh,.hero.h3d .lead{max-width:none;margin-left:auto;margin-right:auto}
  .hero.h3d .cta{justify-content:center}
  .h3d-mark{left:50%;right:auto;transform:translateX(-50%);top:4vh;width:min(80vw,44vh);height:min(80vw,44vh)}
}
/* hero2 30.10 (owner 11:24–11:31: «у нас на ggshot лучше, в глаза не так бросается, а это лампочка», «сзади на фоне посередине, а текст как был до этого»,
   «не зелёная», «просто в тени та, что была»): the same chrome mark, in shadow, in the middle behind the words; the words in two centred lines as before the
   3D screen; a black ground (the plate is no longer shown) */
.hero.h3d{text-align:center}
/* planet286 30.10 (owner 11:51 «ты делал уже планету, зря убрал»): the plate is the planet of the hero lab (bg1), centred under the mark */
.hero.h3d .h3d-bg img{object-position:50% 50%}
.hero.h3d .h3d-t{align-items:center;text-align:center}
.hero.h3d .dh,.hero.h3d .lead{max-width:none;margin-left:auto;margin-right:auto}
.hero.h3d .dh em{display:block}
.hero.h3d .cta{justify-content:center}
.h3d-mark{left:50%;right:auto;transform:translateX(-50%);width:min(64vw,104vh);height:min(64vw,104vh);top:calc(min(100vh,1080px) * .43 - min(32vw,52vh));opacity:.3}
@media (max-width:899px){
  .hero.h3d .h3d-t{padding-top:max(10vh,64px);justify-content:flex-start;min-height:0}   /* the words high on the screen as before, the product shot under them */
  .h3d-mark{top:calc(max(10vh,64px) + 55px - min(48vw,36vh));width:min(96vw,72vh);height:min(96vw,72vh)}
}
/* light on every page, as on ggshot.com: green light, never lines or boxes; weaker on the light theme */
:root{--gl:0,255,163;--glA:1}
html[data-theme=light]{--gl:0,105,87;--glA:.55}   /* the light theme's accent (#006957), not the dark themes' mint */
/* the stage at the top of every inner page: a beam from above and a green haze, fading into the page */
.ph{position:relative;isolation:isolate}
.ph::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:min(860px,110vh);pointer-events:none;opacity:var(--glA);
  background:radial-gradient(46% 64% at 74% 0%,rgba(var(--gl),.19),rgba(var(--gl),0) 70%),radial-gradient(80% 56% at 40% 0%,rgba(16,84,50,.42),rgba(0,0,0,0) 76%)}
/* a pool of green light under each product shot */
.frame{box-shadow:0 80px 170px -80px rgba(var(--gl),calc(.42 * var(--glA)))}
/* 07:34 (owner on the plans block: «криво, было лучше… не адаптировали»): no light behind headings and text blocks, and none from the footer —
   light only where there is an object (the first screen, the top of a page, a product shot), as ggshot.com does */
/* the first screen stays dark on every theme (its plate is dark), so its words keep the dark theme's colours */
html .hero.h3d .h3d-t{--h3d-w:#fff;--h3d-s:#b3bcb4;--h3d-g:#3DDD71}
html .hero.h3d .h3d-t .dh{color:var(--h3d-w)}
html .hero.h3d .h3d-t .lead{color:var(--h3d-s)}
html .hero.h3d .h3d-t .lnk{color:var(--h3d-g)}
/* e77 themes (site) */
html[data-th=porcelain]{color-scheme:light;--th-base:#EDF3F7;--th-surface:#FAFCFF;--th-inset:#E1EAF1;--th-line:#BECDD7;--th-text:#20313D;--th-text2:#485D6C;--th-dis:color-mix(in srgb, #485D6C 62%, #FAFCFF);--th-accent:#16191D;--th-on-accent:#FFFFFF;--th-mint:#00FFA3;--th-hover:#DBE8ED;--th-active:#C6DFDE;--th-danger:#A23527;--th-success:#005C70;--th-focus:#16191D;--th-shadow:0 8px 24px rgba(24,35,31,0.14);--th-chrome:#FAFCFF;--th-gap:#EDF3F7;--th-control:#637D8C;--th-cv-bg:#FAFCFF;--th-cv-grid:#E1EAF1;--th-cv-axis:#485D6C;--th-cv-axis-line:#BECDD7;--th-cv-cross:#637D8C;--th-cv-label-bg:#20313D;--th-cv-label:#FFFFFF;--th-cv-wm:#BECDD7;--th-cv-sel:#16191D;--th-up:#006B80;--th-down:#A34418}
html[data-th=midnight]{color-scheme:dark;--th-base:#0B1323;--th-surface:#132039;--th-inset:#080F1C;--th-line:#32445E;--th-text:#EAF1FF;--th-text2:#B6C4DA;--th-dis:color-mix(in srgb, #B6C4DA 62%, #132039);--th-accent:#4DA3FF;--th-on-accent:#06101F;--th-mint:#00FFA3;--th-hover:#1D304B;--th-active:#243F59;--th-danger:#FF8794;--th-success:#62E8B2;--th-focus:#4DA3FF;--th-shadow:0 8px 24px rgba(0,0,0,0.32);--th-chrome:#132039;--th-gap:#0B1323;--th-control:#8397B5;--th-cv-bg:#0A1427;--th-cv-grid:#14243A;--th-cv-axis:#B6C4DA;--th-cv-axis-line:#32445E;--th-cv-cross:#8397B5;--th-cv-label-bg:#EAF1FF;--th-cv-label:#080F1C;--th-cv-wm:#32445E;--th-cv-sel:#4DA3FF;--th-up:#62E8B2;--th-down:#FF8794}
html[data-th=graphite]{color-scheme:dark;--th-base:#17191C;--th-surface:#22252A;--th-inset:#111316;--th-line:#414954;--th-text:#F2F4F7;--th-text2:#C3CBD3;--th-dis:color-mix(in srgb, #C3CBD3 62%, #22252A);--th-accent:#B4BBC3;--th-on-accent:#17191C;--th-mint:#00FFA3;--th-hover:#30363D;--th-active:#38434B;--th-danger:#FF9A9F;--th-success:#65E9B6;--th-focus:#B4BBC3;--th-shadow:0 8px 24px rgba(0,0,0,0.32);--th-chrome:#22252A;--th-gap:#17191C;--th-control:#9CA7B3;--th-cv-bg:#191C20;--th-cv-grid:#272D34;--th-cv-axis:#C3CBD3;--th-cv-axis-line:#414954;--th-cv-cross:#9CA7B3;--th-cv-label-bg:#F2F4F7;--th-cv-label:#111316;--th-cv-wm:#414954;--th-cv-sel:#B4BBC3;--th-up:#65E9B6;--th-down:#FF9A9F}
html[data-th=forest]{color-scheme:dark;--th-base:#0D1A16;--th-surface:#152B23;--th-inset:#09120F;--th-line:#395648;--th-text:#ECF5E8;--th-text2:#C2D2BF;--th-dis:color-mix(in srgb, #C2D2BF 62%, #152B23);--th-accent:#00FFA3;--th-on-accent:#07130F;--th-mint:#00FFA3;--th-hover:#213B2F;--th-active:#2C4A3B;--th-danger:#FF9C9C;--th-success:#85EBB8;--th-focus:#00FFA3;--th-shadow:0 8px 24px rgba(0,0,0,0.32);--th-chrome:#152B23;--th-gap:#0D1A16;--th-control:#9CB6A2;--th-cv-bg:#10241B;--th-cv-grid:#1D3428;--th-cv-axis:#C2D2BF;--th-cv-axis-line:#395648;--th-cv-cross:#9CB6A2;--th-cv-label-bg:#ECF5E8;--th-cv-label:#09120F;--th-cv-wm:#395648;--th-cv-sel:#00FFA3;--th-up:#85EBB8;--th-down:#FF9C9C}
html[data-th=porcelain]{--bg:#EDF3F7;--bg1:#FAFCFF;--pop:#FAFCFF;--text:#20313D;--soft:#485D6C;--dim:#485D6C;--mute:#485D6C;--gg:#16191D;--gg-h:#2E343B;--mint:#16191D;--ink:#FFFFFF;--line:#BECDD7;--line2:#BECDD7;--line3:#BECDD7;--up:#006B80;--down:#A34418;--bg0:#EDF3F7;--sel:#C6DFDE;--th-chrome:#EDF3F7;--hd-bg:#FAFCFF}
html[data-th=midnight]{--bg:#0B1323;--bg1:#132039;--pop:#132039;--text:#EAF1FF;--soft:#B6C4DA;--dim:#B6C4DA;--mute:#B6C4DA;--gg:#4DA3FF;--gg-h:#7DBBFF;--mint:#4DA3FF;--ink:#06101F;--line:#32445E;--line2:#32445E;--line3:#32445E;--bg0:#0B1323;--sel:#243F59;--th-chrome:#0B1323;--hd-bg:#132039}
html[data-th=graphite]{--bg:#17191C;--bg1:#22252A;--pop:#22252A;--text:#F2F4F7;--soft:#C3CBD3;--dim:#C3CBD3;--mute:#C3CBD3;--gg:#B4BBC3;--gg-h:#F2F4F7;--mint:#B4BBC3;--ink:#17191C;--line:#414954;--line2:#414954;--line3:#414954;--bg0:#17191C;--sel:#38434B;--th-chrome:#17191C;--hd-bg:#22252A}
html[data-th=forest]{--bg:#0D1A16;--bg1:#152B23;--pop:#152B23;--text:#ECF5E8;--soft:#C2D2BF;--dim:#C2D2BF;--mute:#C2D2BF;--gg:#00FFA3;--gg-h:#6BFFC6;--mint:#00FFA3;--ink:#07130F;--line:#395648;--line2:#395648;--line3:#395648;--bg0:#0D1A16;--sel:#2C4A3B;--th-chrome:#0D1A16;--hd-bg:#152B23}
:root[data-th]{--bg:var(--th-chrome);--bg1:var(--th-chrome);--pop:var(--th-chrome);--line:var(--th-inset);--line2:var(--th-inset);--line3:var(--th-line);--text:var(--th-text);--dim:var(--th-text2);--ink:var(--th-surface)}
html[data-th] .cd b{color:var(--th-text)}
html[data-th] .logo{color:var(--th-text)}
html[data-th] .hd.on{background:color-mix(in srgb, var(--th-base) 90.0%, transparent)}
html[data-th] .hd-a:hover,html[data-th] .hd-a[aria-current],html[data-th] .dd-b:hover,html[data-th] .dd.on .dd-b,html[data-th] .dd.open .dd-b{color:var(--th-text)}
html[data-th] .dd-p a:hover,html[data-th] .dd-p a[aria-current]{background:var(--th-hover)}
html[data-th] .dd-p b{color:var(--th-text)}
html[data-th] .hd-t:hover{color:var(--th-text)}
html[data-th] .hd-menu{color:var(--th-text)}
html[data-th] .sub b{color:var(--th-text)}
html[data-th] .sub a:hover,html[data-th] .sub a.on{color:var(--th-text)}
html[data-th] .menu{background:var(--th-chrome)}
html[data-th] .menu-x{color:var(--th-text)}
html[data-th] .menu-in a.mi{color:var(--th-text)}
html[data-th] .dh{color:var(--th-text)}
html[data-th] .h1{color:var(--th-text)}
html[data-th] .h2{color:var(--th-text)}
html[data-th] .h3{color:var(--th-text)}
html[data-th] .ring{box-shadow:0 0 0 1.5px color-mix(in srgb, var(--th-accent) 55.0%, transparent),0 0 46px 6px color-mix(in srgb, var(--th-accent) 30.0%, transparent),0 0 180px 40px color-mix(in srgb, var(--th-accent) 10.0%, transparent),inset 0 0 140px 30px color-mix(in srgb, var(--th-accent) 12.0%, transparent)}
html[data-th] .frame{background:var(--th-chrome)}
html[data-th] .vid video{background:var(--th-chrome)}
html[data-th] .vp::before,html[data-th] .vp::after{background:var(--th-text)}
html[data-th] .vp.paused::before{border-left:11px solid var(--th-text)}
html[data-th] .dl dt{color:var(--th-text)}
html[data-th] details.more>summary{color:var(--th-text)}
html[data-th] .grp h3{color:var(--th-text)}
html[data-th] .tbl tbody th,html[data-th] .tbl tfoot th{color:var(--th-text)}
html[data-th] .callout b{color:var(--th-text)}
html[data-th] .rel b{color:var(--th-text)}
html[data-th] .crumbs a:hover{color:var(--th-text)}
html[data-th] .faq summary{color:var(--th-text)}
html[data-th] .toc a:hover{color:var(--th-text)}
html[data-th] .faq-sec h2{color:var(--th-text)}
html[data-th] .log time{color:var(--th-text)}
html[data-th] .log h2{color:var(--th-text)}
html[data-th] .log li b{color:var(--th-text)}
html[data-th] .doc-body h2{color:var(--th-text)}
html[data-th] .bm-msg b{color:var(--th-text)}
html[data-th] .bm-btns span{background:var(--th-surface);color:var(--th-text)}
html[data-th] .plans3 h3{color:var(--th-text)}
html[data-th] .plans3 .amt{color:var(--th-text)}
html[data-th] .ft-final::before{box-shadow:0 0 0 1.5px color-mix(in srgb, var(--th-accent) 50.0%, transparent),0 0 50px 6px color-mix(in srgb, var(--th-accent) 30.0%, transparent),0 0 200px 50px color-mix(in srgb, var(--th-accent) 10.0%, transparent),inset 0 0 160px 40px color-mix(in srgb, var(--th-accent) 12.0%, transparent)}
html[data-th] .ft-low{background:var(--th-chrome)}
html[data-th] .ft-cols h2{color:var(--th-text)}
html[data-th] .ft-cols ul a:hover{color:var(--th-text)}
html[data-th] .ft-base button:hover{color:var(--th-text)}
html[data-th] .names li a:hover{color:var(--th-text)}
html[data-th] .ind-row[aria-expanded="true"],html[data-th] .ind-row:hover{color:var(--th-text)}
html[data-th] .langs a:hover,html[data-th] .langs a[aria-current]{color:var(--th-text)}
html[data-th] .hd-th .dd-b:hover,html[data-th] .hd-th.open .dd-b{color:var(--th-text)}
html[data-th] .hd-th .dd-p button{color:var(--th-text)}
html[data-th] .hd-th .dd-p button:hover,html[data-th] .hd-th .dd-p button:focus-visible{background:var(--th-hover)}
html[data-th] .hero.h3d .h3d-t{--text:var(--th-text);--dim:var(--th-text2)}
html[data-th] .ph::before{background:radial-gradient(46% 64% at 74% 0%,rgba(var(--gl),.19),rgba(var(--gl),0) 70%),radial-gradient(80% 56% at 40% 0%,color-mix(in srgb, var(--th-accent) 42.0%, transparent),rgba(0,0,0,0) 76%)}
html[data-theme=light] :is(.hd, .gh){background:color-mix(in srgb, var(--hd-bg) 86%, transparent)}html[data-theme=light] :is(.hd, .gh).on{background:color-mix(in srgb, var(--hd-bg) 94%, transparent);border-bottom-color:var(--line)}
html[data-theme=light] :is(.dd-p, .hd-thp){box-shadow:0 18px 44px rgba(24,35,31,.14)}
html[data-theme=light] :is(.logo, .gh-logo, .gf-brand) svg :is([fill='#FFFFFF' i], [fill='#fff' i], [fill='#E8EFE8' i]){fill:var(--th-text)}html[data-theme=light] :is(.logo, .gh-logo, .gf-brand) svg [fill='#7d877d' i]{fill:var(--th-text2)}
html[data-theme=light] .sub{background:color-mix(in srgb, var(--th-base) 92%, transparent)}
html[data-th] .btn-g{color:var(--ink)}
html.th-sw,html.th-sw *,html.th-sw *::before,html.th-sw *::after{transition:none !important}
