:root{--bg:#faf9f6;--text:#262420;--muted:#67635b;--accent:#2f6390;--accent-strong:#244d70;--line:#e3e0d8;--code-bg:#f2f0ea;--surface:#fffefb;--surface-hover:#f6f4ef;--surface-accent:var(--surface);--accent-wash:color-mix(in srgb, var(--accent) 12%, #fff);--scrim:#0006;--measure:42.5rem;--space-1:.4rem;--space-2:.8rem;--space-3:1.2rem;--space-4:1.6rem;--space-5:2.4rem;--space-6:3.2rem;--radius:6px;--radius-lg:12px;--shadow-card:0 1px 2px #0000000a;--shadow-card-hover:0 2px 8px #0000000f;--serif:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--cite-panel-width:26rem;--cite-material:#8a5a12}@media (prefers-color-scheme:dark){:root{--bg:#17191d;--text:#e4e1da;--muted:#a4a099;--accent:#8ab4d8;--accent-strong:#aecde8;--line:#34373d;--code-bg:#22252b;--surface:#1e2026;--surface-hover:#23262e;--surface-accent:color-mix(in srgb, var(--accent) 7%, var(--surface));--accent-wash:color-mix(in srgb, var(--accent) 14%, var(--surface));--scrim:#0000008c;--cite-material:#c99a5a}}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);line-break:strict;overflow-wrap:break-word;scroll-padding-top:8rem;font-family:system-ui,-apple-system,Hiragino Sans,Hiragino Kaku Gothic ProN,BIZ UDPGothic,Yu Gothic UI,Meiryo,Noto Sans JP,sans-serif}body{margin:0;font-size:17px;line-height:1.9}main{max-width:var(--measure);padding:0 1.25rem var(--space-6);margin:0 auto}a{color:var(--accent);text-underline-offset:.2em;text-decoration:underline 1px;text-decoration-color:color-mix(in oklab, currentColor 45%, transparent)}a:hover,a:focus-visible{color:var(--accent-strong);text-decoration-color:currentColor}.skip-link{z-index:100;background:var(--bg);color:var(--accent);border:1px solid var(--line);border-radius:var(--radius);text-underline-offset:.2em;padding:.5rem .9rem;text-decoration:underline;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{outline:2px solid var(--accent);outline-offset:1px;transform:translateY(0)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1{letter-spacing:.02em;margin:2.2rem 0 1rem;font-size:1.7rem;font-weight:600;line-height:1.4}h2{letter-spacing:.02em;margin:var(--space-6) 0 var(--space-3);font-size:1.25rem;font-weight:600;line-height:1.45}h3{margin:var(--space-5) 0 var(--space-2);font-size:1.08rem;font-weight:600;line-height:1.5}h1,h2,h3,.masthead-lead,.article-list .title{font-feature-settings:"palt" 1;word-break:auto-phrase}p{margin:1.7em 0}ul,ol{padding-left:1.6em}.news-item{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line)}.news-item:first-of-type{margin-top:var(--space-4);border-top:none;padding-top:0}.news-date{color:var(--muted);margin:.3rem 0 0;font-size:.9rem}li{margin:.3em 0}hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}blockquote{border-left:2px solid var(--line);color:var(--muted);margin:1.5em 0;padding:0 0 0 1em}.profile-social{gap:var(--space-2);max-width:22rem;margin:var(--space-4) 0 var(--space-5);display:flex}.profile-social a{border:1px solid var(--line);border-radius:var(--radius);min-width:0;color:var(--muted);flex:1 1 0;justify-content:center;align-items:center;gap:.5em;padding:.44rem .7rem;font-size:.9rem;line-height:1;text-decoration:none;transition:color .2s,border-color .2s;display:inline-flex}.profile-social a:hover,.profile-social a:focus-visible{color:var(--accent);border-color:var(--accent)}.profile-social svg{fill:currentColor;flex-shrink:0;width:auto;height:1.05em}.profile-social .sns-bluesky{height:1em}.profile-social .sns-mixi2{height:.94em}@media (width<=400px){.profile-social a{gap:.4em;padding-left:.45rem;padding-right:.45rem}}img{max-width:100%;height:auto}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}:not(pre)>code{background:var(--code-bg);border-radius:var(--radius);padding:.1em .35em}pre{border-radius:var(--radius);padding:1em 1.2em;font-size:.86rem;line-height:1.6;overflow-x:auto}pre code{font-size:1em}pre.astro-code{background-color:var(--code-bg)!important}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important}}.site-header{z-index:30;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:min(64rem,100% - 2.5rem);margin:0 auto;padding:.9rem 1.25rem;display:flex}.site-header .site-title{color:var(--text);white-space:nowrap;font-size:1rem;font-weight:600;text-decoration:none}.site-brand{align-items:center;gap:var(--space-2);min-width:0;display:flex}.site-language-switch{color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:.15rem;font-size:.8rem;line-height:1.3;display:inline-flex}.site-language-switch a{color:var(--muted);text-underline-offset:.25em;justify-content:center;align-items:center;min-width:24px;padding:.5em .15em;text-decoration:underline 1px;display:inline-flex}.site-language-switch a:hover,.site-language-switch a:focus-visible{color:var(--accent)}.site-language-current{color:var(--text);padding:.5em .15em;font-weight:600}.site-language-separator{color:var(--line)}.site-header nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1.15rem;font-size:1rem;display:flex}.site-header nav a{color:var(--text);white-space:nowrap;padding:.35rem 0;text-decoration:none}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--accent)}.site-header nav a[aria-current=page]{color:var(--text);text-underline-offset:.35em;font-weight:600;text-decoration:underline from-font}.site-header .site-title[aria-current=page]{color:var(--text)}.site-menu-button{width:44px;min-height:44px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:none}@media (width<=800px){.site-header .inner{flex-wrap:nowrap;gap:.625rem;padding:.9rem 1rem}.site-header nav{display:none}.site-header .site-title{white-space:normal;min-width:0}html[lang=en] .site-header .site-title{font-size:.92rem;line-height:1.4}html[lang=en] .site-header .site-title .site-title-tail{white-space:nowrap;display:block}.site-brand{flex-wrap:wrap;flex:auto;gap:0 .375rem}.site-language-switch{margin-left:auto}.site-language-switch a,.site-language-current{padding:.4em .1em}.site-language-switch a{min-height:44px}.site-menu-button{display:inline-flex}}.site-menu{border:0;border-left:1px solid var(--line);background:var(--bg);width:min(20rem,82vw);max-width:82vw;height:100dvh;max-height:100dvh;color:var(--text);margin:0;padding:0;position:fixed;inset:0 0 0 auto}.site-menu::backdrop{background:#0006}.site-menu-inner{flex-direction:column;height:100%;display:flex}.site-menu-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;display:flex}.site-menu-title{color:var(--text);font-size:1rem;font-weight:600}.site-menu-close{min-height:44px;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;white-space:nowrap;padding:.65em 1.3em;font-size:1rem;line-height:1.3}.site-menu-nav{flex-direction:column;display:flex}.site-menu-sep{border:0;height:0;margin:.55rem 0 0}.site-menu-group summary{min-height:44px;color:var(--text);border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;padding:.6rem 1rem;font-size:1rem;list-style:none;display:flex}.site-menu-group summary::-webkit-details-marker{display:none}.site-menu-group-toggle:before{content:"+";color:var(--muted);font-size:1.3rem;line-height:1}.site-menu-group[open] .site-menu-group-toggle:before{content:"−"}.site-menu-nav .site-menu-group a{padding-left:2.4rem}.site-menu-nav a{min-height:44px;color:var(--text);border-bottom:1px solid var(--line);align-items:center;padding:.6rem 1rem;font-size:1rem;text-decoration:none;display:flex}.site-menu-nav a[aria-current=page]{box-shadow:inset 3px 0 0 0 var(--accent);font-weight:600}@media (hover:hover) and (pointer:fine){.site-menu-nav a:hover{color:var(--accent)}.site-menu-button:hover,.site-menu-close:hover{background:var(--surface-hover)}}@media (prefers-reduced-motion:no-preference){.site-menu[open]{animation:.18s ease-out site-menu-in}}@keyframes site-menu-in{0%{transform:translate(100%)}to{transform:translate(0)}}.lang-banner{justify-content:space-between;align-items:baseline;gap:.1rem var(--space-3);max-width:min(64rem,100% - 2.5rem);color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;margin:0 auto;padding:.5rem 1.25rem;font-size:.85rem;line-height:1.7;display:flex}.lang-banner p{margin:0}.lang-banner-actions{align-items:baseline;gap:var(--space-3);white-space:nowrap;display:flex}.lang-banner button{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:.2em;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:0;font-size:.85rem;line-height:1.8}.site-footer .inner{max-width:min(var(--measure), 100% - 2.5rem);padding:var(--space-4) 1.25rem var(--space-5);margin:0 auto}.site-footer nav{column-gap:1.1rem;row-gap:var(--space-1);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.site-footer a{color:var(--muted)}.site-footer p{margin:.5em 0}.list-controls{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.list-filter-row{align-items:center;gap:var(--space-3);flex-wrap:nowrap;margin:0;display:flex}.list-tabs-plan{gap:.85rem}.list-tabs{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;flex:auto;gap:1.1rem;min-width:0;display:flex;overflow-x:auto}.list-tabs::-webkit-scrollbar{display:none}.list-tabs button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.45rem .4rem .5rem;font-size:.92rem;line-height:1.3}.list-tabs button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--accent)}@media (hover:hover) and (pointer:fine){.list-tabs button:hover{color:var(--text)}}@media (width<=640px){.list-tabs button{min-height:44px}}.list-empty{color:var(--muted);margin:var(--space-4) 0 var(--space-5)}.article-list{margin:var(--space-2) 0 var(--space-5);padding:0;list-style:none}.card-meta{margin:0 0 var(--space-2);flex-wrap:wrap;align-items:baseline;gap:.25rem .7em;font-size:.82rem;line-height:1.4;display:flex}.card-cat{color:var(--text);font-weight:600}.card-plan{color:var(--muted)}.card-sample{color:var(--accent)}.card-recommended{margin:0 0 var(--space-2);background:var(--accent-wash);color:var(--accent-strong);border-radius:var(--radius);letter-spacing:.02em;padding:.12em .55em;font-size:.78rem;font-weight:600;display:inline-block}.article-list li{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:background .25s var(--ease-out), border-color .25s var(--ease-out), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);position:relative}.article-list li[data-recommended]{background:var(--surface-accent);border-color:color-mix(in srgb, var(--accent) 24%, var(--line))}.article-list li:focus-within{background:var(--surface-hover);border-color:var(--line);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}@media (hover:hover) and (pointer:fine){.article-list li:hover{background:var(--surface-hover);border-color:var(--line);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}}.article-list .title{margin:0;font-size:1.2rem;font-weight:600;line-height:1.65}.article-list .title a{color:var(--accent);text-decoration:none}.article-list .title a:after{content:"";position:absolute;inset:0}.article-list .title a:focus-visible{color:var(--accent-strong);text-underline-offset:.18em;text-decoration:underline from-font}@media (hover:hover) and (pointer:fine){.article-list li:hover .title a{color:var(--accent-strong);text-underline-offset:.18em;text-decoration:underline from-font}}.article-list .excerpt{margin:var(--space-2) 0 0;color:var(--text);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.95rem;line-height:1.75;display:-webkit-box;overflow:hidden}.article-list .byline{color:var(--muted);letter-spacing:.02em;margin:var(--space-3) 0 0;flex-wrap:wrap;align-items:baseline;gap:.35rem .6em;font-size:.76rem;display:flex}.article-list .byline .byline-date{font-family:var(--mono)}.article-list .byline-item{border:1px solid var(--line);border-radius:var(--radius);padding:.05em .5em}.article-list .reading-resume{z-index:1;color:var(--accent);font-family:var(--mono);letter-spacing:.02em;white-space:nowrap;font-size:.76rem;position:relative}.fade-item{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transition-delay:calc(var(--stagger,0) * 70ms);transform:translateY(12px)}.fade-item.is-visible{opacity:1;transform:none}.masthead{margin:var(--space-6) 0 var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--line)}.masthead-lead{letter-spacing:.02em;margin:0 0 var(--space-3);font-size:1.75rem;font-weight:600;line-height:1.45}.masthead p:not(.masthead-lead){margin:var(--space-3) 0 0}.home-recap{margin:var(--space-4) 0 var(--space-5);color:var(--muted);font-size:.92rem}.home-recap-part{display:inline-block}.home-sample{margin:var(--space-3) 0 0}.home-plans{border-top:1px solid var(--line);margin-top:var(--space-6);padding-top:var(--space-4);color:var(--text)}.toc{margin:var(--space-3) 0 0;font-size:.9rem}.toc>summary{color:var(--muted);cursor:pointer}.toc>summary:hover,.toc>summary:focus-visible{color:var(--accent)}.toc[open]>summary{margin-bottom:.6rem}.toc ul{border-left:1px solid var(--line);margin:0;padding:0 0 0 .9rem;list-style:none}.toc li{margin:.25em 0}.toc a{color:var(--muted);text-decoration:none}.toc a:hover,.toc a:focus-visible{color:var(--accent)}.toc-group{color:var(--muted);margin-top:.7em;font-size:.86rem}.article-lede{margin:var(--space-5) 0 var(--space-4)}.article-title{margin:var(--space-2) 0 0}article[data-article-slug]>:first-child{margin-top:0}.article-meta{color:var(--muted);letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:.35rem .85rem;margin:0;font-size:.8rem;display:flex}.article-meta .byline-date{font-family:var(--mono)}.article-lang-switch{margin:var(--space-1) 0 0;font-size:.9rem}.article-prereq{color:var(--muted);margin:var(--space-3) 0 0;font-size:.9rem}.article-end{border-top:1px solid var(--line);margin-top:var(--space-6);padding-top:var(--space-4);font-size:.95rem}.article-end .rel-block{margin-top:var(--space-5)}.article-end .rel-block:first-child{margin-top:0}.article-end p{margin:.4em 0}.rel-title{color:var(--muted)}.dependents-nav ul{margin:.35em 0;padding:0;list-style:none}.dependents-nav li{margin:.25em 0}.related-list{margin:.5rem 0 0;padding:0;list-style:none}.related-list li{margin:1.1rem 0 0}.related-head{margin:0}.related-title-link{color:var(--accent);text-decoration:none}.related-title-link:after{content:"";position:absolute;inset:0}.related-title-link:hover,.related-title-link:focus-visible{color:var(--accent-strong);text-underline-offset:.18em;text-decoration:underline from-font}.related-label{color:var(--muted);letter-spacing:.02em;border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;margin-left:.9em;padding:.1em .55em;font-size:.78rem}.related-quote{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.article-save{flex-wrap:wrap;align-items:baseline;gap:.5rem 1.4rem;margin:0;display:flex}.article-like{margin:0}.bookmark-toggle,.like-toggle{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em;background:0 0;border:0;padding:0;font-size:.9rem}.bookmark-toggle:hover,.bookmark-toggle:focus-visible,.like-toggle:hover,.like-toggle:focus-visible{color:var(--accent);text-decoration-color:currentColor}.like-toggle[aria-pressed=true]{color:var(--accent)}.comments{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line)}.comments-heading{margin:0 0 var(--space-2);font-size:1.25rem}.comments-intro{color:var(--muted);margin:0 0 var(--space-4);font-size:.92rem}.comments-list{margin:0 0 var(--space-4)}.comment-item{padding:0 0 var(--space-3);border-bottom:1px solid var(--line);margin:0}.comment-item+.comment-item{padding-top:var(--space-3)}.comment-item:last-child{border-bottom:0;padding-bottom:0}.comment-meta{flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;margin:0 0 .35rem;font-size:.85rem;display:flex}.comment-name{color:var(--text);font-weight:600}.comment-date{color:var(--muted)}.comment-owner-mark{color:var(--muted);letter-spacing:.02em;border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;padding:.1em .55em;font-size:.78rem}.comment-body{white-space:pre-wrap;margin:0;line-height:1.85}.comments-empty{color:var(--muted);margin:0}.comment-hidden-note{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.comment-name-missing{color:var(--muted);margin:var(--space-5) 0 0;font-size:.92rem}.comment-form{margin:var(--space-5) 0 0}.comment-name-field{margin:0 0 var(--space-3)}.comment-name-field label,.comment-body-label{color:var(--muted);margin-bottom:.35rem;font-size:.92rem;display:block}.comment-name-input{box-sizing:border-box;border:1px solid var(--muted);border-radius:var(--radius);background:var(--bg);width:100%;max-width:20rem;color:var(--text);padding:.5em .7em;font-size:1rem}.comment-name-note{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.comment-name-current{color:var(--muted);margin:0 0 var(--space-3);font-size:.9rem}.comment-body-input{box-sizing:border-box;border:1px solid var(--muted);border-radius:var(--radius);background:var(--bg);width:100%;min-height:2.75rem;color:var(--text);resize:none;transition:border-color .2s var(--ease-out);padding:.6em .8em;font-family:inherit;font-size:1rem;line-height:1.7}.comment-body-input:focus-visible{border-color:var(--accent);outline:none}.comment-form-foot{align-items:center;gap:var(--space-3);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.comment-remaining{color:var(--muted);font-size:.85rem}.comment-status{color:var(--muted);margin:var(--space-2) 0 0;font-size:.9rem}.comment-status:empty{display:none}.comment-queue{margin:var(--space-3) 0 0;padding:0;list-style:none}.comment-queue-item{padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.comment-queue-item:last-child{border-bottom:0}.comment-queue-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin:0 0 .35rem;font-size:.85rem;display:flex}.comment-queue-name{color:var(--text)}.comment-queue-status{color:var(--muted)}.comment-queue-status[data-status=hidden]{color:var(--text)}.comment-queue-body{margin:0 0 var(--space-2);white-space:pre-wrap}.comment-queue-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0;display:flex}.plan-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);margin:var(--space-5) 0 0;flex-direction:column;display:flex}.plan-card:first-of-type{margin-top:var(--space-5)}.plan-card h2{margin:0;font-size:1.25rem}.plan-card p{margin:0 0 var(--space-3)}.plan-card p:last-child{margin-bottom:0}.plan-price{color:var(--text);letter-spacing:.01em;margin:var(--space-2) 0 var(--space-3);font-size:1.2rem;font-weight:600}.plan-action{padding-top:var(--space-3);border-top:1px solid var(--line);margin-top:auto}p.plan-yearly{margin:var(--space-3) 0 0;color:var(--muted);font-size:.92rem}.plan-current{color:var(--text);margin:0;font-weight:600}.plan-manage{margin:var(--space-2) 0 0;color:var(--muted);font-size:.92rem}.plan{border-top:1px solid var(--line);margin-top:var(--space-5);padding-top:var(--space-3)}.plan-card+.plan{margin-top:var(--space-6)}.plan h2{margin-top:0}.plan h3{color:var(--muted);margin:var(--space-4) 0 .5rem;font-size:1rem}.plan-articles{margin:.5rem 0 0;padding:0;list-style:none}.plan-articles li{margin:.7em 0}.plan-article-date{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;gap:.6em;margin-left:.9em;font-size:.78rem;display:inline-flex}.plan-article-price{color:var(--muted);margin:.2rem 0 0;font-size:.9rem}.plan-samples{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);margin:var(--space-5) 0 0}.plan-samples h2{margin:0;font-size:1.15rem}.plan-samples>p{margin:var(--space-2) 0 var(--space-3)}.sample-list{margin:0;padding:0;list-style:none}.sample-list li{margin:var(--space-4) 0 0;padding-top:var(--space-4);border-top:1px solid var(--line);flex-direction:column;gap:.4rem;display:flex}.sample-list li:first-child{margin-top:var(--space-3);border-top:0;padding-top:0}.sample-plan-label{color:var(--muted);letter-spacing:.02em;border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;align-self:flex-start;padding:.1em .55em;font-size:.78rem}.sample-list li>a{color:var(--accent);font-feature-settings:"palt" 1;word-break:auto-phrase;font-size:1.05rem;font-weight:600;line-height:1.6;text-decoration:none}.account-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);margin:var(--space-4) 0 0}.account-summary dl{margin:0}.account-summary-row{flex-wrap:wrap;gap:.1rem 1rem;margin:.55rem 0;display:flex}.account-summary-row:first-child{margin-top:0}.account-summary-row:last-child{margin-bottom:0}.account-summary-row dt{color:var(--muted);flex:0 0 8rem}.account-summary-row dd{flex:12rem;margin:0}.account-mono{font-family:var(--mono);letter-spacing:.01em}.account-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);margin:var(--space-5) 0 0}.account-group>h2{margin:0 0 var(--space-2)}.account-group h2{margin-top:0}.account-group h3{margin:var(--space-4) 0 .5rem;font-size:1rem}.account-op{align-items:flex-start;gap:var(--space-1);margin:var(--space-5) 0 0;padding-top:var(--space-3);border-top:1px solid var(--line);flex-direction:column;display:flex}.account-op-desc{color:var(--muted);font-size:.92rem}.account-error{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1.2rem}.text-button{color:var(--muted);font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em;background:0 0;border:0;padding:0}.text-button:hover,.text-button:focus-visible{color:var(--accent);text-decoration-color:currentColor}.chat{margin-top:0}.site-title-group{flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;min-width:0;display:flex}.site-title-divider{color:var(--muted)}.site-screen-name{letter-spacing:0;color:var(--text);white-space:nowrap;margin:0;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.4}body:has(.chat-pane){height:100dvh;height:var(--app-viewport-height,100dvh);top:var(--app-viewport-offset,0px);flex-direction:column;display:flex;position:relative;overflow:hidden}body:has(.chat-pane) .site-header{flex:none}body:has(.chat-pane) main{flex-direction:column;flex:auto;width:100%;max-width:100vw;min-height:0;padding:0;display:flex}.chat-pane{width:100%;min-height:0;max-width:var(--measure);flex-direction:column;flex:auto;margin:0 auto;padding:0 1.25rem;display:flex}.chat-layout{flex-direction:column;flex:auto;min-height:0;display:flex}.chat-subbar{color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line);white-space:nowrap;align-items:center;gap:.8rem;padding:.25rem 1.25rem;font-size:.85rem;display:flex}.chat-subbar-chip{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;max-width:100%;height:44px;color:var(--muted);line-height:44px;font:inherit;text-overflow:ellipsis;white-space:nowrap;text-align:left;cursor:pointer;flex:0 auto;padding:0 .75rem;overflow:hidden}.chat-subbar-chip:focus-visible{border-color:var(--accent);color:var(--text)}@media (hover:hover) and (pointer:fine){.chat-subbar-chip:hover{border-color:var(--accent);color:var(--text)}}.chat-subbar-back{min-height:44px;color:var(--muted);text-underline-offset:.2em;white-space:nowrap;flex:none;align-items:center;text-decoration:underline;display:inline-flex}@media (width>=1200px){.chat-subbar{display:none}}@media (width<=1199.98px){body:has(.chat-subbar) .site-header-app{border-bottom:0}}@media (width>=1200px){.chat-layout[data-article-mode=on]{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(620px,1fr) minmax(480px,1fr);align-items:stretch;display:grid}.chat-layout[data-article-mode=on] .chat-pane{max-width:none;margin:0}}@media (width>=1520px){.chat-layout[data-article-mode=on]{grid-template-columns:minmax(620px,.9fr) minmax(520px,1fr)}}.article-pane{background:var(--bg);color:var(--text);box-sizing:border-box;border:0;padding:0}@media (width>=1200px){.article-pane{border-right:1px solid var(--line);border-radius:0;flex-direction:column;width:auto;max-width:none;height:auto;min-height:0;max-height:none;margin:0;animation:none;display:flex;position:static;inset:auto;overflow:hidden}}@media (width<=1199.98px){.article-pane{border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:100%;max-height:85dvh;animation:cite-slide-up .28s var(--ease-out);flex-direction:column;margin:0;position:fixed;inset:auto 0 0}.article-pane[open]{display:flex}.article-pane::backdrop{background:var(--scrim)}}@media (prefers-reduced-motion:reduce){.article-pane{animation:cite-fade .15s var(--ease-out)}}.article-pane-head{border-bottom:1px solid var(--line);justify-content:flex-end;align-items:center;min-height:44px;padding:.3rem 1rem;display:none}@media (width<=1199.98px){.article-pane-head{display:flex}}.article-pane-close{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;min-height:44px;padding:0 .4rem;font-size:.85rem;text-decoration:underline}.article-pane-close:hover,.article-pane-close:focus-visible{color:var(--text)}.article-pane-body{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:var(--space-4) 1.25rem var(--space-6);flex:auto;overflow-y:auto}.article-pane-body>*{max-width:var(--measure)}.article-pane-title{margin:0 0 var(--space-3);font-size:1.4rem;line-height:1.4}.article-pane .is-flash{animation:cite-flash .9s var(--ease-out);border-radius:var(--radius)}@media (prefers-reduced-motion:reduce){.article-pane .is-flash{background:var(--surface-hover);animation:none}}.chat-scroll{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;flex-direction:column;flex:auto;min-height:0;padding:0 .65rem;display:flex;overflow-y:auto}.chat-scroll .chat-empty{margin:var(--space-5) 0 auto}@media (width<=480px){.chat-pane{padding:0 1rem}.chat-scroll .chat-empty{margin:var(--space-4) 0 auto}.chat-composer{padding:.55rem .65rem .3rem}}.chat-thread{gap:var(--space-4);margin:var(--space-3) 0;flex-direction:column;display:flex}.chat-thread:empty{margin:0}.chat-empty-lead{color:var(--muted);margin:0 0 var(--space-3);font-size:.92rem}.chat-suggest-head{color:var(--muted);margin:0 0 var(--space-2);font-size:.85rem}.chat-suggestions{gap:var(--space-2);flex-direction:column;display:flex}.chat-followups{flex-direction:column;gap:.5rem;margin-top:.4rem;display:flex}.chat-followups .chat-suggest-head{margin:0}.chat-followups .chat-suggestion{padding:.5rem .8rem;font-size:.9rem}@media (width<=640px){.chat-suggestion{padding:.55rem .8rem;font-size:.9rem}}.chat-suggestion{text-align:left;border:1px solid var(--muted);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:.65rem .9rem;font-family:inherit;font-size:.95rem;line-height:1.7}.chat-suggestion:focus-visible{border-color:var(--muted);background:var(--surface-hover)}@media (hover:hover) and (pointer:fine){.chat-suggestion:hover{border-color:var(--muted);background:var(--surface-hover)}}.chat-turn{flex-direction:column;display:flex}.chat-role{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-turn-reader{align-items:flex-end}.chat-turn-reader .chat-text{background:var(--surface);border-radius:var(--radius);max-width:85%;padding:.6rem .9rem;line-height:1.75}.chat-turn-assistant{align-items:stretch}.chat-text{margin:0;line-height:1.85}.chat-turn-assistant .chat-text>:first-child{margin-top:0}.chat-turn-assistant .chat-text>:last-child{margin-bottom:0}.chat-turn-assistant .chat-text p{margin:.7em 0}.chat-turn-assistant .chat-text h3,.chat-turn-assistant .chat-text h4{margin:1.1em 0 .4em;font-size:1.02rem;font-weight:600;line-height:1.5}.chat-turn-assistant .chat-text ul,.chat-turn-assistant .chat-text ol{margin:.6em 0;padding-left:1.4em}.chat-turn-assistant .chat-text li{margin:.25em 0}.chat-turn-assistant .chat-text code{font-family:var(--mono);background:var(--code-bg);border-radius:var(--radius);padding:.08em .32em;font-size:.88em}.chat-turn-assistant .chat-text pre{background:var(--code-bg);border-radius:var(--radius);margin:.7em 0;padding:.8em 1em;overflow-x:auto}.chat-turn-assistant .chat-text pre code{background:0 0;padding:0;font-size:.82rem}.chat-turn-assistant .chat-text blockquote{border-left:2px solid var(--line);color:var(--muted);margin:.7em 0;padding-left:.9em}.chat-turn-assistant .chat-text strong{font-weight:600}.chat-turn-assistant .chat-text a{color:inherit;text-underline-offset:.2em;text-decoration:underline;text-decoration-color:var(--muted)}.chat-ref{font-family:var(--mono);color:var(--muted);cursor:pointer;vertical-align:baseline;text-underline-offset:.2em;background:0 0;border:0;padding:0 .05em;font-size:.82em;text-decoration:underline}.chat-ref:hover,.chat-ref:focus-visible{color:var(--text);text-underline-offset:.2em;text-decoration:underline}.chat-ref-material,.chat-ref-material:hover,.chat-ref-material:focus-visible{color:var(--cite-material)}.chat-cite-open{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;align-self:flex-start;margin-top:.6rem;padding:0;font-size:.82rem;text-decoration:underline}.chat-cite-open:hover,.chat-cite-open:focus-visible{color:var(--accent)}.cite-panel{border:1px solid var(--line);background:var(--bg);color:var(--text);box-sizing:border-box;padding:0}@media (width>=840px){.cite-panel{height:100dvh;width:min(var(--cite-panel-width), 48vw);z-index:31;animation:cite-slide-in .28s var(--ease-out);border-top:0;border-bottom:0;border-right:0;margin:0;position:fixed;inset:0 0 0 auto}body:has(.cite-panel[open]) main,body:has(.cite-panel[open]) .site-header-app .inner{padding-right:min(var(--cite-panel-width), 48vw)}.cite-resize{cursor:col-resize;background:0 0;width:4px;transition:background .2s;position:absolute;top:0;bottom:0;left:0}.cite-resize:hover,.cite-resize:active,.cite-resize:focus-visible{background:var(--accent);outline:none}.cite-resize:after{content:"";width:14px;position:absolute;top:0;bottom:0;left:-5px}}@media (width>=840px) and (width<=1519.98px){body:has(.chat-pane:not([data-article=""])) .cite-panel{border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;z-index:auto;width:100%;max-width:100%;height:auto;max-height:80dvh;animation:cite-slide-up .28s var(--ease-out);border-bottom:0;border-left:0;border-right:0;margin:0;position:fixed;inset:auto 0 0}body:has(.chat-pane:not([data-article=""])) .cite-panel::backdrop{background:var(--scrim)}body:has(.chat-pane:not([data-article=""])) .cite-resize{display:none}body:has(.chat-pane:not([data-article=""])) .cite-panel-body{max-width:var(--measure);margin-inline:auto}body:has(.chat-pane:not([data-article=""])):has(.cite-panel[open]) main{padding-right:0}body:has(.chat-pane:not([data-article=""])):has(.cite-panel[open]) .site-header-app .inner{padding-right:1.25rem}}@media (width<=839px){.cite-resize{display:none}.cite-panel-body{max-width:var(--measure);margin-inline:auto}.cite-panel{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:100%;max-height:80dvh;animation:cite-slide-up .28s var(--ease-out);border-bottom:0;border-left:0;border-right:0;margin:0;position:fixed;inset:auto 0 0}.cite-panel::backdrop{background:var(--scrim)}}@keyframes cite-slide-in{0%{transform:translate(100%)}}@keyframes cite-slide-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.cite-panel{animation:cite-fade .15s var(--ease-out)}}@keyframes cite-fade{0%{opacity:0}}.cite-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:calc(4.4rem + 1px);padding:.9rem 1.1rem;display:flex}.cite-panel-title{color:var(--muted);margin:0;font-size:.92rem}.cite-panel-close{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.cite-panel-close:hover,.cite-panel-close:focus-visible{color:var(--text)}.cite-card a{color:inherit;text-underline-offset:.2em;text-decoration:underline;text-decoration-color:var(--muted)}.cite-card a:hover,.cite-card a:focus-visible{text-decoration-color:var(--text)}.cite-panel-body{max-height:calc(100dvh - 3.4rem);padding:.5rem 1.1rem 1.1rem;overflow-y:auto}@media (width<=839px){.cite-panel-body{max-height:calc(80dvh - 3.4rem)}}.cite-group+.cite-group{margin-top:var(--space-4)}.cite-group-head{color:var(--muted);margin:0 0 .2rem;font-size:.8rem}.cite-group-head-material{color:var(--cite-material)}.cite-card{border-top:1px solid var(--line);border-radius:var(--radius);margin:.8rem 0 0;padding:.8rem 0 0}.cite-card:first-of-type{border-top:0;margin-top:.4rem}.cite-card.is-flash{animation:cite-flash .9s var(--ease-out)}@keyframes cite-flash{0%{background:var(--surface-hover)}}@media (prefers-reduced-motion:reduce){.cite-card.is-flash{background:var(--surface-hover);animation:none}}.cite-card-head{flex-wrap:wrap;align-items:baseline;gap:.4em;margin:0;display:flex}.cite-card-index{font-family:var(--mono);color:var(--muted);font-size:.82rem}.cite-card-index-material{color:var(--cite-material)}.cite-card-kind{color:var(--muted);white-space:nowrap;font-size:.82rem}.cite-card-section{color:var(--muted);margin:.2rem 0 0;font-size:.82rem;line-height:1.6}.cite-card-quote{color:var(--muted);margin:.35rem 0 0;font-size:.92rem;line-height:1.75}.cite-card-original-note{color:var(--muted);margin:.2rem 0 0;font-size:.82rem;line-height:1.6}.chat-thinking{color:var(--muted)}.chat-dots i{background:var(--muted);vertical-align:.15em;border-radius:50%;width:4px;height:4px;margin-left:4px;animation:1.2s infinite chat-dot;display:inline-block}.chat-dots i:nth-child(2){animation-delay:.2s}.chat-dots i:nth-child(3){animation-delay:.4s}@keyframes chat-dot{0%,60%,to{opacity:.25}30%{opacity:1}}.chat-composer{border-top:1px solid var(--line);flex:none;padding:.7rem .65rem .4rem}.chat-signals{justify-content:space-between;align-items:center;gap:.9rem;margin:0 0 .45rem;display:flex}.chat-signals-toggle span,.chat-history-link{white-space:nowrap}.chat-history-links{align-items:center;gap:.9rem;display:inline-flex}.chat-history-link{font:inherit;min-height:24px;color:var(--muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:.15rem 0;font-size:.85rem;line-height:1.6;text-decoration:underline}.chat-history-link:hover,.chat-history-link:focus-visible{color:var(--text)}.chat-history-item-article{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;display:block;overflow:hidden}.chat-history-dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(34rem,92vw);max-width:92vw;max-height:82dvh;color:var(--text);box-sizing:border-box;margin:auto;padding:0;overflow:hidden}.chat-history-dialog[open]{flex-direction:column;display:flex}.chat-history-dialog::backdrop{background:var(--scrim)}.chat-history-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.chat-history-title{color:var(--muted);margin:0;font-size:.92rem}.chat-history-close{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.chat-history-close:hover,.chat-history-close:focus-visible{color:var(--text)}.chat-history-body{flex:auto;padding:.4rem .6rem;overflow-y:auto}.chat-history-empty{margin:.6rem .5rem}.chat-history-list{margin:0;padding:0;list-style:none}.chat-history-item{border-bottom:1px solid var(--line);align-items:stretch;gap:.5rem;display:flex}.chat-history-item:last-child{border-bottom:0}.chat-history-item-open{min-width:0;font:inherit;text-align:left;color:var(--text);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;flex-direction:column;flex:auto;gap:.15rem;padding:.7rem .4rem;display:flex}.chat-history-item-open:hover,.chat-history-item-open:focus-visible{background:var(--surface-hover)}.chat-history-item-title{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;line-height:1.5;overflow:hidden}.chat-history-item-date{color:var(--muted);font-size:.8rem}.chat-history-item-delete{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;flex:none;align-self:center;padding:.4rem .5rem;font-size:.82rem;text-decoration:underline}.chat-history-item-delete:hover,.chat-history-item-delete:focus-visible{color:var(--text)}.chat-history-foot{border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 1.1rem;display:flex}.chat-history-note{margin:0;font-size:.8rem}.chat-history-clear{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:.2em;white-space:nowrap;background:0 0;border:0;flex:none;padding:.3rem 0;font-size:.82rem;text-decoration:underline}.chat-history-clear:hover,.chat-history-clear:focus-visible{color:var(--text)}.chat-signals-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;min-height:24px;padding:.15rem 0;font-size:.85rem;line-height:1.6;display:inline-flex}.chat-trial-remaining{color:var(--muted);margin:var(--space-2) 0 0;font-size:.85rem}.chat-signals-toggle input{cursor:pointer}.chat-composer-form{border:2px solid var(--accent);border-radius:var(--radius-lg);background:var(--surface);align-items:center;gap:.5rem;margin:0;padding:.35rem .45rem .35rem .9rem;display:flex}.chat-composer-form:focus-within{border-color:var(--accent-strong)}.chat-composer-form .chat-input{resize:none;min-height:2.75rem;max-height:160px;color:var(--text);background:0 0;border:0;flex:1;padding:calc(1.375rem - .85em) 0;font-family:inherit;font-size:1rem;line-height:1.7}.chat-composer-form .chat-input:focus-visible{outline:none}.chat-send{border-radius:var(--radius);flex-shrink:0;min-height:44px;padding:.4em 1em;font-size:.9rem}.chat-send:disabled{opacity:.5;cursor:default}.chat-composer .chat-status{margin:.5rem 0 0}.chat-composer .chat-status:empty{display:none}.chat-empty-foot{margin:var(--space-4) 0 0}.chat-empty-note{color:var(--muted);margin:0;font-size:.85rem;line-height:1.75}.chat-empty-note button{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;margin-left:.3em;padding:0;text-decoration:underline}.chat-empty-note button:hover,.chat-empty-note button:focus-visible{color:var(--text)}.article-ask{margin:0 0 var(--space-4)}.article-ask-lead{color:var(--muted);margin:0;font-size:.95rem}.article-ask-questions{margin:var(--space-3) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.article-ask-questions li{margin:0}.article-ask-question{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--text);padding:.6rem .9rem;font-size:.9rem;line-height:1.7;text-decoration:none;display:block}.article-ask-question:focus-visible{background:var(--surface-hover);border-color:var(--accent);color:var(--accent-strong)}@media (hover:hover) and (pointer:fine){.article-ask-question:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent-strong)}}.search-mode+.search-mode{border-top:1px solid var(--line);margin-top:var(--space-6);padding-top:var(--space-5)}.search-semantic-block[hidden]+.search-mode{border-top:0;margin-top:0;padding-top:0}.search-mode-title{margin:0 0 var(--space-2)}.search-lead{color:var(--muted);margin:var(--space-2) 0 0;font-size:.95rem}.search-form{margin:var(--space-4) 0 0}.search-label{color:var(--muted);margin-bottom:.4rem;font-size:.92rem;display:block}.search-row{flex-wrap:wrap;align-items:stretch;gap:.6rem;display:flex}.search-row .search-input-field{flex:999 min(100%,17rem)}.search-row .button{flex:none;margin-left:auto}.search-input-field{border:1px solid var(--muted);border-radius:var(--radius);background:var(--bg);min-width:0;min-height:48px;color:var(--text);flex:1;padding:.55em .75em;font-family:inherit;font-size:1rem;line-height:1.7}.search-input-field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.search-row .button{flex-shrink:0}.search-results{margin:var(--space-4) 0 0}.search-group{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);padding:var(--space-3) var(--space-4);margin-top:var(--space-4)}.search-group:first-child{margin-top:var(--space-2)}.search-group-title{flex-wrap:wrap;align-items:baseline;gap:.4rem .9em;margin:0;font-size:1.08rem;line-height:1.65;display:flex}.search-group-title a{color:var(--accent);text-decoration:none}.search-group-title a:hover,.search-group-title a:focus-visible{color:var(--accent-strong);text-underline-offset:.2em;text-decoration:underline}.search-group-count{color:var(--muted);font-variant-numeric:tabular-nums;margin:.3rem 0 0;font-size:.85rem}.search-hits{margin:.8rem 0 0;padding:0;list-style:none}.search-hit{margin:1rem 0 0}.search-hit:first-child{margin-top:0}.search-hit-heading{color:var(--muted);margin:0;font-size:.92rem}.search-hit-heading a{color:var(--accent);text-decoration:none}.search-hit-heading a:hover,.search-hit-heading a:focus-visible{color:var(--accent-strong);text-underline-offset:.2em;text-decoration:underline}.search-hit-text{margin:.3rem 0 0;font-size:.95rem;line-height:1.8}.search-notice{margin:0}.search-skeleton{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1.4rem}.search-skeleton:first-child{border-top:0;margin-top:0;padding-top:0}.search-skeleton-line{border-radius:var(--radius);background:var(--surface);height:.8rem;margin:.6rem 0;animation:1.4s ease-in-out infinite search-skeleton-pulse}.search-skeleton-title{max-width:60%;height:1.1rem}.search-skeleton-line:not(.search-skeleton-title){max-width:90%}@keyframes search-skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.search-skeleton-line{animation:none}}.search-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);padding:var(--space-3) var(--space-4);margin-top:var(--space-4)}.search-card:first-child,.search-section-label+.search-card{margin-top:var(--space-2)}.search-card-title{margin:0;font-size:1.08rem;line-height:1.65}.search-card-title a{color:var(--accent);text-decoration:none}.search-card-title a:hover,.search-card-title a:focus-visible{color:var(--accent-strong);text-underline-offset:.2em;text-decoration:underline}.search-card-desc{margin:.4rem 0 0;font-size:.95rem;line-height:1.8}.search-card-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.3rem .9em;margin:.5rem 0 0;font-size:.82rem;display:flex}.search-card-date{font-family:var(--mono);letter-spacing:.02em}.search-group-excerpt{margin:.8rem 0 0;font-size:.95rem;line-height:1.8}.search-section-label{border-top:1px solid var(--line);margin:var(--space-5) 0 0;padding-top:var(--space-4);color:var(--muted);font-size:.92rem}.series-group{border-top:1px solid var(--line);margin-top:2.4rem;padding-top:1.2rem}.series-group h2{margin-top:0}.series-episodes{margin:1rem 0;padding-left:1.6em}.series-episodes li{margin:.45em 0}.series-episode-date{color:var(--muted);font-family:var(--mono);letter-spacing:.02em;white-space:nowrap;gap:.6em;margin-left:.9em;font-size:.78rem;display:inline-flex}.series-episode-label{color:var(--muted);letter-spacing:.02em;border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;margin-left:.9em;padding:.1em .55em;font-size:.78rem}.mock-switcher{border-top:1px solid var(--line);margin-top:var(--space-6);padding-top:var(--space-3);font-size:.92rem}.mock-switcher>h2:first-child{margin-top:0}body:has(.chat-pane) .mock-switcher{z-index:40;border-top:0;max-width:14rem;margin:0;padding:0;font-size:.75rem;position:fixed;bottom:.6rem;left:.6rem}body:has(.chat-pane) .mock-switcher>h2,body:has(.chat-pane) .mock-switcher>.notice{display:none}body:has(.chat-pane) .mock-switcher details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.3rem .6rem}.review-banner{border-top:2px solid var(--accent);border-bottom:1px solid var(--line);color:var(--muted);margin:1.5rem 0 0;padding:.7rem 0;font-size:.9rem}.preview-persona{z-index:50;max-width:15rem;font-size:.82rem;line-height:1.7;position:fixed;bottom:1rem;right:1rem}.preview-persona details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.preview-persona summary{cursor:pointer;font-family:var(--mono);letter-spacing:.02em;color:var(--muted);justify-content:space-between;align-items:baseline;gap:.6em;padding:.5rem .8rem;list-style:none;display:flex}.preview-persona summary::-webkit-details-marker{display:none}.preview-persona-current{color:var(--text)}.preview-persona-body{border-top:1px solid var(--line);padding:.6rem .8rem .7rem}.preview-persona-note{color:var(--muted);margin:0 0 .5rem;font-size:.78rem;line-height:1.65}.preview-persona ul{margin:0;padding:0;list-style:none}.preview-persona li{margin:.15rem 0}.preview-persona a{color:var(--accent);text-decoration:none}.preview-persona a:hover,.preview-persona a:focus-visible{color:var(--accent-strong);text-underline-offset:.2em;text-decoration:underline}.preview-persona a.is-active{color:var(--text);font-weight:600}.preview-persona-clear{border-top:1px solid var(--line);margin:.5rem 0 0;padding-top:.45rem;font-size:.78rem}body:has(.chat-pane) .preview-persona{top:calc(var(--chat-head-bottom,3.6rem) + .4rem);bottom:auto}body:has(.chat-pane) .preview-persona details:not([open]) .preview-persona-current{display:none}@media (width<=640px){.preview-persona{max-width:calc(100vw - 1.2rem);font-size:.75rem;bottom:.6rem;right:.6rem}.preview-persona summary{padding:.35rem .6rem}body:has(.preview-persona) main:not(.main-app){padding-bottom:4.5rem}}.contact-form{max-width:34rem}.contact-field{margin:var(--space-3) 0;flex-direction:column;gap:.35rem;display:flex}.contact-field label{color:var(--muted);font-size:.92rem}.contact-field input,.contact-field select,.contact-field textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--muted);border-radius:var(--radius);padding:.5rem .6rem;font-size:1rem}.contact-field textarea{resize:vertical}.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{border-color:var(--accent);outline:none}.sample-note{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-5)}.sample-note p{color:var(--muted);margin:0;font-size:.92rem}.paid-body-start{border-top:1px solid var(--line);padding-top:var(--space-2);margin:var(--space-6) 0 var(--space-5);color:var(--muted);font-size:.92rem}.paid-boundary{border-top:1px solid var(--line);margin-top:var(--space-6);padding-top:var(--space-4)}.paid-boundary h2{margin-top:0;font-size:1.08rem}.paid-lead{margin:.6rem 0 0}.paid-volume{color:var(--muted);margin:.4rem 0 0;font-size:.92rem}.paid-entries{margin-top:var(--space-4);gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.paid-entry{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);flex-direction:column;display:flex}.paid-entry h3{margin:0;font-size:1rem}.paid-price{margin:.5rem 0 0;font-weight:600}.paid-entry-note{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.paid-entry-action{flex-wrap:wrap;align-items:center;gap:1rem;margin:auto 0 0;padding-top:.9rem;display:flex}.paid-yearly{white-space:nowrap}.paid-note{color:var(--muted);margin:1.1rem 0 0;font-size:.92rem}.button{background:var(--accent);min-height:44px;color:var(--bg);border-radius:var(--radius);white-space:nowrap;cursor:pointer;transition:background .25s var(--ease-out), transform .15s var(--ease-out);border:0;justify-content:center;align-items:center;padding:.65em 1.3em;font-size:1rem;line-height:1.3;text-decoration:none;display:inline-flex}.button:focus-visible{background:var(--accent-strong);color:var(--bg)}@media (hover:hover) and (pointer:fine){.button:hover{background:var(--accent-strong);color:var(--bg)}}.button:active{transform:scale(.98)}.form-row{margin:1.2rem 0}.form-row label{color:var(--muted);margin-bottom:.35rem;font-size:.92rem;display:block}.form-row input[type=email],.form-row input[type=text]{border:1px solid var(--muted);border-radius:var(--radius);background:var(--bg);width:100%;max-width:24rem;color:var(--text);padding:.5em .7em;font-size:1rem}.login-panel{max-width:24rem;margin:var(--space-4) 0}.login-form{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.login-panel>.button+.button{margin-top:var(--space-2)}.login-form .form-row{margin:0}.login-form .cf-turnstile{width:100%}.login-panel input[type=email],.login-panel .button{box-sizing:border-box;width:100%;max-width:none;min-height:48px}.login-panel .button{text-align:center;justify-content:center;align-items:center;display:inline-flex}.delete-account-form{gap:var(--space-2);flex-direction:column;max-width:24rem;display:flex}.delete-account-form input{box-sizing:border-box;width:100%;max-width:none;min-height:48px}.delete-account-form .button{width:100%;min-height:48px}.login-or{align-items:center;gap:var(--space-2);margin:var(--space-3) 0;color:var(--muted);font-size:.92rem;display:flex}.login-or:before,.login-or:after{content:"";background:var(--line);flex:auto;height:1px}.login-panel #login-message{margin-top:var(--space-3)}.notice{color:var(--muted);font-size:.92rem}[hidden]{display:none!important}.account-nav,.intro-nav{display:inline-block;position:relative}.account-nav-button,.intro-nav-button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:.35rem 0;display:inline-flex}.account-nav-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:.4em;height:.4em;margin-left:.35em;display:inline-block}.account-nav-caret,.intro-nav-caret{color:var(--muted);margin-left:.25em;font-size:.75em}.account-nav-menu,.intro-nav-menu{gap:var(--space-1);min-width:13rem;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);z-index:30;flex-direction:column;display:flex;position:absolute;top:calc(100% + .5rem)}.account-nav-menu{right:0}.intro-nav-menu{left:0}.account-nav-menu a,.intro-nav-menu a{text-decoration:none}.account-menu-name{color:var(--muted);line-break:strict;margin:0;font-size:.85rem}.account-menu-name-fixed{white-space:nowrap}.account-menu-name-person{overflow-wrap:anywhere}.account-menu-logout{font:inherit;color:inherit;cursor:pointer;text-align:left;text-underline-offset:.2em;background:0 0;border:0;padding:0;text-decoration:underline}.site-menu-account{margin-top:var(--space-3);border-top:1px solid var(--line);flex-direction:column;display:flex}.site-menu-account .account-menu-name{padding:.6rem 1rem 0}.site-menu-account a,.site-menu-account .account-menu-logout{min-height:44px;color:var(--text);border-bottom:1px solid var(--line);align-items:center;padding:.6rem 1rem;font-size:1rem;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.site-menu-account a:hover,.site-menu-account .account-menu-logout:hover{color:var(--accent)}}.open-beta-notice{margin:var(--space-4) 0;padding-left:var(--space-3);border-left:2px solid var(--accent)}.open-beta-notice p{margin:0}.open-beta-notice p+p{margin-top:var(--space-2)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.45em .8em .45em 0;font-weight:400}th{color:var(--muted)}@media (prefers-reduced-motion:reduce){.chat-dots i{animation:none}.fade-item{transition-property:opacity;transition-duration:.15s;transform:none}.button{transition:background .15s var(--ease-out)}.button:active{transform:none}}.article-save{border-top:0;align-items:center;gap:.6rem .8rem;margin-top:0;padding-top:0}.article-counts{color:var(--muted);white-space:nowrap;font-size:.88rem}.article-save .bookmark-toggle,.article-save .like-toggle{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:44px;color:var(--text);align-items:center;padding:.5em 1.1em;font-size:.92rem;text-decoration:none;display:inline-flex}.article-save .bookmark-toggle:focus-visible,.article-save .like-toggle:focus-visible{background:var(--surface-hover);border-color:var(--accent);color:var(--accent-strong)}@media (hover:hover) and (pointer:fine){.article-save .bookmark-toggle:hover,.article-save .like-toggle:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent-strong)}}.article-save .bookmark-toggle[aria-pressed=true],.article-save .like-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.tier-chip,.article-list .byline-item{color:var(--muted);letter-spacing:.02em;border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;padding:.1em .55em;font-size:.78rem}.related-list li{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0 0;position:relative}.related-list li:first-child{margin-top:var(--space-2)}.button:focus-visible,.list-tabs button:focus-visible,.chat-send:focus-visible,.chat-composer-form:focus-within{outline:2px solid var(--accent);outline-offset:2px}.chat-ref{position:relative}.chat-ref:after{content:"";position:absolute;inset:-.5em -.35em}.button-secondary{color:var(--text);border:1px solid var(--muted);background:0 0}.button-secondary:focus-visible{background:var(--surface-hover);color:var(--text)}@media (hover:hover) and (pointer:fine){.button-secondary:hover{background:var(--surface-hover);color:var(--text)}}.search-semantic-title{margin:0 0 var(--space-2)}.search-semantic-lead{color:var(--muted);margin:0 0 var(--space-3);font-size:.95rem}.search-row-grow{align-items:flex-end}.search-row .button{min-height:48px}.search-semantic-input{resize:none;max-height:160px;font-family:inherit;line-height:1.7;overflow-y:auto}
