.text-page-shell{margin-inline:auto;max-width:var(--content-max-width);padding-inline:42px}.text-page-header{background:radial-gradient(ellipse at 85% 30%,var(--color-primary-soft),transparent 60%),var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.text-page-hero{align-items:center;display:grid;gap:48px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);padding-block:54px}.text-page-hero h1{font-size:clamp(2rem,3.3vw,3.5rem);letter-spacing:-0.04em;line-height:1.12;margin-bottom:24px;text-wrap:balance}.text-page-hero:not(:has(.text-page-illustration)){grid-template-columns:minmax(0,1fr)}.text-page-hero:not(:has(.text-page-illustration))>div{max-width:900px}.text-page-date{color:var(--color-muted);margin-bottom:0}.text-page-description{font-size:1.2rem;line-height:1.6;margin-bottom:24px;max-width:38rem}.text-page-date b{color:var(--color-heading);font-weight:600}.text-page-illustration{height:auto;max-height:270px;object-fit:contain;mix-blend-mode:multiply;width:100%}.text-page-layout{align-items:start;display:grid;gap:24px 64px;grid-auto-columns:minmax(320px,0.45fr);grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;padding-block:48px 80px}.text-page-body,.text-page-sidebar{min-width:0}.text-page-body{grid-column:1;grid-row:1 / span 2;max-width:900px}.text-page-sidebar{grid-column:2}.text-page-content{font-size:1.1rem;line-height:1.8;overflow-wrap:anywhere}.text-page-content h2{font-size:1.9rem;letter-spacing:-0.03em;margin-block:2.5rem 1.1rem;text-wrap:balance}.text-page-content h3{font-size:1.4rem;letter-spacing:-0.02em;margin-block:1.8rem 0.8rem}.text-page-content h4{font-size:1.2rem;margin-top:1.5rem}.text-page-content p{margin-bottom:1.3rem}.text-page-content li{margin-bottom:0.75rem}.text-page-content li>p:last-child{margin-bottom:0}.text-page-content ul,.text-page-content ol{padding-inline-start:1.6rem}.text-page-content a{text-underline-offset:0.18em}.text-page a:focus-visible,.text-page-table-scroll:focus-visible,.text-page-content summary:focus-visible,.text-page-content .button-link:focus-visible{outline:3px solid rgba(8,120,255,0.4);outline-offset:4px}.text-page-content img{border-radius:var(--radius-small);display:block;height:auto;margin:1.5rem auto}.text-page-content img:not(.drop-shadow,.alert img){box-shadow:var(--shadow-soft)}.text-page-content .drop-shadow{filter:drop-shadow(0 12px 12px rgba(29,70,126,0.14))}.text-page-content figure{margin:2rem auto}.text-page-content figcaption{color:var(--color-muted);font-size:0.9rem;line-height:1.6;text-align:center}.text-page-media-small{width:25%}.text-page-media-medium{width:50%}.text-page-media-large{width:75%}.text-page-gallery{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-block:2rem}.text-page-gallery figure{margin:0}.text-page-gallery img{max-height:360px;width:auto}.text-page-content .alert{display:block;font-size:1rem;line-height:1.7}.text-page-content .alert>:last-child{margin-bottom:0}.text-page-content details{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-small);margin-block:1.5rem;padding:18px 22px}.text-page-content summary{color:var(--color-heading);cursor:pointer;font-weight:600}.text-page-content details[open]>summary{margin-bottom:1rem}.code-block,.text-page-content pre{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-small)}.code-block{margin-block:1.5rem;overflow:hidden;position:relative}.code-copy-button{background:var(--color-surface-subtle);color:var(--color-primary-hover);font-size:0.875rem;padding:6px 12px;position:absolute;right:8px;top:6px;z-index:1}.code-copy-button:hover{background:var(--color-primary-soft)}.text-page-content pre{color:var(--color-heading);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:0.875rem;line-height:1.6;max-width:100%;overflow-x:auto;padding:20px;scrollbar-color:var(--color-muted) transparent;scrollbar-width:thin;tab-size:4}.code-block pre{background:transparent;border:0;border-radius:0;margin:0}.text-page-content pre code,.text-page-content pre code.hljs{background:transparent;color:var(--color-heading);font:inherit;overflow:visible;padding:0}.text-page-content .hljs-keyword,.text-page-content .hljs-literal,.text-page-content .hljs-doctag,.text-page-content .hljs-selector-class,.text-page-content .hljs-selector-id,.text-page-content .hljs-selector-tag{color:#7052b1;font-weight:600}.text-page-content .hljs-title,.text-page-content .hljs-built_in{color:#075bb8;font-weight:600}.text-page-content .hljs-string,.text-page-content .hljs-regexp{color:var(--color-success)}.text-page-content .hljs-number{color:#8f4a12}.text-page-content .hljs-variable,.text-page-content .hljs-template-variable,.text-page-content .hljs-operator,.text-page-content .hljs-punctuation{color:var(--color-text)}.text-page-content .hljs-comment{color:#697b96}.text-page-content :not(pre)>code,.text-page-content samp{color:var(--color-heading);font-size:0.9em}.text-page-table-scroll{margin-block:2rem;overflow-x:auto}.text-page-content table{border-collapse:collapse;font-size:0.95rem;line-height:1.6;width:100%}.text-page-content th,.text-page-content td{border-bottom:1px solid var(--color-border);min-width:9rem;padding:14px;text-align:start;vertical-align:top}.text-page-content th{background:var(--color-primary-soft);color:var(--color-heading)}.text-page-content tbody tr:nth-child(even){background:var(--color-surface-subtle)}.text-page-content blockquote{border-inline-start:3px solid var(--color-primary);margin:2rem 0;padding:12px 24px}.text-page-quote-attribution{color:var(--color-muted);font-size:0.9rem}.text-page-intro{font-size:1.2em}.text-page-emphasis{font-weight:700}.text-page-status-success{color:var(--color-success)}.text-page-status-danger{color:var(--color-danger)}.text-page-content .fas{margin-inline-end:0.4em}.text-page-navigation{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:18px;padding:24px}.text-page-navigation h2{font-size:1.25rem;margin-bottom:18px}.text-page-navigation li{margin-block:12px}.text-page-content .form-field{margin-block:24px}.text-page-content progress{accent-color:var(--color-primary);width:100%}.text-page-content .button-link{background:none;border:0;color:var(--color-primary-hover);cursor:pointer;padding:0;text-align:start;text-decoration:underline}.text-page-content .button.disabled{opacity:0.5;pointer-events:none}.guide-action{display:flex;margin-block:1.5rem 1rem;width:100%}@media (max-width:991.98px){.text-page-shell{padding-inline:26px}.text-page-layout{align-items:stretch;display:flex;flex-direction:column;gap:40px}.text-page-body{margin-inline:auto;max-width:800px;width:100%}}@media (max-width:767.98px){.text-page-shell{padding-inline:18px}.text-page-hero{gap:28px;grid-template-columns:minmax(0,1fr);padding-block:32px}.text-page-hero h1{margin-bottom:18px}.text-page-illustration{max-height:185px}.text-page-layout{padding-block:28px 48px}.text-page-content{font-size:1.05rem}.text-page-content h2{font-size:1.65rem}.text-page-media-small{width:50%}.text-page-media-medium,.text-page-media-large{width:100%}}.article-toc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;margin:0;padding:22px}.article-toc summary{color:var(--color-heading);cursor:pointer;font-weight:700}.article-toc ol{list-style:none;margin:16px 0 0;max-height:18rem;overflow-y:auto;padding:0}.article-toc a{border-inline-start:3px solid transparent;color:var(--color-text);display:block;font-size:0.9rem;line-height:1.5;padding:10px 12px;text-decoration:none}.article-toc a:hover,.article-toc a[aria-current="location"]{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-heading)}.text-page .url-cta{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:20px;margin-bottom:36px;padding:28px}.text-page .url-cta h2{font-size:1.55rem;letter-spacing:-0.025em;margin-bottom:20px;text-wrap:balance}.text-page-body>.url-cta{margin-block:40px 0}.text-page .url-field .button-primary{min-width:auto;padding-inline:18px}.text-page .url-field-note{font-size:0.875rem;margin-top:12px}.text-page-sidebar .url-cta{margin:0;padding:24px}.text-page-sidebar .url-cta h2{font-size:1.35rem}.text-page-sidebar .url-field{display:grid;gap:12px}.text-page-sidebar .url-field-input{width:100%}.article-related{background:var(--color-surface-subtle);border-top:1px solid var(--color-border);padding-block:48px 64px}.article-related h2{font-size:2rem;letter-spacing:-0.03em;margin-bottom:28px}.article-related-grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.article-related-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-soft);overflow:hidden}.article-related-card>img{background:var(--color-surface);display:block;height:180px;object-fit:contain;padding:20px;width:100%}.article-related-card>div{padding:20px}.article-related-card h3{font-size:1.15rem;line-height:1.45;margin-bottom:10px}.article-related-card a{color:var(--color-heading);text-decoration:none}.article-related-card a:hover{color:var(--color-primary-hover);text-decoration:underline}.article-related-card p,.article-author>p{font-size:0.9rem;line-height:1.7;margin:0}.article-author{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:18px;margin:0;padding:24px}.url-cta + .article-author{margin-top:24px}.article-author header{align-items:center;display:flex;gap:14px;margin-bottom:18px}.article-author img{border-radius:50%;height:64px;object-fit:cover;width:64px}.article-author header p{color:var(--color-muted);font-size:0.8rem;margin-bottom:4px}.article-author h2{font-size:1.1rem;margin:0}.guide-choice{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;cursor:pointer;margin-block:1rem;padding:24px;position:relative}.guide-choice:has(input:enabled):hover{border-color:var(--color-primary);box-shadow:var(--shadow-soft)}.guide-choice:has(input:checked){background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.guide-choice:has(input:checked)::after{border:solid var(--color-primary);border-width:0 2px 2px 0;content:"";height:13px;pointer-events:none;position:absolute;right:26px;top:28px;transform:rotate(45deg);width:7px}.guide-choice-title{color:var(--color-heading);display:block;font-weight:700;line-height:1.5;padding-inline-end:24px}.guide-choice>div{font-size:1rem;line-height:1.7;margin-top:12px}.guide-choice>div>:last-child{margin-bottom:0}.guide-choice input{cursor:inherit;height:100%;inset:0;margin:0;opacity:0;position:absolute;width:100%;z-index:1}.guide-choice:has(input:disabled){cursor:default}.guide-leave-dialog{border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-raised);color:var(--color-text);max-width:min(560px,calc(100% - 36px));padding:32px}.guide-leave-dialog::backdrop{background:rgba(16,34,74,0.45)}.guide-leave-dialog h2{font-size:1.5rem;margin-bottom:18px}.guide-choices{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-block:2rem}.guide-choices>.guide-choice{margin-block:0}.article-toc summary:focus-visible,.guide-choice:has(input:focus-visible){outline:3px solid rgba(8,120,255,0.4);outline-offset:4px}@media (min-width:992px){.guide-mobile-notice{display:none!important}.article-toc{grid-column:2;grid-row:1;position:sticky;top:calc(var(--navbar-height) + 16px);z-index:1}.article-toc ol{max-height:min(18rem,calc(100dvh - var(--navbar-height) - 120px))}}@media (max-width:991.98px){.text-page-sidebar .url-cta{display:none}.text-page-sidebar .article-author{margin:0}.article-related-grid{gap:20px}}@media (max-width:767.98px){.text-page .url-cta{border-radius:16px;padding:22px 18px}.article-related-grid{grid-template-columns:minmax(0,1fr)}.guide-choices{grid-template-columns:minmax(0,1fr)}}