.gl{--gl-gutter:clamp(1.25rem, 3.5vw, 4rem);--gl-max:75rem;--gl-ease-rev:cubic-bezier(.19, 1, .22, 1);--gl-ease-hoop:cubic-bezier(.32, .72, 0, 1);--gl-ease-decel:cubic-bezier(.59, .01, .28, 1);--gl-ease-page:cubic-bezier(.76, 0, .24, 1);color:var(--foreground)}.gl-shell{width:100%;max-width:var(--gl-max);padding-inline:var(--gl-gutter);margin-inline:auto}.gl-section{border-top:1px solid var(--border);padding-block:clamp(3rem,6vw,5rem)}.gl-section:first-of-type{border-top:0}.gl-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);align-items:center;gap:.5rem;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.gl-eyebrow:before{content:"";background:currentColor;width:1.5rem;height:1px;display:inline-block}.gl-back{color:inherit;transition:border-color .35s var(--gl-ease-hoop);border-bottom:1px solid #0000;text-decoration:none}.gl-back:hover,.gl-back:focus-visible{border-bottom-color:currentColor;outline:none}.gl-h1{letter-spacing:-.015em;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:600;line-height:1.05}.gl-h2{font-size:28px;font-weight:600;line-height:1.1}.gl-body{font-size:16px;font-weight:400;line-height:1.58}.gl-body-lg{font-size:17px;font-weight:400;line-height:1.58}.gl-muted{color:var(--muted-foreground)}.gl-caption{color:var(--muted-foreground);font-size:12px;font-weight:500;line-height:1.4}.gl-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);font-size:12px;font-weight:500;line-height:1.4}.gl-mono{font-family:var(--font-mono,ui-monospace, monospace);font-size:12px}.gl-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.gl-sec-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.gl-rules-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=768px){.gl-rules-grid{grid-template-columns:1fr 1fr}}.gl-note-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.gl-note-list li{color:var(--muted-foreground);padding-left:1.1rem;font-size:15px;line-height:1.5;position:relative}.gl-note-list li:before{content:"+";color:var(--foreground);font-weight:600;position:absolute;left:0}.gl-hub{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr;gap:1px;display:grid;overflow:hidden}@media (width>=768px){.gl-hub{grid-template-columns:1fr 1fr}}.gl-hub-card{background:var(--background);color:inherit;isolation:isolate;transition:background .4s var(--gl-ease-hoop);flex-direction:column;gap:.875rem;padding:clamp(1.5rem,3.5vw,2.5rem);text-decoration:none;display:flex;position:relative}.gl-hub-card:hover,.gl-hub-card:focus-visible{background:var(--accent);outline:none}.gl-hub-card-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.gl-hub-card-index{font-family:var(--font-mono,ui-monospace, monospace);color:var(--muted-foreground);font-size:12px}.gl-hub-card-arrow{transition:transform .45s var(--gl-ease-rev);font-size:20px;line-height:1;display:inline-block;transform:translate(0)}.gl-hub-card:hover .gl-hub-card-arrow,.gl-hub-card:focus-visible .gl-hub-card-arrow{transform:translate(.35rem,-.35rem)}.gl-hub-card-title{letter-spacing:-.015em;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;line-height:1.05}.gl-hub-card-desc{color:var(--muted-foreground);max-width:42ch;font-size:15px;line-height:1.55}.gl-hub-card-list{flex-wrap:wrap;gap:.5rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.gl-hub-card-list li{border:1px solid var(--border);color:var(--muted-foreground);border-radius:3px;padding:.4rem .6rem;font-size:12px;line-height:1}.gl-ease-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.gl-ease-grid{grid-template-columns:1fr 1fr}}@media (width>=992px){.gl-ease-grid{grid-template-columns:repeat(4,1fr)}}.gl-ease{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:1.25rem}.gl-ease-curve{aspect-ratio:1;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--background);width:100%;height:auto;display:block}.gl-ease-path{fill:none;stroke:var(--foreground);stroke-width:2.5px;vector-effect:non-scaling-stroke}.gl-ease-guide{fill:none;stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.gl-ease-track{height:12px;margin-top:.875rem;position:relative}.gl-ease-dot2{background:var(--foreground);border-radius:999px;width:12px;height:12px;position:absolute;top:0;left:0}.gl-ease[data-play=true] .gl-ease-dot2{animation:glDotTravel 1.1s var(--ease-var,linear) both}.gl-ease-name{margin-top:.875rem;font-size:14px;font-weight:600}.gl-ease-curve-label{font-family:var(--font-mono,ui-monospace, monospace);color:var(--muted-foreground);word-break:break-all;margin-top:.25rem;font-size:11px}.gl-ease-use{color:var(--muted-foreground);margin-top:.5rem;font-size:12px;line-height:1.45}.gl-dur-row{border-top:1px solid var(--border);align-items:center;gap:1rem;padding-block:.625rem;display:flex}.gl-dur-row:first-child{border-top:0}.gl-dur-name{flex:none;width:7rem;font-size:13px;font-weight:500}.gl-dur-track{background:var(--muted);border-radius:999px;flex:auto;height:6px;position:relative;overflow:hidden}.gl-dur-fill{transform-origin:0;background:var(--foreground);border-radius:999px;position:absolute;inset:0}.gl-dur[data-play=true] .gl-dur-fill{animation:glDurFill var(--d) var(--gl-ease-hoop) both}.gl-dur-ms{text-align:right;width:8.5rem;font-family:var(--font-mono,ui-monospace, monospace);color:var(--muted-foreground);flex:none;font-size:12px}.gl-demo-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=768px){.gl-demo-grid{grid-template-columns:1fr 1fr}}.gl-demo{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-direction:column;display:flex;overflow:hidden}.gl-demo-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.125rem;display:flex}.gl-demo-title{font-size:15px;font-weight:600;line-height:1.25}.gl-demo-spec{font-family:var(--font-mono,ui-monospace, monospace);color:var(--muted-foreground);margin-top:.25rem;font-size:11px;line-height:1.45;display:block}.gl-replay{height:30px;color:var(--background);background:var(--foreground);cursor:pointer;transition:opacity .3s var(--gl-ease-hoop);border:0;border-radius:999px;flex:none;align-items:center;gap:.4rem;padding-inline:.75rem;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.gl-replay:hover{opacity:.82}.gl-replay:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.gl-replay-icon{transition:transform .45s var(--gl-ease-rev);display:inline-block}.gl-replay:hover .gl-replay-icon{transform:rotate(-180deg)}.gl-stage{justify-content:center;align-items:center;min-height:9.5rem;padding:1.75rem;display:flex;position:relative;overflow:hidden}.gl-demo-where{border-top:1px solid var(--border);color:var(--muted-foreground);padding:.75rem 1.125rem;font-size:12px;line-height:1.45}.gl-demo-where code{font-family:var(--font-mono,ui-monospace, monospace);color:var(--foreground);font-size:11px}.gl-mask{display:block;overflow:hidden}.gl-rise{letter-spacing:-.015em;animation:glRise 1s var(--gl-ease-rev) both;font-size:clamp(1.5rem,3.4vw,2.25rem);font-weight:600;line-height:1.1;display:block}.gl-wm{width:min(22rem,100%);position:relative}.gl-wm-base{visibility:hidden}.gl-wm-base svg,.gl-wm-col svg{width:100%;height:auto;color:var(--foreground);display:block}.gl-wm-col{position:absolute;inset:0;overflow:hidden}.gl-wm-col span{animation:glRise 1s var(--gl-ease-rev) both;animation-delay:calc(var(--i) * 60ms);display:block}.gl-line{background:var(--foreground);transform-origin:0;width:100%;height:1px;animation:glLineDraw .95s var(--gl-ease-rev) both}.gl-line-stack{gap:1.75rem;width:100%;display:grid}.gl-line-stack .gl-line:nth-child(2){animation-delay:.12s}.gl-line-stack .gl-line:nth-child(3){animation-delay:.24s}.gl-stagger{gap:.625rem;width:100%;max-width:18rem;display:grid}.gl-stagger .gl-mask span{animation:glRise .85s var(--gl-ease-rev) both;font-size:18px;font-weight:500;display:block}.gl-stagger .gl-mask:first-child span{animation-delay:0s}.gl-stagger .gl-mask:nth-child(2) span{animation-delay:70ms}.gl-stagger .gl-mask:nth-child(3) span{animation-delay:.14s}.gl-stagger .gl-mask:nth-child(4) span{animation-delay:.21s}.gl-arrow{width:2.5rem;height:2.5rem;color:var(--foreground);position:relative;overflow:hidden}.gl-arrow svg{width:100%;height:100%;position:absolute;inset:0}.gl-arrow-out{animation:glArrowOut .5s var(--gl-ease-hoop) both}.gl-arrow-in{animation:glArrowIn .5s var(--gl-ease-hoop) both}.gl-underline{color:var(--muted-foreground);transition:color .4s var(--gl-ease-rev);cursor:pointer;font-size:18px;font-weight:500;text-decoration:none;position:relative}.gl-underline:after{content:"";transform-origin:0;height:1px;transition:transform .45s var(--gl-ease-rev);background:currentColor;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.gl-underline:hover{color:var(--foreground)}.gl-underline:hover:after{transform:scaleX(1)}.gl-logo{width:min(18rem,100%);color:var(--foreground);cursor:pointer;position:relative}.gl-logo-base{visibility:hidden}.gl-logo-base svg,.gl-logo-col svg{width:100%;height:auto;display:block}.gl-logo-col{clip-path:inset(-30% 0);position:absolute;inset:0}.gl-logo-col span{transition:transform .5s var(--gl-ease-rev);transition-delay:calc(var(--i) * 40ms);display:block}.gl-logo:hover .gl-logo-col span{transform:translateY(-12%)}.gl-hint{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);font-size:11px;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.gl-swatch-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}@media (width>=640px){.gl-swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=992px){.gl-swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.gl-swatch{background:var(--background)}.gl-swatch-chip{border-bottom:1px solid var(--border);width:100%;height:6rem}.gl-swatch-meta{padding:.75rem .875rem 1rem}.gl-swatch-name{font-family:var(--font-mono,ui-monospace, monospace);color:var(--foreground);font-size:13px;font-weight:500}.gl-swatch-role{color:var(--muted-foreground);margin-top:.25rem;font-size:12px;line-height:1.4}.gl-swatch-val{font-family:var(--font-mono,ui-monospace, monospace);color:var(--muted-foreground);margin-top:.35rem;font-size:11px}.gl-chip{border:1px solid var(--border);height:28px;color:var(--foreground);background:var(--background);border-radius:3px;align-items:center;gap:.375rem;padding-inline:.625rem;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.gl-chip[data-active=true]{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.gl-demo-row{flex-wrap:wrap;align-items:center;gap:.75rem;padding:clamp(1.25rem,3vw,2rem);display:flex}.gl-demo-row+.gl-demo-row{border-top:1px solid var(--border)}.gl-btn{border:1px solid var(--foreground);background:var(--foreground);height:40px;color:var(--background);cursor:pointer;transition:opacity .3s var(--gl-ease-hoop);border-radius:999px;justify-content:center;align-items:center;padding-inline:1.25rem;font-size:14px;font-weight:500;display:inline-flex}.gl-btn:hover{opacity:.84}.gl-btn--outline{color:var(--foreground);background:0 0}.gl-btn--ghost{color:var(--foreground);background:0 0;border-color:#0000}.gl-btn--ghost:hover{background:var(--accent);opacity:1}.gl-btn--sm{height:32px;padding-inline:.9rem;font-size:13px}.gl-btn--lg{height:48px;padding-inline:1.6rem;font-size:15px}.gl-deflist{gap:0;display:grid}.gl-deflist-row{border-top:1px solid var(--border);grid-template-columns:1fr;gap:.25rem;padding-block:.875rem;display:grid}@media (width>=640px){.gl-deflist-row{grid-template-columns:15rem 1fr;align-items:baseline;gap:1.5rem}}.gl-deflist-row:first-child{border-top:0}.gl-deflist-term{font-family:var(--font-mono,ui-monospace, monospace);color:var(--foreground);font-size:13px}.gl-deflist-desc{color:var(--muted-foreground);font-size:14px;line-height:1.5}.gl-taglist{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.gl-taglist li{border:1px solid var(--border);color:var(--muted-foreground);border-radius:999px;padding:.4rem .75rem;font-size:13px}.gl-ba{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr;gap:1px;display:grid;overflow:hidden}@media (width>=640px){.gl-ba{grid-template-columns:1fr 1fr}}.gl-ba-cell{background:var(--background);padding:1.25rem 1.375rem}.gl-ba-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);align-items:center;gap:.45rem;font-size:11px;display:inline-flex}.gl-ba-label:before{content:"";border:1px solid;border-radius:999px;width:.5rem;height:.5rem}.gl-ba-cell[data-good=true] .gl-ba-label:before{background:var(--foreground);border-color:var(--foreground)}.gl-ba-text{margin-top:.6rem;font-size:16px;line-height:1.5}.gl-ba-cell[data-bad=true] .gl-ba-text{color:var(--muted-foreground)}.gl-ba-cell[data-good=true] .gl-ba-text{color:var(--foreground)}.gl-vocab{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.gl-vocab{grid-template-columns:1fr 1fr}}.gl-vocab-words{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.gl-vocab-words span{border:1px solid var(--border);color:var(--foreground);border-radius:3px;padding:.35rem .65rem;font-size:13px}[data-kind=avoid] .gl-vocab-words span{color:var(--muted-foreground)}.gl-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.gl-list li{padding-left:1.4rem;font-size:16px;line-height:1.5;position:relative}.gl-list li:before{content:"";background:var(--foreground);width:.6rem;height:1px;position:absolute;top:.6em;left:0}.gl-list strong{font-weight:600}@keyframes glRise{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes glLineDraw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes glDurFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes glDotTravel{0%{left:0}to{left:calc(100% - 12px)}}@keyframes glArrowOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(80%,-80%)}}@keyframes glArrowIn{0%{opacity:0;transform:translate(-80%,80%)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.gl-rise,.gl-wm-col span,.gl-line,.gl-stagger .gl-mask span,.gl-dur[data-play=true] .gl-dur-fill,.gl-ease[data-play=true] .gl-ease-dot2{animation:none!important;transform:none!important}.gl-arrow-out{display:none!important}.gl-arrow-in{animation:none!important;transform:none!important}.gl-underline,.gl-underline:after,.gl-logo-col span,.gl-hub-card-arrow,.gl-replay-icon{transition:none!important}}
