.blog{background:var(--grinny-ink);color:var(--grinny-paper);min-height:100vh}.blog__container{display:flex;flex-direction:column;align-items:center;max-width:1920px;margin:0 auto;padding:64px 240px 112px;gap:80px}@media(max-width:1200px){.blog__container{padding:64px 120px 96px;gap:60px}}@media(max-width:860px){.blog__container{padding:48px 24px 80px;gap:48px}}.blog__heading{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;max-width:767px;width:100%}.blog__title{font:500 64px/72px var(--grinny-font-sans);letter-spacing:-1.5px;color:var(--grinny-paper);margin:0}@media(max-width:860px){.blog__title{font-size:40px;line-height:48px}}.blog__desc{font:var(--grinny-text-body-m);color:var(--grinny-paper-5);margin:0}.blog__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;width:100%;max-width:1440px}@media(max-width:1100px){.blog__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.blog__grid{grid-template-columns:1fr}}.blog-card{display:flex;flex-direction:column;gap:24px;padding:16px 16px 32px;text-decoration:none;color:inherit;cursor:pointer;transition:background .2s ease,transform .2s ease;border-radius:var(--semantic-rounded-3xl,24px);border:1px solid var(--unofficial-border-primary-alpha,hsla(0,0%,100%,.08));background:var(--card-card,#242424)}.blog-card:hover{background:#2a2a2a;transform:translateY(-2px)}.blog-card__cover{width:100%;aspect-ratio:16/9.4;border-radius:10px;overflow:hidden;position:relative;flex-shrink:0}.blog-card__cover-bg{width:100%;height:100%;object-fit:cover}.blog-card__cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.blog-card__cover-dot{width:40px;height:40px;border-radius:50%;opacity:.3}.blog-card__content{gap:32px}.blog-card__content,.blog-card__text{display:flex;flex-direction:column;flex:1 1}.blog-card__text{gap:12px}.blog-card__tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:9999px;border:1px solid hsla(0,0%,100%,.12);font:var(--grinny-text-label-xs);color:var(--grinny-paper-5);width:-moz-fit-content;width:fit-content}.blog-card__title{margin:0;color:var(--general-foreground,#fafafa);font-family:var(--font-definitions-font-family-headings,Akt);font-size:var(--heading-4-font-size,20px);font-style:normal;font-weight:500;line-height:var(--heading-4-line-height,24px);letter-spacing:var(--heading-4-letter-spacing,-.5px)}.blog-card__desc{font:var(--grinny-text-body-s);color:var(--grinny-paper-5);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-card__sep{display:block;height:1px;background:hsla(0,0%,100%,.08);flex-shrink:0}.blog-card__author{display:flex;align-items:center;gap:8px}.blog-card__avatar{width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,#92e123,#5ba016);flex-shrink:0;overflow:hidden}.blog-card__avatar img{width:100%;height:100%;object-fit:cover}.blog-card__author-name{color:var(--general-foreground,#fafafa)}.blog-card__author-name,.blog-card__author-title{font-family:var(--font-definitions-font-family-body,Akt);font-size:var(--paragraph-regular-font-size,16px);font-style:normal;font-weight:500;line-height:var(--paragraph-regular-line-height,24px);letter-spacing:var(--paragraph-regular-letter-spacing,0)}.blog-card__author-title{color:var(--general-muted-foreground,#b0b0b0)}.blog-card__dot{color:hsla(0,0%,100%,.1);text-align:center;font-family:var(--font-definitions-font-family-headings,Akt);font-size:24px;font-style:normal;font-weight:600;line-height:24px;letter-spacing:var(--heading-3-letter-spacing,-.5px);margin:0 8px}.blog-card__meta{font:var(--grinny-text-body-s);color:var(--grinny-paper-5);white-space:nowrap;flex-shrink:0}.article-page{background:var(--grinny-ink);color:var(--grinny-paper);min-height:100vh}.article-page__main{max-width:1920px;margin:0 auto;padding:64px 240px 0}@media(max-width:1400px){.article-page__main{padding:64px 160px 0}}@media(max-width:1100px){.article-page__main{padding:48px 80px 0}}@media(max-width:860px){.article-page__main{padding:40px 24px 0}}.article-page__layout{display:grid;grid-template-columns:1fr 732px 1fr;grid-gap:48px 40px;gap:48px 40px;max-width:1440px;margin:0 auto}@media(max-width:1300px){.article-page__layout{grid-template-columns:160px 1fr}}@media(max-width:860px){.article-page__layout{grid-template-columns:1fr}}.article-page__back{grid-column:1;grid-row:1;display:flex;align-items:flex-start;padding-top:4px}@media(max-width:860px){.article-page__back{grid-column:1;grid-row:1;padding-top:0}}.article-page__back-link{display:inline-flex;align-items:center;gap:6px;font:var(--grinny-text-body-m);color:var(--grinny-paper-5);text-decoration:none;transition:color .2s ease;white-space:nowrap}.article-page__back-link:hover{color:var(--grinny-paper)}.article-page__back-link svg{flex-shrink:0}.article-page__heading{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:20px}@media(max-width:860px){.article-page__heading{grid-column:1;grid-row:2}}.article-page__meta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.article-page__tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:9999px;border:1px solid hsla(0,0%,100%,.12);font:var(--grinny-text-label-xs);color:var(--grinny-paper-5)}.article-page__date,.article-page__read-time{font:var(--grinny-text-body-s);color:var(--grinny-paper-5)}.article-page__read-time:before{content:"·";margin-right:12px;opacity:.3}.article-page__title{font:500 48px/56px var(--grinny-font-sans);letter-spacing:-1px;color:var(--grinny-paper);margin:0}@media(max-width:860px){.article-page__title{font-size:32px;line-height:40px}}.article-page__author{display:flex;align-items:center;gap:8px;margin-top:4px}.article-page__author-avatar{width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,#92e123,#5ba016);flex-shrink:0;overflow:hidden}.article-page__author-avatar img{width:100%;height:100%;object-fit:cover}.article-page__author-name{color:var(--general-foreground,#fafafa)}.article-page__author-name,.article-page__author-title{font-family:Akt;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.article-page__author-dot,.article-page__author-title{color:var(--general-muted-foreground,#b0b0b0)}.article-page__body{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:40px}@media(max-width:860px){.article-page__body{grid-column:1;grid-row:3}}.article-page__share{grid-column:2;grid-row:3;gap:16px;padding-top:8px}@media(max-width:860px){.article-page__share{grid-column:1;grid-row:4}}.article-page__share-content{display:flex;flex-direction:column;align-items:center;margin:48px auto 0}.article-page__share-label{color:var(--general-muted-foreground,#b0b0b0);font-family:Akt;font-size:14px;font-style:normal;font-weight:500;line-height:18px;letter-spacing:.56px;text-transform:uppercase;margin-bottom:12px}.article-page__share-icons{display:flex;gap:8px}.article-page__share-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:transparent;color:var(--grinny-paper-5);cursor:pointer;transition:color .2s ease,border-color .2s ease;text-decoration:none}.article-page__share-btn:hover{color:var(--grinny-paper);border-color:hsla(0,0%,100%,.25)}.article-body{display:flex;flex-direction:column;gap:0}.article-body p{font:400 18px/26px var(--grinny-font-sans);color:var(--grinny-paper-2);letter-spacing:-.1px;margin:24px 0 0}.article-body h2{font:500 26px/34px var(--grinny-font-sans);letter-spacing:-.4px}.article-body h2,.article-body h3{color:var(--grinny-paper);margin:0}.article-body h3{font:500 18px/26px var(--grinny-font-sans);letter-spacing:-.2px}.article-body h4{font:600 16px/24px var(--grinny-font-sans);letter-spacing:-.1px;color:var(--grinny-paper);margin:0}.article-body figure{margin:0;display:flex;flex-direction:column;gap:10px}.article-body img{width:100%;border-radius:12px;display:block}.article-body figcaption{text-align:center}.article-body figcaption,.article-body__img-placeholder{font:var(--grinny-text-body-s);color:var(--grinny-paper-5)}.article-body__img-placeholder{width:100%;aspect-ratio:16/9;border-radius:12px;background:#1e1e1e;border:1px solid hsla(0,0%,100%,.08);display:flex;align-items:center;justify-content:center}.article-body ol,.article-body ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}.article-body li{font:400 18px/26px var(--grinny-font-sans);color:var(--grinny-paper-2);padding-left:4px}.article-body ul li::marker{color:var(--grinny-paper-5)}.article-body ol li::marker{color:var(--grinny-paper-5);font-weight:600}.article-body__table-wrap{overflow-x:auto;border-radius:12px;border:1px solid hsla(0,0%,100%,.08)}.article-body table{width:100%;border-collapse:collapse;font:var(--grinny-text-body-s);min-width:400px}.article-body th{padding:12px 16px;text-align:left;font:var(--grinny-text-label-s);color:var(--grinny-paper-5);background:hsla(0,0%,100%,.04);border-bottom:1px solid hsla(0,0%,100%,.08);white-space:nowrap}.article-body td{padding:12px 16px;color:var(--grinny-paper-2);border-bottom:1px solid hsla(0,0%,100%,.05);vertical-align:top}tr:last-child .article-body td{border-bottom:none}.article-body tr:hover td{background:hsla(0,0%,100%,.02)}.article-body blockquote{margin:0;padding:20px 24px;border-left:2px solid #92e123;background:rgba(146,225,35,.05);border-radius:0 12px 12px 0;display:flex;flex-direction:column;gap:10px}.article-body blockquote p{font:500 18px/30px var(--grinny-font-sans);color:var(--grinny-paper);font-style:italic;margin:0}.article-body blockquote cite{font:var(--grinny-text-body-s);color:var(--grinny-paper-5);font-style:normal}.article-body pre{margin:0;padding:20px 24px;background:#141414;border:1px solid hsla(0,0%,100%,.08);border-radius:12px;overflow-x:auto}.article-body pre code{font:var(--grinny-text-mono-m);color:var(--grinny-paper-2);white-space:pre}.article-body hr{border:none;border-top:1px solid hsla(0,0%,100%,.08);margin:0}.article-body>*+*{margin-top:24px}.article-body>*+h2{margin-top:40px}.article-body>*+h3{margin-top:32px}.article-body>h2+*,.article-body>h3+*,.article-body>h4+*{margin-top:16px}.article-body>*+figure,.article-body>figure+*{margin-top:32px}.article-body>h2+figure,.article-body>h3+figure{margin-top:16px}