:root{color-scheme:light;--site-accent:#2563eb;--accent:var(--site-accent);--accent-content:#fff;--link:#2563eb;--focus:var(--link);--ink:#18202b;--muted:#586474;--line:#d8dee6;--control-border:#7c8798;--canvas:#fff;--panel:#f7f8fa;--success:#187044;--success-bg:#edf7f0;--warning:#8a4b0f;--warning-bg:#fff7e8;--error:#b42318;--error-bg:#fff0ef;--info:#1d4ed8;--info-bg:#eff5ff;--video:#d92d20;--font-brand:"Outfit", var(--font-ui);--font-brand-weight:100;--action-gap:var(--space-2);--field-gap:var(--space-6);--font-ui:-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius:2px;--sidebar-width:224px;--rail-width:48px;--page-gutter:36px;--layout-gap:var(--space-8);--article-image-width:100%;--article-image-gap:var(--space-6);--hero-media-width:100%;--hero-media-height:160px;--hero-title-size:22px;--color-base-100:var(--canvas);--color-base-200:var(--panel);--color-base-300:var(--line);--color-base-content:var(--ink);--color-primary:var(--accent);--color-primary-content:var(--accent-content);--color-secondary:var(--ink);--color-secondary-content:#fff;--color-accent:var(--accent);--color-accent-content:var(--accent-content);--color-neutral:var(--ink);--color-neutral-content:#fff;--color-success:var(--success);--color-success-content:#fff;--color-warning:var(--warning);--color-warning-content:#fff;--color-error:var(--error);--color-error-content:#fff;--color-info:var(--info);--color-info-content:#fff;--radius-selector:2px;--radius-field:2px;--radius-box:2px;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}[data-surface=public]{--body-size:18px;--body-leading:1.9}[data-surface=admin]{--body-size:14px;--body-leading:1.65}@media (width<640px){[data-surface=public]{--body-size:17px}}@media (width<1200px){:root{--page-gutter:24px}}@media (width<640px){:root{--page-gutter:16px}}@media (width>=768px){:root{--article-image-width:50%;--hero-media-width:32%;--hero-media-height:180px;--hero-title-size:24px}}@media (width>=1024px){:root{--article-image-width:40%;--hero-media-width:28%;--hero-media-height:208px;--hero-title-size:26px}}[data-surface=public]{color-scheme:light;--canvas:#f8fbfc;--ink:#192d36;--muted:#3a4b54;--line:#cfdee3;--site-accent:#074f63;--accent:var(--site-accent);--accent-content:#fff;--link:var(--site-accent);--focus:var(--link);--panel:#e6eff2;--code-panel:var(--panel);--info-bg:var(--panel);--layout-gap:var(--space-6);--section-space:var(--space-6);--grid-gap:var(--space-6);--headline-font:var(--font-ui);--headline-weight:700;--color-base-100:var(--canvas);--color-base-200:var(--panel);--color-base-content:var(--ink);--color-primary:var(--accent);--color-primary-content:var(--accent-content);--color-secondary:var(--ink);--color-secondary-content:var(--canvas);--color-accent:var(--accent);--color-accent-content:var(--accent-content);--color-neutral:var(--ink);--color-neutral-content:var(--canvas)}[data-surface=public][data-theme=dark]{color-scheme:dark;--canvas:#0e171b;--ink:#eef7f8;--muted:#b9cdd1;--line:#5b747d;--site-accent:#8bd4e5;--accent-content:#092129;--panel:#17272d;--code-panel:#17272d;--error:#ffb4a8}@media (prefers-color-scheme:dark){[data-surface=public][data-theme=system]{color-scheme:dark;--canvas:#0e171b;--ink:#eef7f8;--muted:#b9cdd1;--line:#5b747d;--site-accent:#8bd4e5;--accent-content:#092129;--panel:#17272d;--code-panel:#17272d;--error:#ffb4a8}}*{box-sizing:border-box}html,body{color:var(--ink);background:var(--canvas);font-family:var(--font-ui);margin:0}body{flex-direction:column;min-height:100dvh;display:flex}a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:4px}.public-header{z-index:2;padding:20px var(--page-gutter) var(--space-4);border-bottom:1px solid var(--line);view-transition-name:public-header;position:relative}.public-header-top{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.public-identity{align-items:baseline;gap:var(--space-4);flex:1;min-width:auto;display:flex}.public-icon-definitions{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.public-theme-switcher{flex:none;margin-left:auto;position:relative}.public-theme-menu-trigger,.public-theme-choice{border-radius:var(--radius);width:40px;height:40px;color:var(--muted);font:inherit;cursor:pointer;place-items:center;padding:0;display:grid}.public-theme-menu-trigger{border:1px solid var(--line);background:0 0}.public-theme-choice{background:0 0;border:0}.public-theme-menu-trigger:hover{background:var(--panel);color:var(--ink)}.public-theme-choice:hover{background:var(--canvas);color:var(--ink)}.public-theme-menu-trigger[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.public-theme-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:18px;height:18px;display:block}[data-current-theme] .public-theme-icon{display:none}[data-current-theme=light] .public-theme-icon--light,[data-current-theme=dark] .public-theme-icon--dark,[data-current-theme=system] .public-theme-icon--system{display:block}.public-theme-menu{z-index:15;top:calc(100% + var(--space-2));border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:4px;display:flex;position:absolute;right:0}.public-theme-menu[hidden]{display:none}.public-theme-choice[aria-checked=true]{background:var(--accent);color:var(--accent-content)}.public-theme-menu-trigger:focus-visible,.public-theme-choice:focus-visible,.public-category-menu>summary:focus-visible,.public-category-menu-panel a:focus-visible{z-index:1;outline:2px solid var(--focus);outline-offset:2px;position:relative}.public-category-menu{flex:none;position:relative}.public-category-menu>summary{border:1px solid var(--line);border-radius:var(--radius);width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;place-items:center;padding:0;list-style:none;display:grid}.public-category-menu>summary::-webkit-details-marker{display:none}.public-category-menu>summary svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.6px;width:18px;height:18px}.public-category-menu[open]>summary{border-color:var(--ink);background:var(--ink);color:var(--canvas)}.public-header .public-category-menu-panel{z-index:15;top:calc(100% + var(--space-2));width:min(440px, calc(100vw - (2 * var(--page-gutter))));border:1px solid var(--line);background:var(--line);color:var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;display:grid;position:absolute;right:0;box-shadow:0 18px 50px #11242c24}.public-category-menu-panel a{min-height:48px;padding:var(--space-3) var(--space-4);background:var(--canvas);color:var(--ink);align-items:center;font-size:13px;text-decoration:none;display:flex}.public-category-menu-panel a:hover,.public-category-menu-panel a:focus-visible{background:var(--info-bg);color:var(--link)}.public-brand{width:fit-content;font-family:var(--font-brand);font-size:clamp(24px,2.2vw,32px);font-weight:var(--font-brand-weight);align-items:baseline;gap:10px;line-height:1;text-decoration:none;display:flex}.public-tagline{color:var(--muted);letter-spacing:.08em;margin:0;font-size:x-small}.public-footer nav{align-items:center;gap:var(--space-2);color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.public-footer nav a{width:40px;height:40px;color:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.public-footer nav a:hover{color:var(--accent)}.public-footer nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.public-footer-row{display:contents}.public-footer nav a.public-footer-feed{color:var(--accent)}.public-footer nav a.public-footer-about,.public-footer nav a.public-footer-contact{width:auto;padding:0 var(--space-1);text-underline-offset:3px;text-decoration:underline}.public-footer-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:20px;height:20px}.public-footer-divider{width:1px;height:20px;margin:0 var(--space-2);background:var(--line);align-self:center}.public-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.public-main{padding:28px var(--page-gutter) var(--space-12);flex-grow:1}.feature-story{gap:var(--space-3);padding-top:var(--space-3);padding-bottom:var(--space-12);display:grid}.story-meta{color:var(--accent);letter-spacing:.08em;margin:0;font-size:10px;font-weight:700}.public-card .story-meta,.feature-story .story-meta{gap:var(--space-2);margin-top:var(--space-2);color:var(--muted);font-weight:600;display:flex}.feature-story>div{flex-direction:column;display:flex}.feature-story>div>.story-meta{padding-top:var(--space-2);margin-top:auto}.feature-story h1{font-size:var(--hero-title-size);font-weight:var(--headline-weight);letter-spacing:-.025em;margin:0;margin-block:var(--space-2);line-height:1.35}.feature-story h1 a,.public-card h3 a{text-decoration:none;transition:color .18s}.feature-story--clickable,.public-card--clickable{cursor:pointer;transition:transform .18s;position:relative}.public-card--clickable{border-top:1px solid var(--line);transition:border-top-color .18s,transform .18s}.feature-story--clickable>img,.public-card--clickable img{transition:filter .18s,transform .18s}.public-card--clickable img{pointer-events:none}.feature-story--clickable:is(:hover,:focus-within),.public-card--clickable:is(:hover,:focus-within){transform:translateY(-3px)}.public-card--clickable:is(:hover,:focus-within){border-top-color:var(--accent)}.feature-story--clickable:is(:hover,:focus-within)>img,.public-card--clickable:is(:hover,:focus-within) img{filter:contrast(1.08)saturate(1.08);transform:scale(1.035)}.feature-story--clickable:is(:hover,:focus-within) h1 a,.public-card--clickable:is(:hover,:focus-within) h3 a{color:var(--accent)}.feature-story--clickable h1 a:after,.public-card--clickable h3 a:after{content:"";position:absolute;inset:0}.feature-story--clickable h1 a:focus-visible,.public-card--clickable h3 a:focus-visible{outline:none}.feature-story--clickable h1 a:focus-visible:after,.public-card--clickable h3 a:focus-visible:after{outline:2px solid var(--focus);outline-offset:4px}.story-lead{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.public-main:has(>.public-latest--continued){padding-top:0}.public-latest--continued .public-latest-grid{isolation:isolate;position:relative}.public-latest--continued .public-latest-grid:before{z-index:1;background:var(--canvas);content:"";height:4px;position:absolute;top:-3px;left:0;right:0}.public-empty{text-align:center;place-items:center;min-height:42vh;display:grid}.public-empty h1{color:var(--muted);margin:0;font-size:20px;font-weight:500}.public-grid{gap:var(--grid-gap);grid-template-columns:1fr;display:grid}.public-grid.public-latest-grid{gap:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.public-card{padding-top:var(--space-3);border-top:1px solid var(--line)}.public-card>div{display:flow-root}:is(.public-grid,.related-list)>.public-card{grid-row:span 2;grid-template-rows:subgrid;row-gap:0;display:grid}.public-card h3{margin-block:var(--space-2);font-size:16px;line-height:1.5}.public-card .story-lead{font-size:12px}.public-card img,.feature-story>img{aspect-ratio:16/9;object-fit:cover;object-position:50% 20%;width:100%}.public-card--with-image img{float:right;width:50%;min-width:96px;margin:var(--space-1) 0 var(--space-2) var(--space-4)}.public-card img[src^="https://i.ytimg.com/"],.feature-story>img[src^="https://i.ytimg.com/"]{object-position:50% 50%}.public-card--portrait-image img{aspect-ratio:3/4;width:37%}@media (width>=768px){.public-card--portrait-image img{width:21.0938%;min-width:0}}.breadcrumbs,.collection-filters,.reader-tags,.ranking-switch{gap:var(--space-2) var(--space-4);margin-bottom:var(--space-6);color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.reader-context{align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-6);color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.reader-context .breadcrumbs{align-items:center;gap:var(--space-2);min-width:0;color:inherit;font-size:inherit;margin-bottom:0}.reader-context .breadcrumbs a{overflow-wrap:anywhere}.reader-published-at{color:var(--accent);white-space:nowrap;flex:none}.breadcrumb-chevron{flex:none;width:14px;height:14px}.breadcrumbs span:before{content:"/";margin-right:var(--space-2)}.collection-page h1,.ranking-page h1{margin:0 0 var(--space-6);font-size:clamp(30px,5vw,64px);line-height:1.1}.about-body{border-bottom:1px solid var(--line);display:grid}.about-body h2,.about-body p{margin:0}.about-body h2{padding-top:var(--space-4);border-top:1px solid var(--line);font-size:14px;line-height:1.9}.about-body p{padding:var(--space-2) 0 var(--space-4);font-size:17px;line-height:1.9}@media (width>=768px){.about-body{column-gap:var(--space-6);grid-template-columns:13em minmax(0,1fr)}.about-body h2{padding-bottom:var(--space-4);grid-column:1}.about-body p{padding-top:var(--space-4);border-top:1px solid var(--line);grid-column:2}}.about-page h1,.contact-page h1{margin:0 0 var(--space-6);font-size:clamp(30px,5vw,48px);line-height:1.1}.contact-form{gap:var(--field-gap);display:grid}.contact-form[hidden]{display:none}.contact-field{align-content:start;gap:var(--space-2);min-width:0;display:grid}.contact-field label{font-size:14px;font-weight:700}.contact-field label small{margin-left:var(--space-2);color:var(--muted);font-size:12px;font-weight:400}.contact-input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;margin:0;font-size:16px;line-height:1.7}.contact-input--line{padding:var(--space-2) 0;border:0;border-bottom:1px solid var(--control-border);border-radius:0}.contact-input--line:focus{border-bottom:2px solid var(--accent);outline:none;padding-bottom:7px}.contact-input--box{min-height:13em;padding:var(--space-2);border:1px solid var(--control-border);border-radius:var(--radius);resize:vertical}.contact-input--box:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:-2px}.contact-input[aria-invalid=true]{border-color:var(--error)}.contact-limit{justify-content:space-between;gap:var(--space-3);color:var(--muted);margin:0;font-size:12px;display:flex}.contact-field-error,.contact-form-error{color:var(--error);margin:0;font-size:13px;font-weight:700}.contact-field-error:before,.contact-form-error:before{content:"!";width:16px;height:16px;margin-right:var(--space-2);border-radius:var(--radius);vertical-align:1px;border:1.5px solid;place-items:center;font-size:11px;line-height:1;display:inline-grid}.contact-actions{justify-items:start;gap:var(--space-3);display:grid}.contact-turnstile:empty{display:none}.contact-send{min-width:200px;min-height:50px;padding:0 var(--space-6);border:2px solid var(--accent);border-radius:var(--radius);color:var(--accent);font:inherit;cursor:pointer;background:0 0;font-size:15px;font-weight:700;transition:background-color .13s,color .13s}.contact-send:hover:enabled{background:var(--accent);color:var(--accent-content)}.contact-send:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.contact-send:disabled{border-color:var(--line);color:var(--muted);cursor:not-allowed}.contact-done{margin:0;font-size:18px;font-weight:700}.contact-done:focus{outline:none}.contact-done:before{content:"";width:10px;height:18px;margin-right:var(--space-3);border:solid var(--accent);border-width:0 3px 3px 0;display:inline-block;transform:rotate(45deg)translateY(-3px)}.collection-page--category h1{font-size:clamp(30px,5vw,48px)}.collection-filters .selected,.ranking-switch .selected{color:var(--ink);font-weight:700;text-decoration-thickness:2px}.collection-empty,.ranking-note{color:var(--muted)}.ranking-list{gap:var(--space-8);margin:var(--space-8) 0 0;padding:0;list-style:none;display:grid}.ranking-item{gap:var(--space-4);grid-template-columns:48px minmax(0,1fr);align-items:start;display:grid}.ranking-item:before{color:var(--accent);content:attr(data-rank);font-size:28px;font-weight:700;line-height:1}.ranking-item .public-card{min-width:0}@media (width>=768px){.ranking-item .public-card--with-image img{width:min(50%,21.3333em)}.ranking-item .public-card--portrait-image img{width:min(21.0938%,9em)}}.reader-sources,.reader-tags,.reader-share,.related-articles{clear:both;margin-top:var(--space-8)}.reader-reference-grid{clear:both;gap:var(--space-12);margin-top:var(--space-8);padding-left:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.reader-reference-grid>.reader-sources,.reader-reference-grid>.reader-tags{min-width:0;margin-top:0}.reader-sources{align-items:start;gap:var(--space-4);grid-template-columns:max-content minmax(0,1fr);display:grid}.reader-sources>h2{margin:0;font-size:13px}.reader-source-links{word-break:break-all;justify-self:start;justify-items:start;gap:var(--space-2);text-align:left;min-width:0;margin:0;padding:0;list-style:none;display:inline}.reader-sources ul li{margin-right:1rem;display:inline}.reader-sources a{overflow-wrap:anywhere}.reader-share{background:0 0;padding:0}.reader-share-icon-definitions{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.reader-share-grid{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));margin-inline:auto;display:grid}.reader-share-action{justify-content:flex-start;align-items:center;gap:var(--space-2);width:100%;min-width:0;min-height:50px;padding:0 var(--space-3);border:2px solid var(--accent);border-radius:var(--radius);color:var(--accent);font:inherit;cursor:pointer;background:0 0;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .13s,color .13s,transform .13s;display:flex}.reader-share-action:hover{background:var(--accent);color:var(--accent-content)}.reader-share-action:active{transform:translateY(1px)}.reader-share-action:focus-visible{z-index:1;outline:3px solid var(--focus);outline-offset:3px;position:relative}.reader-share-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:18px;height:18px}.reader-share-action .reader-share-service-icon{fill:currentColor;stroke:none}.reader-share-external-icon{margin-left:auto}.related-list{row-gap:var(--layout-gap);column-gap:var(--space-12);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.error-code{color:var(--accent);font-family:var(--font-brand);margin:0;font-size:64px;font-weight:100}.feature-story>img{height:var(--hero-media-height)}.reader-article h1{letter-spacing:-.04em;margin:0;font-size:clamp(34px,4.2vw,48px);line-height:1.12}.reader-ai-summary{margin:var(--space-6) 0 var(--space-4);padding:var(--space-4) var(--space-6);border:1px solid var(--line)}.reader-ai-summary h2{margin:0 0 var(--space-2);color:var(--accent);letter-spacing:.1em;font-size:11px;font-weight:700}.reader-summary{color:var(--muted);font-size:20px;line-height:1.7}.reader-summary>:first-child{margin-top:0}.reader-summary>:last-child{margin-bottom:0}.reader-summary ul{gap:var(--space-2);margin:0;padding-inline-start:1.4em;display:grid}.article-body{width:100%;font-size:var(--body-size);line-height:var(--body-leading);display:flow-root}.article-body .article-note{clear:both;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--panel);margin:1em 0 1.4em;font-size:.85em;line-height:1.8}.article-body .article-note>p{margin:0}.article-body .article-note>p+p{margin-top:.6em}.article-body .article-related-ref{clear:both;padding:var(--space-3) var(--space-4);border-left:3px solid var(--accent);background:var(--panel);margin:1em 0 1.4em}.article-related-ref-meta{gap:var(--space-2);letter-spacing:.08em;flex-wrap:wrap;align-items:center;margin:0;font-size:10px;font-weight:700;display:flex}.article-related-ref-label{color:var(--accent)}.article-related-ref-date,.article-related-ref-category{color:var(--muted)}.article-related-ref-meta svg{width:12px;height:12px;color:var(--muted);fill:none;stroke:currentColor;stroke-width:2px;flex:none}.article-related-ref-title{margin:var(--space-2) 0 0;font-size:16px;font-weight:700;line-height:1.5}.article-related-ref-title a{color:var(--ink);text-decoration:none}.article-related-ref-title a:hover{color:var(--accent)}.article-related-ref-lead{margin:var(--space-2) 0 0;color:var(--muted);font-size:12px;line-height:1.8}.article-code-block{clear:both;border-left:4px solid var(--accent);background:var(--code-panel);tab-size:2;margin:30px 0 32px;padding:30px 28px 24px;font:500 14px/1.9 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:relative;overflow-x:auto}.article-code-block code{white-space:pre;min-width:max-content;display:block}.article-code-block code:before{color:var(--muted);content:"CODE";letter-spacing:.12em;font-size:11px;font-weight:600;position:absolute;top:8px;right:12px}.article-code-block code:is(.language-bash,.language-sh,.language-shell,.language-zsh):before{content:"SHELL"}.article-code-line{min-height:1.9em;display:block}.article-code-block code:is(.language-bash,.language-sh,.language-shell,.language-zsh) .article-code-line:before{width:24px;color:var(--accent);content:"$";user-select:none;display:inline-block}.article-image-group{margin:var(--space-6) 0 var(--space-8);display:flow-root}.article-image-group>:last-child{margin-bottom:0}.article-image-strip{gap:var(--space-4);margin:var(--space-6) 0 var(--space-8);grid-template-columns:minmax(0,1fr);display:grid}.article-image{width:100%;margin:0 0 24px}.article-image-strip>.article-image{margin:0}.article-image img{width:100%;height:auto;display:block}.article-image figcaption{margin-top:var(--space-2);color:var(--muted);font-size:12px}.social-embed{clear:both;width:100%;margin:var(--space-6) 0 var(--space-8)}.social-embed-youtube iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.social-embed>blockquote{margin-inline:auto}.public-footer{justify-content:space-between;align-items:flex-end;gap:var(--space-8);padding:var(--space-8) var(--page-gutter);background:var(--panel);display:flex}.public-brand-icon{--brand-icon-size:32px;width:var(--brand-icon-size);height:var(--brand-icon-size);transform:translateY(calc(var(--brand-icon-size) / 2 - .5cap));margin-top:calc(.5cap - var(--brand-icon-size) / 2);flex:none}.public-footer .public-brand{gap:var(--space-2);font-size:medium}.public-footer .public-brand-icon{--brand-icon-size:20px}.public-footer nav{justify-content:flex-end}@media (width>=768px){.public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-story--with-image{grid-template-columns:var(--hero-media-width) 1fr;gap:var(--space-6)}}@media (width<1100px){.reader-share-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=768px){.article-image-group>.article-image{float:left;width:fit-content;max-width:40%;margin:.35em var(--space-8) var(--space-4) 0}.article-image-group>.article-image img{width:auto;max-width:100%;max-height:21em}.article-image-group>.article-image figcaption{contain:inline-size}.article-image-group>.article-image+*{margin-top:0}.article-image-strip{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}@media (width<1024px){.related-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1600px){.public-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=2200px){.public-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<768px){.public-header .public-brand-icon{--brand-icon-size:28px}.public-header .public-tagline{display:none}.feature-story>img{height:160px}.contact-actions{justify-items:stretch}.contact-send{width:100%}.reader-ai-summary{margin-right:calc(-1 * var(--page-gutter));margin-bottom:var(--space-6);margin-left:calc(-1 * var(--page-gutter));padding-right:var(--page-gutter);padding-left:var(--page-gutter);background-color:var(--panel);border:0}.reader-ai-summary h2{margin-bottom:var(--space-3)}.reader-summary{color:var(--ink);font-size:16px}.reader-summary ul{gap:var(--space-3);padding-inline-start:0;list-style-type:none}.reader-summary li:before{content:"";background-color:var(--accent);vertical-align:.22em;width:.32em;height:.32em;margin-right:.45em;display:inline-block}.public-card--with-image:not(.public-card--portrait-image) img{float:none;aspect-ratio:2;width:100%;margin:0 0 var(--space-3)}.public-header{padding-top:var(--space-4)}.public-header .public-category-menu-panel{top:64px;right:var(--page-gutter);left:var(--page-gutter);width:auto;max-height:calc(100dvh - 80px);position:fixed;overflow:auto}.reader-reference-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.public-footer{flex-direction:column;align-items:flex-start}.public-footer nav{justify-content:flex-start;align-items:flex-start;gap:var(--space-1);flex-direction:column}.public-footer-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.public-footer nav a.public-footer-about,.public-footer nav a.public-footer-contact{padding:0}}@media (width<680px){.reader-share-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-share-action{gap:4px;padding-inline:6px;font-size:11px}.reader-share-external-icon{display:none}}@media (width<640px){.public-header-top{gap:var(--space-4)}.article-code-block{padding-inline:18px;font-size:13px}.related-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.feature-story--clickable,.public-card--clickable,.feature-story--clickable>img,.public-card--clickable img,.feature-story h1 a,.public-card h3 a{transition:none}}::view-transition-old(root){animation:.12s ease-out both public-page-fade-out}::view-transition-new(root){animation:.32s cubic-bezier(.2,.7,.2,1) 60ms both public-page-rise-in}::view-transition-group(public-header){animation:none}@keyframes public-page-fade-out{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes public-page-rise-in{0%{opacity:0;transform:translateY(24px)}}.pagination{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--section-space);flex-wrap:wrap;display:flex}.pagination-numbers{display:contents}.pagination-link{min-width:48px;min-height:48px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);place-items:center;text-decoration:none;display:inline-grid}.pagination-link:hover{border-color:var(--ink)}.pagination-link[aria-current=page]{border-color:var(--ink);background-color:var(--ink);color:var(--canvas);font-weight:600}.pagination-step{min-width:96px;font-weight:600}.pagination-gap{color:var(--muted)}@media (width<768px){.pagination{grid-template-columns:1fr 1fr;display:grid}.pagination-prev{grid-area:1/1}.pagination-next{grid-area:1/2}.pagination-numbers{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}}.related-ranking{clear:both;gap:var(--space-12);margin-top:var(--space-8);grid-template-columns:minmax(0,1fr);display:grid}.related-ranking>.related-articles{margin-top:0}.article-ranking[hidden]{display:none}.article-ranking h2 small{margin-left:var(--space-2);color:var(--muted);font-size:12px;font-weight:400}.article-ranking-list{counter-reset:article-ranking;margin:0;padding:0;list-style:none}.article-ranking-list li{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line);counter-increment:article-ranking;grid-template-columns:36px minmax(0,1fr);display:grid}.article-ranking-list li:before{color:var(--accent);content:counter(article-ranking);font-size:22px;font-weight:700;line-height:1.1}.article-ranking-list a{color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;text-decoration:none}.article-ranking-list a:hover{color:var(--accent)}.article-ranking-meta{color:var(--muted);margin-top:2px;font-size:10px;font-weight:400;display:block}.article-ranking-more{margin-top:var(--space-6);font-size:13px;display:inline-block}@media (width>=1024px){.related-ranking:has(>.article-ranking:not([hidden])){grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.related-ranking:has(>.article-ranking:not([hidden])) .related-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.reader-source-line{align-items:start;gap:var(--space-4);margin:var(--space-6) 0 0;padding-left:var(--space-4);grid-template-columns:72px minmax(0,1fr);font-size:14px;line-height:1.7;display:grid}.reader-source-heading{color:var(--muted);font-size:14px;font-weight:400}.reader-source-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.reader-source-entry{align-items:baseline;column-gap:var(--space-3);row-gap:var(--space-1);border-left:3px solid var(--accent);padding-left:var(--space-4);flex-wrap:wrap;display:flex}.reader-source-title{overflow-wrap:anywhere;font-weight:600}.reader-source-line a{color:var(--link);text-underline-offset:3px;overflow-wrap:anywhere}.reader-source-line a:hover{color:var(--link);text-decoration-thickness:2px}.reader-source-line a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (width<760px){.reader-source-line{gap:var(--space-3);grid-template-columns:56px minmax(0,1fr)}}
