:root{font-family:Segoe UI,Arial,sans-serif;color:#203747;background:#f3f6f8;font-size:15px;line-height:1.5}
*{box-sizing:border-box}
body{margin:0;min-width:0}
a{color:#176d88;text-decoration:none}
a:hover{text-decoration:underline}
.external-link{text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
main{width:100%;min-width:0;margin:30px auto;padding:0 clamp(12px,2.2vw,40px);min-height:70vh}
h1{font-size:32px;line-height:1.2;letter-spacing:-.7px;margin:10px 0 24px;overflow-wrap:anywhere}
h2{font-size:20px;margin:0 0 14px;overflow-wrap:anywhere}
h3{font-size:17px;overflow-wrap:anywhere}
p{margin:10px 0 16px;overflow-wrap:anywhere}
.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:#66808e}
.muted,small,dt{color:#667e8b}
.panel{background:#fff;border:1px solid #dce5eb;border-radius:10px;padding:24px;margin:18px 0;min-width:0;box-shadow:0 2px 5px #12345604}
.heading,.actions,.relation{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.heading>div{min-width:0}
.actions{justify-content:flex-end;flex-wrap:wrap}
button,.button{font:inherit;font-weight:600;background:#176d79;color:#fff;border:1px solid #176d79;border-radius:6px;padding:10px 17px;cursor:pointer;display:inline-block;max-width:100%;text-align:center;overflow-wrap:anywhere}
button:hover,.button:hover{background:#105861;text-decoration:none}
button:disabled{opacity:.5;cursor:default}
.secondary{background:#fff;color:#285768;border-color:#cbdbe2}
.secondary:hover{background:#eef5f7}
label{display:block;font-size:13px;font-weight:600;margin:0 0 16px;color:#476171;min-width:0;overflow-wrap:anywhere}
input,textarea,select{display:block;width:100%;max-width:100%;min-width:0;font:inherit;font-size:15px;font-weight:400;color:#203747;border:1px solid #cbd8e1;border-radius:5px;background:#fff;padding:10px;margin-top:6px}
input:focus,textarea:focus,select:focus{outline:2px solid #75b9c4;outline-offset:1px}
textarea{resize:vertical}
textarea[name=markdown]{font:14px/1.7 Consolas,monospace}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.two>*,.form-grid>*{min-width:0}
.search-row{display:flex;gap:18px;align-items:end;flex-wrap:wrap}
.search-row label{margin-bottom:0;min-width:140px}
.search-row button{min-height:43px}
.grow{flex:1;min-width:0}
.search-row>a{align-self:center}
details{margin:10px 0;min-width:0}
summary{cursor:pointer;color:#416779;font-weight:600;padding:6px 0;overflow-wrap:anywhere}
details>.form-grid{margin-top:18px}
.check{display:flex;align-items:center;gap:9px}
.check input{width:17px;flex:none;margin:0}
.check small{font-size:10px}
.columns{padding:8px 22px}
.count{font-size:18px;background:#dfecef;color:#46717c;padding:4px 11px;border-radius:20px;vertical-align:middle;white-space:nowrap}
.table-wrap{width:100%;max-width:100%;min-width:0;padding:0;overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:13px}
th{background:#edf3f6;color:#556e7d;font-size:12px;text-align:left;font-weight:600;white-space:nowrap}
th,td{padding:16px 18px;border-bottom:1px solid #e4ebef;min-width:130px;max-width:330px;overflow-wrap:anywhere;vertical-align:top}
tbody tr:hover{background:#f6fafb}
.project-name{font-weight:600;display:block;min-width:200px}
.code{display:block;font-size:11px;margin-top:7px;letter-spacing:.7px}
.empty{padding:40px;text-align:center}
.project-grid{margin-top:0;scrollbar-width:auto;scrollbar-color:#7f9ba7 #e8eff3}
.project-grid th{position:sticky;top:0;z-index:1}
.project-grid:focus-visible,.grid-scrollbar:focus-visible{outline:2px solid #176d79;outline-offset:2px}
.grid-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#627988;margin:12px 0 5px}
.grid-tools>div{display:flex;gap:8px;flex:none}
.grid-tools button{min-width:44px;min-height:40px;padding:6px 12px;font-size:19px}
.grid-scrollbar{width:100%;max-width:100%;overflow-x:scroll;overflow-y:hidden;height:22px;scrollbar-color:#7f9ba7 #e8eff3}
.grid-scrollbar>div{height:1px}


.tabs{display:flex;gap:28px;max-width:100%;overflow-x:auto;border-bottom:1px solid #cddce5;margin:22px 0;white-space:nowrap}
.tabs a{padding:12px 3px}
.tabs .active{border-bottom:3px solid #176d79;font-weight:600}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.facts div{min-width:0}
dt{font-size:12px;margin-top:10px}
dd{margin:4px 0 18px;white-space:pre-wrap;overflow-wrap:anywhere}
.event{border-bottom:1px solid #e3ebef;padding:14px 0}
pre{font:13px/1.6 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f5f7;padding:18px;border-radius:6px;max-width:100%;overflow:auto}
.login{max-width:470px;margin:50px auto;padding:36px}
.login h1{font-size:27px}
.login button{width:100%}
.error,.warning{background:#fff4dc;color:#7d5720;border-radius:6px;padding:12px}
.sticky{position:sticky;bottom:10px;box-shadow:0 3px 18px #21394d22}
#project-options{max-height:300px;overflow:auto}
.markdown{max-width:1060px;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.markdown img{max-width:100%;height:auto}
.markdown table{display:block;width:max-content;max-width:100%;overflow:auto}
.attachment-preview{max-width:100%;max-height:250px}
footer{text-align:center;padding:24px 16px;color:#7c919c;font-size:12px;overflow-wrap:anywhere}
code{overflow-wrap:anywhere}
form>button{margin-top:10px}
.actions form>button{margin:0}
.column-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 25px}
.column-option{display:flex;align-items:center;gap:6px;min-width:0}
.column-option label{flex:1;margin:0}
.column-option button{padding:6px 8px;font-size:11px;flex:none}
.selection{display:inline-flex;align-items:center;max-width:100%;gap:8px;padding:4px 10px;background:#e7f1f3;border-radius:5px;margin:0 5px 10px 0;overflow-wrap:anywhere}
.selection button{padding:0 5px;border:0;background:transparent;color:#315c6d}
.project-option{display:block;text-align:left;width:100%;white-space:normal;margin:4px 0}
.project-picker{margin-bottom:16px}
.import-batch{padding:16px 0;border-bottom:1px solid #e4ebef}
.import-batch:first-of-type{padding-top:0}
.import-batch:last-child{border-bottom:0;padding-bottom:0}
.import-batch h3{overflow-wrap:anywhere;margin:8px 0}
.import-actions{display:flex;flex-wrap:wrap;gap:12px}
.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.comparison-grid details{border-bottom:1px solid #e4ebef}
.comparison-grid h3{margin-top:4px}
.recommendation{background:#edf5f7;border-left:4px solid #176d79;padding:14px 20px;margin:20px 0}
.recommendation h3{margin:0 0 8px}
.review-card{scroll-margin-top:16px}
.review-form,.review-apply{max-width:900px}
.review-status{background:#f1f6f0;padding:12px}
.review-apply{border-top:1px solid #cbdbe2;margin-top:20px;padding-top:12px}
.review-index{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0}
.review-index a{border:1px solid #cbdbe2;border-radius:5px;background:#fff;padding:8px 12px;overflow-wrap:anywhere}
[hidden]{display:none!important}

/* One centered masthead; dropdown is outside document flow. */
.app-header{display:flex;align-items:center;gap:32px;padding:22px clamp(12px,2.2vw,40px);min-height:104px;background:#fff;border-bottom:1px solid #dce5eb}
.app-header .brand{display:flex;align-items:center;align-self:center;gap:12px;flex:none;text-decoration:none;color:#193c52;white-space:nowrap}
.brand-crest{display:block;width:44px;height:58px;object-fit:contain}
.brand-caption{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:58px}
.brand-name{display:block;font-size:21px;font-weight:750;line-height:1.2;letter-spacing:1px}
.brand-subtitle{display:block;font-size:13px;font-weight:400;line-height:1.3;letter-spacing:.2px;color:#627988}
.app-header>nav{display:flex;align-items:center;align-self:center;gap:8px;flex:1;min-width:0}
.app-header>nav>a,.service-menu>summary{display:flex;align-items:center;justify-content:center;height:44px;padding:0 12px;border-radius:6px;white-space:nowrap;line-height:1.3}
.app-header>nav>a[aria-current=page],.service-menu.current>summary,.service-menu[open]>summary{background:#eaf3f5;color:#193c52;font-weight:600}
.account{display:flex;align-items:center;align-self:center;gap:16px;flex:none;margin-left:auto;font-size:14px}
.account>span{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account form{display:flex;align-items:center;margin:0}
.account button{height:44px;margin:0;white-space:nowrap}
.service-menu{position:relative;align-self:center;margin:0;flex:none}
.service-menu>summary{list-style:none;cursor:pointer;color:#176d88;font-weight:400;gap:9px}
.service-menu>summary::-webkit-details-marker{display:none}
.service-menu>summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.service-menu[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.service-menu>div{position:absolute;z-index:30;top:calc(100% + 8px);right:0;width:220px;max-width:calc(100vw - 24px);display:flex;flex-direction:column;gap:2px;margin:0;padding:7px;border:1px solid #dce5eb;border-radius:9px;background:#fff;box-shadow:0 8px 28px #193c5224}
.service-menu>div>a{display:block;padding:11px 12px;border-radius:5px;font-size:14px}
.service-menu>div>a:hover,.service-menu>div>a[aria-current=page]{background:#f0f6f8;text-decoration:none}
.service-menu>summary:focus-visible,.app-header a:focus-visible{outline:2px solid #75b9c4;outline-offset:2px}

@media(max-width:1150px){
 .app-header{gap:18px;padding-block:20px}
 .app-header>nav{gap:2px}
 .app-header>nav>a,.service-menu>summary{padding-inline:8px}
 .account{gap:10px}
 .brand-name{font-size:19px}
 .form-grid,.facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:950px){
 .app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
 .app-header>nav{position:relative;grid-row:2;grid-column:1/-1;flex-wrap:wrap;gap:4px}
 .service-menu{position:static}
 .account{grid-row:1;grid-column:2}
 .heading{align-items:flex-start;flex-wrap:wrap}
 .two,.comparison-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .actions{justify-content:flex-start}
}
@media(max-width:600px){
 :root{font-size:14px}
 main{margin-top:20px}
 h1{font-size:26px;margin-bottom:18px}
 .app-header{padding-block:16px;gap:12px 8px}
 .app-header .brand{gap:9px}
 .brand-crest{width:34px;height:46px}
 .brand-caption{min-height:46px;gap:3px}
 .brand-name{font-size:17px;letter-spacing:.5px}
 .brand-subtitle{font-size:12px}
 .account{flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;font-size:12px}
 .account>span{max-width:105px}
 .account button{height:36px;padding:5px 11px;font-size:12px}
 .app-header>nav>a,.service-menu>summary{font-size:13px;height:42px;padding-inline:7px}
 .app-header>nav{gap:2px}
 .form-grid,.facts,.column-picker{grid-template-columns:minmax(0,1fr)}
 .heading{flex-direction:column;gap:8px}
 .panel{padding:16px}
 .table-wrap{padding:0}
 .search-row{gap:12px}
 .search-row label{flex-basis:100%;min-width:0}
 input,select,textarea{font-size:16px}
 .actions{width:100%;gap:8px}
 .actions>.button,.actions>form{flex:1 1 auto}
 .actions>form>button{width:100%}
 .tabs{gap:18px}

 .grid-tools{font-size:12px}
 th,td{padding:12px;min-width:120px}
 .project-name{min-width:180px}


 .sticky{position:static}
 .login{margin:24px auto}
 .recommendation{padding:12px}
}
@media(max-width:360px){
 .brand-name{font-size:15px}
 .brand-subtitle{font-size:11px}
 .brand-crest{width:30px;height:42px}
 .brand-caption{min-height:42px}
 .account>span{max-width:90px}
 .app-header>nav>a,.service-menu>summary{font-size:12px;padding-inline:6px}
 .column-option{flex-wrap:wrap}
}

/* Projects change from a grid to a two-column tablet list and one-column phone list. */
.quick-filters{display:flex;align-items:end;gap:18px}
.quick-filters label{min-width:150px}
.project-cards{display:none}
@media(max-width:900px){
 .desktop-grid{display:none}
 .project-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
 .project-card{display:flex;flex-direction:column;margin:0;padding:20px}
 .project-card h2{font-size:19px;line-height:1.4;margin:12px 0 16px}
 .project-card-labels{display:flex;flex-wrap:wrap;gap:6px;font-size:12px}
 .project-card-labels span{padding:4px 9px;border-radius:5px;background:#edf4f6;color:#52717e}
 .card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin:0}
 .card-facts>div{min-width:0}
 .card-wide{grid-column:1/-1}
 .card-facts dt{margin-top:0}
 .card-facts dd{margin-bottom:14px}
 .project-card details{margin-top:auto}
 .card-actions{display:flex;gap:8px;margin-top:12px}
 .card-actions a{flex:1;font-size:13px;padding:10px 8px}
 .quick-filters{display:contents}
 .quick-filters label{min-width:0}
 .filters .search-row .grow{flex-basis:100%}
 .filters .search-row button{flex:1}
 .filters .search-row>a{padding:10px 16px}
}
@media(max-width:600px){
 .project-cards{grid-template-columns:minmax(0,1fr);gap:12px}
 .project-card{padding:18px}
}
.column-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.column-presets .selected{background:#e7f1f3;border-color:#176d79}
.column-sort{display:flex;align-items:center;gap:10px;min-height:24px;color:inherit}
.column-sort span{margin-left:auto;color:#176d79;font-size:16px}
.column-sort:hover{text-decoration:none;color:#176d79}
th[aria-sort=ascending],th[aria-sort=descending]{background:#dcecf0}
@media(max-width:600px){.column-presets>button{flex:1 1 130px}}

.team-picker{border:1px solid #dce5eb;border-radius:6px;padding:16px;margin:0 0 16px;min-width:0}.team-picker .check{margin-top:12px}.team-picker small,.team-picker a,.developer-origin{display:block;margin-top:8px}.developer-origin{white-space:normal}
/* Keep pagination controls together, independent of the table width. */
.pagination{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px 24px;margin:14px 0;color:#657e8c;font-size:13px}
.pagination-main,.pagination-options{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;min-width:0}
.page-range{white-space:nowrap;font-variant-numeric:tabular-nums}
.page-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.page-links .button,.page-current,.page-disabled{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 9px;border:1px solid #cbdbe2;border-radius:5px;font-size:13px;line-height:1;white-space:nowrap}
.page-current{background:#176d79;border-color:#176d79;color:#fff;font-weight:700}
.page-disabled{color:#a7b6be;border-color:#e1e8ed}
.page-size,.page-jump{display:flex;align-items:center;gap:8px;margin:0}
.pagination label{display:flex;align-items:center;gap:8px;margin:0;font-weight:400;white-space:nowrap}
.pagination select,.pagination input{height:36px;margin:0;padding:6px 8px;font-size:13px}
.page-size select{width:70px}.page-jump input{width:58px}
.pagination form>button{height:36px;margin:0;padding:6px 12px;font-size:13px;white-space:nowrap;flex-shrink:0}
.pagination [hidden],.team-picker [hidden]{display:none!important}
.registry-heading h1{margin:6px 0 12px}
.registry-heading .eyebrow{margin:4px 0 8px}
.filters.panel{padding:18px 20px;margin:14px 0}
.filters>details{margin:10px 0 0}
.columns.panel{margin:12px 0}
@media(max-width:600px){
 .pagination{gap:10px;margin:12px 0}
 .pagination-main{width:100%;gap:12px}
 .pagination-options{gap:10px 16px}
 .page-links .button,.page-current,.page-disabled{height:40px;min-width:40px}
 .pagination select,.pagination input,.pagination form>button{height:40px}
 .filters.panel{padding:16px}
}

.value-tree { margin: .4rem 0; min-width: 0; overflow-wrap: anywhere; }
.value-tree dd { margin-left: 1rem; white-space: normal; }
.value-text { white-space: pre-wrap; }
/* Project tree and reading area share the page scrollbar. */
.knowledge-heading{margin-bottom:22px}.knowledge-heading h1{margin-bottom:0}
.knowledge-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:28px;align-items:start}
.knowledge-sidebar,.knowledge-content{min-width:0}
.knowledge-navigation{margin:0;background:#fff;border:1px solid #dce5eb;border-radius:10px}
.knowledge-navigation>summary{padding:18px;font-weight:700;border-bottom:1px solid #dce5eb}
.knowledge-navigation>summary span{display:none}
.knowledge-search{padding:16px;border-bottom:1px solid #e7edf0}.knowledge-search label{margin-bottom:6px}
.knowledge-search>div{display:flex;gap:6px}.knowledge-search input{margin:0}.knowledge-search button{padding:8px;font-size:12px}
.knowledge-tree{padding:8px}.knowledge-group{margin:0;border-bottom:1px solid #edf1f4}
.knowledge-group>summary{display:list-item;padding:12px 8px;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.knowledge-group>summary small{display:inline-block;float:right;margin-left:8px;background:#edf4f6;border-radius:12px;padding:0 7px}
.knowledge-group>div{padding:0 4px 10px 15px}.knowledge-group a{display:block;padding:10px;border-left:2px solid #dbe7eb;font-size:13px;overflow-wrap:anywhere}
.knowledge-group a small{display:block;font-size:11px}.knowledge-group a[aria-current=page]{background:#e5f2f4;border-color:#176d79;border-radius:0 5px 5px 0;font-weight:600}
.knowledge-group p{font-size:13px}.knowledge-content>.panel:first-child{margin-top:0}
.knowledge-content .heading{align-items:start;flex-wrap:wrap}.document-title{font-size:26px;line-height:1.3;margin:4px 0 12px}
.knowledge-content .actions{justify-content:flex-start}.knowledge-content .actions .button{font-size:13px}
.knowledge-content .markdown{max-width:100%;margin-top:14px}.knowledge-content .document-projects{padding:12px 18px;margin:12px 0;font-size:13px}
.readme-status{font-size:13px;color:#476171;background:#e8f2f4;padding:12px 16px;border-radius:6px;margin:14px 0}
.knowledge-recent>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #e7edf0}.knowledge-recent>a>small{flex-shrink:0}
@media(max-width:1100px){.knowledge-layout{grid-template-columns:240px minmax(0,1fr);gap:18px}.knowledge-content .two{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:900px){.knowledge-layout{grid-template-columns:minmax(0,1fr);gap:16px}.knowledge-navigation>summary span{display:inline;float:right;font-size:12px;color:#176d79}.knowledge-content .markdown{padding:18px}.knowledge-heading{margin-bottom:16px}.knowledge-recent>a{align-items:start;flex-direction:column;gap:4px}.document-title{font-size:23px}}
.knowledge-search input{flex:1;width:0}.knowledge-search button{flex-shrink:0;white-space:nowrap}
/* Document title and actions form one compact toolbar. */
.document-toolbar{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 16px;background:#fff;border:1px solid #dce5eb;border-radius:8px}
.document-toolbar .document-title{flex:1;min-width:0;font-size:18px;line-height:1.4;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.document-version{flex:none;font-size:12px;color:#667e8b;white-space:nowrap}
.knowledge-content .document-toolbar .actions{flex:none;flex-wrap:nowrap;gap:8px}
.knowledge-content .document-toolbar .button{padding:8px 11px;white-space:nowrap;font-size:12px}
@media(max-width:600px){.document-toolbar{flex-wrap:wrap;gap:10px;padding:12px}.document-toolbar .document-title{flex-basis:calc(100% - 45px);white-space:normal;font-size:18px}.knowledge-content .document-toolbar .actions{width:100%}.knowledge-content .document-toolbar .actions a{flex:1}}
@media(max-width:600px){.knowledge-content .document-toolbar .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.document-toolbar [data-new-document]{grid-column:1/-1}.knowledge-content .document-toolbar .button{white-space:normal}}
/* Live Markdown editor: columns on desktop, stacked source and result on phones. */
.editor-binding{padding:16px 20px}.editor-binding p:last-child{margin-bottom:0}
.markdown-tools{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 16px}.markdown-tools[hidden]{display:none}
.markdown-tools button{font-size:13px;padding:8px 11px;min-height:36px}.markdown-help-open{margin-left:auto}
.markdown-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.markdown-source,.markdown-preview-column{min-width:0}.markdown-source label{margin:0 0 8px}
.markdown-source textarea{min-height:490px;margin:0;font:14px/1.7 Consolas,monospace;tab-size:4}
.preview-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:13px}.preview-heading span{font-size:12px}
.markdown-workspace .markdown-preview{width:100%;max-width:none;min-height:490px;padding:18px;margin:0;border:1px solid #dce5eb;border-radius:5px;background:#f9fbfc;overflow-wrap:anywhere}
.markdown-preview:empty::before{content:'Заголовки, списки, ссылки и таблицы появятся здесь';color:#667e8b;font-size:14px}
.markdown-upload{margin-top:18px}.editor-save-note{display:inline-block;margin:8px 0 0 14px;font-size:13px}
.markdown-help{width:min(780px,calc(100vw - 24px));max-height:85vh;border:1px solid #cbdbe2;border-radius:12px;padding:24px;color:#203747;background:white}
.markdown-help::backdrop{background:#193c5266}.markdown-help .heading h2{margin:0}.markdown-help table{width:100%;min-width:0;table-layout:fixed}.markdown-help td{white-space:normal;overflow-wrap:anywhere}.markdown-help pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.markdown-help th:first-child{width:32%}
.filters .search-row>.filter-reset{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;min-height:43px}
@media(max-width:900px){.markdown-workspace{grid-template-columns:minmax(0,1fr)}.markdown-source textarea{min-height:350px}.markdown-workspace .markdown-preview{min-height:180px}.filters .search-row>.filter-reset{flex:1}}
@media(max-width:600px){.markdown-help-open{margin-left:0}.preview-heading{flex-wrap:wrap;gap:4px}.editor-save-note{display:block;margin-left:0}.markdown-help{padding:16px}.markdown-help .heading{flex-direction:row}.markdown-help .heading button{width:auto}}
/* A bounded writing workspace: text gets more width; long previews stay inside their pane. */
.editor-studio{--writing-height:clamp(460px,70vh,900px);min-width:0}
.editor-view-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.editor-view-controls[hidden]{display:none}
.editor-view-controls>div{display:flex;gap:4px;flex-wrap:wrap}.editor-view-controls button{font-size:13px;padding:8px 12px;white-space:nowrap}
.editor-view-controls button[aria-pressed=true]{background:#176d79;color:#fff;border-color:#176d79}
.editor-studio .markdown-workspace{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px;align-items:stretch}
.editor-studio .markdown-source,.editor-studio .markdown-preview-column{display:flex;flex-direction:column;min-height:0;min-width:0}
.editor-studio .markdown-source>label,.editor-studio .preview-heading{height:26px;flex:none;margin:0 0 8px;align-items:center}
.editor-studio .preview-heading span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.editor-studio .markdown-source textarea,.editor-studio .markdown-preview{height:var(--writing-height);min-height:0;max-height:none;resize:none;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.editor-studio .markdown-source textarea{font-size:16px;line-height:1.65;padding:16px}
.editor-studio[data-editor-mode=write] .markdown-workspace,.editor-studio[data-editor-mode=preview] .markdown-workspace{grid-template-columns:minmax(0,1fr)}
.editor-studio[data-editor-mode=write] .markdown-preview-column,.editor-studio[data-editor-mode=preview] .markdown-source{display:none}
.editor-expanded-footer{display:none}
.editor-studio.is-expanded{position:fixed;inset:0;z-index:100;background:#fff;padding:18px;display:flex;flex-direction:column;gap:0}
.editor-studio.is-expanded .markdown-tools{margin-bottom:12px;flex:none}
.editor-studio.is-expanded .markdown-workspace{flex:1;min-height:0}
.editor-studio.is-expanded .markdown-source textarea,.editor-studio.is-expanded .markdown-preview{height:0;flex:1;min-height:0}
.editor-studio.is-expanded .editor-expanded-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:12px;flex:none}
.editor-expanded-footer span{margin-right:auto;font-size:13px}
@media(max-width:900px){.editor-studio{--writing-height:clamp(340px,65dvh,750px)}.editor-studio .markdown-workspace{grid-template-columns:minmax(0,1fr)}.editor-view-controls [data-editor-view=split]{display:none}.editor-studio.is-expanded{padding:12px}.editor-studio.is-expanded .markdown-tools{gap:4px}.editor-studio.is-expanded .markdown-tools button{padding:6px 8px;font-size:12px}.editor-expanded-footer span{display:none}}
@media(max-width:450px){.editor-view-controls{gap:6px;flex-wrap:wrap}.editor-view-controls button{padding:8px;font-size:12px}.editor-studio.is-expanded .editor-expanded-footer{gap:6px}.editor-expanded-footer button{font-size:12px;padding:8px}.editor-studio .preview-heading{flex-wrap:nowrap}}
.editor-scroll-link{display:flex;align-items:center;gap:7px;margin:0 0 0 auto;font-size:13px;white-space:nowrap;font-weight:400}.editor-scroll-link input{width:16px;height:16px;margin:0;flex:none}.editor-studio:not([data-editor-mode=split]) .editor-scroll-link{display:none}
/* The default visual workspace is one pane; source and comparison remain optional. */
.visual-editor { display: none; }
.editor-studio[data-editor-mode="visual"] .visual-editor {
  display: block; height: var(--writing-height); min-height: 0;
  border: 1px solid #c9dce5; border-radius: 8px; background: white;
}
.editor-studio[data-editor-mode="visual"] .markdown-workspace,
.editor-studio[data-editor-mode="visual"] .markdown-tools { display: none; }
.editor-studio.is-expanded[data-editor-mode="visual"] .visual-editor { flex: 1; height: 0; }
.editor-message { margin: 0 0 10px; }
.editor-attachments{width:min(850px,calc(100vw - 24px));max-height:85dvh;overflow:auto;padding:24px;border:1px solid #cbdbe2;border-radius:12px;background:white;color:#203747}
.editor-attachments::backdrop{background:#193c5266}.editor-attachments .heading h2{margin:0}
.attachment-picker-item{display:flex;gap:14px;align-items:center;padding:14px 0;border-top:1px solid #dce5eb;min-width:0}
.attachment-picker-item>img{width:72px;height:64px;object-fit:contain;flex:none}.attachment-picker-item>span{flex:1;min-width:0;overflow-wrap:anywhere}
.attachment-picker-actions{display:flex;gap:6px;flex-wrap:wrap}.attachment-picker-actions button{font-size:13px;padding:8px 10px}
.attachment-picker-actions .attachment-remove{color:#a43333}.attachment-delete-question{flex-basis:100%;max-width:380px;font-size:13px}
[data-deleted-attachments]{margin-top:16px}[data-deleted-attachment-list] .attachment-picker-item>span{color:#667e8b}
@media(max-width:600px){.editor-attachments{padding:16px}.editor-attachments .heading{flex-direction:row}.attachment-picker-item{flex-wrap:wrap}.attachment-picker-actions{flex-basis:100%}}

.alias-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dce5eb;padding:12px 0;min-width:0}.alias-row>span,.alias-row>div{min-width:0;overflow-wrap:anywhere}.alias-row>a{flex-shrink:0}.alias-row p{margin:6px 0}.developer-card form{margin-bottom:16px}#alias-editor summary{margin-bottom:16px}
@media(max-width:600px){.alias-row{flex-wrap:wrap}.alias-row>a{margin-left:auto}.developer-card .button{margin-top:6px}}

.project-grid .field-description{min-width:320px;width:320px}

.registry-controls{padding:18px 20px;margin:14px 0}
.registry-controls .columns{padding:12px 0 0;margin:14px 0 0;border:0;border-top:1px solid #e4ebef}
.registry-sort{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}
.registry-sort label:first-child select{width:180px;max-width:100%}
.registry-sort label:nth-child(2) select{width:155px}
.registry-sort button{height:36px;padding:6px 12px;font-size:13px;white-space:nowrap}
@media(min-width:901px){.registry-sort{order:1;margin-left:auto}}
@media(max-width:900px){.registry-sort{width:100%;padding-bottom:12px;border-bottom:1px solid #dce5eb}}
@media(max-width:600px){
 .registry-controls{padding:16px}
 .registry-sort{display:grid;grid-template-columns:minmax(0,1fr) auto}
 .registry-sort label{min-width:0}
 .registry-sort label:first-child{grid-column:1/-1}
 .registry-sort label:first-child select{flex:1;width:0;min-width:0}
 .registry-sort label:nth-child(2){flex-wrap:wrap;gap:4px}
 .registry-sort label:nth-child(2) select{flex:1;min-width:0}
 .registry-sort button{height:40px;align-self:end}
}

/* Row actions stay reachable when the original Excel fields are scrolled. */
.project-actions{display:flex;gap:5px;align-items:center}
.project-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:36px;min-height:36px;padding:7px;color:#285768;background:#fff;border:1px solid #cbdbe2;border-radius:6px}
.project-action:hover{background:#e7f1f3;border-color:#8caeb8;text-decoration:none}
.project-action:focus-visible{outline:2px solid #176d79;outline-offset:2px}
.action-icons{position:absolute;width:0;height:0;overflow:hidden}
.project-action svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.project-action span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.project-grid .field-actions{position:sticky;right:0;min-width:184px;width:184px;max-width:none;padding:16px 12px;box-shadow:-1px 0 #dce5eb;white-space:nowrap}
.project-grid td.field-actions{background:#fff;z-index:1}
.project-grid th.field-actions{z-index:2}
.project-grid tbody tr:hover td.field-actions{background:#f6fafb}
@media(pointer:coarse) and (min-width:901px){.project-action{min-width:44px;min-height:44px}.project-grid .field-actions{min-width:216px;width:216px}}
@media(max-width:900px){
 .card-actions .project-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
 .card-actions .project-action{min-height:44px;font-size:13px;padding:9px 8px}
 .project-action span{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}
}

.export-actions{position:relative;display:flex;align-items:stretch;gap:4px;max-width:100%}
.export-actions>.button{flex:1}
.export-actions .export-menu{position:static;align-self:stretch}
.export-actions .export-menu>summary{height:100%;min-width:36px;padding:0 12px;border:1px solid #cbdbe2}
.export-actions .export-menu>div{left:0;right:auto;width:210px}

.registry-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.registry-title-row h1{white-space:nowrap;margin:6px 0 12px}
.kind-filters{display:flex;flex-wrap:wrap;gap:5px;margin:0;max-width:100%}
.kind-filter{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:7px 9px;background:#fff;color:#466776;border:1px solid #cbdbe2;font-size:13px}
.kind-filter svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kind-filter.selected{background:#176d79;border-color:#176d79;color:#fff}
.kind-filter:hover{background:#e5f0f2;color:#164e5c}
.kind-filter:focus-visible{outline:2px solid #176d79;outline-offset:2px}
.registry-trash{font-size:13px;white-space:nowrap}
.confirm-project{max-width:680px;margin:24px auto}.confirm-project .actions{margin-top:24px}
.danger{color:#ad3535;background:#fff;border-color:#dfbaba}
.project-grid .field-actions{min-width:225px;width:225px}
@media(max-width:900px){.registry-title-row{gap:10px}.kind-filter{min-height:44px}.registry-title-row h1{white-space:normal}.registry-heading>div:first-child{width:100%}}
@media(max-width:600px){.kind-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.registry-heading .registry-trash{width:100%;text-align:right}.registry-title-row{display:block}}

@media(min-width:901px){.export-actions .export-menu>div{left:auto;right:0}}
