.personal-library{--library-ink:#e6edf3;--library-soft:#b3c2cd;--library-line:rgba(175,207,215,.22);--library-accent:#bdddd8;box-sizing:border-box;width:min(780px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid rgba(175,207,215,.32);border-radius:20px;background:#090e19;color:var(--library-ink);box-shadow:0 28px 100px #0009;font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;text-align:left;overflow:hidden;user-select:text;-webkit-user-select:text}
.personal-library::backdrop{background:#01040cc2;backdrop-filter:blur(5px)}
.personal-library *{box-sizing:border-box}
.personal-library [hidden]{display:none!important}
.personal-library__inner{display:flex;flex-direction:column;max-height:calc(100vh - 34px);max-height:calc(100dvh - 34px);min-width:0}
.personal-library__head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;padding:14px 24px;border-bottom:1px solid var(--library-line)}
.personal-library h2{margin:0;font-size:20px;font-weight:600;line-height:1.5}
.personal-library h2:focus,.personal-library #personal-library-collection-title:focus{outline:none}
.personal-library h3{margin:0 0 12px;font-size:16px;line-height:1.6;font-weight:600}
.personal-library__tabs{display:flex;flex:none;gap:10px;padding:12px 24px;border-bottom:1px solid var(--library-line)}
.personal-library__tabs button{flex:1}
.personal-library__tabs button[aria-pressed=true]{border-color:#a9d2ca;background:#bde5dd14;color:#e0f2ed}
.personal-library__body{min-height:0;padding:22px 26px 28px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#527077 transparent;-webkit-overflow-scrolling:touch}
.personal-library__note,.personal-library__hint,.personal-library__feedback,.personal-library__error,.personal-library__empty{margin:0 0 14px;color:var(--library-soft);font-size:12px;line-height:1.85;overflow-wrap:anywhere}
.personal-library__hint{margin-top:9px;font-size:11px}
.personal-library__feedback{color:#bfdfd5}
.personal-library__error{color:#f0c5b6}
.personal-library__button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 16px;border:1px solid #afcfd54d;border-radius:23px;background:transparent;color:var(--library-ink);font:inherit;font-size:13px;line-height:1.65;cursor:pointer;overflow-wrap:anywhere}
.personal-library__button:disabled{opacity:.45;cursor:default}
.personal-library__button:not(:disabled):hover,.personal-library__link:hover{border-color:#a4d8d5;filter:brightness(1.12)}
.personal-library__primary{border-color:#cde5df;background:#cde5df;color:#101a1e;font-weight:600}
.personal-library__secondary{border-color:transparent;color:var(--library-accent)}
.personal-library__close{flex:none;width:44px;padding:0;font-size:26px}
.personal-library label{display:block;margin:0 0 7px;color:#d9e6eb;font-size:13px;line-height:1.75}
.personal-library input[type=text],.personal-library select{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #afcfd54d;border-radius:9px;background:#101722;color:var(--library-ink);font:inherit;font-size:15px;line-height:1.5}
.personal-library input[type=text]::placeholder{color:#8d9eae}
.personal-library input[type=file]{display:block;width:100%;min-height:44px;color:var(--library-soft);font:inherit;font-size:12px}
.personal-library input[type=file]::file-selector-button{min-height:44px;padding:8px 14px;margin-right:12px;border:1px solid #afcfd54d;border-radius:9px;background:#152128;color:#e0eeed;font:inherit;cursor:pointer}
.personal-library__search>.personal-library__button{margin:10px 0 14px}
.personal-library__request{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0 0 16px;padding:10px 12px;border:1px solid var(--library-line);border-radius:10px}
.personal-library__request p{flex:1 1 230px;margin:0}
.personal-library__preview,.personal-library__collection{margin-top:22px;padding-top:20px;border-top:1px solid var(--library-line)}
.personal-library__cards,.personal-library__groups{display:grid;gap:12px;margin:14px 0}
.personal-library__group{min-width:0}
.personal-library__group-title{margin:12px 0 9px;font-size:13px;font-weight:600;color:var(--library-accent);line-height:1.7;overflow-wrap:anywhere}
.personal-library__card{min-width:0;margin:0 0 12px;padding:15px 17px 9px;border:1px solid var(--library-line);border-radius:12px;background:#c3dae706;overflow-wrap:anywhere}
.personal-library__card h4{margin:0;color:#e6edf3;font-size:15px;line-height:1.8;font-weight:500}
.personal-library__meta{margin:0 0 6px;color:#a8c8c6;font-size:10px;line-height:1.8}
.personal-library__provenance{margin:6px 0;color:#b8c6d0;font-size:10px;line-height:1.75}
.personal-library__excerpt{margin:8px 0 0;color:#c4cfd8;font-size:13px;line-height:1.85;white-space:pre-wrap}
.personal-library__actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;margin-top:10px}
.personal-library__link{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:#d4eae6;font-size:12px;line-height:1.65;text-decoration:underline;text-underline-offset:4px}
.personal-library .personal-library__check{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin:0 0 0 auto;padding:8px;color:#c6ded8;cursor:pointer}
.personal-library__check input{width:18px;height:18px;margin:0;accent-color:#bdddd8}
.personal-library button:focus-visible,.personal-library a:focus-visible,.personal-library input:focus-visible,.personal-library select:focus-visible{outline:2px solid #c1e5df;outline-offset:3px}
@media(max-width:600px){
  .personal-library{width:calc(100vw - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);border-radius:16px}
  .personal-library__inner{max-height:calc(100vh - 18px);max-height:calc(100dvh - 18px)}
  .personal-library__head{padding:10px 14px}.personal-library h2{font-size:18px}
  .personal-library__tabs{padding:10px 14px;gap:8px}.personal-library__tabs .personal-library__button{padding:9px 10px;font-size:12px}
  .personal-library__body{padding:18px 16px max(24px,env(safe-area-inset-bottom));scroll-padding:16px}
  .personal-library input[type=text],.personal-library select{font-size:16px}
  .personal-library__card{padding:13px 14px 8px}.personal-library__search>.personal-library__button{width:100%}
}
