/* کتابخانه‌خانه — marketplace overlay */
.klib-dialog{width:min(1080px,calc(100vw - 32px));height:min(760px,calc(100dvh - 44px));padding:0;border:1px solid #385345;border-radius:22px;background:#151d18;color:#edf3ee;box-shadow:0 28px 90px #000b;overflow:hidden;direction:rtl;font-family:inherit}
.klib-dialog::backdrop{background:rgba(3,9,6,.72);backdrop-filter:blur(5px)}
.klib-window{height:100%;display:flex;flex-direction:column;background:radial-gradient(ellipse at 9% 0%,rgba(89,170,119,.13),transparent 37%),#151d18}
.klib-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 17px;border-bottom:1px solid #293a30;background:rgba(23,32,27,.8)}
.klib-heading{display:flex;align-items:center;gap:13px}.klib-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#13241b;background:linear-gradient(145deg,#b6f7d7,#69d69e);font-size:22px;font-weight:900;box-shadow:0 10px 24px #69d69e24}.klib-heading h2{margin:0;color:#f5fbf6;font-size:21px;letter-spacing:-.5px}.klib-heading p{margin:4px 0 0;color:#8ea399;font-size:11px}.klib-close{width:34px;height:34px;border:1px solid #33473b;border-radius:10px;background:#202b24;color:#9caf9f;font-size:25px;line-height:1;cursor:pointer}.klib-close:hover{color:#effff4;background:#2b3c31;border-color:#547461}.klib-toolbar{display:flex;align-items:center;gap:14px;padding:14px 24px 11px}.klib-search{height:40px;display:flex;align-items:center;gap:9px;width:min(430px,100%);padding:0 13px;border:1px solid #354b3e;border-radius:11px;background:#111813;color:#7d9787}.klib-search:focus-within{border-color:#6dcf9a;box-shadow:0 0 0 3px #6dcf9a1b}.klib-search span{font-size:22px;line-height:1}.klib-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#eaf5ed;font-size:12px}.klib-search input::placeholder{color:#718477}.klib-status{min-height:21px;color:#879b8d;font-size:11px}.klib-status.ok{color:#8be1af}.klib-status.error{color:#ffaaa0}
.klib-layout{display:grid;grid-template-columns:166px minmax(300px,1fr) minmax(305px,1.05fr);gap:0;min-height:0;flex:1}.klib-sidebar{padding:9px 16px 20px;border-inline-start:0;border-inline-end:1px solid #293a30}.klib-sidebar-title{padding:3px 7px 11px;color:#879a8c;font-size:10px;font-weight:800}.klib-filters{display:flex;flex-direction:column;gap:3px}.klib-filter{display:flex;align-items:center;width:100%;min-height:34px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#a1b1a7;text-align:right;font-size:11px;cursor:pointer}.klib-filter:hover{background:#202d25;color:#dce8df}.klib-filter.active{border-color:#355945;background:#243d2d;color:#9cf1bd;font-weight:750}.klib-note{margin-top:24px;padding:11px 10px;border:1px solid #2c4637;border-radius:11px;background:linear-gradient(145deg,#1d3024,#18231c);line-height:1.8}.klib-note strong{display:block;color:#9ae9b9;font-size:10px}.klib-note span{display:block;margin-top:3px;color:#7e9687;font-size:9px}
.klib-main{min-width:0;min-height:0;overflow:auto;padding:13px 16px 24px}.klib-results-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 11px;color:#d9e8dc}.klib-results-label{font-size:12px}.klib-results-count{color:#7d9584;font-size:10px}.klib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}.klib-card{min-width:0;padding:12px;border:1px solid #2b4033;border-radius:13px;background:linear-gradient(150deg,#1e2b23,#19221c);cursor:pointer;transition:.16s ease}.klib-card:hover,.klib-card:focus-visible{border-color:#578569;transform:translateY(-2px);box-shadow:0 8px 20px #0002;outline:none}.klib-card.selected{border-color:#73d49a;box-shadow:0 0 0 2px #73d49a2b}.klib-card-top{display:flex;align-items:flex-start;gap:9px;min-width:0}.klib-lib-icon{width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--lib-color,#65c993),transparent 30%);border-radius:10px;color:#e9fff0;background:linear-gradient(145deg,color-mix(in srgb,var(--lib-color,#65c993),#18241d 70%),#1d2e24);font-weight:850;font-size:16px}.klib-lib-icon.large{width:46px;height:46px;border-radius:13px;font-size:20px}.klib-card-title{min-width:0;flex:1}.klib-card-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e6f0e8;font-size:12px}.klib-card-title span{display:block;margin-top:4px;color:#718478;font:10px ui-monospace,monospace;direction:ltr;text-align:right}.klib-badge{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 5px;border-radius:5px;background:#26382d;color:#87a692;font-size:8px}.klib-badge.installed{background:#254835;color:#9be9b7}.klib-card-desc{height:37px;margin:12px 0 9px;overflow:hidden;color:#9bada1;font-size:10px;line-height:1.85}.klib-card-foot{display:flex;align-items:center;gap:5px;min-height:16px}.klib-tags,.klib-detail-tags{display:flex;gap:5px;flex-wrap:wrap;min-width:0;flex:1}.klib-tags span,.klib-detail-tags span{color:#769483;font-size:9px}.klib-arrow{color:#73cc98;font-size:15px}.klib-empty{padding:60px 15px;text-align:center;color:#829487}.klib-empty-icon{font-size:30px;color:#70c992}.klib-empty strong{display:block;margin:6px;color:#d7e7db;font-size:13px}.klib-empty span{font-size:10px}
.klib-detail{min-width:0;overflow:auto;padding:22px 21px 27px;border-inline-start:1px solid #293a30;background:linear-gradient(160deg,#1a2820,#151e18)}.klib-detail-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7e9686}.klib-detail-empty strong{display:block;margin:13px 0 5px;color:#bdcebf;font-size:13px}.klib-detail-empty span{max-width:200px;font-size:10px;line-height:1.8}.klib-detail-orb{width:51px;height:51px;display:grid;place-items:center;border:1px dashed #58806a;border-radius:17px;color:#72cb95;background:#21372a;font-size:25px}.klib-detail-head{display:flex;align-items:center;gap:12px}.klib-detail-title h3{margin:0;color:#f3fbf4;font-size:18px}.klib-detail-meta{margin-top:6px;color:#829889;font:10px ui-monospace,monospace}.klib-detail-description{margin:17px 0 16px;color:#b2c3b6;font-size:11px;line-height:2}.klib-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:16px}.klib-fact{min-width:0;padding:9px 8px;border:1px solid #2c4134;border-radius:9px;background:#19271f}.klib-fact span,.klib-fact strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.klib-fact span{color:#718477;font-size:8px}.klib-fact strong{margin-top:4px;color:#bdd7c5;font-size:9px}.klib-detail-tags{padding-bottom:17px;border-bottom:1px solid #2b3b31}.klib-links{min-height:35px;padding-top:11px}.klib-docs{color:#8ddcac;font-size:10px;text-decoration:none}.klib-docs:hover{text-decoration:underline}.klib-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.klib-btn{min-height:35px;padding:0 11px;border:1px solid #3a5544;border-radius:9px;background:#26372c;color:#d9e9dc;font-size:10px;font-weight:750;cursor:pointer}.klib-btn:hover:not(:disabled){background:#304a38;border-color:#6b9f7a;transform:translateY(-1px)}.klib-btn.primary{border-color:#77d49b;background:#77d49b;color:#112319}.klib-btn.primary:hover:not(:disabled){background:#a1efbd;border-color:#a1efbd}.klib-btn.ghost{background:transparent;color:#9cc4a8}.klib-btn:disabled{opacity:.48;cursor:wait}.klib-explainer{padding:10px 11px;margin:15px 0 0;border-radius:9px;background:#182d21;color:#82aa91;font-size:9px;line-height:1.9}.klib-preview{margin-top:17px;border:1px solid #314b3a;border-radius:11px;overflow:hidden;background:#111813}.klib-preview-head{height:31px;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid #2a4132;color:#8daf98;font-size:9px}.klib-preview-loading,.klib-preview-error{min-height:100px;display:grid;place-items:center;padding:15px;color:#829d8b;font-size:10px;text-align:center}.klib-preview-error{color:#ffaaa0}.klib-demo-frame{display:block;width:100%;height:220px;border:0;background:#fff}
@media (max-width:820px){.klib-dialog{width:calc(100vw - 18px);height:calc(100dvh - 18px);border-radius:16px}.klib-layout{grid-template-columns:137px minmax(245px,1fr)}.klib-detail{grid-column:1/-1;display:none}.klib-sidebar{padding-inline:10px}.klib-toolbar,.klib-header{padding-inline:16px}.klib-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}
@media (max-width:560px){.klib-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.klib-header{padding-top:16px}.klib-heading h2{font-size:18px}.klib-layout{display:block;overflow:auto}.klib-sidebar{border:0;padding:0 14px 8px}.klib-sidebar-title{display:none}.klib-filters{display:flex;flex-direction:row;overflow:auto;padding:4px 0 7px;gap:6px}.klib-filter{width:auto;min-width:max-content;min-height:31px;padding:0 10px;border-color:#2d4134}.klib-note{display:none}.klib-main{overflow:visible;padding:7px 14px 25px}.klib-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.klib-card{padding:10px}.klib-badge{display:none}.klib-card-desc{font-size:9px}.klib-toolbar{padding:10px 14px 6px}.klib-search{width:100%}.klib-status{position:absolute;inset-inline-start:16px;top:75px}.klib-results-head{padding-top:5px}.klib-close{width:32px;height:32px}.klib-dialog .klib-detail{display:block;border-inline-start:0;border-top:1px solid #293a30;padding:20px 14px 30px}}
@media (prefers-reduced-motion:reduce){.klib-card,.klib-btn{transition:none}}
@media(max-width:600px){
  .topbar{flex-wrap:wrap;row-gap:7px;flex-shrink:0}
  .topbar .project-title-wrap{max-width:165px;flex:1}
  .topbar .top-actions{flex-basis:100%;width:100%;justify-content:space-between;gap:4px;flex-wrap:wrap;min-width:0}
  .topbar #librariesBtn{color:#a5f2d0;border-color:#3e6853}
}

@media(max-width:820px){
 .klib-layout{display:flex;flex-direction:column;overflow:auto}
 .klib-sidebar{order:0;border:0;padding:0 14px 8px}
 .klib-sidebar-title,.klib-note{display:none}
 .klib-filters{flex-direction:row;overflow:auto;gap:6px;padding:4px 0 7px}
 .klib-filter{width:auto;min-width:max-content;padding:0 10px}
 .klib-main{order:2;overflow:visible;flex-shrink:0}
 .klib-dialog .klib-detail{order:1;display:none;overflow:visible;flex-shrink:0;border:0;border-bottom:1px solid #293a30}
 .klib-dialog.has-selection .klib-detail{display:block}
}
@media(max-width:560px){
 .klib-dialog{max-width:100vw;max-height:100dvh;margin:0;width:100vw;height:100dvh}
 .klib-card-desc{font-size:11px;line-height:1.8}
 .klib-card-title strong{white-space:normal;overflow-wrap:anywhere}
 .klib-toolbar{flex-direction:column;align-items:stretch}
 .klib-status{position:static;min-height:0}
 .klib-status:empty{display:none}
}
@media(min-width:821px){.klib-layout{overflow:hidden;grid-template-rows:minmax(0,1fr)}.klib-layout>*{min-height:0}.klib-sidebar{overflow:auto}}

/* فهرست توسعه‌یافته: منابع و ادغام خوانا در موبایل */
.klib-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.klib-integration{margin-top:16px;border:1px solid #314b3a;border-radius:10px;padding:10px;color:#a8c9b3;font-size:11px;line-height:1.9;min-width:0}
.klib-integration summary{cursor:pointer;color:#a1efbd;font-weight:700}
.klib-integration pre{direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;font:11px/1.8 ui-monospace,monospace;background:#101b14;color:#d8f5df;padding:10px;border-radius:8px}
.klib-asset{direction:ltr;overflow-wrap:anywhere;font-size:10px;border-top:1px solid #2b4033;padding-block:7px;display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}
@media(max-width:560px){.klib-btn{min-height:42px;font-size:11px}.klib-filter{min-height:38px}.klib-docs{font-size:11px}.klib-close{min-width:42px;min-height:42px}.klib-detail-description{font-size:12px}.klib-explainer{font-size:11px}.klib-heading p{font-size:10px}}

/* Editor tools are opt-in and deliberately separate from the library catalog/count. */
.klib-editor-tools{margin:18px 0 0;padding:16px;border:1px solid rgba(93,161,126,.35);border-radius:16px;background:rgba(18,36,27,.58)}
.klib-editor-tools-heading h3{margin:0;color:#d6f7e3;font-size:15px}.klib-editor-tools-heading p{margin:5px 0 12px;color:#9ab8a7;font-size:11px}.klib-editor-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.klib-editor-tool-card{display:flex;min-height:112px;flex-direction:column;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(104,150,119,.3);border-radius:12px;background:#17251d}.klib-editor-tool-card strong{color:#e0f7e8;font-size:12px;direction:ltr;display:block}.klib-editor-tool-card p{margin:6px 0 0;color:#9ab8a7;font-size:10px;line-height:1.7}.klib-tool-toggle{border:1px solid #517e62;border-radius:8px;padding:7px 9px;color:#d9f5e3;background:#203e2b;cursor:pointer;font:inherit;font-size:10px}.klib-tool-toggle.is-on{color:#112319;background:#9ce5b7;border-color:#9ce5b7}.klib-tool-toggle:not(.is-on):hover{background:#2a5239}
@media (max-width:700px){.klib-editor-tools-grid{grid-template-columns:1fr}}

/* Compact, discoverable tools panel: leave room for the catalogue on phones. */
.klib-editor-tools{flex:0 0 auto;margin:0 16px 10px;padding:10px 12px;border-radius:10px;max-height:42dvh;overflow:auto}.klib-editor-tools summary{cursor:pointer;color:#b8efd0;font-size:12px;font-weight:700}.klib-tools-note{color:#9ab8a7;font-size:11px;line-height:1.9;margin:10px 0}.klib-editor-tool-card{min-height:95px}.klib-tool-toggle:disabled{cursor:default;opacity:.65}.klib-header,.klib-toolbar{flex-shrink:0}@media(max-width:700px){.klib-editor-tools-grid{grid-template-columns:1fr}.klib-editor-tool-card{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.klib-tool-toggle{min-height:42px}.klib-editor-tools{max-height:40dvh}}

/* راهنمای اختصاصی هر کتابخانه، با متن خوانا و ترتیب مناسب گوشی */
.klib-guide{margin-top:20px;padding-top:17px;border-top:1px solid #395642;overflow-wrap:anywhere;line-height:2.05;color:#bdd0c3;font-size:12px}
.klib-guide h4{margin:0 0 12px;color:#b7f5cf;font-size:15px}.klib-guide h5{margin:18px 0 5px;color:#e1f2e6;font-size:12px}.klib-guide p{margin:6px 0 10px}.klib-guide-steps{padding-inline-start:23px;margin:12px 0}.klib-guide-steps li{margin:8px 0;padding-inline-start:3px}.klib-guide-caution{padding:11px;border-inline-start:3px solid #c6aa6e;border-radius:7px;background:#302c1e;color:#e0d1a7;font-size:11px}.klib-back-catalog{display:none;margin-top:16px}.kn-line-tools{display:flex;gap:4px;flex-wrap:wrap}.kn-line-tools button{min-height:34px;border:1px solid #42624d;background:#203b2b;color:#c8f0d7;border-radius:7px;font:11px inherit;cursor:pointer;padding:5px 8px}.kn-line-tools button[hidden]{display:none}.kn-line-tools[hidden]{display:none}
@media(min-width:821px){.klib-dialog{width:min(1240px,calc(100vw - 32px));height:min(860px,calc(100dvh - 32px))}.klib-layout{grid-template-columns:155px minmax(300px,1fr) minmax(370px,1.15fr)}.klib-detail{padding:20px 24px 28px}}
@media(max-width:820px){.klib-back-catalog{display:inline-flex;align-items:center}.klib-guide{font-size:13px}.klib-guide h4{font-size:16px}.klib-guide h5{font-size:13px}.klib-guide-caution{font-size:12px}.kn-line-tools button{min-height:42px}}
@media(min-width:821px) and (max-width:980px){.klib-layout{grid-template-columns:120px minmax(245px,1fr) minmax(310px,1fr)}.klib-detail{padding-inline:15px}}
.klib-guide code{direction:ltr;unicode-bidi:isolate;display:inline;font:11px/1.9 ui-monospace,monospace;background:#102319;border:1px solid #2d4938;color:#b7ebcd;border-radius:4px;padding:1px 4px;overflow-wrap:anywhere}.kn-line-tools{padding:4px 10px;flex-shrink:0}@media(max-width:820px){.klib-guide code{font-size:12px}}
