.wrap.library-wrap{max-width:1120px}.library-hero{padding:12px 0 28px}.library-hero h1{font-size:clamp(32px,6vw,54px);letter-spacing:-.045em;line-height:1.18;margin:12px 0 18px}.library-hero p{max-width:650px;font-size:16px;color:var(--text2)}.library-stat{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:13px}.library-stat strong{font-size:22px;color:var(--ink);margin-right:4px}.library-search{padding:24px;border:1px solid var(--line);background:#fff;border-radius:14px}.library-search label{font-size:13px;font-weight:600}.library-query{display:flex;gap:8px;margin:8px 0 18px}.library-query input{flex:1;min-width:0;border:1px solid var(--line);padding:13px;border-radius:8px;font:inherit}.library-search button,.library-toolbar button,.library-more,.library-empty button{font:inherit;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.library-query button{background:var(--ink);color:#fff;border-color:var(--ink)}.library-options{display:flex;gap:12px 18px;flex-wrap:wrap;align-items:center}.library-options label{display:flex;align-items:center;gap:7px}.library-options select{font:inherit;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff}.library-options input{width:17px;height:17px;accent-color:var(--amber)}.library-policy{font-size:12px;color:var(--text2);margin-top:14px;line-height:1.7}.library-policy a{color:var(--amber)}.library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 14px;font-size:13px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.library-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px;display:flex;flex-direction:column;min-width:0}.library-card-top{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:12px;color:var(--text2)}.library-save{font:inherit;border:0;background:transparent;color:var(--text2);padding:8px;cursor:pointer}.library-save[aria-pressed=true]{color:var(--amber)}.library-card h2{margin:18px 0 2px;padding:0;border:0;font-size:23px;line-height:1.35;overflow-wrap:anywhere}.library-card h2 a{color:var(--ink);text-decoration:none}.library-character{font-size:16px;margin:4px 0 12px}.library-byline{font-size:12px;color:var(--text2);min-height:20px}.library-tags{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0 8px}.library-tags span{font-size:11px;padding:4px 8px;border-radius:5px;background:var(--paper2);color:var(--text2)}.library-tags .checked{background:#eef4ee;color:#365640}.library-caveat{font-size:11px;color:var(--text2);margin:0 0 10px}.library-card-links{margin-top:auto;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);font-size:12px}.library-card-links a{color:var(--ink);text-underline-offset:4px}.library-card-links a:first-child{font-weight:600}.library-more{display:block;margin:24px auto}.library-more[hidden]{display:none}.library-empty{grid-column:1/-1;padding:32px;border:1px dashed var(--line);border-radius:12px;text-align:center}.library-empty h2{margin:0;border:0;padding:0}.library-empty p{margin:12px 0}.library-notice{min-height:24px;font-size:13px;color:var(--amber)}.library-guide{margin-top:45px;padding:26px;border-radius:12px;background:var(--paper2);display:grid;grid-template-columns:1fr 1fr;gap:26px}.library-guide h2{border:0;margin:0 0 10px;padding:0}.library-guide p{font-size:14px;color:var(--text2)}.library-guide a{color:var(--amber)}.library-search :focus-visible,.library-card :focus-visible,.library-toolbar :focus-visible,.library-more:focus-visible{outline:3px solid var(--amber);outline-offset:3px}@media(max-width:850px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.library-grid{grid-template-columns:1fr}.library-search{padding:18px}.library-guide{grid-template-columns:1fr;padding:20px}.library-toolbar{align-items:flex-start}.library-toolbar div{display:flex;gap:6px}.library-toolbar button{font-size:12px;padding:8px}.library-query input{font-size:16px}.library-stat{gap:12px}.library-card{padding:20px}}
