.library-page { --library-rule:#dfe1e3; --library-control:#b8bdc2; }
.library-page .site-header { height:104px; }
.library-page .main-nav { gap:28px; }
.library-page .main-nav [aria-current="page"] { text-decoration:underline; text-underline-offset:7px; }
.library-main { padding-top:28px; }
.library-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:32px; }
.library-heading h1 { font-size:32px; line-height:1.15; letter-spacing:-.035em; }
.library-heading p { margin-top:12px; color:var(--muted); max-width:65ch; }
.library-heading>.text-link { flex:none; }
.library-samples { padding:18px 20px; margin-bottom:24px; border-left:3px solid #005bff; background:#eef4ff; color:#163762; font-size:14px; line-height:1.6; }
.library-browser { padding:28px; background:var(--paper); }
/* Desktop row: 80px photo + 208px actions + 4 × 20px gaps; the three text columns share the remaining width. */
.library-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(235px,.45fr); gap:24px; }
.library-filters label>span:first-child { display:block; font-size:14px; margin-bottom:8px; }
.library-search-control { display:flex; align-items:center; border:1px solid var(--library-control); min-height:48px; }
.library-search-control:focus-within { outline:3px solid var(--accent); outline-offset:2px; }
.library-search-control input { width:100%; border:0; border-radius:0; padding:11px 14px; background:var(--paper); color:var(--ink); min-width:0; font-size:16px; outline:none; }
.library-search-control input::-webkit-search-cancel-button { display:none; }
.library-search-control input::placeholder { color:var(--muted); opacity:1; }
.library-search-control button { background:transparent; border:0; min-width:44px; min-height:44px; font-size:24px; }
.library-category-field select { display:block; width:100%; border:1px solid var(--library-control); border-radius:0; padding:10px 34px 10px 12px; height:48px; background:var(--paper); color:var(--ink); font-size:16px; }
.library-results-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:28px; margin-bottom:8px; }
.library-results-bar h2 { font-size:18px; letter-spacing:-.015em; line-height:1.4; }
.library-results-bar>p { font-size:14px; color:var(--muted); font-variant-numeric:tabular-nums; text-align:right; }
.library-notice { background:var(--ground); padding:16px; margin-bottom:12px; font-size:14px; overflow-wrap:anywhere; }
.library-list { display:block; }
.library-row { display:grid; grid-template-columns:80px minmax(200px,1.25fr) minmax(170px,1fr) minmax(135px,.6fr) 208px; gap:20px; align-items:center; padding:20px 0; border-bottom:1px solid var(--library-rule); }
.library-row:last-child { border-bottom:0; }
.library-photo { display:flex; align-items:center; justify-content:center; min-width:0; width:80px; height:72px; }
.library-photo img { width:100%; height:100%; object-fit:contain; }
.library-no-photo { font-size:13px; color:var(--muted); text-align:center; background:var(--ground); padding:8px; width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.library-identity { min-width:0; }
.library-model { border:0; background:transparent; padding:4px 0; min-height:36px; font-size:18px; font-weight:600; line-height:1.3; text-align:left; overflow-wrap:anywhere; letter-spacing:-.025em; }
.library-model:hover { text-decoration:underline; text-underline-offset:4px; }
.library-name { font-size:14px; color:var(--muted); margin-top:4px; }
.library-description { font-size:14px; color:var(--muted); }
.library-docs-summary { font-size:14px; color:var(--muted); min-width:0; }
.library-docs-summary strong { color:var(--ink); font-weight:400; display:block; margin-bottom:4px; }
.library-row-actions { display:flex; flex-direction:column; gap:8px; min-width:0; }
.library-open { min-height:44px; border:0; padding:8px 0; background:transparent; font-size:14px; width:100%; text-align:left; text-decoration:underline; text-underline-offset:4px; }
.library-open:hover { background:var(--ground); }
.library-ozon { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0; }
.library-ozon-buy,.library-ozon-request { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 12px; border:1px solid #005bff; font-size:14px; font-weight:500; line-height:1.4; text-align:center; }
.library-ozon-buy { background:#005bff; color:#fff; }
.library-ozon-buy:hover { background:#0048ce; border-color:#0048ce; }
.library-ozon-request { color:#0053df; background:var(--paper); }
.library-ozon-request:hover { background:#f0f5ff; }
.library-ozon-status,.library-ozon-note { font-size:14px; color:var(--muted); overflow-wrap:anywhere; }
.library-ozon-note { color:var(--ink); }
.library-ozon-compact { gap:6px; }
.library-ozon-compact .library-ozon-buy,.library-ozon-compact .library-ozon-request { width:100%; }
.library-ozon-compact .library-ozon-status,.library-ozon-compact .library-ozon-note { font-size:13px; }
.library-ozon-detail { padding:20px; margin-top:24px; border:1px solid var(--library-rule); }
.library-ozon-heading { font-size:18px; font-weight:500; line-height:1.4; letter-spacing:-.015em; }
.library-state { padding:48px 16px; text-align:center; }
.library-state p:first-child { font-size:18px; font-weight:500; }
.library-state p+p { color:var(--muted); margin-top:10px; }
.library-state .button { margin-top:24px; }
.library-pagination { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:24px; }
.library-pages { display:flex; flex-wrap:wrap; gap:4px; justify-content:center; }
.library-page-control,.library-pages button { min-width:44px; min-height:44px; padding:10px 12px; border:0; background:transparent; font-size:14px; }
.library-page-control:not(:disabled):hover,.library-pages button:hover { background:var(--ground); }
.library-pages button[aria-current="page"] { background:var(--ink); color:#fff; }
.library-page-control:disabled { color:#73777b; }
.library-page-gap { display:flex; align-items:center; padding-inline:4px; color:var(--muted); }
.library-help { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:36px 0; }
.library-help h2 { font-size:22px; line-height:1.25; letter-spacing:-.025em; }
.library-help p { margin-top:8px; color:var(--muted); max-width:65ch; font-size:14px; }
.library-help .button { flex:none; font-size:14px; }
.library-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:28px; font-size:14px; }
.library-footer p { color:var(--muted); }
.library-footer nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.library-footer a { min-height:44px; display:inline-flex; align-items:center; }
.library-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.library-page dialog { width:min(940px,calc(100% - 40px)); padding:28px; }
.library-detail-header { display:grid; grid-template-columns:160px minmax(0,1fr); gap:28px; margin-top:24px; align-items:center; }
.library-detail-header .library-photo { width:160px; height:144px; }
.library-detail-header h2 { font-size:28px; line-height:1.2; overflow-wrap:anywhere; letter-spacing:-.035em; }
.library-detail-header p { margin-top:10px; color:var(--muted); font-size:16px; }
.library-detail-actions { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; margin-block:24px; }
.library-detail-actions .button { font-size:14px; }
.library-detail-actions .text-link { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.library-share label { display:block; font-size:14px; margin-bottom:8px; }
.library-share-control { display:flex; border:1px solid var(--library-control); }
.library-share input { display:block; width:100%; min-width:0; padding:10px 12px; border:0; border-radius:0; background:var(--paper); color:var(--muted); font-size:14px; }
.library-share button { border:0; background:var(--ground); min-height:44px; padding:10px 16px; font-size:14px; flex:none; }
.library-share-status { min-height:21px; font-size:14px; margin-top:4px; color:var(--muted); }
.library-document-heading { font-size:18px; font-weight:500; margin-top:20px; margin-bottom:8px; }
.library-documents { margin:0; padding:0; list-style:none; }
.library-document { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 0; border-bottom:1px solid var(--library-rule); }
.library-document:last-child { border-bottom:0; }
.library-document-title { font-size:16px; font-weight:500; overflow-wrap:anywhere; }
.library-document-meta { color:var(--muted); font-size:14px; margin-top:5px; }
.library-document-links { display:flex; align-items:center; flex:none; gap:8px; }
.library-document-links a { display:inline-flex; align-items:center; min-height:44px; padding:10px 12px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.library-document-links a:hover { background:var(--ground); }
.library-docs-note { color:var(--muted); font-size:14px; margin-top:16px; }
.library-no-documents { padding:20px; background:var(--ground); margin-top:12px; font-size:14px; }
@media(max-width:1100px) {
  .library-page .main-nav { gap:18px; }
  .library-browser { padding:24px; }
  .library-row { grid-template-columns:64px minmax(170px,1fr) minmax(130px,.8fr) 208px; gap:16px; }
  .library-row>.library-description { grid-column:2; grid-row:2; }
  .library-row>.library-photo { grid-row:1/3; }
  .library-row>.library-docs-summary { grid-column:3; grid-row:1/3; }
  .library-row>.library-row-actions { grid-column:4; grid-row:1/3; }
  .library-row { row-gap:4px; }
  .library-photo { width:64px; height:64px; }
  .library-heading h1 { font-size:28px; }
  .library-help { align-items:flex-start; }
}
@media(max-width:800px) {
  .library-page .site-header { height:88px; }
  .library-heading { display:block; }
  .library-heading>.text-link { margin-top:8px; }
  .library-filters { grid-template-columns:minmax(0,1fr) minmax(205px,.65fr); gap:16px; }
  .library-row { grid-template-columns:64px minmax(150px,1fr) 208px; gap:16px; }
  .library-row>.library-docs-summary { grid-column:2; grid-row:3; }
  .library-row>.library-photo { grid-row:1/4; }
  .library-row>.library-row-actions { grid-column:3; grid-row:1/4; }
  .library-row { row-gap:4px; }
  .library-docs-summary strong { display:inline; margin-right:8px; }
  .library-help { display:block; }
  .library-help .button { margin-top:20px; }
  .library-footer { display:block; }
  .library-footer nav { margin-top:12px; }
}
@media(max-width:600px) {
  .library-page .site-header { height:76px; }
  .library-main { padding-top:16px; }
  .library-heading { margin-bottom:20px; }
  .library-heading h1 { font-size:24px; }
  .library-heading p { font-size:14px; margin-top:8px; }
  .library-heading>.text-link { font-size:14px; }
  .library-browser { padding:16px; }
  .library-filters { grid-template-columns:1fr; gap:12px; }
  .library-filters label>span:first-child { font-size:12px; margin-bottom:4px; }
  .library-search-control { min-height:44px; }
  .library-search-control input { padding-block:9px; }
  .library-category-field { display:flex; align-items:center; gap:12px; }
  .library-category-field>span:first-child { margin-bottom:0!important; flex:none; }
  .library-category-field select { height:44px; font-size:14px; min-width:0; }
  .library-results-bar { margin-top:20px; align-items:flex-start; }
  .library-results-bar h2 { font-size:16px; }
  .library-results-bar>p { font-size:12px; padding-top:2px; }
  .library-row { grid-template-columns:64px minmax(0,1fr); gap:8px 14px; padding:20px 0; }
  .library-model { font-size:16px; min-height:44px; }
  .library-name { font-size:13px; margin-top:0; }
  .library-row>.library-photo { grid-row:1/4; align-self:start; margin-top:4px; }
  .library-row>.library-description { font-size:14px; }
  .library-docs-summary { font-size:13px; }
  .library-docs-summary strong { display:block; margin-bottom:2px; }
  .library-row>.library-row-actions { grid-column:1/-1; grid-row:4; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; margin-top:6px; }
  .library-row-actions .library-open { width:auto; padding-inline:4px; }
  .library-ozon-detail { padding:16px; margin-top:20px; }
  .library-pagination { gap:4px; flex-wrap:wrap; justify-content:center; padding-top:20px; }
  .library-pages { order:-1; width:100%; margin-bottom:8px; }
  .library-page-control { flex:1; }
  .library-state { padding:32px 4px; }
  .library-state p:first-child { font-size:16px; }
  .library-state p+p { font-size:14px; }
  .library-help { padding-block:28px; }
  .library-help h2 { font-size:20px; }
  .library-help .button { width:100%; justify-content:space-between; padding-inline:20px; }
  .library-footer { padding-block:20px; }
  .library-footer nav { gap:4px 20px; }
  .library-page dialog { width:calc(100% - 24px); padding:20px; }
  .library-detail-header { grid-template-columns:72px minmax(0,1fr); gap:16px; margin-top:20px; }
  .library-detail-header .library-photo { width:72px; height:80px; }
  .library-detail-header h2 { font-size:22px; }
  .library-detail-header p { font-size:14px; margin-top:8px; }
  .library-detail-actions { margin-block:20px; gap:8px; }
  .library-detail-actions .button { width:100%; justify-content:space-between; }
  .library-document { display:block; padding-block:16px; }
  .library-document-links { margin-top:8px; gap:12px; }
  .library-document-links a { padding-left:0; }
  .library-document-title { font-size:14px; }
  .library-share-control { display:block; }
  .library-share input { min-height:44px; }
  .library-share button { width:100%; text-align:left; }
}

.library-page .requirements-panel{border-block:1px solid var(--library-rule);margin-top:24px}
.library-page .requirements-panel>summary{font-size:16px;font-weight:600;cursor:pointer;min-height:52px;padding:14px 4px;list-style-position:inside}
.library-page .requirements-panel>summary::marker{color:var(--accent)}
.library-page .requirements-panel>summary:hover{color:var(--accent)}
.library-page .requirements-body{padding:6px 4px 22px}
.library-page .requirements-intro{font-size:14px;color:var(--muted);max-width:88ch;margin-bottom:22px}
.library-page .requirements-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.library-page .requirements-form label{display:block;font-size:14px;font-weight:500;min-width:0}
.library-page .requirements-form input,.library-page .requirements-form select,.library-page .requirements-form textarea{display:block;width:100%;min-height:48px;padding:10px 12px;margin-top:8px;border:1px solid var(--library-control);border-radius:0;background:white;color:var(--ink);font:inherit;line-height:1.5}
.library-page .requirements-form textarea{resize:vertical}
.library-page .requirements-functions,.library-page .requirements-actions{grid-column:1/-1}
.library-page .requirements-actions{display:flex;gap:12px;flex-wrap:wrap}
.library-page .requirements-actions .button{min-height:48px;padding:12px 20px;font-size:14px}
.library-page .requirements-actions button:disabled{background:#dfe1e3;color:#5d6268;cursor:wait}
.library-page .requirements-status{margin-top:18px;font-size:14px}
.library-page .requirements-results{font-size:14px}
.library-page .requirements-results p,.library-page .requirements-results ul{margin-top:12px}
.library-page .requirements-results ul{padding-left:20px}
.library-page .requirements-help{margin-top:14px;color:var(--muted);font-size:14px;max-width:90ch}
.library-page .requirements-help .text-link{color:var(--ink);margin-left:6px;min-height:44px}
.library-page .library-match-evidence{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--muted);padding-top:8px}
.library-page .match-proof{display:inline;overflow-wrap:anywhere}
.library-page .match-proof a{display:inline-block;min-height:28px;text-decoration:underline;text-underline-offset:3px;margin-left:5px}
@media(max-width:900px){.library-page .requirements-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
.library-product-page{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-size:14px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.library-page .requirements-form{grid-template-columns:1fr;gap:18px}.library-page .requirements-actions{display:grid;grid-template-columns:1fr;width:100%;gap:8px}.library-page .requirements-body{padding:4px 0 20px}.library-page .requirements-help .text-link{display:flex;margin-left:0}}
