.post-list{gap:1rem;max-width:48rem;display:grid}.post-card{border:2px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;gap:.5rem;padding:1.25rem 1.5rem;display:flex}.post-card:hover{border-color:var(--color-sky-edge)}.post-card-lead{border-color:var(--color-leaf-deep);background:var(--color-leaf-night);gap:.75rem;padding-block:1.75rem}.blog-empty{border:2px dashed var(--color-line);border-radius:var(--radius-lg);flex-direction:column;align-items:flex-start;gap:.75rem;max-width:48rem;padding:2.5rem 1.5rem;display:flex}.blog-empty h2{font-size:1.375rem}.related-list{max-width:48rem;display:grid}.post-row{border-block-end:2px solid var(--color-line-deep);flex-direction:column;gap:.5rem;padding-block:1.5rem;display:flex}.post-title{font-size:clamp(1.3125rem,1.1rem + .8vw,1.625rem)}.post-title a{color:var(--color-ink);text-decoration:none}.post-title a:hover{color:var(--color-sky-soft);text-decoration:underline}.post-card-lead .post-title{font-size:clamp(1.5rem,1.2rem + 1.6vw,2rem)}.post-description{color:var(--color-ink-dim)}.post-meta{color:var(--color-muted-soft);flex-wrap:wrap;gap:.25rem 0;font-size:.9375rem;display:flex}.post-meta li{padding-inline-end:.75rem}.post-meta li+li{border-inline-start:2px solid var(--color-line);padding-inline-start:.75rem}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:48rem;margin-block-start:.5rem;display:flex}.blog-nav{border-block-end:2px solid var(--color-line-deep);max-width:48rem;margin-block:1.25rem 0}.blog-tabs{scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;gap:1.5rem;display:flex;overflow-x:auto}.blog-tabs::-webkit-scrollbar{display:none}.blog-tab{min-height:2.75rem;color:var(--color-muted-soft);white-space:nowrap;scroll-snap-align:start;border-block-end:3px solid #0000;align-items:center;margin-block-end:-2px;font-size:1rem;font-weight:800;text-decoration:none;display:inline-flex}.blog-tab:hover{color:var(--color-ink)}.blog-tab-on{border-block-end-color:var(--color-leaf);color:var(--color-ink)}.blog-topics{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;max-width:48rem;margin-block:.75rem 1.75rem;display:flex}.blog-topics-label{color:var(--color-muted-soft);font-size:.9375rem}.blog-topics-row{scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;flex-wrap:nowrap;gap:.5rem;display:flex;overflow-x:auto;mask-image:linear-gradient(90deg,#000 85%,#0000 100%)}.blog-topics-row::-webkit-scrollbar{display:none}.topic-link{border:2px solid var(--color-line-deep);min-height:2.5rem;color:var(--color-ink-dim);white-space:nowrap;scroll-snap-align:start;border-radius:999px;align-items:center;gap:.5rem;padding:.25rem .875rem;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}.topic-link:hover{border-color:var(--color-sky-edge);color:var(--color-ink)}.topic-link-on{border-color:var(--color-leaf-deep);background:var(--color-leaf-night);color:var(--color-leaf-light)}.topic-link-all{color:var(--color-sky-soft);border-style:dashed}.topic-count{color:var(--color-muted-soft);font-size:.8125rem;font-weight:400}.rss-link{border:2px solid var(--color-line-deep);border-radius:var(--radius-md);width:fit-content;min-height:2.5rem;color:var(--color-muted-soft);align-items:center;gap:.5rem;padding:.25rem .875rem;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}.rss-link:hover{border-color:var(--color-flame);color:var(--color-ink)}.rss-mark{flex:none;width:1rem;height:1rem}.topic-groups{gap:1.75rem;max-width:48rem;display:grid}.topic-group{border-block-end:2px solid var(--color-line-deep);flex-direction:column;gap:.75rem;padding-block-end:1.5rem;display:flex}.topic-initial{color:var(--color-leaf-light);font-size:1.125rem}.topic-group-row{flex-wrap:wrap;overflow-x:visible;mask-image:none}@media (width>=48rem){.blog-topics-row{flex-wrap:wrap;overflow-x:visible;mask-image:none}}.block-formula,.block-image,.block-video{gap:.75rem;margin:2rem 0;display:grid}.block-formula .math-block{border:2px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-console-surface);padding:1rem 1.25rem;overflow:auto hidden}.block-formula figcaption,.block-image figcaption,.block-video figcaption,.visual figcaption{color:var(--color-muted-soft);font-size:.9375rem;line-height:1.5}.block-image img,.block-video video{border:2px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-console);width:100%;height:auto;display:block}.block-callout{border:2px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-console-surface);border-inline-start-width:6px;gap:.375rem;margin:2rem 0;padding:1rem 1.25rem;display:grid}.callout-label{color:var(--color-ink);letter-spacing:.01em;font-size:.9375rem;font-weight:900}.callout-info{border-inline-start-color:var(--color-sky)}.callout-warning{border-inline-start-color:var(--color-flame)}.callout-tip{border-inline-start-color:var(--color-leaf)}.block-faq{gap:1rem;margin-block-start:2.5rem;display:grid}.block-cta{border:2px solid var(--color-leaf-deep);border-radius:var(--radius-lg);background:var(--color-leaf-night);gap:.875rem;margin:2.5rem 0;padding:1.25rem 1.5rem;display:grid}.block-cta-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.tag-row{flex-wrap:wrap;gap:.5rem;max-width:48rem;margin-block:1.5rem;display:flex}.tag-chip{border:2px solid var(--color-line);background:var(--color-surface);color:var(--color-ink-dim);border-radius:999px;padding:.3125rem .75rem;font-size:.875rem;font-weight:700;text-decoration:none}.tag-chip:hover{border-color:var(--color-sky-edge);color:var(--color-ink)}.tag-chip-active{border-color:var(--color-leaf-deep);background:var(--color-leaf-night);color:var(--color-leaf-light)}.post-category{color:var(--color-leaf-light);font-weight:800;text-decoration:none}.post-category:hover{text-decoration:underline}.visual{gap:.75rem;margin:2rem 0;display:grid}.visual-frame{border:2px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-console-surface);padding:.75rem}.visual-svg{width:100%;height:auto;aspect-ratio:var(--vis-ratio);font-family:var(--font-sans);display:block}.visual-fallback{color:var(--color-ink-dim)}.stepper{--step-cycle:16s;--step-slot:1.4s;border:2px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 6px 0 var(--color-line-deep);flex-direction:column;gap:1rem;margin:2rem 0;padding:1.25rem 1.25rem 1.5rem;display:flex}.stepper-title{color:var(--color-ink);order:-1;font-size:1.0625rem;font-weight:900}.stepper-prompt{font-size:clamp(1.125rem,1rem + .8vw,1.5rem);overflow:auto hidden}.stepper-steps{color:var(--color-ink-dim);flex-direction:column;gap:.625rem;padding-inline-start:1rem;font-size:1.0625rem;list-style:none;display:flex;position:relative}.stepper-steps:before,.stepper-steps:after{content:"";border-radius:3px;width:3px;position:absolute;inset-block:0;inset-inline-start:0}.stepper-steps:before{background:var(--color-sky-edge)}.stepper-steps:after{background:var(--color-leaf);transform-origin:top;animation:step-rail var(--step-cycle) linear infinite both}.stepper-steps li{animation:step-in var(--step-cycle) ease-out infinite both;animation-delay:calc(var(--step) * var(--step-slot));flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.stepper-text{color:var(--color-ink-dim);font-size:.9375rem}.stepper-answer{border:2px solid var(--color-leaf-deep);border-radius:var(--radius-md);background:var(--color-leaf-night);width:fit-content;color:var(--color-leaf-light);transform-origin:0;animation:step-pop var(--step-cycle) ease-out infinite both;animation-delay:calc(var(--answer-slot,6) * var(--step-slot));flex-wrap:wrap;align-items:center;gap:.75rem;padding:.625rem 1rem;font-size:1.125rem;display:flex}.stepper-answer-label{font-size:.9375rem;font-weight:900}.visual-solver{gap:.75rem;margin:2rem 0;display:grid}.visual-solver .stepper{margin:0}.visual-svg{--vis-cycle:14s;--vis-step:.42s}.vis-pop,.vis-fade,.vis-row,.vis-drop,.vis-draw{transform-box:fill-box;transform-origin:50%;animation-duration:var(--vis-cycle);animation-delay:calc(var(--i) * var(--vis-step));animation-iteration-count:infinite;animation-fill-mode:both}.vis-pop{animation-name:vis-pop;animation-timing-function:cubic-bezier(.2,.7,.3,1)}.vis-fade{animation-name:vis-fade;animation-timing-function:ease-out}.vis-row{animation-name:vis-row;animation-timing-function:cubic-bezier(.2,.7,.3,1)}.vis-drop{animation-name:vis-drop;animation-timing-function:ease-in}.vis-draw{stroke-dasharray:var(--len,600);animation-name:vis-draw;animation-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.vis-pop,.vis-fade,.vis-row,.vis-drop,.vis-draw,.stepper-steps li,.stepper-answer{clip-path:none;opacity:1;animation-name:none;transform:none}.vis-draw{stroke-dasharray:none}.stepper-steps:after{animation-name:none;transform:scaleY(1)}.vis-drop{opacity:.22}}@keyframes vis-pop{0%{opacity:0;transform:scale(.5)}4%{opacity:1;transform:scale(1.14)}7%,92%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@keyframes vis-fade{0%{opacity:0;transform:translateY(6px)}6%,92%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)}}@keyframes vis-row{0%{opacity:0;transform:translateY(-10px)}5%,92%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}@keyframes vis-drop{0%{opacity:0;transform:scale(.5)}4%,46%{opacity:1;transform:scale(1)}56%,92%{opacity:.16;transform:translateY(26px)scale(.86)}to{opacity:0;transform:scale(.5)}}@keyframes vis-draw{0%{stroke-dashoffset:var(--len,600)}12%,92%{stroke-dashoffset:0}to{stroke-dashoffset:var(--len,600)}}@keyframes step-in{0%{clip-path:inset(0 0 100%);transform:translateY(10px)}4%{clip-path:inset(0);filter:brightness(1.3);transform:none}8%,92%{clip-path:inset(0);filter:none;transform:none}to{clip-path:inset(0 0 100%);transform:translateY(10px)}}@keyframes step-rail{0%{transform:scaleY(0)}40%,92%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes step-pop{0%{clip-path:inset(0 100% 0 0);transform:scale(.9)}3%{clip-path:inset(0);transform:scale(1.06)}6%,92%{clip-path:inset(0);transform:scale(1)}to{clip-path:inset(0 100% 0 0);transform:scale(.9)}}.article-layout{gap:2rem;display:grid}.toc{border:2px solid var(--color-line-deep);border-radius:var(--radius-md);align-self:start;padding:1rem 1.25rem}.toc-title{color:var(--color-muted-soft);margin-block-end:.25rem;font-size:1rem}.toc a{color:var(--color-ink-dim);padding-block:.375rem;font-weight:600;text-decoration:none;display:block}.toc a:hover{color:var(--color-sky-soft)}.article-body{min-width:0;font-size:1.125rem;line-height:1.7}.article-body h2{margin-block-start:1.5rem;scroll-margin-block-start:1.5rem}.article-body h3{color:var(--color-ink-soft);margin-block-start:.5rem}.article-body strong{color:var(--color-ink)}.article-body>ol{counter-reset:step;flex-direction:column;gap:.75rem;display:flex}.article-body>ol>li{counter-increment:step;padding-inline-start:2.75rem;position:relative}.article-body>ol>li:before{border:2px solid var(--color-sky-edge);background:var(--color-sky-night);width:1.875rem;height:1.875rem;color:var(--color-ink);content:counter(step);border-radius:50%;place-items:center;font-size:.9375rem;font-weight:900;display:grid;position:absolute;inset-inline-start:0}.math-block{border-inline-start:3px solid var(--color-sky-edge);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-surface);color:var(--color-ink);padding:.5rem 1.25rem;overflow:auto hidden}.article-body table{border-collapse:collapse;display:block;overflow:auto hidden}.article-body th,.article-body td{border:2px solid var(--color-line-deep);text-align:start;padding:.5rem .875rem}.article-faq{flex-direction:column;gap:1rem;display:flex}.faq-entry{flex-direction:column;gap:.25rem;display:flex}.practice{border:2px solid var(--color-leaf-deep);border-radius:var(--radius-lg);background:var(--color-leaf-night);align-items:center;gap:1.5rem;max-width:64rem;padding:1.75rem 1.5rem;display:grid}.practice-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}@media (width>=64rem){.article-layout{grid-template-columns:15rem minmax(0,46rem);gap:3rem}.toc{position:sticky;top:1.5rem}.practice{grid-template-columns:1fr auto;padding:2rem}}
