/* Personal library refinement: retain upstream component layout and actions. */
:root{--primary:#3159dc;--primary-light:#edf1ff;--canvas-bg:#f6f7fb;--sidebar-bg:#fbfcff;--text-primary:#182339;--text-secondary:#5b677c;--text-placeholder:#6e788b;--border:#e0e5ef;--tag-bg:#edf1f8;--hover-bg:#f0f3fa;--shadow-card:0 4px 18px rgba(25,42,80,.06)}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--text-primary)}
button,input,select,textarea{font-family:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7895f5;outline-offset:3px}
.floating-topbar{padding:0 28px;gap:20px;background:rgba(255,255,255,.95);box-shadow:none;border-color:var(--border)}
.library-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;color:#182339;font-size:16px;font-weight:700;letter-spacing:-.03em}
.brand-symbol{display:grid;place-items:center;width:30px;height:30px;background:#3159dc;color:#fff;border-radius:9px;font-size:19px;font-weight:700}
.upload-btn{height:36px;background:#3159dc;border-radius:9px;font-size:14px;padding:0 16px}
.upload-btn:hover,.empty-upload:hover{background:#2444ac}
.floating-search{width:min(43%,540px);border-radius:10px;box-shadow:none;background:#f4f6fb}
.floating-search:focus-within{border-color:#7996f4;box-shadow:0 0 0 3px #edf1ff}
.floating-search input,.search-btn{font-size:14px}
.hero{background:#f5f7fc;background-image:radial-gradient(ellipse at 12% 85%,#e8edff 0,transparent 55%)}
.hero-bg-text{color:#233357;font-size:clamp(44px,6vw,88px);letter-spacing:-.055em;line-height:1.16;left:5%;bottom:12%;max-width:45%}
.library-eyebrow{display:block;font-size:12px;letter-spacing:.19em;font-weight:600;color:#3159dc;margin-bottom:24px}
.library-subtitle{display:block;font-size:16px;font-weight:400;line-height:1.8;letter-spacing:0;color:#5b677c;margin-top:24px;max-width:330px}
.hero:not(.is-empty) .hero-bg-text{opacity:.26;pointer-events:none}
.hero.is-empty{height:70vh;min-height:470px;max-height:700px}
.hero.is-empty .hero-bg-text{bottom:24%}
.hero.is-empty .hero-empty{left:73%!important;top:52%!important;width:340px;max-width:42%;padding:30px;background:rgba(255,255,255,.86);border:1px solid #dfe6f3;border-radius:22px;box-shadow:0 18px 60px rgba(42,62,115,.06);color:#627089!important}
.hero-empty>div:first-child{font-size:36px!important;color:#3159dc;opacity:1!important;margin-bottom:14px!important}
.empty-title{display:block;font-size:21px;color:#233357;letter-spacing:-.03em}
.hero-empty p{font-size:14px;line-height:1.8;margin:12px 0 20px}
.empty-upload{border:0;border-radius:10px;background:#3159dc;color:white;padding:12px 24px;font-size:15px;cursor:pointer;font-weight:600}
.empty-shortcut{display:block;font-size:12px;margin-top:12px;color:#69758a}
.hero-hint{color:#5b677c;font-size:14px}
.sidebar{padding:24px 18px;gap:24px;width:240px}
.library-sidebar-title{font-size:17px;font-weight:700;padding:0 10px;color:#233357}
.section-label{font-size:12px;letter-spacing:.06em;color:#65738b}
.nav-item,.folder-item{border-radius:10px;font-size:14px}
.nav-item.active{background:#eaf0ff;color:#3159dc}
.nav-item.active .nav-icon path{stroke:#3159dc}
.library-storage-note{margin-top:auto;margin-bottom:62px;padding:16px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;font-size:12px;line-height:1.8;color:#67758b}
.library-storage-note strong{font-size:14px;font-weight:600;color:#344362}
.main-area{background:#fff}.top-bar{border-bottom:1px solid var(--border)}
.section-title{font-size:24px;letter-spacing:-.035em;color:#233357}.section-count{font-size:13px;color:#63728b;background:#f0f3f9;padding:4px 10px;border-radius:20px}
.material-card{border:1px solid #e3e8f0;box-shadow:var(--shadow-card);transition:box-shadow .2s,transform .2s}
.material-card:hover{box-shadow:0 10px 28px rgba(30,51,98,.12)}
.tag-chip-sidebar{background:#edf1f8;color:#53637b;font-size:13px}.tag-chip-sidebar.active{background:#3159dc;color:white}
.modal-card{border:1px solid #e0e5ef}.btn{font-size:14px;border-radius:9px}
@media(max-width:900px){.library-brand>span:last-child{display:none}.floating-topbar{gap:12px;padding:0 16px}.hero-bg-text{font-size:48px}.hero.is-empty .hero-empty{padding:24px;left:74%!important}.sidebar{width:210px}}
@media(max-width:600px){.floating-topbar{gap:8px;padding:0 12px}.brand-symbol{width:28px;height:28px}.upload-btn{padding:0 11px}.floating-search{flex:1;width:auto;min-width:0;padding-left:10px}.floating-search input{min-width:0}.search-btn{padding:0 10px}.back-to-fav-floating span{display:none}.hero.is-empty{height:auto;min-height:660px;max-height:none}.hero.is-empty .hero-bg-text{left:24px;top:100px;bottom:auto;max-width:90%;font-size:42px}.library-eyebrow{margin-bottom:16px}.library-subtitle{font-size:14px;margin-top:16px}.hero.is-empty .hero-empty{left:50%!important;top:450px!important;width:calc(100% - 48px);max-width:none;padding:22px}.hero-hint{bottom:16px}.hero-bg-text{font-size:42px}.library-subtitle{max-width:290px}.section-title{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
