.line-clamp-1{-webkit-line-clamp:1;line-clamp:1}.line-clamp-1,.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2}.line-clamp-3{-webkit-line-clamp:3;line-clamp:3}.line-clamp-3,.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-4{-webkit-line-clamp:4;line-clamp:4}.break-words{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;hyphens:auto}.break-all{word-break:break-all}.document-scroll{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.document-scroll::-webkit-scrollbar{width:6px;height:6px}.document-scroll::-webkit-scrollbar-track{background:transparent}.document-scroll::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.1);border-radius:3px}.document-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.2)}.focus-ring:focus{outline:2px solid #7857eb;outline-offset:2px}@keyframes documentPulse{0%,to{opacity:1}50%{opacity:.5}}.document-loading{animation:documentPulse 2s cubic-bezier(.4,0,.6,1) infinite}.document-text{line-height:1.6;letter-spacing:.01em}.document-title{line-height:1.3;letter-spacing:-.01em}.document-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.document-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(120,87,235,.15)}.status-indicator{position:relative}.status-indicator:before{content:"";position:absolute;top:0;right:0;width:8px;height:8px;border-radius:50%;background-color:#10b981;border:2px solid #16263e}.progress-bar{background:linear-gradient(90deg,#7857eb,#9a7cf8);transition:width .6s ease-in-out}.tag-button{transition:all .2s ease;position:relative;overflow:hidden}.tag-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.tag-button:hover:before{left:100%}.file-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}@media (max-width:640px){.document-grid{grid-template-columns:1fr;gap:1rem}.document-card{padding:1rem}.document-title{font-size:1.1rem;line-height:1.4}}@media (prefers-contrast:high){.document-card,.tag-button{border-width:2px}}@media (prefers-reduced-motion:reduce){.document-card,.document-loading,.progress-bar,.tag-button{transition:none;animation:none}.document-card:hover{transform:none}}@media print{.document-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.tag-button{background:#f0f0f0!important;color:#000!important;border:1px solid #ccc}}