@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/oswald-700-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/oswald-700-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/oswald-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/oswald-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/oswald-700-basic.woff2) format('woff2');unicode-range:U+0000-00FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-basic.woff2) format('woff2');unicode-range:U+0000-00FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-basic.woff2) format('woff2');unicode-range:U+0000-00FF;}
:root{--bg:#0a0a0d;--bg2:#141018;--card:rgba(255,255,255,.04);--stroke:rgba(255,255,255,.1);
--text:#f4f5f7;--dim:#aeb2bb;--faint:#787c86;--ember:#ff5a1f;--ember2:#ff7a3c;--gold:#ffb429;}
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
body{background:radial-gradient(900px 600px at 80% -10%,rgba(255,90,31,.12),transparent 60%),var(--bg);
color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ------------------------------- site header ------------------------------ */
/* One header for every static page. The nav marks the section you are in
   (aria-current -> ember pill + underline) and ends in a single CTA, so a
   reader who lands deep in Guides can always see where they are and step
   straight into the app. */
header.site{border-bottom:1px solid var(--stroke);position:sticky;top:0;background:rgba(10,10,13,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:20}
header.site .wrap{display:flex;align-items:center;gap:14px;height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none}
.brand-mark{width:30px;height:30px;border-radius:9px;overflow:hidden;flex:none;box-shadow:0 6px 18px -8px rgba(0,0,0,.7)}
.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}
.brand-word{font-family:Oswald,Inter,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:19px;color:var(--text);white-space:nowrap}
nav.top{display:flex;align-items:center;gap:2px;margin-inline-start:auto;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
nav.top::-webkit-scrollbar{display:none}
nav.top a{position:relative;flex:none;white-space:nowrap;padding:8px 11px;border-radius:9px;color:var(--dim);font-weight:600;font-size:13.5px;text-transform:uppercase;letter-spacing:.04em;transition:color .15s,background .15s}
nav.top a:hover{color:var(--text);background:rgba(255,255,255,.06)}
nav.top a[aria-current]{color:var(--text);background:rgba(255,255,255,.08)}
.top-cta{flex:none;display:inline-flex;align-items:center;gap:7px;padding:9px 17px;border-radius:999px;background:linear-gradient(100deg,var(--ember2),var(--ember));color:#17100b;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;box-shadow:0 8px 22px -14px rgba(255,90,31,.9)}
.top-cta:hover{filter:brightness(1.06)}
@media(max-width:900px){
header.site .wrap{height:auto;flex-wrap:wrap;padding-top:11px}
.top-cta{margin-inline-start:auto}
nav.top{order:3;width:calc(100% + 44px);margin:9px -22px 0;padding:0 22px 9px;gap:4px;border-top:1px solid var(--stroke)}
nav.top a{padding:9px 12px;font-size:13px}
nav.top a:first-child{margin-inline-start:-11px}
/* Fade the trailing edge so a clipped row reads as scrollable rather than
   broken. LTR only — the gradient would point at the wrong edge in Arabic. */
html:not([dir="rtl"]) nav.top,html:not([dir="rtl"]) .sec-bar__rail{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent)}
}

/* --------------------------- section bar (Guides) -------------------------- */
/* Sits directly under the header on every page of a content section: it names
   the section and carries the rail that keeps a reader moving inside it. */
.sec-bar{border-bottom:1px solid var(--stroke)}
.sec-bar .wrap{display:flex;align-items:flex-start;gap:14px;min-height:54px}
.sec-bar__id{display:inline-flex;align-items:center;flex:none;padding:14px 0;font-family:Oswald,Inter,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:13px;color:var(--text)}
/* Wraps rather than scrolls wherever there is room: every topic stays visible,
   so the rail is a map of the section and not a drawer to hunt through. */
.sec-bar__rail{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;padding:9px 0}
.sec-bar__rail::-webkit-scrollbar{display:none}
.sec-bar__rail a{flex:none;white-space:nowrap;padding:6px 12px;border-radius:8px;color:var(--dim);font-size:13.5px;font-weight:500;transition:color .15s,background .15s}
.sec-bar__rail a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.sec-bar__rail a[aria-current]{color:var(--text);background:rgba(255,255,255,.08);font-weight:600}
@media(max-width:700px){
.sec-bar .wrap{flex-direction:column;align-items:stretch;gap:0;min-height:0}
.sec-bar__id{padding:12px 0 0}
.sec-bar__rail{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:calc(100% + 44px);margin-inline:-22px;padding:10px 22px 12px}
}
main{padding:34px 0 56px}
.crumbs{color:var(--faint);font-size:13px;margin-bottom:18px}
.readmore{display:inline-block;margin-top:14px;color:var(--dim);font-size:14px;border-bottom:1px solid var(--stroke)}
.readmore:hover{color:var(--ember2)}
.crumbs a:hover{color:var(--ember2)}
h1{font-family:Oswald,Inter,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(30px,6vw,52px);line-height:1.02;letter-spacing:.5px}
h2{font-family:Oswald,Inter,sans-serif;font-weight:700;text-transform:uppercase;font-size:22px;margin:34px 0 14px;letter-spacing:.5px}
.lede{color:var(--dim);font-size:18px;margin-top:14px;max-width:70ch}
.tags{display:flex;flex-wrap:wrap;align-items:baseline;margin-top:12px;color:var(--faint);font-size:13px}
.tag{color:var(--faint)}
.tag+.tag::before{content:'·';margin:0 8px;color:var(--faint)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:16px}
.card{display:block;border:1px solid var(--stroke);border-radius:10px;padding:16px;transition:border-color .15s}
.card:hover{border-color:var(--stroke-strong,rgba(255,255,255,.24))}
.card h3{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:17px}
.card:hover h3{color:var(--ember2)}
.card p{color:var(--dim);font-size:13px;margin-top:5px}
/* Muscle art (scripts/muscle-art-html.ts) is transparent and drawn for a dark
   ground, so every picture sits on the same --stage: a dark window lit from
   the middle, the picture's cut edges dissolved into it by --stage-mask rather
   than drawn as a line through a limb. A card's picture is a zoom, so its
   vignette is deep; a parts figure's stays in the corners, clear of the parts
   its key names. */
:root{--stage:radial-gradient(70% 80% at 50% 45%,#1d1d23,#0c0c10 78%);--stage-mask:radial-gradient(ellipse 72% 78% at 50% 50%,#000 58%,transparent);--win-mask:radial-gradient(ellipse 80% 85% at 50% 50%,#000 66%,transparent)}
/* /muscles/ cards: the group lit red on its body — both sides, centred, with
   the body round it — in a window at the top of the card, then the name, the
   summary and how many movements train it. Every picture is the same shape,
   so a grid of them lines up; the count sits on the card's floor so a row's
   counts line up too. Two a row on a phone, the summary clamped. */
.grid--mus{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:14px}
.card--mus{display:flex;flex-direction:column;padding:7px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));transition:border-color .2s,transform .2s,box-shadow .2s}
.card--mus:hover{border-color:rgba(255,90,31,.5);transform:translateY(-2px);box-shadow:0 22px 44px -30px rgba(255,90,31,.6)}
.card-media{position:relative;display:block;overflow:hidden;aspect-ratio:3/2;border-radius:9px;background:var(--stage)}
.card-media::before{content:'';position:absolute;inset:0;background:radial-gradient(46% 52% at 50% 50%,rgba(227,38,29,.16),transparent 72%);opacity:.7;transition:opacity .3s}
.card-media img{position:relative;display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:var(--stage-mask);mask-image:var(--stage-mask);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card--mus:hover .card-media::before{opacity:1}
.card--mus:hover .card-media img{transform:scale(1.06)}
.card-body{display:flex;flex-direction:column;flex:1;padding:12px 8px 5px}
.card--mus h3{font-size:16px;letter-spacing:.02em}
.card--mus p{line-height:1.5}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.card-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-go{flex:none;font-size:14px;color:var(--dim);transition:transform .2s,color .2s}
.card--mus:hover .card-go{transform:translateX(3px);color:var(--ember2)}
[dir="rtl"] .card-go{transform:scaleX(-1)}
[dir="rtl"] .card--mus:hover .card-go{transform:scaleX(-1) translateX(3px)}
@media (max-width:559px){
.grid--mus{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.card--mus{padding:5px}
.card-body{padding:10px 6px 3px}
.card--mus h3{font-size:14.5px}
.card--mus p{font-size:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{padding-top:9px;font-size:10px;letter-spacing:.06em}
/* An odd last card takes the row, picture beside the words at a column's width. */
.grid--mus>.card--mus:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row;align-items:center}
.grid--mus>.card--mus:last-child:nth-child(odd) .card-media{flex:0 0 calc(50% - 10px)}
.grid--mus>.card--mus:last-child:nth-child(odd) .card-body{align-self:stretch;padding:6px 6px 3px;padding-inline-start:14px}
}
/* A muscle page's parts figure: every part in its own colour (the app's part
   palette), each view in its own window on the stage, the key beside them — a
   list of swatches from 700px up, chips under the views below that. */
.mu-parts{display:grid;gap:16px;max-width:860px;margin:26px 0 8px;padding:16px;border:1px solid var(--stroke);border-radius:16px;background:rgba(255,255,255,.03)}
.mu-parts__fig{display:flex;justify-content:center;gap:12px;width:100%;margin:0 auto}
.mu-parts__view{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}
.mu-parts__win{display:block;width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:var(--stage)}
.mu-parts__win img{display:block;width:100%;height:auto;-webkit-mask-image:var(--win-mask);mask-image:var(--win-mask)}
.mu-parts__lbl{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.mu-parts__side{display:flex;flex-direction:column;gap:12px;padding:2px 4px 6px}
.mu-parts__cap{font-family:Oswald,Inter,sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text);text-align:center}
.mu-parts__key{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0}
.mu-parts__key li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border:1px solid var(--stroke);border-radius:999px;background:rgba(255,255,255,.03);color:var(--text);font-size:13px;line-height:1.2}
.mu-parts__key i{flex:none;width:10px;height:10px;border-radius:50%}
@media (min-width:700px){
.mu-parts{grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:22px}
.mu-parts__side{padding:8px 0;padding-inline-end:10px}
.mu-parts__cap{text-align:start}
.mu-parts__key{flex-direction:column;flex-wrap:nowrap;gap:6px}
.mu-parts__key li{gap:11px;padding:10px 12px;border-color:transparent;border-radius:10px;background:rgba(255,255,255,.04);font-size:14px}
.mu-parts__key i{width:12px;height:12px;border-radius:4px;box-shadow:0 0 0 3px rgba(255,255,255,.05)}
}
/* Rules, not 200 stacked boxes: the exercise lists on a muscle page run to
   hundreds of rows, and a border around each one turns a readable column into
   visual static. Matches ul.g-links in the guides renderer. */
ul.list{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--stroke)}
ul.list li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 2px;border-bottom:1px solid var(--stroke);color:var(--dim);font-size:15px}
ul.list li a:hover{color:var(--ember2)}
ul.list li small{color:var(--faint);font-size:12px;white-space:nowrap}
table.std{width:100%;border-collapse:collapse;margin-top:14px;font-size:14px}
table.std th,table.std td{border:1px solid var(--stroke);padding:9px 12px;text-align:start}
table.std th{background:rgba(255,255,255,.04);text-transform:uppercase;font-size:12px;letter-spacing:.05em;color:var(--dim)}
.hero-img{max-width:min(420px,100%);height:auto;display:block;margin-top:20px;border:1px solid var(--stroke);border-radius:14px;background:var(--bg2)}
.faq{display:grid;gap:16px;margin-top:14px;border-top:1px solid var(--stroke);padding-top:16px}
.faq .qa{border-bottom:1px solid var(--stroke);padding:0 2px 16px}
.faq .qa h3{font-family:Oswald,Inter,sans-serif;text-transform:none;font-size:16px;letter-spacing:0;margin-bottom:6px}
.faq .qa p{color:var(--dim);font-size:14px;max-width:70ch}
.cta{display:inline-flex;align-items:center;gap:8px;margin-top:26px;padding:13px 22px;border-radius:999px;background:linear-gradient(100deg,var(--ember2),var(--ember));color:#17100b;font-weight:700;text-transform:uppercase;font-size:14px}
footer.site{border-top:1px solid var(--stroke);color:var(--faint);font-size:13px;padding:26px 0}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}
footer.site a{color:var(--dim)}footer.site a:hover{color:var(--text)}

.wrap--wide{max-width:1180px}.g-lede{color:var(--dim);font-size:clamp(16px,2.1vw,18.5px);line-height:1.65;max-width:68ch;margin-top:14px}.g-meta{color:var(--faint);font-size:13px;margin-top:12px}.g-sec{margin-top:54px}.g-sec__head{padding-bottom:10px;border-bottom:1px solid var(--stroke)}.g-sec__head h2{margin:0;font-size:19px}.g-sec__head p{color:var(--faint);font-size:14px;margin:6px 0 0;max-width:64ch}.g-hero h1{max-width:18ch}.g-search{position:relative;margin-top:26px;max-width:620px}.g-search input{width:100%;height:52px;padding:0 16px 0 44px;border:1px solid var(--stroke);border-radius:10px;background:var(--card);color:var(--text);font:inherit;font-size:16px}html[dir="rtl"] .g-search input{padding:0 44px 0 16px}.g-search svg{position:absolute;inset-inline-start:15px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}.g-search input::placeholder{color:var(--faint)}.g-search input:focus{outline:none;border-color:rgba(255,255,255,.34)}.g-shelves{display:grid;grid-template-columns:minmax(0,1fr);margin-top:4px}@media(min-width:860px){.g-shelves{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px}}.g-shelf{display:block;padding:18px 0;border-bottom:1px solid var(--stroke)}.g-shelf h3{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:15px;letter-spacing:.04em;color:var(--text)}.g-shelf:hover h3{color:var(--ember2)}.g-shelf p{color:var(--dim);font-size:13.5px;line-height:1.55;margin-top:6px}.g-pillar{display:block;margin-top:44px}.g-pillar>h3{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:12px;letter-spacing:.18em;color:var(--faint);font-weight:600}.g-group{margin-top:26px}.g-group h4{display:flex;align-items:baseline;gap:12px;font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:14px;letter-spacing:.08em;color:var(--text);padding-bottom:8px;border-bottom:1px solid var(--stroke)}.g-group h4 a:hover{color:var(--ember2)}.g-group h4 em{margin-inline-start:auto;font-style:normal;color:var(--faint);font-size:12px;font-weight:400;letter-spacing:0;white-space:nowrap}ul.g-links{list-style:none;margin:0;padding:0}ul.g-links li{border-bottom:1px solid var(--stroke)}ul.g-links li a{display:flex;align-items:baseline;gap:16px;padding:11px 2px;color:var(--dim);font-size:15px;line-height:1.45;transition:color .15s}ul.g-links li a:hover{color:var(--text)}ul.g-links li a b{font-weight:500;min-width:0}ul.g-links li a small{margin-inline-start:auto;flex:none;color:var(--faint);font-size:12px;white-space:nowrap}.g-empty{color:var(--dim);margin-top:24px}.g-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px 40px;margin-top:26px}.g-path h3{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:15px;letter-spacing:.04em}.g-path>p{color:var(--faint);font-size:13px;margin-top:5px;line-height:1.55;max-width:46ch}.g-path ol{margin:14px 0 0;padding-inline-start:19px;display:grid;gap:10px}.g-path ol li{color:var(--faint);font-size:12.5px;line-height:1.45}.g-path ol a{display:block;color:var(--dim);font-size:14.5px;line-height:1.35;margin-bottom:2px}.g-path ol a:hover{color:var(--ember2)}.g-rows{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--stroke)}.g-rows li{border-bottom:1px solid var(--stroke)}.g-rows li a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center;padding:16px 2px}.g-rows li a img{display:block;width:104px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:9px;background:var(--card)}@media(min-width:640px){.g-rows li a img{width:176px;border-radius:11px}}.g-rows li a h3{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:17px;letter-spacing:.02em;color:var(--text);line-height:1.25}.g-rows li a:hover h3{color:var(--ember2)}.g-rows li a p{color:var(--dim);font-size:14px;line-height:1.55;margin-top:6px;max-width:76ch}.g-rows li a span{display:block;margin-top:8px;color:var(--faint);font-size:12px}ul.g-topics{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px;margin:18px 0 0;padding:0}ul.g-topics a{color:var(--dim);font-size:14.5px}ul.g-topics a:hover{color:var(--ember2)}.g-back{display:inline-block;color:var(--dim);font-size:13.5px;margin-top:30px}.g-back:hover{color:var(--ember2)}.ga-head{max-width:74ch}.ga-head h1{font-size:clamp(27px,4.4vw,42px)}.ga-kicker{color:var(--faint);font-size:13px;margin-bottom:12px}.ga-kicker a{color:var(--dim)}.ga-kicker a:hover{color:var(--ember2)}.ga-byline{margin-top:18px;padding-top:14px;border-top:1px solid var(--stroke);color:var(--faint);font-size:12.5px}.ga-hero{margin:24px 0 0;max-width:860px}.ga-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;background:var(--card)}.ga-hero+.g-doc{margin-top:22px}.ga-demos{margin-top:22px;max-width:760px}.ga-mus{margin-top:22px;max-width:760px}.ga-body{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;margin-top:34px;align-items:start}.ga-rail{display:none}.ga-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:1px}.ga-toc a{display:block;padding:6px 11px;border-inline-start:2px solid transparent;color:var(--faint);font-size:13px;line-height:1.4}.ga-toc a:hover{color:var(--text)}.ga-toc a.is-here{border-inline-start-color:var(--ember);color:var(--text)}.ga-rail__t{display:block;font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:11.5px;letter-spacing:.14em;color:var(--faint);margin-bottom:10px;padding-inline-start:11px}details.ga-toc-m{border:1px solid var(--stroke);border-radius:10px;padding:0 14px;margin-bottom:26px}details.ga-toc-m summary{cursor:pointer;list-style:none;padding:13px 0;color:var(--text);font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:13px;letter-spacing:.1em;display:flex;justify-content:space-between;gap:10px}details.ga-toc-m summary::-webkit-details-marker{display:none}details.ga-toc-m summary::after{content:'+';color:var(--faint)}details.ga-toc-m[open] summary::after{content:'–'}details.ga-toc-m .ga-toc{padding-bottom:12px}.g-doc h2{font-family:Oswald,Inter,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(19px,3vw,24px);letter-spacing:.04em;line-height:1.15;color:var(--text);margin:0 0 16px;padding-top:4px;scroll-margin-top:96px;max-width:30ch}.g-doc section+section{margin-top:40px;padding-top:34px;border-top:1px solid var(--stroke)}.ga-after{margin-top:48px;display:grid;gap:26px}.g-take{border:1px solid var(--stroke);border-radius:12px;padding:20px 22px}.g-take strong{display:block;font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:12.5px;letter-spacing:.14em;color:var(--faint);margin-bottom:12px}.g-take ul{margin:0;padding-inline-start:19px;display:grid;gap:9px}.g-take li{color:var(--text);font-size:15.5px;line-height:1.55}.g-take li::marker{color:var(--faint)}.g-faq details{border-bottom:1px solid var(--stroke)}.g-faq summary{cursor:pointer;list-style:none;padding:14px 2px;font-weight:600;color:var(--text);display:flex;justify-content:space-between;gap:12px;font-size:15.5px;line-height:1.4}.g-faq summary::-webkit-details-marker{display:none}.g-faq summary::after{content:'+';color:var(--faint);font-weight:400;flex:none}.g-faq details[open] summary::after{content:'–'}.g-faq p{color:var(--dim);font-size:15px;padding:0 2px 16px;margin:0;max-width:72ch}.g-prevnext{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;padding-top:22px;border-top:1px solid var(--stroke)}.g-prevnext a span{display:block;color:var(--faint);font-size:12px;margin-bottom:4px}.g-prevnext a strong{color:var(--dim);font-size:14.5px;font-weight:500;line-height:1.35}.g-prevnext a:hover strong{color:var(--ember2)}.g-prevnext a.is-next{text-align:end}.g-disclaimer{color:var(--faint);font-size:12.5px;line-height:1.6;border-top:1px solid var(--stroke);padding-top:16px;max-width:74ch}@media(min-width:1000px){.ga-body{grid-template-columns:minmax(0,1fr) 236px;gap:48px}.ga-rail{display:block;position:sticky;top:92px;order:2;max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin}details.ga-toc-m{display:none}}@media(max-width:640px){.g-sec{margin-top:42px}.g-prevnext a.is-next{text-align:start}}.g-doc{--gc-text:#f4f2ee;--gc-dim:#aeb2bb;--gc-faint:#787c86;--gc-surface:rgba(255,255,255,0.035);--gc-surface-2:rgba(255,255,255,0.07);--gc-stroke:rgba(255,255,255,0.1);--gc-stroke-strong:rgba(255,255,255,0.2);--gc-accent:#ff5a1f;--gc-accent-2:#ff7a3c;--gc-accent-rgb:255,90,31;--gc-on-accent:#17100b;--gc-good:#62a380;--gc-good-rgb:98,163,128;--gc-danger:#e06a6a;--gc-danger-rgb:224,106,106;--gc-warn:#d9b166;--gc-warn-rgb:217,177,102;--gc-radius:14px;--gc-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--gc-display:Oswald,Inter,system-ui,sans-serif;--gc-stage:radial-gradient(70% 80% at 50% 45%,#1d1d23,#0c0c10 78%);--gc-stage-mask:radial-gradient(ellipse 72% 78% at 50% 50%,#000 58%,transparent);--gc-heat-hi-rgb:227,38,29;--gc-heat-mid-rgb:255,158,63;color:var(--gc-dim);font-size:var(--fs-lead);line-height:1.72;}.g-doc p{margin:0 0 14px;max-width:74ch;}.g-doc p:last-child{margin-bottom:0;}.g-doc strong{color:var(--gc-text);font-weight:650;}.g-doc a{color:var(--gc-accent-2);}.g-doc p a,.g-doc .g-list a,.g-doc .g-steps a,.g-doc .g-table a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:rgba(var(--gc-accent-rgb),0.45);}.g-doc p a:hover,.g-doc .g-list a:hover,.g-doc .g-steps a:hover{text-decoration-color:currentColor;}.g-doc .g-leadin{margin:22px 0 6px;color:var(--gc-text);font-family:var(--gc-display);font-size:var(--fs-callout);font-weight:600;letter-spacing:0.06em;text-transform:uppercase;line-height:1.3;}.g-doc ul.g-list,.g-doc ol.g-steps{margin:0 0 16px;padding-inline-start:22px;display:grid;gap:9px;max-width:74ch;}.g-doc ul.g-list li,.g-doc ol.g-steps li{padding-inline-start:4px;}.g-doc ul.g-list li::marker{color:var(--gc-accent-2);}.g-doc ol.g-steps li::marker{color:var(--gc-accent-2);font-family:var(--gc-mono);font-weight:700;font-size:0.92em;}.g-doc .gs-tablewrap{margin:0 0 18px;overflow-x:auto;border:1px solid var(--gc-stroke);border-radius:var(--gc-radius);-webkit-overflow-scrolling:touch;}.g-doc table{width:100%;min-width:420px;border-collapse:collapse;font-size:var(--fs-body);color:var(--gc-dim);}.g-doc table th,.g-doc table td{padding:11px 14px;text-align:start;border-bottom:1px solid var(--gc-stroke);border-inline-end:1px solid var(--gc-stroke);vertical-align:top;}.g-doc table tr:last-child td,.g-doc table tr:last-child th{border-bottom:0;}.g-doc table th:last-child,.g-doc table td:last-child{border-inline-end:0;}.g-doc table thead th{background:var(--gc-surface-2);color:var(--gc-text);font-family:var(--gc-mono);font-size:var(--fs-caption);font-weight:700;letter-spacing:0.07em;text-transform:uppercase;white-space:nowrap;}.g-doc table .gs-rowhead,.g-doc table tbody th{color:var(--gc-text);font-weight:600;}.g-doc .gs{margin:0 0 22px;padding:0;}.g-doc .gs-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;}.g-doc .gs-kicker{flex:none;padding:3px 9px;border:1px solid rgba(var(--gc-accent-rgb),0.35);border-radius:var(--radius-pill);color:var(--gc-accent-2);background:rgba(var(--gc-accent-rgb),0.09);font-family:var(--gc-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;line-height:1.6;}.g-doc .gs-head strong{color:var(--gc-text);font-family:var(--gc-display);font-size:var(--fs-callout);font-weight:600;letter-spacing:0.03em;line-height:1.3;}.g-doc .gs-cap{margin-top:10px;color:var(--gc-faint);font-size:var(--fs-small);line-height:1.6;}.g-doc .gs-note{margin:10px 0 0;color:var(--gc-faint);font-size:var(--fs-small);}.g-doc .gs-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}.g-doc .gs-week__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}@media (min-width:520px){.g-doc .gs-week__grid{grid-template-columns:repeat(4,minmax(0,1fr));}}@media (min-width:1180px){.g-doc .gs-week__grid{grid-template-columns:repeat(7,minmax(0,1fr));}}.g-doc .gs-day{display:flex;flex-direction:column;gap:3px;min-height:84px;padding:11px 12px;border:1px solid var(--gc-stroke);border-radius:var(--radius-sm);background:var(--gc-surface);border-block-start:2px solid rgba(var(--gc-accent-rgb),0.75);}.g-doc .gs-day.is-rest{border-block-start-color:var(--gc-stroke-strong);background:transparent;border-style:dashed;}.g-doc .gs-day__n{color:var(--gc-faint);font-family:var(--gc-mono);font-size:var(--fs-caption);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}.g-doc .gs-day__t{color:var(--gc-text);font-family:var(--gc-display);font-size:var(--fs-body);font-weight:600;letter-spacing:0.02em;line-height:1.25;}.g-doc .gs-day.is-rest .gs-day__t{color:var(--gc-faint);}.g-doc .gs-day__d{color:var(--gc-dim);font-size:var(--fs-footnote);line-height:1.5;}.g-doc .gs-stack__list{list-style:none;margin:0;padding:16px 16px 14px;border:1px solid var(--gc-stroke);border-radius:var(--gc-radius);background:var(--gc-surface);display:grid;gap:10px;}.g-doc .gs-rung{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:14px;}.g-doc .gs-rung__bar{position:relative;display:block;height:34px;border-radius:var(--radius-xs);background:linear-gradient(to top,rgba(var(--gc-accent-rgb),0.5),rgba(var(--gc-accent-rgb),0.14));box-shadow:inset 0 0 0 1px rgba(var(--gc-accent-rgb),0.3);}.g-doc .gs-rung__bar::after{content:'';position:absolute;inset-inline:0;bottom:0;height:var(--gs-h,50%);border-radius:var(--radius-xs);background:linear-gradient(to top,var(--gc-accent),var(--gc-accent-2));opacity:0.9;}.g-doc .gs-rung__txt{display:flex;flex-direction:column;gap:1px;min-width:0;}.g-doc .gs-rung__txt b{color:var(--gc-text);font-size:var(--fs-body);font-weight:600;line-height:1.35;}.g-doc .gs-rung__txt span{color:var(--gc-dim);font-size:var(--fs-small);line-height:1.5;}.g-doc .gs-scale__list{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:none;}.g-doc .gs-tick{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--gc-stroke);border-radius:var(--radius-sm);background:var(--gc-surface);}.g-doc .gs-tick.is-on{border-color:rgba(var(--gc-accent-rgb),0.55);background:rgba(var(--gc-accent-rgb),0.1);}.g-doc .gs-tick__n{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:2px 8px;border-radius:var(--radius-xs);background:var(--gc-surface-2);color:var(--gc-text);font-family:var(--gc-mono);font-size:var(--fs-footnote);font-weight:700;letter-spacing:0.02em;white-space:nowrap;}.g-doc .gs-tick.is-on .gs-tick__n{background:linear-gradient(100deg,var(--gc-accent-2),var(--gc-accent));color:var(--gc-on-accent);}.g-doc .gs-tick__l{color:var(--gc-dim);font-size:var(--fs-body);line-height:1.5;}.g-doc .gs-tick.is-on .gs-tick__l{color:var(--gc-text);}.g-doc .gs-versus .gs-tablewrap{margin-bottom:0;}.g-doc .gs-vs{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-family:var(--gc-display);font-size:var(--fs-footnote);font-weight:700;letter-spacing:0.05em;text-transform:uppercase;}.g-doc .gs-vs.a{background:rgba(var(--gc-accent-rgb),0.16);color:var(--gc-accent-2);box-shadow:inset 0 0 0 1px rgba(var(--gc-accent-rgb),0.32);}.g-doc .gs-vs.b{background:var(--gc-surface-2);color:var(--gc-text);box-shadow:inset 0 0 0 1px var(--gc-stroke-strong);}.g-doc .gs-versus thead td{border-bottom:1px solid var(--gc-stroke);background:transparent;}.g-doc .gs-versus thead th{background:transparent;text-transform:none;letter-spacing:0;font-family:inherit;font-size:inherit;padding-block:12px;}.g-doc .gs-flow{padding:16px;border:1px solid var(--gc-stroke);border-radius:var(--gc-radius);background:var(--gc-surface);}.g-doc .gs-flow__q{padding:10px 14px;border:1px solid rgba(var(--gc-accent-rgb),0.4);border-radius:var(--radius-sm);background:rgba(var(--gc-accent-rgb),0.1);color:var(--gc-text);font-family:var(--gc-display);font-size:var(--fs-callout);font-weight:600;letter-spacing:0.02em;text-align:center;}.g-doc .gs-flow__list{list-style:none;margin:0;padding:0;display:grid;gap:8px;margin-top:22px;position:relative;}.g-doc .gs-flow__list::before{content:'';position:absolute;inset-block-start:-16px;inset-inline-start:50%;width:1px;height:16px;background:var(--gc-stroke-strong);}.g-doc .gs-branch{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:11px 13px;border:1px solid var(--gc-stroke);border-radius:var(--radius-sm);background:var(--gc-surface);}.g-doc .gs-branch__if{color:var(--gc-accent-2);font-family:var(--gc-mono);font-size:var(--fs-caption);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;}.g-doc .gs-branch__then{display:flex;flex-direction:column;gap:2px;}.g-doc .gs-branch__then b{color:var(--gc-text);font-size:var(--fs-callout);font-weight:600;}.g-doc .gs-branch__then span{color:var(--gc-dim);font-size:var(--fs-small);line-height:1.5;}@media (min-width:620px){.g-doc .gs-flow__list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}.g-doc .gs-branch{position:relative;}.g-doc .gs-branch::before{content:'';position:absolute;inset-block-start:-9px;inset-inline-start:50%;width:1px;height:9px;background:var(--gc-stroke-strong);}}.g-doc .gs-steps__body{display:grid;gap:16px;padding:16px;border:1px solid var(--gc-stroke);border-radius:var(--gc-radius);background:var(--gc-surface);}.g-doc .gs-steps__img img{display:block;width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--gc-stroke);background:var(--gc-surface-2);}.g-doc .gs-steps__list{list-style:none;counter-reset:gstep;margin:0;padding:0;display:grid;gap:12px;align-content:start;}.g-doc .gs-steps__list li{position:relative;padding-inline-start:38px;color:var(--gc-dim);font-size:var(--fs-body);line-height:1.6;min-height:26px;}.g-doc .gs-steps__list li::before{counter-increment:gstep;content:counter(gstep);position:absolute;inset-inline-start:0;inset-block-start:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(var(--gc-accent-rgb),0.14);box-shadow:inset 0 0 0 1px rgba(var(--gc-accent-rgb),0.4);color:var(--gc-accent-2);font-family:var(--gc-mono);font-size:var(--fs-footnote);font-weight:700;}@media (min-width:680px){.g-doc .gs-steps.has-img .gs-steps__body{grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);align-items:start;}}.g-doc .gs-stats__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;}.g-doc .gs-stat{display:flex;flex-direction:column;gap:3px;padding:14px 15px;border:1px solid var(--gc-stroke);border-radius:var(--radius-sm);background:var(--gc-surface);}.g-doc .gs-stat__v{color:var(--gc-text);font-family:var(--gc-display);font-size:clamp(24px,5vw,30px);font-weight:700;line-height:1.05;letter-spacing:0.01em;background:linear-gradient(100deg,var(--gc-accent-2),var(--gc-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}.g-doc .gs-stat__l{color:var(--gc-dim);font-size:var(--fs-small);line-height:1.45;}.g-doc .gs-stat__f{color:var(--gc-faint);font-size:var(--fs-caption);line-height:1.45;}.g-doc .gs-bars__list{list-style:none;margin:0;padding:15px 16px;border:1px solid var(--gc-stroke);border-radius:var(--gc-radius);background:var(--gc-surface);display:grid;gap:12px;}.g-doc .gs-bar{display:grid;grid-template-columns:minmax(84px,auto) minmax(0,1fr) auto;align-items:center;gap:10px;}.g-doc .gs-bar__l{color:var(--gc-text);font-size:var(--fs-small);font-weight:600;}.g-doc .gs-bar__t{display:block;height:9px;border-radius:var(--radius-pill);background:var(--gc-surface-2);overflow:hidden;}.g-doc .gs-bar__f{display:block;height:100%;width:var(--gs-w,0%);border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--gc-accent),var(--gc-accent-2));}.g-doc .gs-bar__v{color:var(--gc-text);font-family:var(--gc-mono);font-size:var(--fs-footnote);font-weight:700;white-space:nowrap;}.g-doc .gs-bar__n{grid-column:1 / -1;margin-top:-6px;color:var(--gc-faint);font-size:var(--fs-footnote);}.g-doc .gs-tl__list{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:14px;padding-inline-start:26px;}.g-doc .gs-tl__list::before{content:'';position:absolute;inset-block:6px;inset-inline-start:6px;width:1px;background:linear-gradient(to bottom,rgba(var(--gc-accent-rgb),0.65),var(--gc-stroke));}.g-doc .gs-tl__item{position:relative;display:flex;flex-direction:column;gap:2px;}.g-doc .gs-tl__item::before{content:'';position:absolute;inset-inline-start:-26px;inset-block-start:7px;width:13px;height:13px;border-radius:50%;background:var(--gc-accent);box-shadow:0 0 0 4px rgba(var(--gc-accent-rgb),0.15);}.g-doc .gs-tl__when{color:var(--gc-accent-2);font-family:var(--gc-mono);font-size:var(--fs-caption);font-weight:700;letter-spacing:0.07em;text-transform:uppercase;}.g-doc .gs-tl__what{color:var(--gc-dim);font-size:var(--fs-body);line-height:1.6;}.g-doc .gs-check__list{list-style:none;margin:0;padding:0;display:grid;gap:8px;}.g-doc .gs-check__i{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:11px;padding:10px 13px;border:1px solid var(--gc-stroke);border-radius:var(--radius-sm);background:var(--gc-surface);color:var(--gc-dim);font-size:var(--fs-body);line-height:1.55;}.g-doc .gs-check__m{position:relative;width:22px;height:22px;border-radius:50%;margin-block-start:1px;}.g-doc .is-do{border-inline-start:2px solid rgba(var(--gc-good-rgb),0.75);}.g-doc .is-dont{border-inline-start:2px solid rgba(var(--gc-danger-rgb),0.75);}.g-doc .is-do .gs-check__m{background:rgba(var(--gc-good-rgb),0.16);}.g-doc .is-dont .gs-check__m{background:rgba(var(--gc-danger-rgb),0.16);}.g-doc .is-do .gs-check__m::after{content:'';position:absolute;inset-block-start:5px;inset-inline-start:8px;width:5px;height:10px;border:solid var(--gc-good);border-width:0 2px 2px 0;transform:rotate(42deg);}.g-doc .is-dont .gs-check__m::before,.g-doc .is-dont .gs-check__m::after{content:'';position:absolute;inset-block-start:10px;inset-inline-start:5px;width:12px;height:2px;border-radius:2px;background:var(--gc-danger);}.g-doc .is-dont .gs-check__m::before{transform:rotate(45deg);}.g-doc .is-dont .gs-check__m::after{transform:rotate(-45deg);}.g-doc .gs-photo{max-width:760px;margin:26px 0 28px;}.g-doc .gs-photo img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--gc-radius);background:var(--gc-surface);}.g-doc .gs-photo .gs-cap{max-width:68ch;padding-inline-start:12px;border-inline-start:2px solid rgba(var(--gc-accent-rgb),0.55);}.g-doc .gs-fig img{display:block;width:100%;height:auto;border:1px solid var(--gc-stroke);border-radius:var(--gc-radius);background:var(--gc-surface);}.g-doc .gs-gal__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}.g-doc .gs-gal__list li{display:flex;flex-direction:column;gap:8px;}.g-doc .gs-gal__list img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border:1px solid var(--gc-stroke);border-radius:var(--radius-sm);background:var(--gc-surface);}.g-doc .gs-gal__list span{color:var(--gc-dim);font-size:var(--fs-footnote);line-height:1.45;text-align:center;}.g-doc .gs-demo__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}.g-doc .gs-demo__i a{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;}.g-doc .gs-demo__i video,.g-doc .gs-demo__i img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:contain;border:1px solid var(--gc-stroke);border-radius:var(--radius-sm);background:#fff;transition:border-color 0.15s ease;}.g-doc .gs-demo__i a:hover video,.g-doc .gs-demo__i a:hover img{border-color:var(--gc-accent);}.g-doc .gs-demo__l{color:var(--gc-dim);font-size:var(--fs-footnote);line-height:1.45;text-align:center;}.g-doc .gs-demo__i a:hover .gs-demo__l{color:var(--gc-text);}.g-doc .gs-mu__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.g-doc .gs-mu__list.is-odd>.gs-mu__i:first-child{grid-column:1 / -1;}@media (min-width:560px){.g-doc .gs-mu__list{grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:12px;}.g-doc .gs-mu__list.is-odd>.gs-mu__i:first-child{grid-column:auto;}}.g-doc .gs-mu__i{--gc-mu-rgb:var(--gc-heat-hi-rgb);min-width:0;margin:0;}.g-doc .gs-mu__i.is-secondary{--gc-mu-rgb:var(--gc-heat-mid-rgb);}.g-doc .gs-mu__i a{display:flex;flex-direction:column;height:100%;padding:6px 6px 13px;border:1px solid var(--gc-stroke);border-radius:var(--gc-radius);background:var(--gc-surface);color:inherit;text-decoration:none;transition:border-color 0.2s ease,transform 0.2s ease;}.g-doc .gs-mu__i a:hover{border-color:rgba(var(--gc-mu-rgb),0.55);transform:translateY(-2px);}.g-doc .gs-mu__pic{position:relative;display:block;overflow:hidden;aspect-ratio:3 / 2;border-radius:var(--radius-sm);background:var(--gc-stage);}.g-doc .gs-mu__pic::before{content:'';position:absolute;inset:0;background:radial-gradient(46% 52% at 50% 50%,rgba(var(--gc-mu-rgb),0.18),transparent 72%);opacity:0.7;transition:opacity 0.3s ease;}.g-doc .gs-mu__pic img{position:relative;display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:var(--gc-stage-mask);mask-image:var(--gc-stage-mask);transition:transform 0.5s cubic-bezier(0.2,0.7,0.2,1);}.g-doc .gs-mu__i a:hover .gs-mu__pic::before{opacity:1;}.g-doc .gs-mu__i a:hover .gs-mu__pic img{transform:scale(1.06);}.g-doc .gs-mu__txt{display:flex;flex-direction:column;gap:4px;padding:12px 6px 0;}.g-doc .gs-mu__n{display:flex;align-items:center;gap:9px;color:var(--gc-text);font-family:var(--gc-display);font-size:var(--fs-callout);font-weight:600;letter-spacing:0.05em;line-height:1.2;text-transform:uppercase;}.g-doc .gs-mu__n::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;background:rgb(var(--gc-mu-rgb));box-shadow:0 0 0 3px rgba(var(--gc-mu-rgb),0.2);}.g-doc .gs-mu__d{color:var(--gc-dim);font-size:var(--fs-small);line-height:1.45;}@media (max-width:559px){.g-doc .gs-mu__i a{padding:5px 5px 11px;}.g-doc .gs-mu__txt{padding:10px 5px 0;}.g-doc .gs-mu__n{font-size:var(--fs-body);}.g-doc .gs-mu__d{font-size:var(--fs-footnote);}}.g-doc .gs-xa{margin:6px 0 22px;padding:20px;border:1px solid var(--gc-stroke);border-radius:var(--gc-radius);background:var(--gc-surface);}.g-doc .gs-xa__title{display:block;margin:0 0 16px;font-family:var(--gc-display);font-size:var(--fs-footnote);font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--gc-text);}.g-doc .gs-xa__stage{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;}@media (min-width:760px){.g-doc .gs-xa__stage{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:30px;align-items:center;}}.g-doc .gs-xa__figure{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0;}.g-doc .gs-xa__fig{display:flex;justify-content:center;gap:10px;width:100%;margin:0 auto;}.g-doc .gs-xa__view{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;}.g-doc .gs-xa__win{display:block;box-sizing:border-box;width:100%;overflow:hidden;border:1px solid var(--gc-stroke);border-radius:var(--radius-sm);background:var(--gc-stage);}.g-doc .gs-xa__win img{display:block;width:100%;height:auto;}.g-doc .gs-xa__lbl{font-size:var(--fs-caption);font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--gc-faint);}.g-doc .gs-xa__scale{display:flex;align-items:center;gap:9px;font-size:var(--fs-caption);color:var(--gc-faint);}.g-doc .gs-xa__scale i{display:block;width:112px;height:6px;border-radius:3px;}.g-doc .gs-xa__data{display:grid;gap:20px;min-width:0;}.g-doc .gs-xa__grp + .gs-xa__grp{padding-top:18px;border-top:1px solid var(--gc-stroke);}.g-doc .gs-xa__gh{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 12px;}.g-doc .gs-xa__role{flex:none;padding:3px 9px;border-radius:var(--radius-pill);font-size:var(--fs-caption);font-weight:700;line-height:1.35;letter-spacing:0.1em;text-transform:uppercase;}.g-doc .gs-xa__role.is-primary{background:rgba(227,38,29,0.16);color:#ff7b70;}.g-doc .gs-xa__role.is-secondary{background:rgba(255,160,64,0.14);color:#ffb566;}.g-doc .gs-xa__who{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;font-size:var(--fs-callout);font-weight:600;color:var(--gc-text);}.g-doc .gs-xa__who a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,0.22);text-decoration-thickness:1px;text-underline-offset:4px;transition:color 0.15s ease,text-decoration-color 0.15s ease;}.g-doc .gs-xa__who a:hover{color:var(--gc-accent-2);text-decoration-color:currentColor;}.g-doc .gs-xa__sep{color:var(--gc-faint);font-weight:400;}.g-doc .gs-xa__rows{list-style:none;margin:0;padding:0;display:grid;gap:10px;}.g-doc .gs-xa__rows li{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(64px,1fr) 2.9em;align-items:center;gap:12px;margin:0;}.g-doc .gs-xa__pn{min-width:0;font-size:var(--fs-small);line-height:1.35;color:var(--gc-dim);}.g-doc .gs-xa__bar{display:block;height:6px;border-radius:3px;background:var(--gc-surface-2);overflow:hidden;}.g-doc .gs-xa__bar i{display:block;height:100%;border-radius:inherit;}.g-doc .gs-xa__v{text-align:end;font-size:var(--fs-footnote);font-variant-numeric:tabular-nums;color:var(--gc-text);}.g-doc .gs-key{padding:18px 20px;border:1px solid rgba(var(--gc-accent-rgb),0.4);border-radius:var(--gc-radius);background:linear-gradient(150deg,rgba(var(--gc-accent-rgb),0.13),rgba(var(--gc-accent-rgb),0.02) 60%);}.g-doc .gs-key strong{display:block;margin-bottom:7px;color:var(--gc-accent-2);font-family:var(--gc-display);font-size:var(--fs-footnote);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;}.g-doc .gs-key p{margin:0;color:var(--gc-text);font-size:var(--fs-lead);line-height:1.62;}.g-doc .gs-callout{display:grid;gap:5px;padding:14px 16px;border:1px solid var(--gc-stroke);border-inline-start-width:3px;border-radius:var(--radius-sm);background:var(--gc-surface);}.g-doc .gs-callout strong{font-family:var(--gc-display);font-size:var(--fs-body);font-weight:600;letter-spacing:0.03em;}.g-doc .gs-callout p{margin:0;font-size:var(--fs-body);line-height:1.6;}.g-doc .gs-callout.is-note{border-inline-start-color:var(--gc-accent);}.g-doc .gs-callout.is-warn{border-inline-start-color:var(--gc-warn);background:rgba(var(--gc-warn-rgb),0.07);}.g-doc .gs-callout.is-warn strong{color:var(--gc-warn);}.g-doc .gs-callout.is-myth{border-inline-start-color:var(--gc-danger);background:rgba(var(--gc-danger-rgb),0.06);}.g-doc .gs-callout.is-myth strong{color:var(--gc-danger);}.g-doc .gs-callout.is-myth strong::before{content:'✕ ';font-family:var(--gc-mono);}.g-doc .gs-app{display:grid;gap:16px;padding:18px 20px;border:1px solid var(--gc-stroke-strong);border-radius:var(--gc-radius);background:radial-gradient(120% 140% at 100% 0%,rgba(var(--gc-accent-rgb),0.14),transparent 62%),var(--gc-surface);}.g-doc .gs-app__body{display:grid;gap:7px;min-width:0;}.g-doc .gs-app__kicker{color:var(--gc-accent-2);font-family:var(--gc-mono);font-size:var(--fs-caption);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;}.g-doc .gs-app__body strong{color:var(--gc-text);font-family:var(--gc-display);font-size:clamp(18px,3.4vw,21px);font-weight:700;letter-spacing:0.02em;line-height:1.2;}.g-doc .gs-app__body p{margin:0;font-size:var(--fs-body);line-height:1.6;}.g-doc .gs-app__pts{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:6px;}.g-doc .gs-app__pts li{position:relative;padding-inline-start:20px;color:var(--gc-dim);font-size:var(--fs-small);line-height:1.5;}.g-doc .gs-app__pts li::before{content:'';position:absolute;inset-inline-start:3px;inset-block-start:8px;width:5px;height:5px;border-radius:50%;background:var(--gc-accent);}.g-doc .gs-app__cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 22px;border-radius:var(--radius-pill);background:linear-gradient(100deg,var(--gc-accent-2),var(--gc-accent));color:var(--gc-on-accent);font-family:var(--gc-display);font-size:var(--fs-body);font-weight:700;letter-spacing:0.05em;text-transform:uppercase;text-align:center;white-space:nowrap;transition:filter 0.15s ease,transform 0.15s ease;}.g-doc .gs-app__cta:hover{filter:brightness(1.07);transform:translateY(-1px);}@media (min-width:640px){.g-doc .gs-app{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;}}.g-doc .gs-src{padding:16px 18px;border:1px solid var(--gc-stroke);border-radius:var(--gc-radius);background:var(--gc-surface);}.g-doc .gs-src strong{display:block;margin-bottom:10px;color:var(--gc-text);font-family:var(--gc-display);font-size:var(--fs-footnote);font-weight:700;letter-spacing:0.13em;text-transform:uppercase;}.g-doc .gs-src ol{margin:0;padding-inline-start:20px;display:grid;gap:8px;}.g-doc .gs-src li{color:var(--gc-faint);font-size:var(--fs-small);line-height:1.55;}.g-doc .gs-src li::marker{color:var(--gc-faint);font-family:var(--gc-mono);}.g-doc .gs-src a{color:var(--gc-dim);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--gc-stroke-strong);}.g-doc .gs-src a:hover{color:var(--gc-accent-2);}.g-doc .gs-src__org{color:var(--gc-faint);font-family:var(--gc-mono);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:0.05em;}@media (prefers-reduced-motion:reduce){.g-doc *{transition:none !important;animation:none !important;}}@media print{.g-doc .gs-app{display:none;}.g-doc .gs,.g-doc .gs-tablewrap{break-inside:avoid;}}.g-doc{--gc-text:var(--text);--gc-dim:var(--dim);--gc-faint:var(--faint);--gc-surface:var(--card);--gc-surface-2:rgba(255,255,255,.07);--gc-stroke:var(--stroke);--gc-stroke-strong:rgba(255,255,255,.2);--gc-accent:var(--ember);--gc-accent-2:var(--ember2);--gc-accent-rgb:255,90,31;--gc-on-accent:#17100b;--gc-good:#5fbf8b;--gc-good-rgb:95,191,139;--gc-danger:#e8746e;--gc-danger-rgb:232,116,110;--gc-warn:var(--gold);--gc-warn-rgb:255,180,41;--gc-radius:14px;--gc-mono:ui-monospace,Menlo,monospace;--gc-display:Oswald,Inter,sans-serif}

/* ------------------------------- demo clip -------------------------------- */
/* The movement loop in a square frame, capped so it never dominates the fold on
   a laptop, and centred with its caption under it. The clips keep the master's
   aspect ratio (512x176 for a plank, 258x512 for a crunch), so the picture is
   CONTAINED on a white plate — cover cropped the movement being demonstrated.
   White because the artwork is drawn on white, as in the in-app player. */
.ex-demo{margin:26px auto;max-width:420px;text-align:center}
.ex-demo__v{width:100%;height:auto;aspect-ratio:1/1;display:block;border-radius:16px;
background:#fff;border:1px solid var(--stroke);object-fit:contain}
.ex-demo .gs-cap{margin-top:10px;color:var(--faint);font-size:13.5px;line-height:1.5}
@media(prefers-reduced-motion:reduce){
  /* A looping clip that cannot be paused is exactly what this query is for.
     The poster frame still shows the movement, so nothing is lost but motion. */
  .ex-demo__v{animation:none}
}

/* --------------------------------- byline --------------------------------- */
.ex-byline{color:var(--faint);font-size:13px;margin-top:12px;max-width:68ch}

/* ------------------------------ table of contents -------------------------- */
/* The Guides library puts its contents in a sticky side rail; these pages have
   no rail column, so the same links go in a box. Two columns once there is room
   — thirteen stacked links is a scroll, not a map. */
.ex-toc{border:1px solid var(--stroke);border-radius:14px;padding:14px 16px;margin:28px 0 8px;
background:rgba(255,255,255,.02)}
.ex-toc__h{font-family:Oswald,Inter,sans-serif;text-transform:uppercase;font-size:12px;
letter-spacing:.1em;color:var(--dim);margin:0 0 6px}
.ex-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:1px;grid-template-columns:1fr}
@media(min-width:720px){.ex-toc ol{grid-template-columns:1fr 1fr;column-gap:18px}}

/* ---------------------------------- Q&A ----------------------------------- */
.g-doc .qa{margin-top:22px}
.g-doc .qa h3{font-size:17px;line-height:1.35;margin-bottom:6px;color:var(--text)}
.g-doc .qa p{color:var(--dim);margin:0}

/* --------------------------------- CTA note -------------------------------- */
.ex-cta-note{color:var(--faint);font-size:13px;margin-top:10px}
