.library-root{--display:var(--font-archivo-black),Impact,sans-serif;--body:var(--font-hanken),system-ui,sans-serif;--label:var(--font-jetbrains-mono),ui-monospace,monospace;--editorial:var(--font-newsreader),Georgia,serif;--paper:#FBF9F5;--paper-deep:#F2EFE8;--paper-light:#FEFDFA;--paper-warm:#F6F3EC;--ink:#0A0808;--soft-brown:#3A3329;--oxblood:#143A39;--oxblood-deep:#0E2A29;--gold:#C8A878;--hairline:rgba(45,40,35,0.20);--hairline-soft:rgba(45,40,35,0.10);position:relative;min-height:100vh;background-color:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.5;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}.library-root *,.library-root :after,.library-root :before{box-sizing:border-box;margin:0;padding:0}.library-root:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle,rgba(45,40,35,.08) .7px,transparent 0);background-size:14px 14px;pointer-events:none;z-index:0}.library-root .masthead{position:sticky;top:0;background:var(--paper);z-index:100;border-bottom:1px solid var(--hairline)}.library-root .masthead-inner{max-width:1680px;margin:0 auto;padding:18px 40px;display:flex;align-items:center;gap:48px}.library-root .masthead-logo{font-family:var(--body);font-size:19px;font-weight:500;color:var(--ink);text-decoration:none}.library-root .masthead-logo em{font-style:italic}.library-root .masthead-nav{list-style:none;margin-left:auto;display:flex;gap:40px}.library-root .masthead-nav a{font-family:var(--label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:color .18s ease}.library-root .masthead-nav a:hover{color:var(--oxblood)}.library-root .masthead-nav a.is-here{color:var(--oxblood);border-bottom:2px solid var(--oxblood);padding-bottom:4px}.library-root .masthead-cta{padding:12px 24px;background:var(--ink);color:var(--paper);text-decoration:none;font-family:var(--label);font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-radius:999px;display:inline-flex;gap:8px;align-items:center;transition:background .18s ease}.library-root .masthead-cta:hover{background:var(--oxblood)}.library-root .lib-head{border-bottom:1px solid var(--hairline);background:var(--paper);position:relative;z-index:1}.library-root .lib-head-inner{max-width:1680px;margin:0 auto;padding:36px 40px 0}.library-root .lib-head-row{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}.library-root .lib-kicker{font-family:var(--label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--oxblood)}.library-root .lib-title{font-family:var(--display);font-size:clamp(30px,3.6vw,44px);font-weight:400;letter-spacing:-.015em;line-height:1.05}.library-root .lib-title em{font-family:var(--editorial);font-style:italic;font-weight:400;font-size:1.112em}.library-root .lib-count{margin-left:auto;font-family:var(--label);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft-brown)}.library-root .lib-count strong{color:var(--oxblood);font-weight:600}.library-root .lib-filters{padding:22px 0 0}.library-root .frail{display:flex;align-items:baseline;gap:14px;padding:7px 0;flex-wrap:wrap}.library-root .frail-rail{display:flex;flex-wrap:wrap;gap:7px}.library-root .frail-label{font-size:10px;letter-spacing:.2em;color:var(--soft-brown);width:92px;flex-shrink:0}.library-root .fchip,.library-root .frail-label{font-family:var(--label);text-transform:uppercase}.library-root .fchip{padding:7px 14px;border:1px solid var(--hairline);background:transparent;font-size:10.5px;letter-spacing:.12em;cursor:pointer;color:var(--ink);transition:background .15s ease,color .15s ease,border-color .15s ease}.library-root .fchip:hover{border-color:var(--ink)}.library-root .fchip.is-active{background:var(--oxblood);border-color:var(--oxblood);color:var(--paper)}.library-root .lib-toolbar{display:flex;align-items:center;gap:18px;padding:18px 0;margin-top:10px;border-top:1px solid var(--hairline-soft)}.library-root .lib-search{flex:1;max-width:420px;display:flex;align-items:center;gap:10px;border:1px solid var(--hairline);background:var(--paper-light);padding:11px 16px}.library-root .lib-search input{border:0;outline:0;background:transparent;width:100%;font-family:var(--label);font-size:12px;letter-spacing:.06em;color:var(--ink)}.library-root .lib-search .glyph{font-family:var(--label);color:var(--soft-brown);font-size:12px}.library-root .view-toggle{margin-left:auto;display:inline-flex;border:1px solid var(--ink)}.library-root .view-toggle button{padding:10px 18px;border:0;background:transparent;cursor:pointer;font-family:var(--label);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);transition:background .15s ease,color .15s ease}.library-root .view-toggle button.is-active{background:var(--ink);color:var(--paper)}.library-root .workspace{max-width:1680px;margin:0 auto;padding:32px 40px 96px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;position:relative;z-index:1}@media (max-width:1100px){.library-root .workspace{grid-template-columns:1fr}.library-root .specimen-panel{position:static!important}}.library-root .plate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px;align-content:start}.library-root .plate-card{border:1px solid var(--hairline);background:var(--paper-light);padding:30px 24px 22px;cursor:pointer;display:flex;flex-direction:column;gap:16px;min-height:176px;transition:border-color .15s ease,background .2s ease,transform .15s ease;position:relative;text-align:left;width:100%;font:inherit;color:inherit}.library-root .plate-card:hover{border-color:var(--oxblood);transform:translateY(-2px)}.library-root .plate-card .pc-name{font-family:var(--display);font-weight:400;letter-spacing:-.025em;line-height:.98;font-size:34px;overflow-wrap:anywhere}.library-root .plate-card .pc-name.len-m{font-size:27px}.library-root .plate-card .pc-name.len-l{font-size:21px}.library-root .plate-card .pc-move{font-size:14px;font-style:italic;color:var(--soft-brown);line-height:1.4;margin-top:auto}.library-root .plate-card .pc-meta{font-family:var(--label);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft-brown);display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--hairline-soft);padding-top:12px}.library-root .plate-card .pc-meta .t{color:var(--oxblood)}.library-root .plate-card.is-selected{background:var(--oxblood);border-color:var(--oxblood);color:var(--paper)}.library-root .plate-card.is-selected .pc-move{color:rgba(244,239,227,.8)}.library-root .plate-card.is-selected .pc-meta{color:rgba(244,239,227,.7);border-top-color:rgba(244,239,227,.25)}.library-root .plate-card.is-selected .pc-meta .t{color:var(--gold)}.library-root .index-list{display:none;flex-direction:column;align-content:start}.library-root .index-row{display:grid;grid-template-columns:minmax(150px,240px) 1fr auto auto;gap:24px;align-items:baseline;padding:16px 6px;cursor:pointer;transition:background .15s ease;text-align:left;width:100%;font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px solid var(--hairline)}.library-root .index-row:first-child{border-top:1px solid var(--hairline)}.library-root .index-row:hover{background:var(--paper-warm)}.library-root .index-row.is-selected{background:var(--oxblood);color:var(--paper)}.library-root .index-row .ir-name{font-family:var(--display);font-weight:400;font-size:19px;letter-spacing:-.02em}.library-root .index-row .ir-move{font-size:14.5px;font-style:italic;color:var(--soft-brown)}.library-root .index-row.is-selected .ir-move{color:rgba(244,239,227,.8)}.library-root .index-row .ir-cat,.library-root .index-row .ir-type{font-family:var(--label);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft-brown);white-space:nowrap}.library-root .index-row .ir-type{color:var(--oxblood)}.library-root .index-row.is-selected .ir-type{color:var(--gold)}.library-root .index-row.is-selected .ir-cat{color:rgba(244,239,227,.7)}@media (max-width:820px){.library-root .index-row{grid-template-columns:1fr auto}.library-root .index-row .ir-cat,.library-root .index-row .ir-move{display:none}}.library-root .no-match{grid-column:1/-1;padding:72px 0;text-align:center;font-style:italic;color:var(--soft-brown)}.library-root .load-more-row{display:flex;justify-content:center;padding:28px 0 0}.library-root .load-more{padding:13px 30px;background:transparent;border:1px solid var(--ink);cursor:pointer;font-family:var(--label);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);transition:background .18s ease,color .18s ease}.library-root .load-more:hover{background:var(--ink);color:var(--paper)}.library-root .specimen-panel{position:sticky;top:96px;align-self:start;border:1px solid var(--hairline);background:var(--paper-light);display:flex;flex-direction:column;min-height:540px}.library-root .sp-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:48px 32px;text-align:center;color:var(--soft-brown);font-style:italic;font-size:16px}.library-root .sp-empty .glyph{font-family:var(--label);font-size:22px;color:var(--oxblood);font-style:normal}.library-root .sp-body{display:flex;flex-direction:column}.library-root .sp-head{padding:26px 28px 20px;border-bottom:1px solid var(--hairline);background:var(--paper-warm)}.library-root .sp-kicker{font-family:var(--label);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--oxblood);margin-bottom:10px;display:flex;justify-content:space-between}.library-root .sp-name{font-family:var(--display);font-weight:400;font-size:clamp(30px,2.6vw,40px);letter-spacing:-.025em;line-height:1;overflow-wrap:anywhere}.library-root .sp-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.library-root .sp-tag{font-family:var(--label);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border:1px solid var(--hairline);color:var(--soft-brown);background:var(--paper-light)}.library-root .sp-tag.is-type{border-color:var(--oxblood);color:var(--oxblood)}.library-root .sp-section{padding:20px 28px;border-bottom:1px solid var(--hairline-soft)}.library-root .sp-label{font-family:var(--label);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft-brown);margin-bottom:9px}.library-root .sp-move{font-size:16px;font-style:italic;line-height:1.5;color:var(--ink)}.library-root .sp-desc{font-size:15px;line-height:1.6;color:var(--soft-brown)}.library-root .sp-actions{padding:22px 28px 26px;margin-top:auto;display:flex;flex-direction:column;gap:10px}.library-root .sp-read{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;background:var(--ink);color:var(--paper);font-family:var(--label);font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:background .18s ease}.library-root .sp-read:hover{background:var(--oxblood)}.library-root .sp-read .arr{transition:transform .18s ease}.library-root .sp-read:hover .arr{transform:translateX(4px)}.library-root .sp-read.is-disabled{background:transparent;color:var(--soft-brown);border:1px dashed var(--hairline);cursor:default;pointer-events:none}.library-root .sp-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;background:transparent;border:1.5px solid var(--ink);font-family:var(--label);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:background .18s ease,color .18s ease}.library-root .sp-save:hover{background:var(--ink);color:var(--paper)}.library-root .sp-save:disabled{opacity:.5;cursor:default}.library-root .sp-save.is-saved{background:var(--oxblood);border-color:var(--oxblood);color:var(--paper)}.library-root .sp-foot{padding:14px 28px;border-top:1px solid var(--hairline);font-family:var(--label);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft-brown);display:flex;justify-content:space-between}@media (max-width:920px){.library-root .lib-head-inner,.library-root .masthead-inner,.library-root .workspace{padding-left:20px;padding-right:20px}.library-root .masthead-nav{display:none}.library-root .frail-label{width:100%}}.library-root .crumb{font-family:var(--label);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft-brown);margin-bottom:20px}.library-root .crumb a{color:var(--soft-brown);text-decoration:none;transition:color .15s ease}.library-root .crumb a:hover{color:var(--oxblood)}.library-root .crumb .sep{color:var(--hairline);margin:0 9px}.library-root .crumb .here{color:var(--oxblood)}.library-root .lib-intro{max-width:720px;margin-top:16px;font-size:17.5px;line-height:1.6;color:var(--soft-brown);font-style:italic}.library-root .lib-head-pad{height:18px}.library-root .shelf-main{max-width:1680px;margin:0 auto;padding:28px 40px 96px;position:relative;z-index:1}.library-root .shelf-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:24px}.library-root .ctrl{display:flex;align-items:center;gap:9px}.library-root .ctrl-label{font-family:var(--label);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft-brown)}.library-root .seg{display:inline-flex;border:1px solid var(--ink)}.library-root .seg button{padding:9px 13px;border:0;border-right:1px solid var(--hairline-soft);background:transparent;cursor:pointer;font-family:var(--label);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);transition:background .15s ease,color .15s ease}.library-root .seg button:last-child{border-right:0}.library-root .seg button.is-active{background:var(--ink);color:var(--paper)}.library-root .shelf-count{margin-left:auto;font-family:var(--label);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft-brown)}.library-root .shelf-count strong{color:var(--oxblood);font-weight:600}.library-root .shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:14px;align-content:start}.library-root .shelf-card{border:1px solid var(--hairline);background:var(--paper-light);padding:28px 22px 18px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:18px;min-height:150px;transition:border-color .15s ease,transform .15s ease}.library-root .shelf-card:hover{border-color:var(--oxblood);transform:translateY(-2px)}.library-root .shelf-card .sc-name{font-family:var(--display);font-weight:400;letter-spacing:-.025em;line-height:.98;font-size:33px;overflow-wrap:anywhere}.library-root .shelf-card .sc-name.len-m{font-size:26px}.library-root .shelf-card .sc-name.len-l{font-size:20px}.library-root .shelf-card .sc-meta{margin-top:auto;font-family:var(--label);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft-brown);display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--hairline-soft);padding-top:12px}.library-root .shelf-card .sc-meta .arr{color:var(--oxblood);transition:transform .15s ease}.library-root .shelf-card:hover .sc-meta .arr{transform:translateX(4px)}.library-root .sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-content:start}.library-root .sub-card{border:1px solid var(--hairline);background:var(--paper-light);padding:26px 26px 22px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:16px;min-height:138px;transition:border-color .15s ease,background .2s ease,transform .15s ease}.library-root .sub-card:hover{border-color:var(--oxblood);transform:translateY(-2px)}.library-root .sub-card .sub-name{font-family:var(--display);font-weight:400;letter-spacing:-.02em;line-height:1;font-size:26px}.library-root .sub-card .sub-foot{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--hairline-soft);padding-top:14px}.library-root .sub-card .sub-count{font-family:var(--label);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft-brown)}.library-root .sub-card .sub-count strong{color:var(--oxblood);font-weight:600}.library-root .sub-card .sub-arr{font-family:var(--label);color:var(--oxblood);transition:transform .15s ease}.library-root .sub-card:hover .sub-arr{transform:translateX(4px)}@media (max-width:920px){.library-root .shelf-main{padding-left:20px;padding-right:20px}.library-root .shelf-count{margin-left:0}}