.phead__grid{grid-template-columns:minmax(0,1fr)}
.phead__text .lead{max-width:52ch}
.blog-sec{padding-top:var(--space-4);padding-bottom:var(--section)}
.posts{display:grid;gap:var(--space-5)}
.post{display:grid;align-content:start;border-radius:var(--radius-l);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;text-decoration:none;color:var(--ink);transition:box-shadow 160ms var(--ease)}
.post:hover{box-shadow:inset 0 0 0 1.5px var(--cobalt)}
.post:hover .post__title{color:var(--cobalt)}
.post__img{position:relative;aspect-ratio:16/10;overflow:hidden}
.post__img--c{background:var(--cobalt-soft)}
.post__img--o{background:var(--orange-soft)}
.post__img--i{background:var(--surface-inverse)}
.dark .page .post__img--i{background:#2B2B36}
.post__shape{position:absolute;width:46%;height:38%;right:12%;bottom:18%;border-radius:999px}
.post__img--c .post__shape{background:var(--cobalt)}
.post__img--o .post__shape{background:var(--orange)}
.post__img--i .post__shape{background:#F7F4EE}
.post__shape.bubble--first{border-bottom-left-radius:var(--radius-tail)}
.post__shape.bubble--second{border-bottom-right-radius:var(--radius-tail);right:auto;left:12%}
.post__ph{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);background:rgba(255,255,255,.92);color:#16161D;font:500 12px/18px var(--font-text)}
.post__body{display:grid;gap:var(--space-3);justify-items:start;padding:var(--space-5)}
.post__title{font:600 22px/30px var(--font-display);margin:0;text-wrap:balance;transition:color 160ms var(--ease)}
.post__lead{color:var(--ink-secondary);margin:0}
.post .link-arrow{margin-top:var(--space-2)}
.footer{margin-top:0}
@media (min-width:641px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}.post--feat{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.post--feat .post__img{aspect-ratio:auto;min-height:320px}.post--feat .post__body{align-content:center;padding:var(--space-6)}}
@media (min-width:1025px){.post--feat{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.post--feat .post__img{min-height:400px}.post--feat .post__body{padding:var(--space-7)}.post--feat .post__title{font-size:32px;line-height:40px}.post__body{padding:var(--space-6)}}
.sortbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}
.sortbar__n{margin:0;color:var(--ink-secondary);font-weight:500}
.sort{display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.sort__l{padding:0 var(--space-2) 0 var(--space-3);font-size:14px;color:var(--ink-muted)}
.sort__it{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.sort__it:hover{background:var(--cobalt-soft)}
.sort__it.is-on{background:var(--ink);color:var(--milk)}
.post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin:0;font-size:14px;line-height:20px;color:var(--ink-muted)}
.post__meta span{display:inline-flex;align-items:center;gap:5px}
.post__meta .icon{width:16px;height:16px}
@media (max-width:640px){.sortbar{flex-direction:column;align-items:stretch}.sort{justify-content:space-between}.sort__it{flex:1;justify-content:center}}
.more{display:flex;justify-content:center;margin-top:var(--space-6)}
.more__btn{box-shadow:inset 0 0 0 1.5px var(--cobalt);gap:8px}
@media (max-width:640px){.more__btn{width:100%;justify-content:center}}
.posts--pop .post__meta span:last-child{color:var(--cobalt);font-weight:600}
@media (max-width:640px){.sort__l{display:none}.sort__it{padding:0 var(--space-3)}}
.ahead{padding-top:var(--space-6)}
.ahead__in{display:grid;gap:var(--space-4);justify-items:start;max-width:920px}
.ahead__title{text-wrap:balance}
.ahead__meta{font-size:15px}
.ahead__lead{max-width:60ch}
.acover{position:relative;margin:var(--space-6) 0 0;aspect-ratio:16/7;border-radius:var(--radius-l);border-bottom-left-radius:var(--radius-tail);background:var(--cobalt-soft);overflow:hidden}
.acover .post__shape{background:var(--cobalt);width:34%;height:34%;right:30%;bottom:38%}
.acover .acover__s2{background:var(--orange);width:30%;height:30%;left:auto;right:8%;bottom:14%}
.reader{padding-top:var(--space-7)}
.prose h2.chapter__title{font:600 28px/36px var(--font-display);margin:0}
.toc__list--flat{display:grid;gap:2px;padding:var(--space-2) 0 0;list-style:none;margin:0}
.toc__list--flat a{display:block;padding:8px 12px;border-radius:12px;color:var(--ink-secondary);text-decoration:none;font-size:15px;line-height:21px}
.toc__list--flat a:hover{background:var(--cobalt-soft);color:var(--ink)}
.toc__list--flat a.is-cur{background:var(--cobalt-soft);color:var(--cobalt-strong);font-weight:600}
.dark .page .toc__list--flat a.is-cur{color:var(--ink)}
.acourse{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--space-3);row-gap:4px;padding:var(--space-4) var(--space-5);border-radius:var(--radius-l);border-bottom-left-radius:var(--radius-tail);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);text-decoration:none}
.acourse:hover{box-shadow:inset 0 0 0 1.5px var(--cobalt)}
.acourse__l{flex-basis:100%;font:600 12px/16px var(--font-text);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-muted)}
.acourse__t{flex:1;font:600 18px/26px var(--font-display)}
.acourse .icon{color:var(--cobalt)}
.posts .post__body{gap:var(--space-2)}
.section--surface .post{background:var(--bg)}
@media (max-width:640px){.acover{aspect-ratio:4/3}.prose h2.chapter__title{font-size:22px;line-height:30px}}
.xjoin{display:grid;gap:var(--space-5);align-items:center;padding:var(--space-7) var(--space-6);border-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-tail);background:#2F4BFF;color:#fff}
.xjoin .h2{margin:0;color:#fff}
.xjoin__text{display:grid;gap:var(--space-3)}
.xjoin__text p{margin:0;max-width:56ch;color:#E3E7FF}
.xjoin__btn{justify-self:start;gap:var(--space-2);background:#F7F4EE;color:#16161D}
.xjoin__btn:hover{background:#fff}
.footer{margin-top:0}
.ghead__grid{display:grid;gap:var(--space-7);align-items:start}
.ghead__text{gap:var(--space-5)}
.gsearch{max-width:600px;margin-top:var(--space-2)}
.gquick{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);font-size:15px;line-height:22px}
.gquick .caption{color:var(--ink-muted)}
.gquick a{color:var(--ink-secondary);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}
.gquick a:hover{color:var(--cobalt);text-decoration-color:currentColor}
.gday{background:var(--surface);border-bottom-left-radius:var(--radius-tail)}
.gday .term-day__word{margin:0;font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem)}
.gday .term-day__def{margin:0}
.gday__ex{gap:var(--space-3)}
.gday__row{display:grid;gap:6px}
.gday__row:nth-child(2){justify-items:end}
.gday__row .bubble{margin:0;max-width:92%}
.gday__row .bubble--surface{background:var(--milk);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-secondary);text-decoration:line-through;text-decoration-color:var(--ink-muted)}
.gday__mark{display:inline-flex;align-items:center;gap:4px;font:600 13px/16px var(--font-text);letter-spacing:.5px;text-transform:uppercase}
.gday__mark--no{color:var(--ink-muted)}
.gday__mark--yes{color:var(--orange-text)}
.gcat{padding-top:var(--space-2)}
.gcat__grid{display:grid;gap:var(--space-6)}
.gside{display:grid;gap:var(--space-5);align-content:start;min-width:0}
.gside__block{display:grid;gap:var(--space-3);min-width:0}
.gside__h{margin:0;font:600 13px/16px var(--font-text);letter-spacing:1px;text-transform:uppercase;color:var(--ink-secondary)}
.gtopics{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.gtopics .chip{gap:var(--space-2);text-decoration:none;color:var(--ink);font:500 15px/20px var(--font-text)}
.gtopics .chip.is-on{color:var(--milk)}
.gabc{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.gabc a,.gabc span{display:grid;place-items:center;height:40px;border-radius:var(--radius-s);font:600 15px/1 var(--font-display);text-decoration:none}
.gabc a{background:var(--milk);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.gabc a:hover{background:var(--cobalt-soft);color:var(--cobalt-strong)}
.gabc a.is-on{background:var(--cobalt);color:var(--on-cobalt);box-shadow:none;border-bottom-left-radius:3px}
.gabc span{color:var(--ink-muted);opacity:.45}
.gmain{min-width:0}
.gmain__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4);padding-bottom:var(--space-4);margin-bottom:var(--space-5);border-bottom:1px solid var(--line)}
.gmain__top .h3{margin:0}
.gmain__n{margin:0;font-size:15px;color:var(--ink-muted)}
.gletters{columns:1;column-gap:var(--space-5)}
.gl{break-inside:avoid;display:grid;gap:var(--space-2);justify-items:start;margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5) var(--space-4);border-radius:var(--radius-l);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.gl__h{display:flex;align-items:flex-start;gap:6px;margin:0 0 var(--space-1)}
.gl__l{display:grid;place-items:center;width:48px;height:48px;border-radius:16px 16px 16px 4px;background:var(--cobalt-soft);color:var(--cobalt-strong);font:600 24px/1 var(--font-display)}
.gl:nth-child(3n/**/+2) .gl__l{background:var(--orange-soft);color:var(--orange-text);border-radius:16px 16px 4px 16px}
.gl__n{font:600 13px/16px var(--font-text);color:var(--ink-muted)}
.gl__list{display:grid;gap:2px;width:100%;list-style:none;margin:0;padding:0}
.gl__list a{display:block;padding:6px 0;font:400 17px/24px var(--font-text);color:var(--ink);text-decoration:none}
.gl__list a:hover{color:var(--cobalt)}
.gl__all{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin-top:2px;font:500 15px/20px var(--font-text);color:var(--cobalt);text-decoration:none}
.gl__all:hover{color:var(--cobalt-strong)}
.gask-sec{padding-top:0}
@media (min-width:641px){.gletters{columns:2}.gabc{grid-template-columns:repeat(14,minmax(0,1fr))}}
@media (min-width:1025px){.ghead__grid{grid-template-columns:minmax(0,1fr) 480px;gap:var(--space-8);align-items:start}.gcat__grid{grid-template-columns:300px minmax(0,1fr);gap:var(--space-8)}.gside{align-self:start;position:sticky;top:var(--space-6);gap:var(--space-6);padding:var(--space-5);border-radius:var(--radius-l);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.gabc{grid-template-columns:repeat(6,minmax(0,1fr))}.gletters{columns:3}.xjoin{grid-template-columns:minmax(0,1fr) auto;padding:var(--space-8)}}
@media (max-width:640px){.gsearch .btn{display:none}.gtopics{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scrollbar-width:none}.gtopics .chip{flex:none}.gabc{display:flex;overflow-x:auto;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scrollbar-width:none}.gabc a,.gabc span{flex:none;width:40px}.gl{padding:var(--space-4)}.gl__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-3)}.gl__list a{font-size:16px;line-height:22px}.gletters{margin-bottom:calc(var(--space-5)*-1)}.xjoin{padding:var(--space-6) var(--space-5);border-radius:var(--radius-l);border-bottom-left-radius:var(--radius-tail)}.xjoin__btn{width:100%}}
.gl__list a{hyphens:auto;overflow-wrap:break-word}
@media (max-width:640px){.gl{gap:var(--space-1);margin-bottom:var(--space-3)}.gl__l{width:40px;height:40px;font-size:20px;border-radius:14px 14px 14px 4px}.gl:nth-child(3n/**/+2) .gl__l{border-radius:14px 14px 4px 14px}.gl__list a{padding:5px 0}.gl__all{min-height:36px}}
.thead__in{gap:var(--space-4)}
.thead .tags a{text-decoration:none}
.thead__alt{margin:-4px 0 0;font-size:15px;line-height:22px;color:var(--ink-muted)}
.tdef{display:grid;gap:var(--space-2);max-width:760px;margin-top:var(--space-3);padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-tail);background:var(--cobalt-soft)}
.tdef__l{display:inline-flex;align-items:center;gap:6px;margin:0;font:600 13px/16px var(--font-text);letter-spacing:1px;text-transform:uppercase;color:var(--cobalt-strong)}
.tdef__t{margin:0;font:500 clamp(1.1875rem,1.05rem + .5vw,1.4375rem)/1.45 var(--font-text);color:var(--ink)}
.tform{display:grid;gap:var(--space-3);list-style:none;margin:var(--space-2) 0 0;padding:0}
.tform__it{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:var(--space-4);row-gap:2px;align-items:center;padding:var(--space-4) var(--space-5);border-radius:var(--radius-l);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.tform__n{grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:14px 14px 14px 4px;font:600 18px/1 var(--font-display);background:var(--cobalt-soft);color:var(--cobalt-strong)}
.tform__it--2 .tform__n,.tform__it--4 .tform__n{background:var(--orange-soft);color:var(--orange-text);border-radius:14px 14px 4px 14px}
.tform__it b{font:600 20px/28px var(--font-display);color:var(--ink)}
.tform__it span:last-child{font-size:15px;line-height:22px;color:var(--ink-secondary)}
.tex{display:grid;gap:var(--space-4)}
.tex__case{display:grid;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-l);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.tex__sit{display:inline-flex;align-items:center;gap:6px;margin:0;font:600 15px/20px var(--font-text);color:var(--ink)}
.tex__sit .icon{color:var(--cobalt)}
.tex__row{display:grid;gap:6px;justify-items:start}
.tex__row--ok{justify-items:end}
.tex__row .bubble{margin:0;max-width:88%;font-size:16px;line-height:24px}
.tex__bad{background:var(--milk);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-secondary);text-decoration:line-through;text-decoration-color:var(--ink-muted)}
.tlist{display:grid;gap:var(--space-3);list-style:none;margin:0;padding:0}
.prose .tlist li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-3);align-items:start;margin:0;padding:0}
.tlist .icon{display:block;box-sizing:content-box;padding:6px;border-radius:50%;background:var(--success-soft,var(--cobalt-soft));color:var(--success)}
.tmis{display:grid;gap:var(--space-3);list-style:none;margin:0;padding:0}
.prose .tmis li{display:grid;gap:4px;margin:0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-m);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.prose .tmis p{margin:0;font-size:16px;line-height:24px;color:var(--ink-secondary)}
.prose .tmis .tmis__q{font:600 17px/24px var(--font-text);color:var(--ink)}
.trel .section-head{margin-bottom:var(--space-6)}
.trel__list{display:grid;gap:var(--space-4);list-style:none;margin:0;padding:0}
.trel__card{display:grid;gap:var(--space-2);align-content:start;height:100%;box-sizing:border-box;padding:var(--space-5);border-radius:var(--radius-l);background:var(--milk);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:var(--ink)}
.trel__card:hover{box-shadow:inset 0 0 0 1.5px var(--cobalt)}
.trel__card b{font:600 20px/28px var(--font-display)}
.trel__d{font-size:15px;line-height:22px;color:var(--ink-secondary)}
.tnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line)}
.tnav__a{display:grid;gap:4px;padding:var(--space-3) 0;text-decoration:none;color:var(--ink)}
.tnav__a .caption{display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted)}
.tnav__a b{font:600 20px/28px var(--font-display)}
.tnav__a:hover b{color:var(--cobalt)}
.tnav__a--next{justify-items:end;text-align:right}
@media (min-width:641px){.trel__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1025px){.trel__list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.tdef{padding:var(--space-5)}.tform__it{padding:var(--space-4);column-gap:var(--space-3)}.tform__it b{font-size:18px;line-height:26px}.tex__case{padding:var(--space-4)}.tex__row .bubble{max-width:94%}.tnav__a b{font-size:17px;line-height:24px}}
.prose .tlist li::before,.prose .tmis li::before,.prose .tform li::before{display:none;content:none}
