.module-catalog>header{width:100%;height:auto;display:block;border:0;margin:0 0 32px}.module-catalog h1{font-size:clamp(28px,4vw,42px);line-height:1.4;margin:0 0 18px}.module-detail .module-detail-header{width:100%;height:auto;display:block;border:0;margin:0 0 32px}.module-intro{max-width:780px;color:var(--sub);line-height:1.9;white-space:pre-line}.module-items{list-style:none;margin:0;padding:0}.module-item{display:flex;gap:24px;color:var(--ink);text-decoration:none;height:100%;min-width:0}.module-item h3{font-size:var(--text-section);line-height:1.5;margin:7px 0 12px;overflow-wrap:anywhere}.module-item:hover h3{color:var(--teal)}.module-item-content{flex:1;min-width:0}.module-item-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--sub);font-size:var(--text-small);line-height:1.7}.module-item-meta time{white-space:nowrap}.module-read{display:inline-flex;gap:10px;color:var(--teal);font-size:var(--text-small);margin-top:12px}.module-items-text>li{border-bottom:1px solid var(--line);padding:24px 0}.module-items-text .module-read{margin-top:0}.module-items-cards,.module-items-covers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.module-items-cards>li,.module-items-covers>li{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-card);padding:24px;min-width:0}.module-item-image{width:112px;aspect-ratio:4/3;background:var(--surface);display:grid;place-items:center;overflow:hidden;flex-shrink:0;color:var(--sub);font-size:var(--text-caption);text-align:center}.module-item-image img{width:100%;height:100%;object-fit:cover}.module-items-covers .module-item-image{width:110px;aspect-ratio:3/4}.module-items-covers .module-item-image img{object-fit:contain}.module-excerpt{color:var(--sub);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.8;font-size:var(--text-ui)}.module-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:30px 0}.module-filters label{display:grid;gap:6px;min-width:150px}.module-filters label:first-child{flex:1}.module-filters input,.module-filters select{margin:0}.module-detail article{max-width:880px;margin:40px auto}.module-detail h1{overflow-wrap:anywhere;font-size:clamp(28px,4vw,42px);line-height:1.4;margin:14px 0 20px}.module-detail-header{margin-bottom:32px}.module-detail-image{display:block;width:100%;max-height:580px;object-fit:contain;margin:24px 0;background:var(--surface)}.module-detail-resource .module-detail-header{display:grid;grid-template-columns:minmax(160px,260px) minmax(0,1fr);gap:40px}.module-detail-resource .module-detail-header:not(:has(img)){grid-template-columns:1fr}.module-detail-resource .module-detail-image{aspect-ratio:3/4;margin:0}.module-body{line-height:1.9;overflow-wrap:anywhere}.module-subtitle{font-size:var(--text-card);color:var(--sub)}.module-detail .comment-board{max-width:880px;margin-inline:auto}.module-detail .reading-return{display:flex;justify-content:space-between;gap:24px}.module-home .module-items{margin-top:24px}.module-template-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;padding:0;margin:16px 0 24px}.module-template-options legend{font-weight:var(--weight-strong);margin-bottom:12px}.module-template-option{padding:16px;border:1px solid var(--line);border-radius:var(--radius-card);cursor:pointer;background:var(--card)}.module-template-option:has(input:checked){border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.module-template-option input{width:auto;margin:0 8px 0 0}.module-template-option small{display:block;color:var(--sub);line-height:1.7;margin-top:10px}.module-template-sketch{display:block;height:58px;border-top:2px solid var(--line);border-bottom:2px solid var(--line);margin:12px 0;position:relative;background:repeating-linear-gradient(transparent 0 15px,var(--line) 15px 17px)}.module-template-sketch.cards:before,.module-template-sketch.covers:before,.module-template-sketch.resource:before{content:"";display:block;width:32%;height:100%;background:var(--surface);border-right:8px solid var(--card)}.module-template-sketch.covers:before{width:22%}.module-admin{max-width:1100px}.module-admin .panel{margin-block:24px}.module-admin .form-grid{align-items:start}.module-admin .module-check{display:flex;align-items:center;gap:10px}.module-admin .module-check input{width:auto;margin:0}.module-admin .module-row{display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:20px 0;flex-wrap:wrap}.module-admin .module-row>div:first-child{min-width:0;overflow-wrap:anywhere}.module-admin .module-row h2{font-size:var(--text-card);margin:0 0 8px}.module-admin .module-row p{margin:0;color:var(--sub)}.module-admin .module-row .actions{margin:0}.module-admin .module-feedback{min-height:28px}.module-admin .error:focus{outline:2px solid var(--teal)}.module-admin .module-editor textarea{resize:none}.module-admin .module-editor input[type=radio]{width:auto}.module-admin .module-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0}.module-admin .module-toolbar input{flex:1;min-width:180px;margin:0}.module-admin fieldset{min-width:0}.module-admin .button,.module-admin button{min-height:44px}.module-admin .module-delete{border-inline-start:3px solid var(--teal)}@media(max-width:760px){.module-items-cards,.module-items-covers{grid-template-columns:1fr}.module-item{gap:16px}.module-items-cards>li,.module-items-covers>li{padding:18px}.module-item-image{width:88px}.module-items-covers .module-item-image{width:80px}.module-item h3{font-size:var(--text-card)}.module-detail-resource .module-detail-header{grid-template-columns:1fr;gap:24px}.module-detail-resource .module-detail-image{max-width:220px;margin-inline:auto}.module-template-options{grid-template-columns:1fr}.module-template-sketch{height:36px}.module-admin .module-row{align-items:start}.module-filters label{min-width:120px}.module-admin .form-grid{grid-template-columns:1fr}}@media(min-width:1151px){.site-header.has-custom-nav{flex-wrap:wrap}.site-header.has-custom-nav .site-navigation{order:3;flex-basis:100%;justify-content:center;flex-wrap:wrap;padding-bottom:8px}.site-header.has-custom-nav .header-controls{margin-left:auto}}.module-articles .pub-title a{color:inherit;text-decoration:none}.module-articles .pub-title a:hover{color:var(--teal)}.module-articles .pub-citation-details:empty,.module-articles .pub-citation:empty{display:none}.module-catalog #module-results:has(.news-photo-track),.module-home:has(.news-photo-track){min-width:0}.module-template-sketch.news-carousel:before{content:"";display:block;width:60%;height:100%;background:var(--surface);border-right:8px solid var(--card)}.module-template-sketch.software:before{content:"";display:block;width:25%;height:50%;background:var(--surface)}.module-template-sketch.articles{border-left:24px solid var(--surface)}.module-items-collaboration{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.module-items-collaboration>li{min-width:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);overflow:hidden}.module-items-collaboration .module-item{flex-direction:column;gap:0}.module-items-collaboration .module-item-image{width:100%;aspect-ratio:16/10}.module-items-collaboration .module-item-image img{display:block}.module-items-collaboration .module-item-content{padding:24px;display:flex;flex-direction:column}.module-items-collaboration .module-item h3{font-size:var(--text-card);margin:10px 0}.module-items-collaboration .module-read{margin-top:auto;padding-top:16px}.module-items-collaboration .module-excerpt{margin-top:0}.module-items-collaboration .module-item-meta:empty{display:none}.module-template-sketch.collaboration:before{content:"";display:block;height:50%;background:var(--surface)}.collaboration-contact{max-width:880px;margin:48px auto;padding:28px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.collaboration-contact h2{margin-top:0;font-size:var(--text-section)}.collaboration-contact p{color:var(--sub);line-height:1.8}@media(max-width:1000px){.module-items-collaboration{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.module-items-collaboration{grid-template-columns:1fr}.module-items-collaboration .module-item-content{padding:20px}.collaboration-contact{padding:22px}}.social-fields{border:0;padding:0;min-width:0}.social-admin .social-editor{margin-block:24px}.social-admin .module-feedback{min-height:32px}.social-admin .social-remove{border-left:3px solid var(--teal);padding:12px 18px;margin-bottom:24px;background:var(--surface)}.social-admin .image-preview{width:160px;height:160px;object-fit:contain;background:#fff}.social-admin .module-check{display:flex;align-items:center;gap:10px}.social-admin .module-check input{width:auto}.social-admin .error:focus{outline:2px solid var(--teal)}.module-items-collaboration .module-item-image{position:relative}.module-items-collaboration .module-item-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.social-admin>.section-head h1{font-size:var(--text-heading);line-height:1.4;margin:0}.social-editor>.section-head h2{font-size:var(--text-card);margin:0}.social-admin button:disabled{cursor:not-allowed}@media(max-width:600px){.social-admin>.section-head h1{font-size:var(--text-page)}}.admin-navigation .admin-research-group>button{width:100%;justify-content:space-between;font-size:var(--text-ui)}.admin-navigation .admin-research-children{margin:4px 0 12px;padding-inline-start:14px;border-inline-start:1px solid var(--line);max-height:360px;overflow-y:auto}.admin-navigation .admin-research-children[hidden]{display:none}.admin-navigation .admin-research-children a,.admin-navigation .admin-research-children button{display:flex;align-items:center;min-height:44px;width:100%;text-align:start;justify-content:flex-start;padding:9px 12px;font-size:var(--text-small);overflow-wrap:anywhere;white-space:normal;border:0;background:transparent;color:inherit;border-radius:var(--radius-control);font-weight:var(--weight-normal)}.admin-navigation .admin-research-children .active{background:var(--surface);color:var(--teal);font-weight:var(--weight-strong)}.admin-navigation a[aria-disabled=true]{opacity:.5;cursor:not-allowed}.admin-navigation .admin-research-children a:hover,.admin-navigation .admin-research-children button:hover{color:var(--teal);background:var(--surface)}.admin-shell>.module-admin{min-width:0;width:100%;max-width:none}.admin-logout{display:flex;justify-content:flex-end;margin-bottom:16px}.admin-navigation button:disabled{cursor:not-allowed}.admin-navigation>nav{display:flex;flex-direction:column;gap:5px;min-height:0;overflow-y:auto;flex:1}.admin-navigation>nav>a{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:12px;color:inherit;font-size:var(--text-ui);border-radius:var(--radius-control)}.admin-navigation>nav>a.active,.admin-navigation>nav>a:hover{background:var(--surface);color:var(--teal)}.admin-navigation .aside-bottom{padding-top:18px}.admin-navigation .aside-bottom button{background:transparent;border:0;color:inherit;padding:0;font-size:var(--text-caption);justify-content:flex-start}.admin-navigation .aside-bottom button:hover{text-decoration:underline}@media(max-width:650px){.admin-navigation>nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:none;overflow:visible}.admin-navigation .admin-research-group{grid-column:1/-1}.admin-navigation .admin-research-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px}.admin-navigation>nav>a{padding:9px 7px}.admin-navigation .admin-research-group>button,.admin-navigation>nav>a{font-size:var(--text-small)}.admin-navigation .admin-research-children a,.admin-navigation .admin-research-children button{font-size:var(--text-caption)}.admin-navigation .aside-bottom{flex-wrap:wrap;gap:14px}}.module-admin>.section-head h1{font-size:var(--text-page);line-height:1.5;margin:7px 0;font-weight:var(--weight-medium)}@media(max-width:650px){.module-admin>.section-head h1{font-size:var(--text-section)}}.admin-navigation .aside-bottom a[aria-current=page]{color:var(--ink);font-weight:var(--weight-strong);background:var(--surface);border-radius:var(--radius-control);padding:8px}.public-site .detail-heading{min-width:0;margin:0 0 32px}.public-site .detail-heading-category{margin:0 0 12px;color:var(--teal);font-size:var(--text-caption);line-height:1.7;letter-spacing:.06em}.public-site .detail-heading-title{display:flex;align-items:center;gap:20px;min-width:0}.public-site .detail-heading-title>img{width:64px;height:64px;flex:0 0 64px;object-fit:contain}.public-site .detail-heading h1{margin:0;font-size:clamp(28px,3.4vw,40px);font-weight:var(--weight-medium);line-height:1.45;letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0}.public-site .detail-heading h1 small{margin-left:12px;display:inline-block;font-size:.45em;font-weight:var(--weight-normal);white-space:nowrap;color:var(--sub);letter-spacing:0;vertical-align:baseline}.public-site .detail-heading-subtitle{margin:12px 0 0;max-width:48em;font-size:clamp(17px,2vw,21px);font-weight:var(--weight-normal);line-height:1.75;color:var(--sub);overflow-wrap:anywhere}.public-site .detail-heading .detail-meta{margin:22px 0 0;padding-top:14px;border-top:1px solid var(--line);gap:8px 20px;line-height:1.8}.public-site .book-detail-heading .detail-heading{margin-bottom:24px}.public-site .book-detail-heading dl{margin:0;padding:0}.public-site .module-detail-header .detail-heading{margin-bottom:24px}.public-site .module-detail-header .module-intro{margin:0 0 24px}.public-site .module-detail-header .actions:empty{display:none}.public-site .about-section>.section-head .detail-meta{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}.public-site .about-section>.section-head>div{width:100%;min-width:0}@media(max-width:700px){.public-site .detail-heading{margin-bottom:26px}.public-site .detail-heading-category{margin-bottom:10px;font-size:var(--text-caption)}.public-site .detail-heading h1{font-size:var(--text-page);line-height:1.5;letter-spacing:0}.public-site .detail-heading-title{gap:14px;align-items:flex-start}.public-site .detail-heading-title>img{width:48px;height:48px;flex-basis:48px}.public-site .detail-heading-subtitle{margin-top:10px;font-size:var(--text-reading-mobile);line-height:1.8}.public-site .detail-heading .detail-meta{margin-top:18px;padding-top:12px;gap:8px 14px}.public-site .book-detail-heading .detail-heading,.public-site .module-detail-header .detail-heading{margin-bottom:22px}}.public-site .detail-meta .detail-author{gap:9px;flex:0 0 auto;white-space:nowrap;color:var(--ink);font-size:var(--text-small);font-weight:var(--weight-medium);margin-right:2px}.public-site .detail-author-avatar{--author-avatar-size:36px;position:relative;display:inline-grid;place-items:center;width:var(--author-avatar-size);height:var(--author-avatar-size);min-width:var(--author-avatar-size);max-width:var(--author-avatar-size);min-height:var(--author-avatar-size);max-height:var(--author-avatar-size);flex:0 0 var(--author-avatar-size);aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:50%;clip-path:circle(50%);background:var(--surface);color:var(--teal);font-size:var(--text-caption);font-weight:var(--weight-strong);line-height:1}.public-site .detail-author-avatar img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 35%;border-radius:0}@media(max-width:700px){.public-site .detail-author-avatar{--author-avatar-size:32px;font-size:var(--text-caption)}.public-site .detail-meta .detail-author{gap:8px}}.public-site.about-page>.wrap{max-width:var(--reading-width,780px)}.public-site .about-reading-content{display:block;min-width:0}.public-site.about-page .about-content{padding-top:0}.public-site.about-page .about-intro{position:static;top:auto;display:block;height:auto;min-height:0;color:var(--ink)}.public-site.about-page #about-heading{margin:0;font-size:clamp(28px,3.4vw,40px);font-weight:var(--weight-medium);line-height:1.45;letter-spacing:-.02em}@media(max-width:700px){.public-site.about-page #about-heading{font-size:var(--text-page);line-height:1.5;letter-spacing:0}}.public-site .section-head:has(>.header-controls){align-items:center;flex-wrap:wrap;row-gap:14px}.public-site .section-head>.header-controls{display:flex;align-items:center;flex-wrap:nowrap;gap:14px;margin-inline-start:auto;flex-shrink:0}.public-site .section-head>.header-controls .language-switch{margin:0}.public-site .section-head>.header-controls .language-switch button{height:40px;min-height:40px}.public-site .section-head>.header-controls .theme-toggle{min-width:44px;min-height:44px;padding:8px;line-height:1}.detail-share{border-top:1px solid var(--line);margin:36px 0 28px;padding-top:20px;min-width:0}.detail-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.detail-share-label,.share-control{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-small);line-height:1.6}.detail-share-label{color:var(--sub);margin-right:4px}.detail-share .share-control{min-height:44px;padding:8px 12px;color:var(--teal);background:transparent;border:1px solid transparent;border-radius:var(--radius-control);text-decoration:none;font-weight:var(--weight-normal);cursor:pointer}.detail-share .share-control:hover{background:var(--surface);border-color:var(--line)}.detail-share .share-control:active{background:var(--card)}.detail-share .share-control:focus-visible,.detail-share-manual input:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.detail-share .share-control:disabled{cursor:default;opacity:.5;pointer-events:none}.detail-share svg{width:16px;height:16px;flex-shrink:0}.detail-share-help,.detail-share-status{font-size:var(--text-caption);line-height:1.85;color:var(--sub);overflow-wrap:anywhere}.detail-share-help{margin:12px 0 0;max-width:680px}.detail-share-status{min-height:23px;margin-top:4px}.detail-share-manual{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.detail-share-manual label{display:grid;gap:6px;min-width:0;flex:1 1 240px;font-size:var(--text-caption);color:var(--sub)}.detail-share-manual input{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--card);color:var(--ink)}@media(max-width:600px){.detail-share-row{gap:4px 6px}.detail-share-label{flex-basis:100%;margin-bottom:4px}.detail-share{margin-top:28px}}.markdown{--markdown-block-gap:1em;color:var(--ink)}.markdown li,.markdown ol,.markdown p,.markdown ul{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}.markdown ol,.markdown p,.markdown ul,.public-site .markdown p{margin-block:0 var(--markdown-block-gap)}.markdown ol,.markdown ul{padding-inline-start:1.6em;list-style-position:outside}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul ul{list-style-type:circle}.markdown ul ul ul{list-style-type:square}.markdown li+li{margin-block-start:.3em}.markdown li>p,.public-site .markdown li>p{margin-block:0}.markdown li>p+p,.public-site .markdown li>p+p{margin-block-start:.6em}.markdown li>ol,.markdown li>ul{margin-block:.35em 0}.markdown li.task-list-item{list-style-type:none}.markdown .task-list-item>input{margin-inline:0 .5em;accent-color:var(--teal)}.markdown>:first-child{margin-block-start:0}.markdown>:last-child{margin-block-end:0}.markdown{--code-keyword:var(--teal);--code-string:#38642e;--code-number:#885813;--code-comment:#64736b;--code-title:#355f8b}html[data-theme=dark] .markdown{--code-string:#a8d7a0;--code-number:#efc17f;--code-comment:#a5b8b1;--code-title:#9fc8f0}.markdown .md-code-block{min-width:0;margin:1.25em 0 2em;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}.markdown>.md-code-block:first-child{margin-block-start:0}.markdown>.md-code-block:last-child{margin-block-end:0}.md-code-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 8px 4px 18px;border-bottom:1px solid var(--line);font-size:var(--text-caption);color:var(--sub)}.md-code-header>span{font-family:var(--font-code);font-weight:var(--weight-medium);letter-spacing:.04em}.markdown .md-code-copy{min-width:94px;min-height:40px;padding:6px 10px;border-color:transparent;background:transparent;color:var(--sub);font-size:var(--text-caption);font-weight:var(--weight-normal);gap:7px}.markdown .md-code-copy:hover{color:var(--teal);border-color:var(--line);filter:none}.markdown .md-code-copy:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.markdown .md-code-block pre{margin:0;padding:18px 20px;max-width:100%;overflow:auto;border:0;border-radius:0;background:transparent;color:var(--ink);white-space:pre;overflow-wrap:normal;word-break:normal;font:var(--text-small)/1.8 var(--font-code);tab-size:2}.markdown .md-code-block pre:focus-visible{outline:2px solid var(--teal);outline-offset:-3px}.markdown .md-code-block pre code{display:block;padding:0;background:transparent;border-radius:0;font:inherit;color:inherit;white-space:inherit}.md-code-block .hljs-built_in,.md-code-block .hljs-keyword,.md-code-block .hljs-literal{color:var(--code-keyword);font-weight:var(--weight-strong)}.md-code-block .hljs-regexp,.md-code-block .hljs-string{color:var(--code-string)}.md-code-block .hljs-number{color:var(--code-number)}.md-code-block .hljs-comment{color:var(--code-comment)}.md-code-block .hljs-symbol,.md-code-block .hljs-title{color:var(--code-title)}.md-code-fallback{padding:14px 18px;border-top:1px solid var(--line);font-size:var(--text-caption);line-height:1.7}.md-code-fallback label,.md-code-fallback textarea{display:block;margin-bottom:8px}.md-code-fallback textarea{width:100%;max-width:100%;padding:10px;background:var(--card);color:var(--ink);border:1px solid var(--line);font:var(--text-caption)/1.7 var(--font-code)}.markdown-numbering{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px;font-size:var(--text-small);color:var(--ink)}.markdown-numbering input{width:16px;height:16px;accent-color:var(--teal)}.markdown-numbering small{color:var(--sub);font-size:var(--text-caption)}@media(max-width:600px){.markdown .md-code-block pre{padding:16px;font-size:var(--text-caption)}.md-code-header{padding-left:16px}}@media(forced-colors:active){.md-code-block [class*=hljs-]{color:CanvasText}.markdown .md-code-copy{border-color:ButtonText}}.markdown :not(pre)>code{background:var(--surface);color:var(--ink);border:1px solid var(--line);font-family:var(--font-code)}.md-code-header>span{min-width:0;overflow-wrap:anywhere}.markdown .md-code-copy{flex-shrink:0}.md-code-block .hljs-operator{color:var(--code-keyword);font-weight:var(--weight-strong)}.markdown{line-break:strict;word-break:normal}.markdown :is(p:not(:has(img)),ul,ol){max-inline-size:var(--paragraph-measure,100%)}.markdown:lang(en) p{hyphens:auto}.markdown :is(a,code,kbd,samp,pre){hyphens:none}.markdown :is(code,kbd,samp,pre){font-variant-ligatures:none;letter-spacing:0}.markdown .markdown-table-scroll{max-inline-size:100%;min-inline-size:0;overflow-x:auto;overscroll-behavior-inline:contain;margin-block:0 var(--markdown-block-gap)}.markdown .markdown-table-scroll>table{display:table;inline-size:auto;min-inline-size:100%;max-inline-size:none;overflow:visible;margin:0}.markdown .markdown-table-scroll :is(th,td){max-inline-size:36ch;overflow-wrap:anywhere}.markdown-table-scroll:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page){--ink:var(--reading-title);--sub:var(--reading-muted);--teal:var(--reading-link);--on-accent:var(--reading-on-link);--line:var(--reading-line);--surface:var(--reading-tint);--card:var(--reading-paper);--reading-width:880px;color:var(--reading-text)}.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail){max-width:var(--reading-width);padding-top:40px}.public-site.about-page .about-reading-content,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail)>article{min-width:0;padding:44px 48px 48px;border:1px solid var(--reading-line);border-radius:var(--radius-card);background:var(--reading-paper)}.markdown-editor .markdown,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown{color:var(--reading-text);font-family:var(--reading-font);font-size:var(--text-article);font-weight:var(--weight-normal);line-height:var(--leading-reading);letter-spacing:var(--reading-tracking,.01em);--markdown-block-gap:1.2em}.public-site.about-page #about-heading,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .detail-heading h1{color:var(--reading-title);font-family:var(--reading-display);font-size:clamp(25px,2.8vw,32px);font-weight:var(--weight-heading);line-height:1.4;letter-spacing:.015em;text-wrap:pretty}.public-site.tool-reading .detail-heading h1{font-family:var(--font-code);letter-spacing:-.025em}.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .detail-heading-subtitle{color:var(--reading-muted);font-size:var(--text-reading);line-height:1.8}.markdown-editor .markdown :is(h1,h2,h3,h4,h5,h6),.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown :is(h1,h2,h3,h4,h5,h6){color:var(--reading-title);font-family:var(--reading-font);font-weight:var(--weight-heading);line-height:1.5;letter-spacing:0;margin-block:1.7em .7em;text-wrap:pretty}.markdown-editor .markdown h1,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown h1{font-size:1.3em;margin-block:1.9em .75em}.markdown-editor .markdown h2,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown h2{font-size:1.22em;margin-block:1.65em .65em}.markdown-editor .markdown h3,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown h3{font-size:1.18em;margin-block:1.4em .55em}.markdown-editor .markdown :is(h4,h5,h6),.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown :is(h4,h5,h6){font-size:1.05em;margin-block:1.25em .5em}.markdown-editor .markdown strong,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown strong{color:var(--reading-title);font-weight:var(--weight-heading)}.markdown-editor .markdown a,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown a{color:var(--reading-link);text-decoration-thickness:1px;text-underline-offset:.2em}.markdown-editor .markdown a:hover,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown a:hover{text-decoration-thickness:2px}.markdown-editor .markdown blockquote,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown blockquote{margin:1.4em 0;padding:16px 22px;background:var(--reading-tint);border-left:3px solid var(--reading-link);color:var(--reading-text)}.markdown-editor .markdown blockquote>:last-child,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown blockquote>:last-child{margin-bottom:0}.markdown-editor .markdown th,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown th{background:var(--reading-tint);color:var(--reading-title);font-weight:var(--weight-heading)}.markdown-editor .markdown :is(th,td),.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown :is(th,td){padding:10px 14px;border-color:var(--reading-line);font-size:.9em;line-height:1.75}.markdown-editor .markdown hr,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown hr{margin:2em 0;border:0;border-top:1px solid var(--reading-line)}.markdown-editor .markdown-preview{background:var(--reading-paper)}.markdown-editor .markdown{--ink:var(--reading-title);--sub:var(--reading-muted);--surface:var(--reading-tint);--line:var(--reading-line);--teal:var(--reading-link)}@media(max-width:700px){.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail){width:calc(100% - 24px);padding-top:24px}.public-site.about-page .about-reading-content,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail)>article{padding:26px 20px 30px}.markdown-editor .markdown,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown{font-size:var(--text-article-mobile);line-height:var(--leading-reading);letter-spacing:0}.public-site.about-page #about-heading,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .detail-heading h1{font-size:1.5rem;line-height:1.45}.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .detail-heading-subtitle{font-size:var(--text-article)}.markdown-editor .markdown blockquote,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown blockquote{padding:14px 16px}}@media(forced-colors:active){.markdown-editor,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page){--reading-paper:Canvas;--reading-title:CanvasText;--reading-text:CanvasText;--reading-muted:CanvasText;--reading-link:LinkText;--reading-line:CanvasText;--reading-tint:Canvas}}.markdown-editor .markdown>:first-child,.public-site:is(.news-reading,.tool-reading,.book-reading,.module-detail,.about-page) .markdown>:first-child{margin-block-start:0}.markdown-editor .markdown[data-article-theme]:not([data-article-theme=default]),.public-site .markdown[data-article-theme]:not([data-article-theme=default]){background:var(--reading-paper);color:var(--reading-text)}.markdown-editor .markdown[data-article-theme]:not([data-article-theme=default]){padding:20px;border:1px solid var(--reading-line);border-radius:var(--radius-control)}.markdown[data-article-theme=journal] h2{padding-bottom:.45em;border-bottom:1px solid var(--reading-line)}.markdown[data-article-theme=paper] h2{padding-bottom:.4em;border-bottom:1px solid var(--reading-line)}.markdown[data-article-theme=notes] h2{padding-inline-start:.65em;border-inline-start:3px solid var(--reading-link)}.markdown[data-article-theme=notes] blockquote{border-radius:0 4px 4px 0}.public-site article[data-article-theme=journal] .detail-heading-title{padding-bottom:16px;border-bottom:1px solid var(--reading-line)}.public-site article[data-article-theme=notes] .detail-heading-category{font-weight:var(--weight-strong);letter-spacing:.08em}.markdown-theme-setting{display:flex;align-items:end;flex-wrap:wrap;gap:10px 18px;margin-bottom:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.admin-shell .markdown-theme-setting>label{display:grid;gap:7px;font-family:var(--font-body);font-size:var(--text-small);color:var(--ink);margin:0}.admin-shell .markdown-editor .markdown-theme-setting select{width:180px;min-height:40px;margin:0;padding:8px 10px;font-family:var(--font-body);font-size:var(--admin-field-size);font-weight:var(--weight-normal);line-height:1.5;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--card)}.markdown-theme-setting>small{max-width:48em;color:var(--sub);font-size:var(--text-small);line-height:1.8}@media(max-width:700px){.markdown-theme-setting{align-items:start}.markdown-editor .markdown[data-article-theme]:not([data-article-theme=default]){padding:16px}}@media(pointer:coarse){.admin-shell .markdown-editor .markdown-theme-setting select{font-size:var(--admin-field-size);min-height:44px}}.public-site.tool-reading article[data-article-theme] .detail-heading h1{font-family:var(--font-code)}.markdown-editor .markdown[data-article-theme=paper],.public-site .markdown[data-article-theme=paper]{--markdown-block-gap:1.45em}.markdown[data-article-theme=paper] blockquote{border-inline-start:2px solid var(--reading-line);background:transparent}.markdown[data-article-theme=journal] th{background:transparent;border-bottom:2px solid var(--reading-line)}.markdown[data-article-theme=notes] li::marker{color:var(--reading-link)}.admin-shell main .markdown-editor .markdown-theme-setting select,.admin-shell main .markdown-editor .markdown-theme-setting select option{font-family:var(--font-body);font-size:var(--admin-field-size);font-weight:var(--weight-normal);line-height:1.5;letter-spacing:normal}@media(pointer:coarse){.admin-shell main .markdown-editor .markdown-theme-setting select,.admin-shell main .markdown-editor .markdown-theme-setting select option{font-size:var(--admin-field-size)}}svg.lucide{display:inline-block;flex-shrink:0;vertical-align:-.125em;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.site-header :is(.theme-toggle,.mobile-menu-toggle) svg.lucide,.theme-toggle svg.lucide{width:18px;height:18px}.theme-toggle{min-width:44px;min-height:44px}.public-site :is(.news-read,.software-detail-link){display:inline-flex;align-items:center;gap:8px}.public-site .news-text-arrow{display:inline-flex;justify-content:flex-end;align-items:center}.admin-navigation .admin-disclosure-icon{display:inline-flex;margin-inline-start:8px;align-items:center}.contact-social-label>svg.lucide,.contact-social-link>svg.lucide,.wechat-platform>svg.lucide{width:18px;height:18px}.public-site .software-mark>svg.lucide{width:24px;height:24px;color:var(--teal)}@media(max-width:600px){.public-site.news-index .news-text-arrow{display:none}}@media(forced-colors:active){svg.lucide{forced-color-adjust:auto}}.skip-to-content{position:fixed;inset-block-start:12px;inset-inline-start:12px;z-index:1000;transform:translateY(calc(-100% - 24px));padding:12px 18px;background:var(--teal);color:var(--on-accent);border-radius:var(--radius-control);font-size:var(--text-ui);text-decoration:none}.skip-to-content:focus{transform:translateY(0);outline:2px solid var(--ink);outline-offset:3px}#main-content{scroll-margin-top:24px}#main-content:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.public-site .reading-navigation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line)}.reading-navigation nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0;font-size:var(--text-small)}.reading-navigation nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);overflow-wrap:anywhere}.reading-navigation .reading-brand{color:var(--ink);font-weight:var(--weight-strong)}.reading-navigation .header-controls{display:flex;gap:10px;flex-wrap:wrap;margin-inline-start:auto}@media(max-width:520px){.public-site .reading-navigation{gap:8px 12px;margin-bottom:20px}.reading-navigation nav{flex:1 1 100%}.reading-navigation .header-controls{margin-inline-start:0}}@media(forced-colors:active){.skip-to-content{background:Canvas;color:LinkText;border:1px solid ButtonText}}.admin-shell,.admin-shell main,.public-site{min-inline-size:0}.admin-shell :is(.form-grid,.form-grid>*,.toolbar,.panel,.row-actions),.public-site :is(.filters,.module-filters,.header-controls,.book-card-body,.software-name,.detail-heading-title){min-inline-size:0}.admin-shell .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell .form-grid :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){inline-size:100%}.admin-shell .record-row :is(p,small),.reading-navigation nav a{overflow-wrap:anywhere}.admin-shell aside.admin-navigation{max-block-size:100dvh;overflow-y:auto;overscroll-behavior-block:contain}.public-site :is(.filters,.module-filters) :is(input,select){min-inline-size:0}.public-site .detail-meta>span{min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere}.public-site :is(video,iframe){max-inline-size:100%}@media(max-width:1200px) and (min-width:901px){.admin-shell main.admin-main{padding-inline:24px}.admin-shell .markdown-panes{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.admin-shell{display:block}.admin-shell aside.admin-navigation{position:static;block-size:auto;max-block-size:none;padding:20px 24px;overflow:visible}.admin-shell aside.admin-navigation>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.admin-shell aside.admin-navigation .admin-menu-section{grid-column:auto;margin:0;padding:0;border:0}.admin-shell aside.admin-navigation :is(a,button){overflow-wrap:anywhere}.admin-shell aside.admin-navigation .aside-bottom{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px}.admin-shell main.admin-main{padding:28px 24px}.admin-shell .markdown-panes,.public-site .book-grid{grid-template-columns:minmax(0,1fr)}.public-site.book-reading .book-detail-heading{grid-template-columns:140px minmax(0,1fr);gap:24px;margin-block:24px}.public-site.book-reading .book-detail-heading:not(:has(>img)){grid-template-columns:minmax(0,1fr)}.public-site.book-reading .book-detail-heading>img{inline-size:140px;max-inline-size:100%}.public-site.book-reading .book-detail-heading>div{min-inline-size:0}}@media(max-width:700px){.public-site .filters{display:flex;align-items:stretch;gap:10px}.public-site .filters input{flex:1 1 100%;inline-size:100%;min-inline-size:0}.public-site .filters select{flex:1 1 130px;inline-size:auto;max-inline-size:100%}.public-site .filters :is(button,.button){max-inline-size:100%}.public-site .section-head .filters{flex:1 1 100%;justify-content:flex-start}.public-site .module-filters{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.public-site .module-filters label{min-inline-size:0;inline-size:100%}.public-site .detail-heading-title{gap:12px;align-items:flex-start}.public-site .detail-heading-title>img{inline-size:48px;block-size:48px;flex-basis:48px}.public-site .detail-heading h1{min-inline-size:0}.public-site .detail-share-manual label{flex-basis:100%}}@media(max-width:600px){.admin-shell aside.admin-navigation{padding:18px 16px}.admin-shell aside.admin-navigation>nav{grid-template-columns:minmax(0,1fr);gap:16px}.admin-shell aside.admin-navigation .admin-menu-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}.admin-shell aside.admin-navigation .admin-menu-section>h2,.admin-shell aside.admin-navigation .admin-research-group{grid-column:1/-1}.admin-shell aside.admin-navigation .admin-research-children:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell main.admin-main{padding:24px 16px}.admin-shell .admin-head{flex-wrap:wrap}.admin-shell .form-grid{grid-template-columns:minmax(0,1fr)}.admin-shell .form-grid .wide{grid-column:1/-1}.admin-shell .panel{padding:18px}.admin-shell :is(.toolbar,.actions,.row-actions){gap:8px;flex-wrap:wrap}.admin-shell .toolbar>input{flex:1 1 100%;min-inline-size:0}.admin-shell .record-row>div:first-of-type{min-inline-size:0;flex-basis:calc(100% - 36px)}.admin-shell .row-actions{padding-inline-start:0}.admin-shell .media-workspace .media-filters .media-search{min-inline-size:0;flex:1 1 100%}.admin-shell .media-workspace .media-filters label:not(.media-search){flex:1 1 110px;min-inline-size:0}.admin-shell .media-workspace .media-results-bar{flex-wrap:wrap;gap:12px}.public-site.book-reading .book-detail-heading{grid-template-columns:minmax(0,1fr);gap:20px}.public-site.book-reading .book-detail-heading>img{inline-size:112px}.public-site.book-reading .book-detail-heading dl>div{grid-template-columns:84px minmax(0,1fr);gap:10px}}@media(max-width:420px){.site-header{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.site-header .brand{grid-column:1;justify-self:start}.site-header .header-controls{grid-column:1;inline-size:100%;margin-inline-start:0;justify-content:space-between;flex-wrap:nowrap}.site-header .site-navigation{grid-column:1;min-inline-size:0}.site-header .site-navigation a{white-space:normal;overflow-wrap:anywhere}.site-header .mobile-menu-toggle{min-inline-size:44px;min-block-size:44px}.public-site .book-card{padding:18px;gap:16px}.public-site .book-cover{inline-size:76px;flex-basis:76px}.public-site .detail-share .share-control{padding-inline:8px}}@media(pointer:coarse){.language-switch button{min-block-size:44px;min-inline-size:44px}.markdown-toolbar button,.public-site .detail-meta-retry,.public-site .md-code-copy{min-block-size:44px}}html[data-site-theme]{color-scheme:light}html[data-site-theme][data-theme=dark]{color-scheme:dark}html[data-site-theme] :is(h1,h2,h3,.section-title){font-weight:var(--site-heading-weight,600)}html[data-site-theme] :is(.panel,.card){border-radius:var(--radius-card)}.site-theme-picker{margin:24px 0 32px;padding-bottom:28px;border-bottom:1px solid var(--line)}.site-theme-options{border:0;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0}.admin-shell .site-theme-option{position:relative;display:flex;flex-direction:column;gap:7px;padding:18px 14px;border:1px solid var(--line);border-radius:var(--radius-card);cursor:pointer;background:var(--card);margin:0;font-size:13px;line-height:1.6}.site-theme-option.is-selected{outline:2px solid var(--teal);outline-offset:-2px}.site-theme-option:focus-within{outline:3px solid var(--teal);outline-offset:3px}.admin-shell .site-theme-option input{position:absolute;right:12px;top:12px;width:16px;height:16px;accent-color:var(--teal)}.site-theme-option strong{font-size:15px;color:var(--ink)}.site-theme-option small,.site-theme-option>span:last-child{color:var(--sub)}.site-theme-swatches{display:flex;gap:4px;margin:4px 24px 10px 0}.site-theme-swatches i{height:22px;width:22px;border-radius:50%;border:1px solid var(--line)}.site-theme-preview-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 12px}.admin-shell .site-theme-preview-tools label{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}.admin-shell .site-theme-preview-tools select{width:auto;min-width:100px}.site-theme-sample{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;container-type:inline-size;font-size:15px;line-height:1.75}.sample-nav{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:18px 26px;border-bottom:1px solid var(--line);color:var(--sub);font-size:12px}.sample-nav b{color:var(--ink);letter-spacing:.1em}.sample-nav b span{font-weight:400;margin-left:8px}.sample-content{padding:32px clamp(20px,5%,56px) 40px;max-width:900px;margin:auto;overflow-wrap:anywhere}.sample-content>small{color:var(--teal);letter-spacing:.12em;font-size:11px}.admin-shell .sample-content h4{font-family:var(--font-display);font-size:28px;line-height:1.35;font-weight:var(--site-heading-weight);margin:14px 0 18px;color:var(--ink)}.sample-content p{color:var(--sub);font-size:15px}.sample-action{display:inline-block;background:var(--teal);color:var(--on-accent);padding:8px 16px;border-radius:var(--radius-card);font-size:13px;margin-top:12px}.sample-paper{padding:20px;background:var(--reading-paper);border:1px solid var(--reading-line);border-radius:var(--radius-card);color:var(--reading-text)}.admin-shell .sample-paper h5{font-family:var(--font-display);font-size:19px;margin:0 0 10px;color:var(--reading-title)}.sample-paper p{color:var(--reading-text)}.sample-paper a{color:var(--reading-link);text-decoration:underline}.sample-list{margin-top:24px}.sample-list>div{display:flex;gap:18px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line);font-size:15px}.sample-list>div>span{color:var(--sub);font-size:12px}.sample-list b{flex:1;font-weight:500}.sample-form{padding:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card)}.admin-shell .sample-form label{font-size:13px;color:var(--sub);margin:0 0 14px}.sample-form label>div{font-size:13px;padding:10px 12px;min-height:42px;border:1px solid var(--line);color:var(--ink);background:var(--bg);border-radius:4px;margin-top:6px}.sample-form label>div>span{float:right}.sample-footer{border-top:1px solid var(--line);padding:10px 26px;color:var(--sub);font-size:11px}.site-theme-note{font-size:12px;color:var(--sub)}@media(max-width:1000px){.site-theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.site-theme-options{grid-template-columns:1fr}.sample-nav{padding:14px 18px}.admin-shell .sample-content h4{font-size:24px}.site-theme-preview-tools>strong{width:100%}}@media(forced-colors:active){.site-theme-sample,html[data-site-theme][data-theme]{--bg:Canvas!important;--ink:CanvasText!important;--sub:CanvasText!important;--teal:LinkText!important;--on-accent:Canvas!important;--surface:Canvas!important;--card:Canvas!important;--line:CanvasText!important;--reading-paper:Canvas!important;--reading-title:CanvasText!important;--reading-text:CanvasText!important;--reading-muted:CanvasText!important;--reading-link:LinkText!important;--reading-line:CanvasText!important;--sidebar-bg:Canvas!important;--sidebar-text:CanvasText!important;--sidebar-muted:CanvasText!important}.site-theme-option.is-selected{outline-color:Highlight}}.public-site{--section-space:var(--site-section-space,80px)}html[data-site-theme] #software .project-card{background:var(--card);border-color:var(--line)}@media(max-width:700px){.public-site{--section-space:48px}}html[data-site-theme] :is(.project-category,.project-status,.project-featured,.about-topics li){background:var(--surface);color:var(--teal)}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:10px 16px;border:1px solid var(--teal);border-radius:var(--radius-control);background:var(--teal);color:var(--on-accent);font-size:var(--text-ui);font-weight:var(--weight-medium);line-height:1.5;text-align:center;text-decoration:none}.button:hover,button:hover{filter:brightness(.96);color:var(--on-accent)}.ghost{background:transparent;border-color:var(--line);color:var(--teal)}.ghost:hover{background:var(--surface);color:var(--teal);filter:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:3px}input,select,textarea{min-width:0;max-width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--card);color:var(--ink);line-height:1.5}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]):not([type=file]),select{min-height:44px}textarea{resize:none;min-height:120px;line-height:var(--leading-body)}input[type=checkbox],input[type=radio]{accent-color:var(--teal)}.panel{padding:var(--space-6);margin:var(--space-6) 0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:none}.panel h2{margin-top:0;font-size:var(--text-card);font-weight:var(--weight-strong);line-height:1.5;letter-spacing:0}.panel p{font-size:var(--text-ui);line-height:var(--leading-body)}@media(max-width:650px){.panel{padding:18px}}@media(prefers-reduced-motion:no-preference){.button,button,input,select,textarea{transition:border-color .15s,background-color .15s,color .15s}}@media(forced-colors:active){.button,.panel,button,input,select,textarea{border-color:ButtonText}button:disabled{opacity:1;color:GrayText}.ghost:hover{background:Canvas;color:LinkText}}body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-ui);font-kerning:normal;font-optical-sizing:auto}button,input,select,textarea{font-family:inherit}.public-site :is(.project-description,.book-card-body>p,.module-item p,.research-intro,.research-category p,.module-intro){font-size:var(--text-body);line-height:var(--leading-body)}.public-site :is(.section-head h2,.research-overview>h1,.module-catalog h1,.book-catalog h1,.news-index h1){color:var(--ink);font-family:var(--font-display);font-weight:var(--weight-heading);line-height:var(--leading-heading)}.public-site :is(.book-card h3,.module-item h3,.news-photo-copy h3,.research-category h2){font-size:var(--text-card);font-weight:var(--weight-strong);line-height:1.55;color:var(--ink)}.public-site :is(.meta,.detail-meta,.news-text-meta,.module-item-meta){font-size:var(--text-small);color:var(--sub)}.public-site :is(.filters,.module-filters) :is(input,select){font-size:var(--text-input)}.admin-shell{font-family:var(--font-body);font-size:var(--text-ui)}.admin-shell .panel p{font-size:var(--text-ui);line-height:var(--leading-body)}.admin-shell :is(.form-grid label,.account-workspace label,.media-workspace label){font-size:var(--text-ui)}.admin-shell .markdown-editor textarea{font-family:var(--font-code);line-height:var(--leading-body)}.admin-shell .markdown :is(p,ul,ol,li){font-size:inherit;line-height:inherit}aside.admin-navigation :is(.admin-sub,.aside-bottom){color:var(--sidebar-muted)}aside.admin-navigation .brand,aside.admin-navigation .brand span{color:var(--sidebar-text)}.appearance-guide{margin-block:20px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);color:var(--ink)}.appearance-guide p{margin:0 0 8px}.appearance-guide p:last-child{margin-bottom:0}.appearance-warning{color:var(--warning)}.error-copy-en,html[lang=en] .error-copy-zh{display:none}html[lang=en] .error-copy-en{display:inline}.markdown:lang(en),.public-site:lang(en){--leading-body:1.75;--leading-reading:1.8;--reading-tracking:0;--paragraph-measure:74ch}.public-site :is(.pub-title,.book-card h3,.module-item h3,.research-category h2){text-wrap:pretty}.public-site :is(.updates-date,.pub-year,.pub-citation-details,.detail-meta time,.detail-views,.news-index-count,.news-pagination){font-variant-numeric:lining-nums tabular-nums}.public-site:lang(zh) .pub-citation cite{font-style:normal}.public-site :is(.pub-authors,.pub-citation){overflow-wrap:anywhere}.public-site .pub-authors{text-wrap:pretty}